935090232@qq.com
2021-10-23 13cbb37d5a38ae764fbe78063de4af61511b33e2
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -1,6 +1,7 @@
package com.matrix.system.hive.action;
import cn.hutool.core.collection.CollUtil;
import com.matrix.component.asyncmessage.AsyncMessageManager;
import com.matrix.component.rabbitmq.RabiitMqTemplate;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
@@ -12,7 +13,10 @@
import com.matrix.core.tools.excl.ExcelSheetPO;
import com.matrix.core.tools.excl.ExcelUtil;
import com.matrix.core.tools.excl.ExcelVersion;
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.dao.SysCompanyDao;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.common.tools.ResponseHeadUtil;
@@ -21,7 +25,7 @@
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.shopXcx.mqTask.AsyncMessageRouting;
import com.matrix.system.wechart.templateMsg.UniformMsgParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -96,7 +100,13 @@
    RabiitMqTemplate rabiitMqTemplate;
    @Autowired
    private BusParameterSettingsDao busParameterSettingsDao;
    @Autowired
    private SysProjServicesDao sysProjServicesDao;
    @Autowired
    private AsyncMessageManager asyncMessageManager;
    @Value("${evn}")
    private String evn;
@@ -118,7 +128,7 @@
            total = total.add(new BigDecimal(item.getPrice() * item.getCount()));
        }
        SysOrder sysOrderResult = new SysOrder();
        sysOrderResult.setZkTotal(zkTotal.setScale(2,BigDecimal.ROUND_DOWN).doubleValue());
        sysOrderResult.setZkTotal(zkTotal.setScale(2, BigDecimal.ROUND_DOWN).doubleValue());
        sysOrderResult.setTotal(total.doubleValue());
        return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrderResult));
@@ -141,9 +151,9 @@
        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());
        asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG ,uniformMsgParam);
        //处理用户购买的产品
@@ -161,10 +171,10 @@
    @ResponseBody
    public AjaxResult refundOrder(@RequestBody SysOrder sysOrder) {
        //储值卡订单不能通过退款渠道退款
        if(CollectionUtils.isNotEmpty(sysOrder.getItems())){
        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")){
            if (orderItem.size() == 1) {
                if (orderItem.get(0).getShoppingGoods().getCode().equals("vipCzk")) {
                    return AjaxResult.buildFailInstance("充值订单请直接冲负数金额退款!");
                }
            }
@@ -189,7 +199,6 @@
        //处理用户购买的产品
        return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单保存成功");
    }
    /**
@@ -232,12 +241,12 @@
    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");
        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;
    }
@@ -269,7 +278,7 @@
        achieveNew.setDatatime(sysOrder.getPayTime());
        achieveNewService.modifyAchieveTime(achieveNew);
        //更新收款流水时间
        sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(),sysOrder.getPayTime());
        sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(), sysOrder.getPayTime());
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功");
@@ -288,7 +297,7 @@
        MoneyCardUse cardUseInfo = cardUseService.findByVipId(order.getVipId());
        if (cardUseInfo == null) {
            cardUseInfo=sysVipInfoService.addVipDefaultCard(order.getVipId());
            cardUseInfo = sysVipInfoService.addVipDefaultCard(order.getVipId());
        }
        //打印需求加入门店信息
@@ -298,7 +307,6 @@
        //查询会有所有有效的会员卡
        result.putInMap("totalMoney", moneyCardUseDao.selectVipCardTotalMoney(order.getVipId()));
        return result;
@@ -378,13 +386,13 @@
    @ResponseBody
    public AjaxResult findOrderDetailByIdOrNo(SysOrder orderVo) {
        // 根据id查到对应的订单信息
        SysOrder order=null;
        if(orderVo.getId()!=null){
            order  = orderService.findById(orderVo.getId());
        }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){
        SysOrder order = null;
        if (orderVo.getId() != null) {
            order = orderService.findById(orderVo.getId());
        } else if (StringUtils.isNotBlank(orderVo.getOrderNo())) {
            List<SysOrder> byModel = orderService.findByModel(orderVo);
            if(byModel.size()==1){
                order=orderService.findById(byModel.get(0).getId());
            if (byModel.size() == 1) {
                order = orderService.findById(byModel.get(0).getId());
            }
        }
        List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(order.getId());
@@ -424,10 +432,10 @@
    @RequestMapping(value = "/orderItem")
    public String orderItem(SysOrder orderVo) {
        if(orderVo.getId()!=null){
        if (orderVo.getId() != null) {
            WebUtil.getRequest().setAttribute("orderParam", orderVo.getId());
            WebUtil.getRequest().setAttribute("orderId", orderVo.getId());
        }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){
        } else if (StringUtils.isNotBlank(orderVo.getOrderNo())) {
            WebUtil.getRequest().setAttribute("orderParam", orderVo.getOrderNo());
            WebUtil.getRequest().setAttribute("orderNo", orderVo.getOrderNo());
        }
@@ -444,14 +452,14 @@
    }
//=======================================页面转发END==================================
    /**
     * 2021-08-20 新增:erp系统取消订单接口,不做订单状态校验
     * 取消订单
     */
    @Transactional(rollbackFor = Exception.class)
    @RequestMapping(value = "/cancelOrder")
    @RequestMapping(value = "/erpCancelOrder")
    public @ResponseBody
    AjaxResult cancelOrder(Long id, Integer del) {
    AjaxResult erpCancelOrder(Long id) {
        AjaxResult result = new AjaxResult();
        SysOrder order = orderService.findById(id);
@@ -468,15 +476,32 @@
        }
        orderService.cancelOrder(id);
//        if (del > 0) {
//            orderService.removeById(id);
//            result.setInfo("删除成功!");
//        } else {
            result.setInfo("取消成功!");
//        }
        result.setInfo("取消成功!");
        result.setStatus(AjaxResult.STATUS_SUCCESS);
        return result;
    }
    /**
     * 取消订单
     */
    @Transactional(rollbackFor = Exception.class)
    @RequestMapping(value = "/cancelOrder")
    public @ResponseBody
    AjaxResult cancelOrder(Long id, Integer del) {
        SysOrder order = orderService.findById(id);
        BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, order.getCompanyId());
        if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue())
                && shopManageAbleCancelDfkOrder.getParamValue().equals(Dictionary.FLAG_YES)) {
            if (!Dictionary.ORDER_STATU_DFK.equals(order.getStatu())) {
                return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待付款订单");
            }
        }
        return erpCancelOrder(id);
    }
    @RequestMapping(value = "/exportExcel")
@@ -494,17 +519,16 @@
     */
    @RequestMapping(value = "/erpExportExcel")
    public void erpExportExcel(ModelMap model, HttpServletRequest request, HttpServletResponse response,
                       SysOrder sysOrder) throws Exception {
                               SysOrder sysOrder) throws Exception {
        doExportOrder(response, sysOrder);
        return;
    }
    /**
     * 执行订单导出,总部和门店共用,但是搜索条件不一样
     *
     * @param response
     * @param sysOrder
     * @throws IOException