Kaynağa Gözat

submit:短信提醒

yangdamao 2 yıl önce
ebeveyn
işleme
702bea9c62

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

@@ -1058,6 +1058,36 @@ public class WxLoginService implements IWxLoginService {
         return jsonObject.get("url_link").toString();
     }
 
+    @Override
+    public String getWxSmallStudyCentreLink() {
+        String wxGzhAccessToken = getWxSmallAccessToken();
+        String param = String.format(small_LinkParam, wxGzhAccessToken);
+        String url = small_LinkUrl + "?" + param;
+        JSONObject obj = new JSONObject();
+        obj.put("path", "pages/learn/index");
+        obj.put("is_expire",true);
+        obj.put("expire_type",1);
+        obj.put("expire_interval",7);
+        obj.put("env_version",enCodeVersion);
+        String result = HttpUtils.sendPost(url, obj);
+        if (result.contains("errcode")){
+            List<String> codes = Arrays.asList("40001", "42001");
+            JSONObject jsonObject = JSONObject.parseObject(result);
+            if(ObjectUtils.isNotNull(jsonObject.get("errcode")) && codes.contains(jsonObject.get("errcode").toString())){
+                //微信access_token 过期或者失效,刷新access_token
+                String key = "WX_SMALL_ACCESS_TOKEN";
+                redisCache.deleteObject(key);
+                String wxGzhAccessTokenTo = getWxSmallAccessToken();
+                String paramTo = String.format(small_LinkParam, wxGzhAccessTokenTo);
+                String urlTo = small_LinkUrl + "?" + paramTo;
+                result = HttpUtils.sendPost(urlTo, obj);
+            }
+        }
+        JSONObject jsonObject = JSONObject.parseObject(result);
+
+        return jsonObject.get("url_link").toString();
+    }
+
     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

@@ -321,6 +321,8 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
         List<OrderGoodsVo> orderGoodsVo = iOrderGoodsService.selectOrderGoods();
 
         InformRemindVo informRemindTwoVo = informRemindService.queryById(2L);
+        //获取小程序链接
+        String studyCentreLink = iWxLoginService.getWxSmallStudyCentreLink();
         if (!CollectionUtils.isEmpty(orderGoodsVo)) {
             for (OrderGoodsVo goodsVo : orderGoodsVo) {
                 ProfileTpVo profileTpVo = iProfileTpService.queryByGoodsId(goodsVo.getGoodsId());
@@ -338,7 +340,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                     informUserAddBo.setGradeId(goodsVo.getGradeId());
                     informUserAddBo.setOrderGoodsId(goodsVo.getOrderGoodsId());
                     GoodsVo goodsVo1 = iGoodsService.queryById(goodsVo.getGoodsId());
-                    informUserAddBo.setText("尊敬的用户:您购买的" + goodsVo1.getGoodsName() + "已经开通,请尽快去学习吧。");
+                    informUserAddBo.setText("尊敬的用户:您购买的" + goodsVo1.getGoodsName() + "已经开通,请尽快去学习吧。点击链接去学习:"+studyCentreLink);
                     iInformUserService.insertByAddBo(informUserAddBo);
                 }
                 if (informRemindTwoVo.getWayStatus() == 1 && profileTpVo != null) {
@@ -355,7 +357,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                     informUserAddBo.setGradeId(goodsVo.getGradeId());
                     informUserAddBo.setOrderGoodsId(goodsVo.getOrderGoodsId());
                     GoodsVo goodsVo1 = iGoodsService.queryById(goodsVo.getGoodsId());
-                    informUserAddBo.setText("尊敬的用户:已为您开通了" + goodsVo1.getGoodsName() + "课程,本课程需完善信息方可学习,请尽快去完善资料吧");
+                    informUserAddBo.setText("尊敬的用户:已为您开通了" + goodsVo1.getGoodsName() + "课程,本课程需完善信息方可学习,请尽快去完善资料吧。点击链接去学习:"+studyCentreLink);
                     iInformUserService.insertByAddBo(informUserAddBo);
                 }
             }
@@ -379,7 +381,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                     informUserAddBo.setOrderGoodsId(goodsVo.getOrderGoodsId());
                     informUserAddBo.setGoodsId(goodsVo.getGoodsId());
                     GoodsVo goodsVo1 = iGoodsService.queryById(goodsVo.getGoodsId());
-                    informUserAddBo.setText("尊敬的用户:您购买的" + goodsVo1.getGoodsName() + "已经开通,请尽快去学习吧。");
+                    informUserAddBo.setText("尊敬的用户:您购买的" + goodsVo1.getGoodsName() + "已经开通,请尽快去学习吧。点击链接去学习:"+studyCentreLink);
                     UserVo userVo = iUserService.queryById(goodsVo.getUserId());
                     Map<String, Object> param = new HashMap<>();
                     param.put("goods", goodsVo1.getGoodsName());
@@ -403,7 +405,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                     informUserAddBo.setGoodsId(goodsVo.getGoodsId());
                     informUserAddBo.setOrderGoodsId(goodsVo.getOrderGoodsId());
                     GoodsVo goodsVo1 = iGoodsService.queryById(goodsVo.getGoodsId());
-                    informUserAddBo.setText("尊敬的用户:已为您开通了" + goodsVo1.getGoodsName() + "课程,本课程需完善信息方可学习,请尽快去完善资料吧");
+                    informUserAddBo.setText("尊敬的用户:已为您开通了" + goodsVo1.getGoodsName() + "课程,本课程需完善信息方可学习,请尽快去完善资料吧。点击链接去学习:"+studyCentreLink);
                     UserVo userVo = iUserService.queryById(goodsVo.getUserId());
                     Map<String, Object> param = new HashMap<>();
                     param.put("goods", goodsVo1.getGoodsName());

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

@@ -38,4 +38,6 @@ public interface IWxLoginService
     WxInfoBo getWxInfo(WxInfoQuery query);
 
     String getWxSmallLink();
+
+    String getWxSmallStudyCentreLink();
 }