Kaynağa Gözat

sup 同步考试结果

he2802 3 yıl önce
ebeveyn
işleme
ca651c8b70

+ 1 - 0
zhongzheng-admin/src/main/resources/application-dev.yml

@@ -110,6 +110,7 @@ wx:
         qdySubStatusTpId: 7oKaAHmc4P7jqfonuiM1wnjfNLh9T662Ywm1OAFaUFA
         qdyExamTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
         qdyExamStatusTpId: J7nNogGhD38OD20gI-3CzwawfEMu7lOjR8fsi4LgJ5g
+        signatureTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
     wepay:
         mchid: 1342013901
         key: GdXyPxYjZx1234123yJzXgDxYpXyjpx9

+ 1 - 0
zhongzheng-admin/src/main/resources/application-pre.yml

@@ -110,6 +110,7 @@ wx:
         qdySubStatusTpId: 7oKaAHmc4P7jqfonuiM1wnjfNLh9T662Ywm1OAFaUFA
         qdyExamTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
         qdyExamStatusTpId: J7nNogGhD38OD20gI-3CzwawfEMu7lOjR8fsi4LgJ5g
+        signatureTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
     wepay:
         mchid: 1342013901
         key: GdXyPxYjZx1234123yJzXgDxYpXyjpx9

+ 1 - 0
zhongzheng-admin/src/main/resources/application-prod.yml

@@ -110,6 +110,7 @@ wx:
         qdySubStatusTpId: 7oKaAHmc4P7jqfonuiM1wnjfNLh9T662Ywm1OAFaUFA
         qdyExamTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
         qdyExamStatusTpId: J7nNogGhD38OD20gI-3CzwawfEMu7lOjR8fsi4LgJ5g
+        signatureTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
     wepay:
         mchid: 1342013901
         key: GdXyPxYjZx1234123yJzXgDxYpXyjpx9

+ 1 - 0
zhongzheng-api/src/main/resources/application-dev.yml

@@ -111,6 +111,7 @@ wx:
         qdySubStatusTpId: 7oKaAHmc4P7jqfonuiM1wnjfNLh9T662Ywm1OAFaUFA
         qdyExamTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
         qdyExamStatusTpId: J7nNogGhD38OD20gI-3CzwawfEMu7lOjR8fsi4LgJ5g
+        signatureTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
     wepay:
         mchid: 1342013901
         key: GdXyPxYjZx1234123yJzXgDxYpXyjpx9

+ 1 - 0
zhongzheng-api/src/main/resources/application-pre.yml

@@ -110,6 +110,7 @@ wx:
         qdySubStatusTpId: 7oKaAHmc4P7jqfonuiM1wnjfNLh9T662Ywm1OAFaUFA
         qdyExamTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
         qdyExamStatusTpId: J7nNogGhD38OD20gI-3CzwawfEMu7lOjR8fsi4LgJ5g
+        signatureTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
     wepay:
         mchid: 1342013901
         key: GdXyPxYjZx1234123yJzXgDxYpXyjpx9

+ 1 - 0
zhongzheng-api/src/main/resources/application-prod.yml

@@ -122,6 +122,7 @@ wx:
         qdySubStatusTpId: 7oKaAHmc4P7jqfonuiM1wnjfNLh9T662Ywm1OAFaUFA
         qdyExamTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
         qdyExamStatusTpId: J7nNogGhD38OD20gI-3CzwawfEMu7lOjR8fsi4LgJ5g
+        signatureTpId: 66LitnYp0AIWFclo0rLdyLQP4-_vVc4pM95fyFs6l-c
     wepay:
         mchid: 1342013901
         key: GdXyPxYjZx1234123yJzXgDxYpXyjpx9

+ 54 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/WxLoginService.java

