Jelajahi Sumber

消息推送合并提交

Duan_xu 3 tahun lalu
induk
melakukan
e444baea63

+ 2 - 0
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -242,6 +242,8 @@ public interface OrderClubMapper {
      */
     List<String> getOpenidListByPermission(String unionid);
 
+    Integer getUserId(Integer orderid);
+
     String getOpenidunionId(Integer userid);
      //查询是否是订金订单6060是订金订单其他不是
     List<Integer> getProductOrder(Integer orderid);

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

@@ -211,6 +211,32 @@ public class PayOrderServiceImpl implements PayOrderService {
             // 保存 余额收支记录
             baseMapper.insertBalanceRecord(balanceRecord);
             log.info("【订单支付,余额抵扣】>>>>>>>>>>>>>>>>>>>>>>>>>>新增用户余额收支记录(insert[cm_user_balance_record])orderId:" + orderId);
+            log.info("【订单支付,线上/线下余额抵扣】>>>>>>>>>>>>>>>>>>>>>>>>>>新增用户余额收支记录(insert[cm_user_balance_record])orderId:" + orderId);
+            log.info("************************订单支付完成消息推送*********************");
+            //判断是否是二手订单和返佣订单
+            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()));
+                    openidList.removeIf(Objects::isNull);
+                    String name = StringUtils.strip(orderClubMapper.getOrderIds(orderId).toString().substring(0,11), "[]");
+                    String associateTitle = "订单支付成功!";
+                    Double money = orderClubMapper.getpayTotalFee(orderId);
+                    String orderno = order.getOrderNo();
+                    String paytime = curDateStr;
+                    String remarkText = "采美将尽快为您安排发货~";
+                    // 跳转到【小程序付款-选择支付方式页面】
+                    String pagePath = "pages/user/order/order-details?orderId=" + orderId;
+                    for (String openid : openidList) {
+                        // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
+                        weChatService.sendTemplateMsgz(accessToken, openid, associateTitle, paytime, name, orderno, money, remarkText, pagePath);
+                    }
+                } catch (Exception e) {
+                    log.error("【订单发货通知】获取微信公众号access_token异常!", e);
+                }
+            }
+            log.info("支付成功"+order.getUserId());
         }
         Map<String, Object> map = new HashMap<>(2);
         map.put("order", order);
@@ -783,8 +809,8 @@ public class PayOrderServiceImpl implements PayOrderService {
                 if (0 == orderClubMapper.getsecondHandOrderFlag(orderId) && 0 == orderClubMapper.getrebateFlag(orderId) && !"6060".equals(orderClubMapper.getProductOrder(orderId))) {
                     try {
                         String accessToken = weChatService.getAccessToken();
-                        log.info(">>>>>>>>>>>>>>>>>"+userid+">>>>>>>>>>>>>>"+orderClubMapper.getOpenidunionId(userid));
-                        List<String> openidList = payOrderMapper.getOpenidListByPermission(orderClubMapper.getOpenidunionId(userid));
+                        log.info(">>>>>>>>>>>>>>>>>"+order.getUserId()+">>>>>>>>>>>>>>"+orderClubMapper.getOpenidunionId(order.getUserId()));
+                        List<String> openidList = payOrderMapper.getOpenidListByPermission(orderClubMapper.getOpenidunionId(order.getUserId()));
                         openidList.removeIf(Objects::isNull);
                         String name = StringUtils.strip(orderClubMapper.getOrderIds(orderId).toString().substring(0,11), "[]");
                         String associateTitle = "订单支付成功!";
@@ -990,18 +1016,20 @@ public class PayOrderServiceImpl implements PayOrderService {
     @Override
     public ResponseJson<String> payWhetherSuccess(Integer orderId, Integer paySuccessCounter) {
         Integer dbPayCounter = payOrderMapper.getDbPaySuccessCounter(orderId);
+
         if (paySuccessCounter.equals(dbPayCounter)) {
 
             return ResponseJson.error(-2, "支付失败", "付款次数异常");
         } else if (dbPayCounter > paySuccessCounter) {
 
-            if ( 1 == orderClubMapper.getreceiptStatus(orderId)) {
+            if ( 1 == orderClubMapper.getReceiptStatus(orderId)) {
                 if (0 == orderClubMapper.getsecondHandOrderFlag(orderId) && 0 == orderClubMapper.getrebateFlag(orderId)) {
                     try {
                         String accessToken = weChatService.getAccessToken();
-                        List<String> openidList = payOrderMapper.getOpenidListByPermission(orderId);
+                        String unionid=orderClubMapper.getOpenidunionId(orderClubMapper.getUserId(orderId));
+                        List<String> openidList = payOrderMapper.getOpenidListByPermission(unionid);
                         openidList.removeIf(Objects::isNull);
-                        String name = StringUtils.strip(orderClubMapper.getOrderId(orderId).toString().substring(0,11), "[]");
+                        String name = StringUtils.strip(orderClubMapper.getOrderIds(orderId).toString().substring(0,11), "[]");
                         String associateTitle = "订单支付成功!";
                         Double money = orderClubMapper.getpayTotalFee(orderId);
                         String orderno = orderClubMapper.getOrderNo(orderId);

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

@@ -586,4 +586,7 @@
     <select id="findUserId" resultType="java.lang.Integer">
         select userId from cm_order where orderID = #{orderId}
     </select>
+    <select id="getUserId" resultType="java.lang.Integer">
+        SELECT userID FROM `cm_order` WHERE orderID=#{orderid}
+    </select>
 </mapper>