浏览代码

优化订单状态切换逻辑

codingliang 1 年之前
父节点
当前提交
b00ba1e183
共有 1 个文件被更改,包括 78 次插入87 次删除
  1. 78 87
      src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

+ 78 - 87
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -1683,32 +1683,30 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
             }
             messageInfo.setCreateAt(format1);
             messageInfo.setUserId(tbOrder.getUserId().toString());
-            messageInfoDao.insert(messageInfo);
-            //设置小程序消息推送
-            CommonInfo one = commonInfoService.findOne(269);
-            List<String> msgList = new ArrayList<>();
-            Long shopId = tbOrder.getShopId();
-            GoodsShop goodsShop = goodsShopDao.selectById(shopId);
-            String shopName = goodsShop.getShopName();
-            String orderNum1 = tbOrder.getOrderNumber();
-            /*msgList.add(shopName);
-            msgList.add(orderNum1);
-            msgList.add("已制作完成");
-            msgList.add(format1);*/
 
-            msgList.add("已制作完成");
-            msgList.add(orderNum1);
-            msgList.add(shopName);
-            msgList.add(format1);
-            /*
-            if(tbOrder.getOrderType()==1){
-                msgList.add("您的餐品已制作完成,请及时取餐");
-            }else if(tbOrder.getOrderType()==2){
-                msgList.add("您的餐品已制作完成,正在配送中");
-            }*/
-            UserEntity userEntity = userDao.selectById(tbOrder.getUserId());
-            SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 1);
-            userService.pushToSingle("制作完成", "亲爱的用户您好,您的订单已制作完成,请耐心等待配送!", userEntity.getClientid());
+            MyGlobalThreadPool.execute(() -> {
+                try {
+                    messageInfoDao.insert(messageInfo);
+                    //设置小程序消息推送
+                    CommonInfo one = commonInfoService.findOne(269);
+                    List<String> msgList = new ArrayList<>();
+                    Long shopId = tbOrder.getShopId();
+                    GoodsShop goodsShop = goodsShopDao.selectById(shopId);
+                    String shopName = goodsShop.getShopName();
+                    String orderNum1 = tbOrder.getOrderNumber();
+
+                    msgList.add("已制作完成");
+                    msgList.add(orderNum1);
+                    msgList.add(shopName);
+                    msgList.add(format1);
+
+                    UserEntity userEntity = userDao.selectById(tbOrder.getUserId());
+                    SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 1);
+                    // userService.pushToSingle("制作完成", "亲爱的用户您好,您的订单已制作完成,请耐心等待配送!", userEntity.getClientid());
+                } catch (Exception e) {
+                    log.error("订单制作完成通知发送失败,订单id:" + order.getOrderId() + ",异常消息:" + e.getMessage());
+                }
+            });
         } else if (order.getStatus() == 4) {
             if (tbOrder.getStatus().equals(4)) {
                 return Result.success();
@@ -1719,27 +1717,32 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
                 return result;
             }
             //管理端完成订单,则消息通知用户
-            //添加消息记录
-            MessageInfo messageInfo = new MessageInfo();
-            messageInfo.setTitle("订单完成");
-            messageInfo.setContent("您的订单已完成,欢迎下次光临");
-            messageInfo.setCreateAt(format1);
-            messageInfo.setUserId(tbOrder.getUserId().toString());
-            messageInfoDao.insert(messageInfo);
-            //设置小程序消息推送
-            CommonInfo one = commonInfoService.findOne(269);
-            List<String> msgList = new ArrayList<>();
-            Long shopId = tbOrder.getShopId();
-            GoodsShop goodsShop = goodsShopDao.selectById(shopId);
-            String shopName = goodsShop.getShopName();
-            String orderNum1 = tbOrder.getOrderNumber();
-            msgList.add("订单完成");
-            msgList.add(orderNum1);
-            msgList.add(shopName);
-            msgList.add(format1);
-            UserEntity userEntity = userDao.selectById(tbOrder.getUserId());
-            SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 1);
-            userService.pushToSingle("订单完成", "亲爱的用户您好,您的订单已完成,欢迎下次光临!", userEntity.getClientid());
+            MyGlobalThreadPool.execute(() -> {
+                try {
+                    MessageInfo messageInfo = new MessageInfo();
+                    messageInfo.setTitle("订单完成");
+                    messageInfo.setContent("您的订单已完成,欢迎下次光临");
+                    messageInfo.setCreateAt(format1);
+                    messageInfo.setUserId(tbOrder.getUserId().toString());
+                    messageInfoDao.insert(messageInfo);
+                    //设置小程序消息推送
+                    CommonInfo one = commonInfoService.findOne(269);
+                    List<String> msgList = new ArrayList<>();
+                    Long shopId = tbOrder.getShopId();
+                    GoodsShop goodsShop = goodsShopDao.selectById(shopId);
+                    String shopName = goodsShop.getShopName();
+                    String orderNum1 = tbOrder.getOrderNumber();
+                    msgList.add("订单完成");
+                    msgList.add(orderNum1);
+                    msgList.add(shopName);
+                    msgList.add(format1);
+                    UserEntity userEntity = userDao.selectById(tbOrder.getUserId());
+                    SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 1);
+                    // userService.pushToSingle("订单完成", "亲爱的用户您好,您的订单已完成,欢迎下次光临!", userEntity.getClientid());
+                } catch (Exception e) {
+                    log.error("订单完成通知发送失败,订单id:" + order.getOrderId() + ",异常消息:" + e.getMessage());
+                }
+            });
         } else if (order.getStatus() == 8) {
             if (tbOrder.getStatus().equals(8) || tbOrder.getStatus().equals(5)) {
                 return Result.success();
@@ -2016,52 +2019,40 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
         userMoneyService.updateMoney(1, goodsShop.getUserId(), shopMoney.doubleValue());
         log.info("订单id【{}】,商户用户钱包收入更新成功", orderId);
 
-        //管理端完成订单,则消息通知用户
-        //添加消息记录
-        MessageInfo messageInfo = new MessageInfo();
-        messageInfo.setTitle("订单完成");
-        messageInfo.setContent("您的订单已完成,欢迎下次光临");
-        messageInfo.setCreateAt(format);
-        messageInfo.setUserId(tbOrder.getUserId().toString());
-        messageInfoDao.insert(messageInfo);
-        //设置小程序消息推送
-        CommonInfo one = commonInfoService.findOne(269);
-        List<String> msgList = new ArrayList<>();
-
-        String shopName = goodsShop.getShopName();
-        String orderNum1 = tbOrder.getOrderNumber();
-        msgList.add("订单完成");
-        msgList.add(orderNum1);
-        msgList.add(shopName);
-        msgList.add(format);
-        UserEntity userEntity = userDao.selectById(tbOrder.getUserId());
         MyGlobalThreadPool.execute(() -> {
             try {
-                SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 1);
-            } catch (Exception e) {
-                log.error("订单:{},订单支付成功通知发送失败,失败原因:{}", e);
-            }
-        });
+                // 用户通知
+                MessageInfo messageInfo = new MessageInfo();
+                messageInfo.setTitle("订单完成");
+                messageInfo.setContent("您的订单已完成,欢迎下次光临");
+                messageInfo.setCreateAt(format);
+                messageInfo.setUserId(tbOrder.getUserId().toString());
+                messageInfoDao.insert(messageInfo);
+                //设置小程序消息推送
+                CommonInfo one = commonInfoService.findOne(269);
+                List<String> msgList = new ArrayList<>();
+
+                String shopName = goodsShop.getShopName();
+                String orderNum1 = tbOrder.getOrderNumber();
+                msgList.add("订单完成");
+                msgList.add(orderNum1);
+                msgList.add(shopName);
+                msgList.add(format);
+                UserEntity userEntity = userDao.selectById(tbOrder.getUserId());
 
-        MyGlobalThreadPool.execute(() -> {
-            try {
-                userService.pushToSingle("订单完成", "您的订单已完成,欢迎下次光临!", userEntity.getClientid());
-            } catch (Exception e) {
-                log.error("订单:{},订单支付成功通知发送失败,失败原因:{}", e);
-            }
-        });
-
-        String shopTemplate = commonInfoService.findOne(354).getValue();
-        List<String> msgListShop = new ArrayList<>();
-        msgListShop.add(indent.getIndentNumber());
-        msgListShop.add("订单完成");
-        msgListShop.add(DateUtils.format(new Date()));
-        UserEntity shopUser = userService.selectUserById(goodsShop.getUserId());
-        MyGlobalThreadPool.execute(() -> {
-            try {
+                SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 1);
+                // userService.pushToSingle("订单完成", "您的订单已完成,欢迎下次光临!", userEntity.getClientid());
+
+                // 商家通知
+                String shopTemplate = commonInfoService.findOne(354).getValue();
+                List<String> msgListShop = new ArrayList<>();
+                msgListShop.add(indent.getIndentNumber());
+                msgListShop.add("订单完成");
+                msgListShop.add(DateUtils.format(new Date()));
+                UserEntity shopUser = userService.selectUserById(goodsShop.getUserId());
                 SenInfoCheckUtil.sendShopMsg(shopUser.getShopOpenId(), shopTemplate, msgListShop, 9);
             } catch (Exception e) {
-                log.error("订单:{},订单支付成功通知发送失败,失败原因:{}", e);
+                log.error("订单:{},订单完成通知发送失败,失败原因:{}", e);
             }
         });