Bläddra i källkod

'优化微信端相关接口,调整与消息中心_移动端注册表相关的代码逻辑'

james 11 månader sedan
förälder
incheckning
901593b7bd

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/constant/constant.java

@@ -20,7 +20,7 @@ public class constant {
     // 微信公众号推送消息模板id
     public static final String WE_CHAT_TEMPLATE_ID = "FmrNuMzgh0E8bWg1j8a2R3zTmRarHYtZ72TSzPrF9Iw";
     // 微信公众号的消息回调地址(这儿可根据业务需求自定义动作,可选)
-    public static final String WE_CHAT_CUSTOMER_CALL_URL = "http://manager.usky.cn/mobile/#/pages/common/appMessage/infoDetails?id=%s";
+    public static final String WE_CHAT_CUSTOMER_CALL_URL = "http://manager.usky.cn/mobile/#/pages/common/textview/index?id=%s";
     // 微信公众号的主题颜色
     public static final String WE_CHAT_TOP_COLOR = "#A349A4";
     // 微信公众号微信用户授权地址

+ 26 - 32
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/WeChatController.java

@@ -11,9 +11,10 @@ import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.HttpUtils;
 import com.usky.common.redis.core.RedisHelper;
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.constant.constant;
-import com.usky.iot.domain.SysWxOpuser;
-import com.usky.iot.service.SysWxOpuserService;
+import com.usky.iot.domain.MceMbuser;
+import com.usky.iot.service.MceMbuserService;
 import com.usky.iot.service.vo.SendWeChatMessageRequestVO;
 import com.usky.iot.service.vo.SignUpRequestVO;
 import com.usky.iot.service.vo.TemplateData;
@@ -58,7 +59,7 @@ public class WeChatController {
     @Resource
     private HttpServletResponse response;
     @Autowired
-    private SysWxOpuserService sysWxOpuserService;
+    private MceMbuserService mceMbuserService;
     @Autowired
     private RedisHelper redisHelper;
 
@@ -91,11 +92,10 @@ public class WeChatController {
                     String access_token = wxOAuth2AccessToken.getAccessToken();
                     System.out.println("openid:  "+openid);
                     request.getSession().setAttribute("openid",openid);
-                    LambdaQueryWrapper<SysWxOpuser> queryWrapper = Wrappers.lambdaQuery();
-                    queryWrapper.select(SysWxOpuser::getPhone)
-                            .eq(SysWxOpuser::getStatus,1)
-                            .eq(SysWxOpuser::getOpenid,openid);
-                    SysWxOpuser one = sysWxOpuserService.getOne(queryWrapper);
+                    LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
+                    queryWrapper.select(MceMbuser::getPhone)
+                            .eq(MceMbuser::getOpenid,openid);
+                    MceMbuser one = mceMbuserService.getOne(queryWrapper);
                     if(one != null){
                         request.getSession().setAttribute("phone",one.getPhone());
                     }
@@ -127,11 +127,9 @@ public class WeChatController {
         String code = request.getParameter("code");
         String userAgent = request.getHeader("User-Agent");
         if(null != request.getSession().getAttribute("app_token") && (null != request.getSession().getAttribute("phone"))){
-            LambdaQueryWrapper<SysWxOpuser> queryWrapper = Wrappers.lambdaQuery();
-            queryWrapper.eq(SysWxOpuser::getPhone,request.getSession().getAttribute("phone"))
-                    .eq(SysWxOpuser::getStatus,1)
-                    .eq(SysWxOpuser::getType,"app");
-            SysWxOpuser one = sysWxOpuserService.getOne(queryWrapper);
+            LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.eq(MceMbuser::getPhone,request.getSession().getAttribute("phone"));
+            MceMbuser one = mceMbuserService.getOne(queryWrapper);
             if(one != null){
                 String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?op="+one.getOpenid();
                 try{
@@ -170,11 +168,9 @@ public class WeChatController {
                             String access_token = wxOAuth2AccessToken.getAccessToken();
                             System.out.println("openid:  "+openid);
                             request.getSession().setAttribute("openid",openid);
-                            LambdaQueryWrapper<SysWxOpuser> queryWrapper = Wrappers.lambdaQuery();
-                            queryWrapper.eq(SysWxOpuser::getType,"wx")
-                                    .eq(SysWxOpuser::getStatus,1)
-                                    .eq(SysWxOpuser::getOpenid,openid);
-                            SysWxOpuser one = sysWxOpuserService.getOne(queryWrapper);
+                            LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
+                            queryWrapper.eq(MceMbuser::getOpenid,openid);
+                            MceMbuser one = mceMbuserService.getOne(queryWrapper);
                             if(one != null){
                                 request.getSession().setAttribute("phone",one.getPhone());
 
@@ -194,11 +190,9 @@ public class WeChatController {
                     }
                 }else{
                     try{
-                        LambdaQueryWrapper<SysWxOpuser> queryWrapper = Wrappers.lambdaQuery();
-                        queryWrapper.eq(SysWxOpuser::getType,"wx")
-                                .eq(SysWxOpuser::getStatus,1)
-                                .eq(SysWxOpuser::getOpenid,request.getSession().getAttribute("openid"));
-                        SysWxOpuser one = sysWxOpuserService.getOne(queryWrapper);
+                        LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
+                        queryWrapper.eq(MceMbuser::getOpenid,request.getSession().getAttribute("openid"));
+                        MceMbuser one = mceMbuserService.getOne(queryWrapper);
                         if(one != null){
                             request.getSession().setAttribute("phone",one.getPhone());
                             String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?op="+one.getOpenid();
@@ -240,23 +234,22 @@ public class WeChatController {
             throw new BusinessException("验证码错误");
         }
 
-        LambdaQueryWrapper<SysWxOpuser> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(SysWxOpuser::getPhone,phone)
-                .eq(SysWxOpuser::getType,request.getSession().getAttribute("type"));
-        List<SysWxOpuser> list = sysWxOpuserService.list(queryWrapper);
+        LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(MceMbuser::getPhone,phone);
+        List<MceMbuser> list = mceMbuserService.list(queryWrapper);
         if(CollectionUtils.isEmpty(list)){
-            SysWxOpuser one = new SysWxOpuser();
+            MceMbuser one = new MceMbuser();
             one.setPhone(phone);
             if(request.getSession().getAttribute("type") == "app"){
                 one.setOpenid(request.getSession().getAttribute("app_token").toString());
             }else{
                 one.setOpenid(request.getSession().getAttribute("openid").toString());
             }
-            one.setType(request.getSession().getAttribute("type").toString());
-            one.setCreatedTime(LocalDateTime.now());
-            one.setStatus(1);
+            one.setCreateBy(SecurityUtils.getUsername());
+            one.setUserId(SecurityUtils.getUserId());
+            one.setCreateTime(LocalDateTime.now());
 
-            if(sysWxOpuserService.save(one)){
+            if(mceMbuserService.save(one)){
 
             }else{
                 map.put("msg","注册失败,请重新注册");
@@ -324,6 +317,7 @@ public class WeChatController {
         Integer infoId = requestVO.getInfoId();
         String openId = requestVO.getOpenId();
 
+        //access_token时效校验,判断获取access_token获取时间是否超过有效时间,超过就调用更新,保证一直有效
         if(!redisHelper.hasKey("access_key")){
             redisHelper.set("access_time",LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
             redisHelper.set("access_key",this.getWeChatAccessToken());