首页详情
用户登录
商品
基本信息
我的订单
商品评价
留言提交
购物车
管理员登录
订单管理
商品管理
商品编辑
技术描述
开发工具: Idea/Eclipse
数据库: mysql
Jar包仓库: Maven
前段框架:jquery/Jsp
后端框架: Spring+SpringMVC+Mybatis
资料说明
基于SSM+MySQL+Bootstrap的水果蔬菜生鲜商城系统,分为管理员,普通用户。整体功能包含商品类目管理,用户管理,商品管理,订单管理,公告管理,留言管理,用户登录注册,商品浏览,购物车管理,个人中心等。
package com.javapandeng.controller;
import com.alibaba.fastjson.JSONObject;
import com.javapandeng.po.Item;
import com.javapandeng.po.Car;
import com.javapandeng.service.ItemService;
import com.javapandeng.service.CarService;
import com.javapandeng.utils.Consts;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
/**
* 购物车
*/
@Controller
@RequestMapping("/car")
public class CarController {
@Autowired
private CarService carService;
@Autowired
private ItemService itemService;
@RequestMapping("/exAdd")
@ResponseBody
public String exAdd(Car car, HttpServletRequest request){
JSONObject js = new JSONObject();
Object attribute = request.getSession().getAttribute(Consts.USERID);
if(attribute==null){
js.put(Consts.RES,0);
return js.toJSONString();
}
//保存到购物车
Integer userId = Integer.valueOf(attribute.toString());
car.setUserId(userId);
Item item = itemService.load(car.getItemId());
String price = item.getPrice();
Double valueOf = Double.valueOf(price);
car.setPrice(valueOf);
if(item.getZk()!=null){
valueOf = valueOf*item.getZk()/10;
BigDecimal bg = new BigDecimal(valueOf).setScale(2, RoundingMode.UP);
car.setPrice(bg.doubleValue());
valueOf = bg.doubleValue();
}
Integer num = car.getNum();
Double t = valueOf*num;
BigDecimal bg = new BigDecimal(t).setScale(2, RoundingMode.UP);
double doubleValue = bg.doubleValue();
car.setTotal(doubleValue+"");
carService.insert(car);
js.put(Consts.RES,1);
return js.toJSONString();
}
/**
* 转向我的购物车页面
*/
@RequestMapping("/findBySql")
public String findBySql(Model model,HttpServletRequest request){
Object attribute = request.getSession().getAttribute(Consts.USERID);
if(attribute==null){
return "redirect:/login/toLogin";
}
Integer userId = Integer.valueOf(attribute.toString());
String sql = "select * from car where user_id="+userId+" order by id desc";
List<Car> list = carService.listBySqlReturnEntity(sql);
model.addAttribute("list",list);
return "car/car";
}
/**
* 删除购物车
*/
@RequestMapping("/delete")
@ResponseBody
public String delete(Integer id){
carService.deleteById(id);
return "success";
}
}
package com.javapandeng.controller;
import com.javapandeng.base.BaseController;
import com.javapandeng.po.Item;
import com.javapandeng.po.ItemCategory;
import com.javapandeng.po.TjDto;
import com.javapandeng.service.ItemCategoryService;
import com.javapandeng.service.ItemService;
import com.javapandeng.utils.Pager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 类目c层
*/
@Controller
@RequestMapping("/itemCategory")
public class ItemCategoryController extends BaseController {
@Autowired
private ItemCategoryService itemCategoryService;
/**
* 分页查询类目列表
*/
@RequestMapping("/findBySql")
public String findBySql(Model model,ItemCategory itemCategory){
String sql = "select * from item_category where isDelete = 0 and pid is null order by id";
Pager<ItemCategory> pagers = itemCategoryService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers",pagers);
model.addAttribute("obj",itemCategory);
return "itemCategory/itemCategory";
}
/**
* 转向到新增一级类目页面
*/
@RequestMapping(value = "/add")
public String add(){
return "itemCategory/add";
}
/**
* 新增一级类目保存功能
*/
@RequestMapping("/exAdd")
public String exAdd(ItemCategory itemCategory){
itemCategory.setIsDelete(0);
itemCategoryService.insert(itemCategory);
return "redirect:/itemCategory/findBySql.action";
}
/**
* 转向到修改一级类目页面
*/
@RequestMapping(value = "/update")
public String update(Integer id,Model model){
ItemCategory obj = itemCategoryService.load(id);
model.addAttribute("obj",obj);
return "itemCategory/update";
}
/**
* 修改一级类目
*/
@RequestMapping("/exUpdate")
public String exUpdate(ItemCategory itemCategory){
itemCategoryService.updateById(itemCategory);
return "redirect:/itemCategory/findBySql.action";
}
/**
* 删除类目
*/
@RequestMapping("/delete")
public String delete(Integer id){
//删除本身
ItemCategory load = itemCategoryService.load(id);
load.setIsDelete(1);
itemCategoryService.updateById(load);
//将下级也删除
String sql = "update item_category set isDelete=1 where pid="+id;
itemCategoryService.updateBysql(sql);
return "redirect:/itemCategory/findBySql.action";
}
/**
* 查看二级类目
*/
@RequestMapping("/findBySql2")
public String findBySql2(ItemCategory itemCategory,Model model){
String sql = "select * from item_category where isDelete=0 and pid="+itemCategory.getPid()+" order by id";
Pager<ItemCategory> pagers = itemCategoryService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers",pagers);
model.addAttribute("obj",itemCategory);
return "itemCategory/itemCategory2";
}
/**
* 转向到新增二级类目页面
*/
@RequestMapping(value = "/add2")
public String add2(int pid,Model model){
model.addAttribute("pid",pid);
return "itemCategory/add2";
}
/**
* 新增二级类目保存功能
*/
@RequestMapping("/exAdd2")
public String exAdd2(ItemCategory itemCategory){
itemCategory.setIsDelete(0);
itemCategoryService.insert(itemCategory);
return "redirect:/itemCategory/findBySql2.action?pid="+itemCategory.getPid();
}
/**
* 转向到修改二级类目页面
*/
@RequestMapping(value = "/update2")
public String update2(Integer id,Model model){
ItemCategory obj = itemCategoryService.load(id);
model.addAttribute("obj",obj);
return "itemCategory/update2";
}
/**
* 修改二级类目
*/
@RequestMapping("/exUpdate2")
public String exUpdate2(ItemCategory itemCategory){
itemCategoryService.updateById(itemCategory);
return "redirect:/itemCategory/findBySql2.action?pid="+itemCategory.getPid();
}
/**
* 删除二级类目
*/
@RequestMapping("/delete2")
public String delete2(Integer id,Integer pid){
//删除本身
ItemCategory load = itemCategoryService.load(id);
load.setIsDelete(1);
itemCategoryService.updateById(load);
return "redirect:/itemCategory/findBySql2.action?pid="+pid;
}
@Autowired
private ItemService itemService;
@RequestMapping(value = "/tj")
public String tj(ItemCategory itemCategory, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
String sql = "SELECT * FROM item_category WHERE isDelete = 0 and pid is null";
sql += " ORDER BY ID DESC ";
List<ItemCategory> list = itemCategoryService.listBySqlReturnEntity(sql);
List<Map<String,Object>> maps = new ArrayList<Map<String,Object>>();
List<TjDto> res = new ArrayList<TjDto>();
if (!CollectionUtils.isEmpty(list)){
for (ItemCategory c : list){
TjDto td = new TjDto();
int tot = 0;
List<Item> listBySqlReturnEntity = itemService.listBySqlReturnEntity("SELECT * FROM item WHERE 1=1 and isDelete =0 and category_id_one="+c.getId());
if (!CollectionUtils.isEmpty(listBySqlReturnEntity)){
for (Item i : listBySqlReturnEntity){
tot+= i.getGmNum();
}
}
Map<String,Object> map = new HashMap<String,Object>();
map.put("name", c.getName());
map.put("value", tot);
maps.add(map);
}
}
//存储查询条件
model.addAttribute("maps", maps);
return "itemCategory/tj";
}
}