package com.javapandeng.controller;
import com.alibaba.fastjson.JSONObject;
import com.javapandeng.base.BaseController;
import com.javapandeng.po.*;
import com.javapandeng.service.*;
import com.javapandeng.utils.Consts;
import com.javapandeng.utils.Pager;
import org.apache.commons.lang.StringUtils;
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.RequestBody;
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.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 订单管理
*/
@Controller
@RequestMapping("/itemOrder")
public class ItemOrderController extends BaseController {
@Autowired
private ItemOrderService itemOrderService;
@Autowired
private UserService userService;
@Autowired
private CarService carService;
@Autowired
private OrderDetailService orderDetailService;
@Autowired
private ItemService itemService;
/**
* 订单管理列表
*/
@RequestMapping("/findBySql")
public String findBySql(ItemOrder itemOrder, Model model){
//分页查询
String sql = "select * from item_order where 1=1 ";
if(!(isEmpty(itemOrder.getCode()))){
sql +=" and code like '%"+itemOrder.getCode()+"%' ";
}
sql += " order by id desc";
Pager<ItemOrder> pagers = itemOrderService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers",pagers);
//存储查询条件
model.addAttribute("obj",itemOrder);
return "itemOrder/itemOrder";
}
/**
* 我的订单
*/
@RequestMapping("/my")
public String my(Model model, HttpServletRequest request){
Object attribute = request.getSession().getAttribute(Consts.USERID);
if(attribute==null){
return "redirect:/login/uLogin";
}
Integer userId = Integer.valueOf(attribute.toString());
//全部订单
String sql = "select * from item_order where user_id="+userId+" order by id desc";
List<ItemOrder> all = itemOrderService.listBySqlReturnEntity(sql);
//待发货
String sql2 = "select * from item_order where user_id="+userId+" and status=0 order by id desc";
List<ItemOrder> dfh = itemOrderService.listBySqlReturnEntity(sql2);
//已取消
String sql3 = "select * from item_order where user_id="+userId+" and status=1 order by id desc";
List<ItemOrder> yqx = itemOrderService.listBySqlReturnEntity(sql3);
//已发货
String sql4 = "select * from item_order where user_id="+userId+" and status=2 order by id desc";
List<ItemOrder> dsh = itemOrderService.listBySqlReturnEntity(sql4);
//已收货
String sql5 = "select * from item_order where user_id="+userId+" and status=3 order by id desc";
List<ItemOrder> ysh = itemOrderService.listBySqlReturnEntity(sql5);
model.addAttribute("all",all);
model.addAttribute("dfh",dfh);
model.addAttribute("yqx",yqx);
model.addAttribute("dsh",dsh);
model.addAttribute("ysh",ysh);
return "itemOrder/my";
}
/**
* 购物车结算提交
*/
@RequestMapping("/exAdd")
@ResponseBody
public String exAdd(@RequestBody List<CarDto> list,HttpServletRequest request){
Object attribute = request.getSession().getAttribute(Consts.USERID);
JSONObject js = new JSONObject();
if(attribute==null){
js.put(Consts.RES,0);
return js.toJSONString();
}
Integer userId = Integer.valueOf(attribute.toString());
User byId = userService.getById(userId);
if(StringUtils.isEmpty(byId.getAddress())){
js.put(Consts.RES,2);
return js.toJSONString();
}
List<Integer> ids = new ArrayList<>();
BigDecimal to = new BigDecimal(0);
for(CarDto c:list){
ids.add(c.getId());
Car load = carService.load(c.getId());
to = to.add(new BigDecimal(load.getPrice()*load.getZk()).multiply(new BigDecimal(c.getNum())));
}
ItemOrder order = new ItemOrder();
order.setStatus(0);
order.setCode(getOrderNo());
order.setIsDelete(0);
order.setTotal(to.setScale(2,BigDecimal.ROUND_HALF_UP).toString());
order.setUserId(userId);
order.setAddTime(new Date());
itemOrderService.insert(order);
//订单详情放入orderDetail,删除购物车
if(!CollectionUtils.isEmpty(ids)){
for(CarDto c:list){
Car load = carService.load(c.getId());
OrderDetail de = new OrderDetail();
de.setItemId(load.getItemId());
de.setOrderId(order.getId());
de.setStatus(0);
de.setNum(c.getNum());
de.setTotal(String.valueOf(c.getNum()*load.getPrice()*load.getZk()));
orderDetailService.insert(de);
//修改成交数
Item load2 = itemService.load(load.getItemId());
load2.setGmNum(load2.getGmNum()+c.getNum());
itemService.updateById(load2);
//删除购物车
carService.deleteById(c.getId());
}
}
js.put(Consts.RES,1);
return js.toJSONString();
}
private static String date;
private static long orderNum = 0L;
public static synchronized String getOrderNo(){
String str = new SimpleDateFormat("yyyyMMddHHmm").format(new Date());
if(date==null||!date.equals(str)){
date = str;
orderNum = 0L;
}
orderNum++;
long orderNO = Long.parseLong(date)*10000;
orderNO += orderNum;
return orderNO+"";
}
/**
* 取消订单
*/
@RequestMapping("/qx")
public String qx(Integer id,Model model){
ItemOrder obj =itemOrderService.load(id);
// Item load2 = itemService.load(obj.getItemId());
// load2.setGmNum(load2.getGmNum()-obj.);
// itemService.updateById(load2);
obj.setStatus(1);
itemOrderService.updateById(obj);
model.addAttribute("obj",obj);
return "redirect:/itemOrder/my";
}
/**
* 后台发货
*/
@RequestMapping("/fh")
public String fh(Integer id,Model model){
ItemOrder obj =itemOrderService.load(id);
obj.setStatus(2);
OrderDetail de = new OrderDetail();
de.setStatus(1);
itemOrderService.updateById(obj);
orderDetailService.insert(de);
model.addAttribute("obj",obj);
return "redirect:/itemOrder/findBySql";
}
/**
* 用户收货
*/
@RequestMapping("/sh")
public String sh(Integer id,Model model){
ItemOrder obj =itemOrderService.load(id);
obj.setStatus(3);
itemOrderService.updateById(obj);
model.addAttribute("obj",obj);
return "redirect:/itemOrder/my";
}
/**
* 用户评价入口
*/
@RequestMapping("/pj")
public String pj(Integer id,Model model){
model.addAttribute("id",id);
return "itemOrder/pj";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步! 基于ssm的网上花店系统(源代码+数据库)本系统分为管理员、用户两种角色 用户角色包含以下功能: - 登录、注册、系统公告查看、个人信息修改、购物车、订单管理、取消订单、收藏管理、留言反馈、密码修改 管理员角色包含以下功能: - 登录、销售统计、用….zip
资源推荐
资源详情
资源评论
收起资源包目录
基于ssm的网上花店系统(完整源码+数据库)(分为管理员、用户两种角色)zip (1283个子文件)
style.css.bak 16KB
bootstrap.css 143KB
bootstrap.min.css 118KB
pintuer.css 110KB
easyui.css 59KB
easyui.css 58KB
easyui.css 58KB
easyui2.css 58KB
easyui.css 58KB
easyui.css 56KB
easyui.css 55KB
jquery.mCustomScrollbar.css 52KB
common.css 43KB
ueditor.css 43KB
jquery.mCustomScrollbar.min.css 42KB
ueditor.min.css 34KB
uc.css 26KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
video-js.css 21KB
_all.css 20KB
image.css 18KB
style.css 16KB
video.css 15KB
_all.css 14KB
attachment.css 14KB
_all.css 14KB
common.css 13KB
style.css 12KB
_all.css 12KB
layer.css 12KB
video-js.min.css 11KB
goods-detail.css 11KB
sxtc.css 11KB
mylessons.css 11KB
tabs.css 9KB
tabs.css 9KB
tabs.css 9KB
tabs.css 9KB
home.css 9KB
cart.css 8KB
search-goods.css 7KB
tabs.css 7KB
tabs.css 7KB
shCoreDefault.css 7KB
mobile.css 7KB
dq.css 6KB
color.css 6KB
laydate.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 5KB
datagrid.css 5KB
style.css 5KB
admin_login.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
login.css 4KB
admin.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
login.css 4KB
scrawl.css 4KB
layer.css 4KB
linkbutton.css 3KB
laydate.css 3KB
tree.css 3KB
tree.css 3KB
laydate.css 3KB
tree.css 3KB
tree.css 3KB
tree.css 3KB
tree.css 3KB
laydate.css 3KB
main.css 3KB
laydate.css 3KB
layer.ext.css 3KB
jquery.bxslider.min.css 3KB
slick-theme.css 3KB
panel.css 3KB
panel.css 3KB
panel.css 3KB
codemirror.css 3KB
panel.css 3KB
textbox.css 3KB
textbox.css 3KB
textbox.css 3KB
textbox.css 3KB
textbox.css 3KB
textbox.css 3KB
icon.css 3KB
共 1283 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
资源评论
龙年行大运
- 粉丝: 1002
- 资源: 3854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功