935090232@qq.com
2021-03-05 b4da2725da57633daff22eed89f09d6e33f18560
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -16,14 +16,13 @@
import com.matrix.system.constance.Dictionary;
import com.matrix.system.constance.SystemConstance;
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.system.hive.dao.*;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.pojo.ShoppingCarItem;
import com.matrix.system.hive.pojo.ShoppingCarItemsVo;
import com.matrix.system.hive.service.*;
import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
import com.matrix.system.wechart.templateMsg.UniformMsgParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -57,6 +56,11 @@
public class OrderController extends BaseController {
    @Resource
    private SysOrderService orderService;
    @Autowired
    ShoppingGoodsDao shoppingGoodsDao;
    @Autowired
    private CodeService codeService;
    @Autowired
    private SysOrderItemDao orderItemDao;
@@ -84,6 +88,9 @@
    @Autowired
    private SysOrderFlowService sysOrderFlowService;
    @Autowired
    private SysOrderFlowDao sysOrderFlowDao;
    @Autowired
    RabiitMqTemplate rabiitMqTemplate;
@@ -123,14 +130,15 @@
    AjaxResult payOrder(@RequestBody SysOrder sysOrder) {
        SysUsers user = getMe();
        sysOrder.setShopId(user.getShopId());
        sysOrder.setOrderType(SysOrder.ORDER_TYPE_SEAL);
        //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新
        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());
        //处理用户购买的产品
@@ -157,17 +165,30 @@
                }
            }
        }
        SysUsers user = getMe();
        sysOrder.setStaffId(user.getSuId());
        sysOrder.setCompanyId(user.getCompanyId());
        sysOrder.setShopId(user.getShopId());
        sysOrder.setStatu(Dictionary.ORDER_STATU_TK);
        sysOrder.setOrderTime(new Date());
        sysOrder.setOrderNo(codeService.getRefundOrderNo());
        //新增订单
        sysOrderDao.insert(sysOrder);
        //插入明细
        for (SysOrderItem item : sysOrder.getItems()) {
            SysOrderItem oldItem=orderItemDao.selectById(item.getId());
            item.setType(oldItem.getType());
            // 取负数
            item.setStatus(Dictionary.ORDER_STATU_TK);
            item.setCount(-item.getCount());
            item.setOrderId(sysOrder.getId());
            item.setId(null);
            orderItemDao.insert(item);
        }
        //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新
        sysOrder = orderService.checkAndSaveOrder(sysOrder);
        orderService.refundOrderMoney(sysOrder);
        //处理用户购买的产品
        return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单退款成功");
@@ -288,6 +309,10 @@
        achieveNew.setOrderId(sysOrder.getId());
        achieveNew.setDatatime(sysOrder.getPayTime());
        achieveNewService.modifyAchieveTime(achieveNew);
        //更新收款流水时间
        sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(),sysOrder.getPayTime());
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功");
    }