Quellcode durchsuchen

feat:“订单推送去除商品名称,增加支付方式“

soobin vor 1 Jahr
Ursprung
Commit
323a82f33b

+ 2 - 2
src/main/java/com/szwl/controller/TCoinOrderController.java

@@ -214,7 +214,7 @@ public class TCoinOrderController {
                 String openId = R.getDataIfSuccess(szwlFeign.getOpenId(adminId));
                 // 获取openId
                 if (StringUtils.isNotEmpty(openId)) {
-                    coinOrderService.sendWechatMessage(openId, equipment, coinOrder, admin.getCompanyType());
+                    coinOrderService.newSendWechatMessage(openId, equipment, coinOrder, admin.getCompanyType());
                 }
             }
             esTCoinOrderService.insertData(coinOrder);
@@ -390,7 +390,7 @@ public class TCoinOrderController {
                 String openId = R.getDataIfSuccess(szwlFeign.getOpenId(adminId));
                 // 获取openId
                 if (StringUtils.isNotEmpty(openId)) {
-                    coinOrderService.sendWechatMessage(openId, equipment, coinOrder, admin.getCompanyType());
+                    coinOrderService.newSendWechatMessage(openId, equipment, coinOrder, admin.getCompanyType());
                 }
             }
             esTCoinOrderService.insertData(coinOrder);

+ 9 - 0
src/main/java/com/szwl/service/TCoinOrderService.java

@@ -47,4 +47,13 @@ public interface TCoinOrderService extends IService<TCoinOrder> {
      * @param companyType
      */
     void sendWechatMessage(String openId, TEquipment equipment, TCoinOrder coinOrder, String companyType);
+
+    /**
+     * 新推送微信订单通知
+     * @param openId
+     * @param equipment
+     * @param coinOrder
+     * @param companyType
+     */
+    void newSendWechatMessage(String openId, TEquipment equipment, TCoinOrder coinOrder, String companyType);
 }

+ 93 - 3
src/main/java/com/szwl/service/impl/TCoinOrderServiceImpl.java

@@ -9,19 +9,22 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.szwl.feign.SzwlFeign;
+import com.szwl.mapper.TCoinOrderMapper;
 import com.szwl.model.bean.OrderDaoChuDTO;
 import com.szwl.model.bean.WeChatTemplateMsg;
 import com.szwl.model.bo.R;
 import com.szwl.model.dto.OrderDto;
-import com.szwl.model.entity.*;
-import com.szwl.mapper.TCoinOrderMapper;
+import com.szwl.model.entity.TAdmin;
+import com.szwl.model.entity.TAdminEquipment;
+import com.szwl.model.entity.TCoinOrder;
+import com.szwl.model.entity.TEquipment;
 import com.szwl.model.excel.CoinOrderTarget;
 import com.szwl.model.excel.NewCoinOrderTarget;
 import com.szwl.model.query.OrderDaoChuParam;
 import com.szwl.model.query.OrderStatisticsDTO;
 import com.szwl.service.TCoinOrderService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -66,6 +69,16 @@ public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOr
      */
     public static final String SC_TEMPLATE_ID = "NNvPtOznN2nSV2g57y7B0tUZ77-bf0XxG4OaUvk5EZA";
 
+    /**
+     * 申泽订单通知模版ID
+     */
+    public static final String NEW_SZ_TEMPLATE_ID = "Kn37QCyj-JsvKhP9CtNwsZ7-vFkaZZteUXxEobYiIm4";
+
+    /**
+     * 七云订单通知模版ID
+     */
+    public static final String NEW_SC_TEMPLATE_ID = "NNvPtOznN2nSV2g57y7B0lMWuoXe2qjDNJGwj56iRSU";
+
     @Override
     public List<CoinOrderTarget> findByCoinOrder(TAdmin admin, List<TCoinOrder> coinOrders) {
         ArrayList<CoinOrderTarget> list = new ArrayList<>();
@@ -352,6 +365,61 @@ public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOr
         sendMessage(accessToken, restTemplate, sendBody);
     }
 
+    @Override
+    public void newSendWechatMessage(String openId, TEquipment equipment, TCoinOrder coinOrder, String companyType) {
+        String accessToken = "";
+        try {
+            if(StringUtils.isEmpty(companyType) || companyType.equals("0")) {
+                TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin("2738"));
+                accessToken = admin.getApiKey();
+                log.info("申泽的accessToken:{}", accessToken);
+            } else {
+                TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin("2739"));
+                accessToken = admin.getApiKey();
+                log.info("七云的accessToken:{}", accessToken);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        // 模板参数
+        Map<String, WeChatTemplateMsg> sendMag = new HashMap();
+        // 转换时间为String类型
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String payTime = format.format(coinOrder.getPayDate());
+        String clientId = equipment.getClientId();
+        // 模版参数
+        if(StringUtils.isNotEmpty(equipment.getName())) {
+            if(equipment.getName().length() > 20) {
+                sendMag.put("thing15", new WeChatTemplateMsg(equipment.getName().substring(0, 15) + "..."));
+            } else {
+                sendMag.put("thing15", new WeChatTemplateMsg(equipment.getName()));
+            }
+        } else {
+            sendMag.put("thing15", new WeChatTemplateMsg(clientId.substring(clientId.length() - 6)));
+        }
+        String sn = coinOrder.getSn();
+        if (sn.length() > 32) {
+            sendMag.put("character_string8", new WeChatTemplateMsg(sn.substring(0, 28) + "..."));
+        } else {
+            sendMag.put("character_string8", new WeChatTemplateMsg(sn));
+        }
+        sendMag.put("amount29", new WeChatTemplateMsg(coinOrder.getPrice().toString()));
+        // 支付方式
+        sendMag.put("const44", new WeChatTemplateMsg(checkPayType(coinOrder.getPayType())));
+        sendMag.put("time36", new WeChatTemplateMsg(payTime));
+        RestTemplate restTemplate = new RestTemplate();
+        Map<String, Object> sendBody = new HashMap<>();
+        sendBody.put("touser", openId);
+        sendBody.put("topcolor", "#FF0000");
+        sendBody.put("data", sendMag);
+        if(StringUtils.isEmpty(companyType) || companyType.equals("0")) {
+            sendBody.put("template_id", NEW_SZ_TEMPLATE_ID);
+        } else {
+            sendBody.put("template_id", NEW_SC_TEMPLATE_ID);
+        }
+        sendMessage(accessToken, restTemplate, sendBody);
+    }
+
     /**
      * 发送微信消息
      * @param accessToken
@@ -420,4 +488,26 @@ public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOr
     public List<OrderStatisticsDTO> findTotalByTime(String clientId, Date date1, Date date2) {
         return tCoinOrderMapper.findTotalByTime( clientId,  date1,  date2);
     }
+
+    /**
+     * 判断支付方式
+     */
+    public String checkPayType(Integer payType) {
+        if (payType != null) {
+            if (payType == 0) {
+                return "No-Pay";
+            } else if (payType == 1) {
+                return "Coin";
+            } else if (payType == 2) {
+                return "Paper money";
+            } else if (payType == 3) {
+                return "Mixed";
+            } else if (payType == 4) {
+                return "Credit card";
+            } else if (payType == 5) {
+                return "E-PAYMENT";
+            }
+        }
+        return "Other";
+    }
 }