项目描述:
一个完整的农资采购销售系统,系统分为前台会员注册登陆,农资信息浏览,农资详情信息查看,加入购物车,提交订单,付款购买农资等;后台管理员对人员信息的管理,首页图片管理(系统可配置化),农资订单管理,图标统计,农资信息管理
运行环境:
jdk8+tomca8+mysql+IntelliJ IDEA+maven
项目技术:
spring+spring mvc+mybatis+jquery+jquery.easyui.min.js
前端登录:http://localhost:8080/snack/shop/index
后台登录:http://localhost:8080/snack//admin/login/adminLogin
商品参数管理代码:
/**
* Item Controller
*/
@Controller
@RequestMapping("/item")
public class ItemController extends BaseController {
@Autowired
private ItemService itemService;
@Autowired
private ItemCategoryService itemCategoryService;
@RequestMapping("/findbysql")
public String findBySql(Model model, Item item) {
String sql = "select * from item where 1=1 and isDelete = 0";
if (!isEmpty(item.getName())) {
sql += " and name like '%" + item.getName() + "%' ";
}
sql += " order by id";
Pager<Item> itemList = itemService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers", itemList);
model.addAttribute("obj", item);
return "item/itemList";
}
/**
* 转到添加商品页面
*
* @param model
* @return
*/
@RequestMapping("/add")
public String addItem(Model model) {
String sql = "select * from item_category where isDelete = 0 and pid is not null order by id";
Pager<ItemCategory> pagers = itemCategoryService.findBySqlRerturnEntity(sql);
model.addAttribute("types", pagers);
return "item/addItem";
}
/**
* 执行添加操作
*
* @param item
* @param files CommonsMultipartFile用于文件上传
* @return
*/
@RequestMapping("/exadd")
public String exaddItem(Item item, @RequestParam("file") CommonsMultipartFile[] files, HttpServletRequest request) throws IOException {
itemCommon(item, files, request);
item.setGmNum(0);
item.setIsDelete(0);
item.setScNum(0);
itemService.insert(item);
return "redirect:/item/findbysql.action";
}
/**
* 跳转到修改商品页面
*
* @param id 选中的商品主键
* @param model
* @return
*/
@RequestMapping("/update")
public String updateItem(Integer id, Model model) {
Item obj = itemService.load(id);
String sql = "select * from item_category where isDelete = 0 and pid is not null order by id";
List<ItemCategory> listBySqlReturnEntity = itemCategoryService.listBySqlReturnEntity(sql);
model.addAttribute("types", listBySqlReturnEntity);
model.addAttribute("obj", obj);
return "/item/updateItem";
}
/**
* 执行修改
*
* @param item
* @param files
* @param request
* @return
* @throws IOException
*/
@RequestMapping("exUpdateItem")
public String exUpdateItem(Item item, @RequestParam("file") CommonsMultipartFile[] files, HttpServletRequest request) throws IOException {
itemCommon(item, files, request);
itemService.updateById(item);
return "redirect:/item/findbysql.action";
}
/**
* 商品下架
* @param id
* @return
*/
@RequestMapping("/remove")
public String removeItem(Integer id) {
String sql = "update item set isDelete = 1 where id=";
String sql1 = Integer.toString(id) ;
itemService.updateBysql(sql+sql1);
return "redirect:/item/findbysql.action";
}
/**
* 上传文件的公共方法
*
* @param item
* @param files
* @param request
* @throws IOException
*/
private void itemCommon(Item item, @RequestParam("file") CommonsMultipartFile[] files, HttpServletRequest request) throws IOException {
if (files.length > 0) {
for (int s = 0; s < files.length; s++) {
String n = UUIDUtils.create();
String path = SystemContext.getRealPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename();
File newFile = new File(path);
//通过CommonsMultipartFile的方法直接写文件
files[s].transferTo(newFile);
if (s == 0) {
item.setUrl1(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());
}
if (s == 1) {
item.setUrl2(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());
}
if (s == 2) {
item.setUrl3(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());
}
if (s == 3) {
item.setUrl4(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());
}
if (s == 4) {
item.setUrl5(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());
}
}
}
ItemCategory byId = itemCategoryService.getById(item.getCategoryIdTwo());
item.setCategoryIdOne(byId.getPid());
}
@RequestMapping("/shoplist")
public String shoplist(String condition ,Item item,Model model,String price,String gmNum){
String sql = "select * from item where isDelete=0";
if(!isEmpty(item.getCategoryIdTwo())){
sql+=" and category_id_two="+item.getCategoryIdTwo();
}
if(!isEmpty(condition)){
sql+=" and name like '%"+condition+"%'";
}
if(!isEmpty(price)){
sql+=" order by (price+0) ";
}
if(!isEmpty(gmNum)){
sql+=" order by gmNum desc";
}
Pager<Item> itemList = itemService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers",itemList);
model.addAttribute("obj",item);
// model.addAttribute()
return "/item/shoplist";
}
/**
* 商品详情页面
* @param item
* @param request
* @return
*/
@RequestMapping("/view")
public String view(Item item ,HttpServletRequest request){
Item itemObj = itemService.getById(item.getId());
request.setAttribute("obj",itemObj);
return "item/viewlist";
}
}
订单管理代码:
/**
* 订单controller
*/
@Controller
@RequestMapping("/itemOrder")
public class ItemOrderController extends BaseController {
@Autowired
private ItemOrderService itemOrderService;
@Autowired
private UserService userService;
@Autowired
private ItemService itemService;
@Autowired
private CarService carService;
@Autowired
private OrderDetailService orderDetailService;
@RequestMapping("/findBySql")
public String itemOrderList(HttpServletRequest request,ItemOrder itemOrder){
String sql = "select * from item_order where isDelete=0";
if (!isEmpty(itemOrder.getCode())){
sql+=" and code like '%"+itemOrder.getCode()+"%'";
}
sql+=" order by id desc";
Pager<ItemOrder> data = itemOrderService.findBySqlRerturnEntity(sql);
request.setAttribute("pagers",data);
request.setAttribute("obj",itemOrder);
return "/itemOrder/itemOrderList";
}
@RequestMapping("/my")
public String my(HttpServletRequest request, Model model){
//判断当前用户是否登录
Object userId = request.getSession().getAttribute("userId");
if(userId==null){
return "login/uLogin";
}
Integer id = Integer.valueOf(userId.toString());
//查询全部订单
String sql = "select * from item_order where isDelete=0 and user_id="+id+" order by id";
//Pager<ItemOrder> itemOrderAll = itemOrderService.findBySqlRerturnEntity(sql);
List<ItemOrder> itemOrderAll = itemOrderService.listBySqlReturnEntity(sql);
//查询待发货订单
String sql1 = "select * from item_order where isDelete=0 and status=0 and user_id="+id+" order by id";
//Pager<ItemOrder> itemOrder0 = itemOrderService.findBySqlRerturnEntity(sql);
List<ItemOrder> itemOrder0 = itemOrderService.listBySqlReturnEntity(sql1);
//查询已取消订单
String sql2 = "select * from item_order where isDelete=0 and status=1 and user_id="+id+" order by id";
// Pager<ItemOrder> itemOrder1 = itemOrderService.findBySqlRerturnEntity(sql);
List<ItemOrder> itemOrder1 = itemOrderService.listBySqlReturnEntity(sql2);
//查询已发货订单
String sql3 = "select * from item_order where isDelete=0 and status=2 and user_id="+id+" order by id";
// Pager<ItemOrder> itemOrder2 = itemOrderService.findBySqlRerturnEntity(sql);
List<ItemOrder> itemOrder2 = itemOrderService.listBySqlReturnEntity(sql3);
//查询已收货订单
String sql4 = "select * from item_order where isDelete=0 and status=3 and user_id="+id+" order by id";
// Pager<ItemOrder> itemOrder3 = itemOrderService.findBySqlRerturnEntity(sql);
List<ItemOrder> itemOrder3 = itemOrderService.listBySqlReturnEntity(sql4);
//查询已评价订单
String sql5 = "select * from item_order where isDelete=0 and status=4 and user_id="+id+" order by id";
// Pager<ItemOrder> itemOrder4 = itemOrderService.findBySqlRerturnEntity(sql);
List<ItemOrder> itemOrder4 = itemOrderService.listBySqlReturnEntity(sql5);
/*request.setAttribute("add",itemOrderAll);
request.setAttribute("add0",itemOrder0);
request.setAttribute("add1",itemOrder1);
request.setAttribute("add2",itemOrder2);
request.setAttribute("add3",itemOrder3);
request.setAttribute("add4",itemOrder4);*/
model.addAttribute("add",itemOrderAll);
model.addAttribute("add0",itemOrder0);
model.addAttribute("add1",itemOrder1);
model.addAttribute("add2",itemOrder2);
model.addAttribute("add3",itemOrder3);
model.addAttribute("add4",itemOrder4);
return "/item/view";
}
/**
* 结算提交
* @param list
* @param request
* @return
*/
@RequestMapping("/exAdd")
@ResponseBody
public String repairStart(@RequestBody List<CarDto> list,HttpServletRequest request) {
//判断是否登录,没有登录返回0
Object userId = request.getSession().getAttribute("userId");
JSONObject json = new JSONObject();
if (userId == null) {
json.put(Consts.RES, 0);
return json.toJSONString();
}
//判断用户是否填写了地址
Integer id = Integer.valueOf(userId.toString());
User user = userService.getById(id);
if(StringUtil.isEmpty(user.getAddress())){
json.put(Consts.RES,2);
}
//生成订单表
List<Integer> ids = new ArrayList<Integer>();
// Double b = 0.0; //价格
BigDecimal b = new BigDecimal(0);
for (CarDto carDto:list){
ids.add(carDto.getId());
Car car = carService.getById(carDto.getId());
// b+=car.getPrice()*carDto.getNum();
b =b.add(new BigDecimal(car.getPrice()).multiply(new BigDecimal(carDto.getNum())));
}
ItemOrder itemOrder = new ItemOrder();
itemOrder.setUserId(id);
SimpleDateFormat sd = new SimpleDateFormat("yyyyMMddHHmmss");
itemOrder.setCode(sd.format(new Date()));
itemOrder.setAddTime(new Date());
itemOrder.setTotal(b.setScale(2,BigDecimal.ROUND_HALF_UP).toString());
itemOrder.setIsDelete(0);
itemOrder.setStatus(0);
itemOrderService.insert(itemOrder);
//生成订单详情表
if(!CollectionUtils.isEmpty(ids)){
for (CarDto carDto:list){
Car load = carService.load(carDto.getId());
OrderDetail orderDetail = new OrderDetail();
orderDetail.setItemId(load.getItemId());
orderDetail.setOrderId(itemOrder.getId());
orderDetail.setStatus(0);
orderDetail.setNum(load.getNum());
orderDetail.setTotal(String.valueOf(carDto.getNum()*load.getPrice()));
orderDetailService.insert(orderDetail);
//修改商品成交数
Item item = itemService.getById(load.getItemId());
item.setGmNum(item.getGmNum()+carDto.getNum());
//删除购物车
carService.deleteById(carDto.getId());
}
}
json.put(Consts.RES,1);
return json.toJSONString();
}
/**
* 取消订单
* @param model
* @param id
* @return
*/
@RequestMapping("/qx")
public String itemOrderqx(Model model,Integer id){
ItemOrder obj = itemOrderService.getById(id);
obj.setStatus(1);
itemOrderService.updateById(obj);
model.addAttribute("obj",obj);
return "redirect:/itemOrder/my.action";
}
/**
* 后台发货
* @param id
* @return
*/
@RequestMapping("/fh")
public String itemOrderfh(Integer id){
ItemOrder obj = itemOrderService.getById(id);
obj.setStatus(2);
itemOrderService.updateById(obj);
return "redirect:/itemOrder/findBySql.action";
}
/**
* 用户收货
* @param id
* @return
*/
@RequestMapping("/sh")
public String itemOrdersh(Integer id){
ItemOrder obj = itemOrderService.getById(id);
obj.setStatus(3);
itemOrderService.updateById(obj);
return "redirect:/itemOrder/my.action";
}
/**
* 进入商品评价页面
* @param id
* @param model
* @return
*/
@RequestMapping("/pj")
public String itemOrderpj(Integer id,Model model,Integer orderId){
model.addAttribute("id",id);
model.addAttribute("orderId",orderId);
return "itemOrder/pj";
}
}