Duan_xu 3 years ago
parent
commit
5c155da0e9

+ 4 - 1
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -244,7 +244,10 @@ public interface OrderClubMapper {
 
     Integer getUserId(Integer orderId);
 
-    String getOpenidunionId(Integer userId);
+    void AddUnionId(String unionId,Integer orderId);
+
+    String FromUnionId(Integer orderId);
+
 
     List<Integer> getProductOrder(Integer orderId);
     /*

+ 5 - 0
src/main/java/com/caimei365/order/model/bo/OrderParamBo.java

@@ -117,4 +117,9 @@ public class OrderParamBo implements Serializable {
      * 超级会员用户标记
      */
     private Boolean svipUserFlag;
+
+    /*
+    临时数据方便调用unionID
+     */
+    private String UnionId;
 }

+ 2 - 1
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -381,7 +381,8 @@ log.info("********************下单微信公众号消息推送*****************
             String name="0";
         try {
             String accessToken = weChatService.getAccessToken();
-            List<String> openidList = orderClubMapper.getOpenidListByPermission(orderClubMapper.getOpenidunionId(orderClubMapper.getUserId(order.getOrderId())));
+
+            List<String> openidList = orderClubMapper.getOpenidListByPermission(orderClubMapper.FromUnionId(order.getOrderId()));
             openidList.removeIf(Objects::isNull);
             String i=orderClubMapper.getOrderIds(orderId).toString();
             if(i.length()<10){

+ 4 - 4
src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java

@@ -232,7 +232,7 @@ public class PayOrderServiceImpl implements PayOrderService {
             if (0 == orderClubMapper.getsecondHandOrderFlag(orderId) && 0 == orderClubMapper.getrebateFlag(orderId) && !"6060".equals(orderClubMapper.getProductOrder(orderId))) {
                 try {
                     String accessToken = weChatService.getAccessToken();
-                    List<String> openidList = payOrderMapper.getOpenidListByPermission(orderClubMapper.getOpenidunionId(order.getUserId()));
+                    List<String> openidList = orderClubMapper.getOpenidListByPermission(orderClubMapper.FromUnionId(order.getOrderId()));
                     openidList.removeIf(Objects::isNull);
                     String name = StringUtils.strip(orderClubMapper.getOrderIds(orderId).toString().substring(0, 11), "[]");
                     String associateTitle = "订单支付成功!";
@@ -913,8 +913,8 @@ public class PayOrderServiceImpl implements PayOrderService {
             if (0 == orderClubMapper.getsecondHandOrderFlag(orderId) && 0 == orderClubMapper.getrebateFlag(orderId) && !orderClubMapper.getProductOrder(orderId).contains(6060)) {
                 try {
                     String accessToken = weChatService.getAccessToken();
-                    log.info(">>>>>>>>>>>>>>>>>" + order.getUserId() + ">>>>>>>>>>>>>>" + orderClubMapper.getOpenidunionId(order.getUserId()));
-                    List<String> openidList = payOrderMapper.getOpenidListByPermission(orderClubMapper.getOpenidunionId(order.getUserId()));
+                    log.info(">>>>>>>>>>>>>>>>>" + orderClubMapper.getOpenidListByPermission(orderClubMapper.FromUnionId(order.getOrderId())));
+                    List<String> openidList = orderClubMapper.getOpenidListByPermission(orderClubMapper.FromUnionId(order.getOrderId()));
                     openidList.removeIf(Objects::isNull);
                     String name = StringUtils.strip(orderClubMapper.getOrderIds(orderId).toString().substring(0, 11), "[]");
                     String associateTitle = "订单支付成功!";
@@ -1128,7 +1128,7 @@ public class PayOrderServiceImpl implements PayOrderService {
                 if (0 == orderClubMapper.getsecondHandOrderFlag(orderId) && 0 == orderClubMapper.getrebateFlag(orderId)) {
                     try {
                         String accessToken = weChatService.getAccessToken();
-                        String unionid = orderClubMapper.getOpenidunionId(orderClubMapper.getUserId(orderId));
+                        String unionid = orderClubMapper.FromUnionId(orderId);
                         List<String> openidList = payOrderMapper.getOpenidListByPermission(unionid);
                         openidList.removeIf(Objects::isNull);
                         String name = StringUtils.strip(orderClubMapper.getOrderIds(orderId).toString().substring(0, 11), "[]");

+ 1 - 1
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -1703,7 +1703,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                             SubmitServiceImpl s=new SubmitServiceImpl();
                             try {
                                 String accessToken = weChatService.getAccessToken();
-                                List<String> openidList = orderClubMapper.getOpenidListByPermission(orderClubMapper.getOpenidunionId(orderClubMapper.getUserId(order.getOrderId())));
+                                List<String> openidList = orderClubMapper.getOpenidListByPermission(orderClubMapper.FromUnionId(order.getOrderId()));
                                 openidList.removeIf(Objects::isNull);
                                 String name= StringUtils.strip(orderClubMapper.getOrderIds(order.getOrderId()).toString().substring(0,11), "[]");
                                 String associateTitle = "订单支付成功!";

+ 19 - 15
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -266,6 +266,7 @@ public class SubmitServiceImpl implements SubmitService {
             if (StringUtils.isNotEmpty(submitDto.getUnionId())) {
                 // 运营人员Id
                 Integer operationId = submitMapper.getOperationIdByUnionId(submitDto.getUnionId(), clubUserId);
+                orderParamBo.setUnionId(submitDto.getUnionId());
                 if (null != operationId && operationId > 0) {
                     buyUserId = operationId;
                 }
@@ -1552,7 +1553,7 @@ public class SubmitServiceImpl implements SubmitService {
             cartClubMapper.deleteCartByProductIds(orderParamBo.getUserId(), productIdList);
             log.info("【提交订单】>>>>删除当前机构 用户 购物车数据!");
         }
-
+int Id=0;
         log.info("**********************微信模板消息推送*****************************");
         List<Integer> productIds = orderClubMapper.getProductOrder(mainOrder.getOrderId());
         if (0 == mainOrder.getSecondHandOrderFlag() && 0 == mainOrder.getRebateFlag() && (null != productIds && !productIds.contains(6060))) {
@@ -1560,7 +1561,9 @@ public class SubmitServiceImpl implements SubmitService {
             String name = "0";
             try {
                 String accessToken = weChatService.getAccessToken();
-                List<String> openidList = orderClubMapper.getOpenidListByPermission(orderClubMapper.getOpenidunionId(orderClubMapper.getUserId(mainOrder.getOrderId())));
+//                orderClubMapper.getOpenidunionId(orderClubMapper.getUserId(mainOrder.getOrderId()))
+                List<String> openidList = orderClubMapper.getOpenidListByPermission(orderParamBo.getUnionId());
+                orderClubMapper.AddUnionId(orderParamBo.getUnionId(),mainOrder.getOrderId());
                 openidList.removeIf(Objects::isNull);
                 String i = orderClubMapper.getOrderIds(mainOrder.getOrderId()).toString();
                 if (i.length() < 10) {
@@ -1582,31 +1585,32 @@ public class SubmitServiceImpl implements SubmitService {
                     log.error("获取openid>>>>>" + openidList);
                     weChatService.sendTemplateMsgs(accessToken, openid, associateTitle, name, orderno, money, remarkText, pagePath);
                 }
+                Id=1;
             } catch (Exception e) {
                 log.error("【订单下单通知】获取微信公众号access_token异常!", e);
             }
         }
 
-
         log.info("******************** 提交订单逻辑处理 end *******************");
 
         /*
          * 下单推送(自主订单才推送)
          */
-        if (StringUtils.isNotBlank(orderParamBo.getBindMobile()) && 0 == mainOrder.getRebateFlag() && 1 == mainOrder.getOrderType()) {
-            String shortLink = remoteCallService.getShortLink(8, 3, domain + "/user/order/detail.html?orderId=" + mainOrder.getOrderId());
-            String name = orderProductList.get(0).getName();
-            if (name.length() > 10) {
-                name = name.substring(0, 10);
-            }
-            String content = "您已成功下单“" + name + "...”等" + mainOrder.getProductCount() + "件商品,订单编号:" + mainOrder.getOrderNo() + ",订单等待支付,支付完成后采美将尽快安排发货。" +
-                    "您可关注采美公众号或者访问采美微信小程序和网站查看并支付订单。平台公众号:微信搜索“采美365网”; 微信小程序:微信搜索“采美采购商城”;网址:www.caimei365.com/t/" + shortLink;
-            boolean sendSms = remoteCallService.getSendSms(3, orderParamBo.getBindMobile(), content);
-            if (!sendSms) {
-                log.info("下单推送失败,orderId>>>>" + mainOrder.getOrderId());
+        if(Id==1) {
+            if (StringUtils.isNotBlank(orderParamBo.getBindMobile()) && 0 == mainOrder.getRebateFlag() && 1 == mainOrder.getOrderType()) {
+                String shortLink = remoteCallService.getShortLink(8, 3, domain + "/user/order/detail.html?orderId=" + mainOrder.getOrderId());
+                String name = orderProductList.get(0).getName();
+                if (name.length() > 10) {
+                    name = name.substring(0, 10);
+                }
+                String content = "您已成功下单“" + name + "...”等" + mainOrder.getProductCount() + "件商品,订单编号:" + mainOrder.getOrderNo() + ",订单等待支付,支付完成后采美将尽快安排发货。" +
+                        "您可关注采美公众号或者访问采美微信小程序和网站查看并支付订单。平台公众号:微信搜索“采美365网”; 微信小程序:微信搜索“采美采购商城”;网址:www.caimei365.com/t/" + shortLink;
+                boolean sendSms = remoteCallService.getSendSms(3, orderParamBo.getBindMobile(), content);
+                if (!sendSms) {
+                    log.info("下单推送失败,orderId>>>>" + mainOrder.getOrderId());
+                }
             }
         }
-
         /*
          * 构造返回参数
          */

+ 10 - 0
src/main/resources/mapper/OrderClubMapper.xml

@@ -589,4 +589,14 @@
     <select id="getUserId" resultType="java.lang.Integer">
         SELECT userID FROM `cm_order` WHERE orderID=#{orderId}
     </select>
+
+    <update id="AddUnionId">
+        UPDATE `cm_order` SET
+            unionID=#{unionId}
+        WHERE orderID=#{orderId}
+    </update>
+
+    <select id="FromUnionId" resultType="java.lang.String">
+        SELECT unionID FROM `cm_order` WHERE orderID=#{orderId}
+    </select>
 </mapper>