瀏覽代碼

微信消息推送改了订金订单判断

Duan_xu 3 年之前
父節點
當前提交
1fa61dff8f

+ 2 - 0
src/main/java/com/caimei/modules/order/dao/NewShopOrderDao.java

@@ -16,6 +16,8 @@ import java.util.List;
 @MyBatisDao
 public interface NewShopOrderDao extends CrudDao<NewShopOrder> {
 
+    String getProductOrder(Integer orderid);
+
     List<String> getOpenidListByPermission(@Param("userid")Integer userid,@Param("unionid") String unionid);
 
     int deleteByOrderID(@Param("orderID") Integer orderID);

+ 45 - 18
src/main/java/com/caimei/modules/order/service/NewOrderService.java

@@ -1517,34 +1517,61 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
         NewOrder order = newOrderDao.findByOrderID(orderID);
         String sendOutStatus = order.getSendOutStatus();
         List<NewShopOrder> shopOrders = newShopOrderDao.findListByOrderID(order.getOrderID());
-
+        Integer count=0;
         String statusSuffix = "";
         if (shopOrders.stream().allMatch(s -> "3".equals(s.getSendOutStatus()))) {
+            //推送次数多次发货不推送(只推送一次)
             Date date=new Date();
-            if("0".equals(order.getSecondHandOrderFlag()) && "0".equals(order.getRebateFlag())) {
-                logger.info("*************发货微信消息推送****************");
-                try {
-                    String accessToken = weChatService.getAccessToken();
-                    Integer userid = order.getUserID();
-                    String unionid = newShopOrderDao.getOpenidunionId(order.getUserID());
-                    List<String> openidList = newShopOrderDao.getOpenidListByPermission(userid, unionid);
-                    logger.info("userid>>>>>>>>>>>>>>>" + order.getUserID() + "unionid" + newShopOrderDao.getOpenidunionId(order.getUserID()) + "openid" + openidList);
-                    String orderNo = order.getOrderNo();
-                    String time = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
-                    String company = StringUtils.strip(logisticsInfo.keySet().toString(), "[]");
-                    String companyno = StringUtils.strip(logisticsInfo.values().toString(), "[]");
-                    String pagePath = "pages/user/order/order-details?orderId=" + order.getOrderID();
-                    for (String openid : openidList) {
-                        weChatService.sendTemplateMsgy(accessToken, openid, orderNo, time, company, companyno, pagePath);
+            logger.info("****************************发货微信消息推送************************************");
+            if("1".equals(order.getSendOutStatus())){
+                if ("0".equals(order.getSecondHandOrderFlag()) && "0".equals(order.getRebateFlag()) && "6060".equals(newShopOrderDao.getProductOrder(order.getOrderID()))) {
+                    try {
+                        String accessToken = weChatService.getAccessToken();
+                        Integer userid = order.getUserID();
+                        String unionid = newShopOrderDao.getOpenidunionId(order.getUserID());
+                        List<String> openidList = newShopOrderDao.getOpenidListByPermission(userid, unionid);
+                        logger.info("userid>>>>>>>>>>>>>>>" + order.getUserID() + "unionid》》》》》》》》》》" + newShopOrderDao.getOpenidunionId(order.getUserID()) + "openid》》》》》》》》》" + openidList);
+                        String orderNo = order.getOrderNo();
+                        String time = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
+                        String company = StringUtils.strip(logisticsInfo.keySet().toString(), "[]");
+                        String companyno = StringUtils.strip(logisticsInfo.values().toString(), "[]");
+                        String pagePath = "pages/user/order/order-details?orderId=" + order.getOrderID();
+                        for (String openid : openidList) {
+                            weChatService.sendTemplateMsgy(accessToken, openid, orderNo, time, company, companyno, pagePath);
+                        }
+                    } catch (Exception e) {
+                        logger.error("【订单发货通知】获取微信公众号access_token异常!", e);
                     }
-                } catch (Exception e) {
-                    logger.error("【订单发货通知】获取微信公众号access_token异常!", e);
                 }
             }
             //所有的子订单都已经完成发货了
             statusSuffix = "3";
             order.setSendOutStatus("3");
+            count++;
         } else {
+            //推送次数多次发货不推送(只推送一次)
+            Date date=new Date();
+            logger.info("**************************发货微信消息推送************************************");
+                if ("0".equals(order.getSecondHandOrderFlag()) && "0".equals(order.getRebateFlag())) {
+                    try {
+                        String accessToken = weChatService.getAccessToken();
+                        Integer userid = order.getUserID();
+                        String unionid = newShopOrderDao.getOpenidunionId(order.getUserID());
+                        List<String> openidList = newShopOrderDao.getOpenidListByPermission(userid, unionid);
+                        logger.info("userid>>>>>>>>>>>>>>>" + order.getUserID() + "unionid》》》》》》》》》》" + newShopOrderDao.getOpenidunionId(order.getUserID()) + "openid》》》》》》》》》" + openidList);
+                        String orderNo = order.getOrderNo();
+                        String time = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
+                        String company = StringUtils.strip(logisticsInfo.keySet().toString(), "[]");
+                        String companyno = StringUtils.strip(logisticsInfo.values().toString(), "[]");
+                        String pagePath = "pages/user/order/order-details?orderId=" + order.getOrderID();
+                        for (String openid : openidList) {
+                            weChatService.sendTemplateMsgy(accessToken, openid, orderNo, time, company, companyno, pagePath);
+                        }
+                    } catch (Exception e) {
+                        logger.error("【订单发货通知】获取微信公众号access_token异常!", e);
+                    }
+                }
+
             //代码走到这里订单肯定是有发货了  整个订单里面的商品没有全部发完  那就是部分发货了
             statusSuffix = "2";
             order.setSendOutStatus("2");

+ 0 - 1
src/main/java/com/caimei/modules/order/service/WeChatService.java

@@ -64,7 +64,6 @@ public class WeChatService {
         keyword4.put("value", companyno);
         JSONObject remark = new JSONObject();
         remark.put("value", "收到货后请记得确认收货哟~");
-        remark.put("color", "#c4c400");
 
         JSONObject data = new JSONObject();
         data.put("first", first);

+ 4 - 0
src/main/resources/mappings/modules/order/ShopOrderMapper.xml

@@ -1118,4 +1118,8 @@
         LEFT JOIN `user` u ON u.userID = cm.userID
         WHERE u.userID=#{userid}  AND cm.id=1068
     </select>
+    <select id="getProductOrder" resultType="java.lang.String">
+        SELECT productID FROM `cm_order_product` WHERE orderId=#{orderid}
+    </select>
+
 </mapper>