@@ -110,6 +110,9 @@ public class WxLoginService implements IWxLoginService {
     @Value("${wx.gzh.qdyExamStatusTpId}")
     private String qdyExamStatusTpId;
 
+    @Value("${wx.gzh.signatureTpId}")
+    private String signatureTpId;
+
     @Value("${enCodeVersion}")
     private String enCodeVersion;
 
@@ -834,6 +837,57 @@ public class WxLoginService implements IWxLoginService {
         return result;
     }
 
+    @Override
+    public String sendSignatureTpMsg(String openId, Map<String, String> paramMap) {
+        String accessToken = getWxSmallAccessToken();
+        if (Validator.isEmpty(accessToken)) {
+            throw new CustomException("小程序accessToken 错误");
+        }
+        String param = String.format(small_wxSendTpParam, accessToken);
+        String url = small_wxSendTpUrl + "?" + param;
+        JSONObject obj = new JSONObject();
+        JSONObject mp_template_msg = new JSONObject();
+        JSONObject miniprogram = new JSONObject();
+
+        obj.put("touser", openId);
+        paramMap.put("access_token", accessToken);
+        mp_template_msg.put("appid", gzh_appid);
+        mp_template_msg.put("template_id", signatureTpId
+        );
+        mp_template_msg.put("url", "http://weixin.qq.com/download");  //公众号模板消息所要跳转的url
+        miniprogram.put("appid", appid); //公众号模板消息所要跳转的小程序appid,小程序的必须与公众号具有绑定关系
+        miniprogram.put("pagepath", paramMap.get("pagepath")); //公众号模板消息所要跳转的小程序页面
+        mp_template_msg.put("miniprogram", miniprogram);
+        Map<String, TemplatData> mapdata = new LinkedHashMap<>();
+        // 封装模板数据
+        TemplatData first = new TemplatData();
+        first.setValue(paramMap.get("first"));
+        first.setColor("#173177");
+        mapdata.put("first", first);
+
+        TemplatData keyword1 = new TemplatData();
+        keyword1.setValue(paramMap.get("keyword1"));
+        keyword1.setColor("#000000");
+        mapdata.put("keyword1", keyword1);
+
+        TemplatData keyword2 = new TemplatData();
+        keyword2.setValue(paramMap.get("keyword2"));
+        keyword2.setColor("#000000");
+        mapdata.put("keyword2", keyword2);
+
+        TemplatData remark = new TemplatData();
+        remark.setValue(paramMap.get("remark"));
+        remark.setColor("#173177");
+        mapdata.put("remark", remark);
+
+
+        mp_template_msg.put("data", mapdata);
+        obj.put("mp_template_msg", mp_template_msg);
+
+        String result = HttpUtils.sendPost(url, obj);
+        return result;
+    }
+
     public Boolean subGzh(String openId) {
         String unionId = getWxGzhUserCgiInfo(openId);
         if (Validator.isNotEmpty(unionId)) {

+ 6 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/schedule/service/impl/ScheduleServiceImpl.java

@@ -618,6 +618,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
         List<UserSubscribeVo> userSubscribeVo = iUserSubscribeService.timeSend();
         InformRemindVo informRemindVo = informRemindService.queryById(16L);
         for (UserSubscribeVo subscribeVo : userSubscribeVo) {
+            String seatTxt =Validator.isNotEmpty(subscribeVo.getSeatNumber())?",座位号:"+subscribeVo.getSeatNumber():"";
             String res;
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
             Long timeId = subscribeVo.getApplySiteExamTime() * 1000;
@@ -638,7 +639,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                 informUserAddBo.setGoodsId(subscribeVo.getGoodsId());
                 GoodsVo goodsVo1 = iGoodsService.queryById(subscribeVo.getGoodsId());
                 informUserAddBo.setText("尊敬的用户:您预约的施工现场专业人员" + goodsVo1.getGoodsName() + "考试将在" + res + "(" + startTime + "-" + endTime + ")进行," +
-                        "考试地点:" + subscribeVo.getApplySiteAddress() + "");
+                        "考试地点:" + subscribeVo.getApplySiteAddress() + seatTxt);
                 iInformUserService.insertByAddBo(informUserAddBo);
             }
             if (informRemindVo.getNoteStatus().equals(1)) {
@@ -654,7 +655,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                 informUserAddBo.setGoodsId(subscribeVo.getGoodsId());
                 GoodsVo goodsVo1 = iGoodsService.queryById(subscribeVo.getGoodsId());
                 informUserAddBo.setText("尊敬的用户:您预约的施工现场专业人员" + goodsVo1.getGoodsName() + "考试将在" + res + "(" + startTime + "-" + endTime + ")进行," +
-                        "考试地点:" + subscribeVo.getApplySiteAddress() + "");
+                        "考试地点:" + subscribeVo.getApplySiteAddress() + seatTxt);
                 UserVo userVo = iUserService.queryById(subscribeVo.getUserId());
                 Map<String, Object> param = new HashMap<>();
                 param.put("goods", goodsVo1.getGoodsName());
@@ -677,7 +678,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                 informUserAddBo.setGoodsId(subscribeVo.getGoodsId());
                 GoodsVo goodsVo1 = iGoodsService.queryById(subscribeVo.getGoodsId());
                 informUserAddBo.setText("尊敬的用户:您预约的施工现场专业人员" + goodsVo1.getGoodsName() + "考试将在" + res + "(" + startTime + "-" + endTime + ")进行," +
-                        "考试地点:" + subscribeVo.getApplySiteAddress() + "");
+                        "考试地点:" + subscribeVo.getApplySiteAddress() + seatTxt);
                 UserVo userVo = iUserService.queryById(subscribeVo.getUserId());
                 Map<String, Object> param = new HashMap<>();
                 param.put("goods", goodsVo1.getGoodsName());
@@ -685,11 +686,12 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                 param.put("address", subscribeVo.getApplySiteAddress());
                 iInformUserService.insertByAddBo(informUserAddBo);
                 if(Validator.isNotEmpty(userVo.getOpenId())){
+                    String seatNumberTxt =Validator.isNotEmpty(subscribeVo.getSeatNumber())?"座位号为"+subscribeVo.getSeatNumber()+";":"";
                     Map<String,String> paramMap = new HashMap<>();
                     paramMap.put("first","您预约的施工现场专业人员" + goodsVo1.getGoodsName() + "考试,请及时参加");
                     paramMap.put("keyword1",subscribeVo.getApplySiteAddress());
                     paramMap.put("keyword2", res + "(" + startTime + "-" + endTime + ")");
-                    paramMap.put("remark","请准备好身份证、48小时核酸证明,准时参加考试!");
+                    paramMap.put("remark",seatNumberTxt+"请准备好身份证、48小时核酸证明,准时参加考试!");
                     paramMap.put("pagepath","pages2/exam/exam_appointment?current=0");
                     iWxLoginService.sendQdyExamTpMsg(userVo.getOpenId(),paramMap);
                 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/IWxLoginService.java

@@ -61,4 +61,6 @@ public interface IWxLoginService
     String sendQdyExamTpMsg(String openId,Map<String,String> paramMap);
 
     String sendQdyExamStatusTpMsg(String openId,Map<String,String> paramMap);
+
+    String sendSignatureTpMsg(String openId,Map<String,String> paramMap);
 }