From ad31648c6f7a8bff1f7ccdf84b76006b9ffb78f8 Mon Sep 17 00:00:00 2001 From: jyy <jyy> Date: Sat, 17 Jul 2021 15:59:10 +0800 Subject: [PATCH] 1. 新增套餐中有效和无效的操作 2. 会员修改门店功能 3. 套餐新增编辑次数功能 4. 计算是否为赠送的条件为,全部为赠送金额购买且支付金额大于0 5. 打印小票功能调整间距,和收银人 6. PC端服务单新增划扣金额展示 --- zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java | 149 +++++++++++++++++++++++++------------------------ 1 files changed, 76 insertions(+), 73 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java index ffe1a96..4e5e2cd 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java @@ -1,5 +1,6 @@ package com.matrix.system.hive.action; +import cn.hutool.core.collection.CollUtil; import com.matrix.component.rabbitmq.RabiitMqTemplate; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; @@ -12,18 +13,12 @@ import com.matrix.core.tools.excl.ExcelUtil; import com.matrix.core.tools.excl.ExcelVersion; import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.common.dao.SysCompanyDao; import com.matrix.system.common.tools.ResponseHeadUtil; import com.matrix.system.constance.Dictionary; -import com.matrix.system.constance.SystemConstance; -import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.*; -import com.matrix.system.hive.dao.MoneyCardUseDao; -import com.matrix.system.hive.dao.SysOrderDao; -import com.matrix.system.hive.dao.SysOrderItemDao; -import com.matrix.system.hive.dao.SysShopInfoDao; -import com.matrix.core.tools.DateUtil; -import com.matrix.system.hive.pojo.ShoppingCarItem; -import com.matrix.system.hive.pojo.ShoppingCarItemsVo; +import com.matrix.system.hive.dao.*; +import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.hive.service.*; import com.matrix.system.shopXcx.mqTask.MQTaskRouting; import com.matrix.system.wechart.templateMsg.UniformMsgParam; @@ -36,6 +31,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -46,7 +42,6 @@ import java.net.URLEncoder; import java.util.ArrayList; import java.util.Arrays; -import java.util.Date; import java.util.List; /** @@ -60,6 +55,11 @@ public class OrderController extends BaseController { @Resource private SysOrderService orderService; + @Autowired + ShoppingGoodsDao shoppingGoodsDao; + + @Autowired + private CodeService codeService; @Autowired private SysOrderItemDao orderItemDao; @@ -89,7 +89,14 @@ private SysOrderFlowService sysOrderFlowService; @Autowired + private SysOrderFlowDao sysOrderFlowDao; + + @Autowired RabiitMqTemplate rabiitMqTemplate; + + @Autowired + private SysProjServicesDao sysProjServicesDao; + @Value("${evn}") private String evn; @@ -110,7 +117,7 @@ total = total.add(new BigDecimal(item.getPrice() * item.getCount())); } SysOrder sysOrderResult = new SysOrder(); - sysOrderResult.setZkTotal(zkTotal.doubleValue()); + sysOrderResult.setZkTotal(zkTotal.setScale(2,BigDecimal.ROUND_DOWN).doubleValue()); sysOrderResult.setTotal(total.doubleValue()); return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrderResult)); @@ -126,14 +133,16 @@ AjaxResult payOrder(@RequestBody SysOrder sysOrder) { SysUsers user = getMe(); sysOrder.setShopId(user.getShopId()); + sysOrder.setOrderType(SysOrder.ORDER_TYPE_SEAL); + sysOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_N); //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新 sysOrder = orderService.checkAndSaveOrder(sysOrder); orderService.updateReceiptMoney(sysOrder); //发送微信公众号提醒 -// UniformMsgParam uniformMsgParam=new UniformMsgParam(user.getCompanyId(),UniformMsgParam.GZH_GMCG); -// uniformMsgParam.put("orderId",sysOrder.getId()); -// rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString()); + UniformMsgParam uniformMsgParam=new UniformMsgParam(user.getCompanyId(),UniformMsgParam.GZH_GMCG); + uniformMsgParam.put("orderId",sysOrder.getId()); + rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString()); //处理用户购买的产品 @@ -149,14 +158,16 @@ */ @RequestMapping(value = "/refundOrder") @ResponseBody - @Transactional(rollbackFor = Exception.class) public AjaxResult refundOrder(@RequestBody SysOrder sysOrder) { - SysUsers user = getMe(); - sysOrder.setShopId(user.getShopId()); - sysOrder.setStatu(Dictionary.ORDER_STATU_TK); - sysOrder.setOrderTime(new Date()); - //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新 - sysOrder = orderService.checkAndSaveOrder(sysOrder); + //储值卡订单不能通过退款渠道退款 + if(CollectionUtils.isNotEmpty(sysOrder.getItems())){ + List<SysOrderItem> orderItem = orderItemService.findByOrderId(sysOrder.getItems().get(0).getOrderId()); + if(orderItem.size()==1){ + if(orderItem.get(0).getShoppingGoods().getCode().equals("vipCzk")){ + return AjaxResult.buildFailInstance("充值订单请直接冲负数金额退款!"); + } + } + } orderService.refundOrderMoney(sysOrder); //处理用户购买的产品 return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单退款成功"); @@ -178,49 +189,6 @@ return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单保存成功"); } - /** - * 新建订单 - * - * @author jiangyouyao - */ - @RequestMapping(value = "/addOrder") - public @ResponseBody - AjaxResult addOrder(ShoppingCarItemsVo car) { - - List<ShoppingCarItem> sessionCarItems = (List<ShoppingCarItem>) WebUtil.getSession().getAttribute( - SystemConstance.SHOPPING_CAR); - - List<ShoppingCarItem> carItems = new ArrayList<>(); - - // 设置购车中的具体类型信息,过滤没有被选中的商品 - for (ShoppingCarItem carItem : car.getCarItems()) { - - for (ShoppingCarItem sessionCar : sessionCarItems) { - - if (carItem.getId().equals(sessionCar.getId())) { - //已最后提交的数量为准 - sessionCar.setCount(carItem.getCount()); - carItems.add(sessionCar); - break; - } - } - } - //设置过滤后的购物车条目 - car.setCarItems(carItems); - - SysVipInfo info = (SysVipInfo) WebUtil.getSession().getAttribute(SystemConstance.CURRENT_CUSTOMER); - car.setVipId(info.getId()); - - // 添加新订单 - int i = orderService.createOrder(WebUtil.getSession(), car); - - if (i > 0) { - WebUtil.getSession().removeAttribute(SystemConstance.SHOPPING_CAR); - return new AjaxResult(AjaxResult.STATUS_SUCCESS, "下单成功"); - } else { - return new AjaxResult(AjaxResult.STATUS_FAIL, "下单添加失败"); - } - } /** @@ -251,11 +219,31 @@ return showList(sysOrder, pageVo); } + @Resource + SysCompanyDao companyDao; /** * 收款 */ - @RequestMapping(value = "sk") + @RequestMapping(value = "/printOrder") + public @ResponseBody + ModelAndView printOrder(SysOrder order) throws GlobleException { + ModelAndView mv = new ModelAndView("admin/hive/beautySalon/print-order"); + SysUsers user=(SysUsers)WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + String comRegisterCode = companyDao.selectById(user.getCompanyId()).getComRegisterCode(); + if(StringUtils.isNotBlank(comRegisterCode)){ + mv.addObject("page",comRegisterCode); + }else { + mv.addObject("page","taiyan"); + } + return mv; + } + + + /** + * 收款 + */ + @RequestMapping(value = "/sk") public @ResponseBody AjaxResult sk(SysOrder order) throws GlobleException { orderService.updateReceiptMoney(order); @@ -270,13 +258,17 @@ public @ResponseBody AjaxResult updateOrderTime(SysOrder sysOrder) { - sysOrderDao.updateOrderTime(sysOrder.getOrderTime(), sysOrder.getId()); + sysOrderDao.updateOrderTime(sysOrder.getPayTime(), sysOrder.getId()); // 修改业绩时间 // 更新业绩时间 AchieveNew achieveNew = new AchieveNew(); achieveNew.setOrderId(sysOrder.getId()); - achieveNew.setDatatime(sysOrder.getOrderTime()); + achieveNew.setDatatime(sysOrder.getPayTime()); achieveNewService.modifyAchieveTime(achieveNew); + //更新收款流水时间 + sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(),sysOrder.getPayTime()); + + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功"); } @@ -431,8 +423,10 @@ if(orderVo.getId()!=null){ WebUtil.getRequest().setAttribute("orderParam", orderVo.getId()); + WebUtil.getRequest().setAttribute("orderId", orderVo.getId()); }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){ WebUtil.getRequest().setAttribute("orderParam", orderVo.getOrderNo()); + WebUtil.getRequest().setAttribute("orderNo", orderVo.getOrderNo()); } return "admin/hive/beautySalon/orderXq-form"; } @@ -461,13 +455,22 @@ if (order == null) { return new AjaxResult(AjaxResult.STATUS_FAIL, "订单不存在!"); } - orderService.cancelOrder(id); - if (del > 0) { - orderService.removeById(id); - result.setInfo("删除成功!"); - } else { - result.setInfo("取消成功!"); + + List<SysOrderItem> items = orderItemDao.selectByOrderId(id); + for (SysOrderItem item : items) { + List<SysProjServices> sysProjServices = sysProjServicesDao.selectProjServicesByOrderItemId(item.getId()); + if (CollUtil.isNotEmpty(sysProjServices)) { + return new AjaxResult(AjaxResult.STATUS_FAIL, "订单存在进行中的服务单无法取消/删除"); + } } + + orderService.cancelOrder(id); +// if (del > 0) { +// orderService.removeById(id); +// result.setInfo("删除成功!"); +// } else { + result.setInfo("取消成功!"); +// } result.setStatus(AjaxResult.STATUS_SUCCESS); return result; -- Gitblit v1.9.1