Browse Source

Merge branch 'usky-zyj' of uskycloud/usky-modules into server-165

James 11 months ago
parent
commit
3377e65a4d

+ 0 - 6
service-iot/service-iot-biz/pom.xml

@@ -71,12 +71,6 @@
             <artifactId>weixin-java-mp</artifactId>
             <version>4.3.0</version>
         </dependency>
-        <dependency>
-            <groupId>net.sf.json-lib</groupId>
-            <artifactId>json-lib</artifactId>
-            <version>2.2.3</version>
-            <classifier>jdk15</classifier>
-        </dependency>
 
     </dependencies>
 

+ 71 - 107
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/WeChatController.java

@@ -75,52 +75,39 @@ public class WeChatController {
 
         System.out.println("userAgent:  "+userAgent);
 
-        if(userAgent.contains("MicroMessenger")){ //wx
-            request.getSession().setAttribute("type","wx");
-            if(StringUtils.isBlank(code)){
-                String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
+        if(StringUtils.isBlank(code)){
+            String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
 //                String temp = "https://manager.usky.cn/prod-api/service-iot/weChat/getFirst1";
-                String url = URLDecoder.decode(temp, "UTF-8");
-                String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
-                try{
-                    System.out.println("sendUrl: "+sendUrl);
-                    response.sendRedirect(sendUrl);
-                }catch (IOException e){
-                    throw new BusinessException(e.getMessage());
-                }
-            }else{
-                System.out.println("code:  "+code);
-                try {
-                    WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);
-
-                    String openid = wxOAuth2AccessToken.getOpenId();
-                    String access_token = wxOAuth2AccessToken.getAccessToken();
-                    System.out.println("openid:  "+openid);
-                    request.getSession().setAttribute("openid",openid);
-                    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());
-                    }
-
-                    response.sendRedirect("https://manager.usky.cn/mobile/#/pages/login?flag=true");
-                } catch (Exception e) {
-                    throw new BusinessException(e.getMessage());
-                }
-            }
-
-        }else{ //app
-            System.out.println("code: app +++++  "+code);
-            request.getSession().setAttribute("type","app");
-            request.getSession().setAttribute("app_token","");
+            String url = URLDecoder.decode(temp, "UTF-8");
+            String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
             try{
-                response.sendRedirect("");
+                System.out.println("sendUrl: "+sendUrl);
+                response.sendRedirect(sendUrl);
             }catch (IOException e){
                 throw new BusinessException(e.getMessage());
             }
-
+        }else{
+            System.out.println("code:  "+code);
+            try {
+                WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);
+
+                String openid = wxOAuth2AccessToken.getOpenId();
+                String access_token = wxOAuth2AccessToken.getAccessToken();
+                System.out.println("openid:  "+openid);
+//                request.getSession().setAttribute("openid",openid);
+//                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());
+//                }
+
+                String sendUrl = "https://manager.usky.cn/mobile/#/pages/login?openId="+openid;
+                response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
+            } catch (Exception e) {
+                throw new BusinessException(e.getMessage());
+            }
         }
     }
 
@@ -132,91 +119,68 @@ public class WeChatController {
         String http = "https://";
         String code = request.getParameter("code");
         String userAgent = request.getHeader("User-Agent");
-        if(null != request.getSession().getAttribute("app_token") && (null != request.getSession().getAttribute("phone"))){
-            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{
-                    System.out.println("sendUrl: "+sendUrl);
-                    response.sendRedirect(sendUrl);
-                }catch (IOException e){
-                    throw new BusinessException(e.getMessage());
-                }
+        if(!userAgent.contains("MicroMessenger")){
+            try{
+                response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login", "UTF-8"));
+            }catch (IOException e){
+                throw new BusinessException(e.getMessage());
             }
 
         }else{
-            if(!userAgent.contains("MicroMessenger")){
+            String openId = request.getParameter("openId");
+            if((openId != null) && (StringUtils.isNotBlank(openId))){
                 try{
-                    response.sendRedirect("https://manager.usky.cn/mobile/#/pages/login");
+                    LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
+                    queryWrapper.eq(MceMbuser::getOpenid,openId);
+                    MceMbuser one = mceMbuserService.getOne(queryWrapper);
+                    if(one != null){
+                        String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?op="+one.getOpenid();
+                        response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
+                    }else{
+                        String sendUrl = "https://manager.usky.cn/mobile/#/pages/login?openId="+openId;
+                        response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
+                    }
                 }catch (IOException e){
                     throw new BusinessException(e.getMessage());
                 }
 
             }else{
-                Object obj = request.getSession().getAttribute("openid");
-                if((obj != null) && (StringUtils.isNotBlank(obj.toString()))){
+                if(StringUtils.isBlank(code)){
+                    String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
+                    String url = URLDecoder.decode(temp, "UTF-8");
+                    String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
                     try{
+                        System.out.println("sendUrl: "+sendUrl);
+                        response.sendRedirect(sendUrl);
+                    }catch (IOException e){
+                        throw new BusinessException(e.getMessage());
+                    }
+                }else{
+                    System.out.println("code:  "+code);
+                    try {
+                        WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);
+
+                        String openid = wxOAuth2AccessToken.getOpenId();
+                        String access_token = wxOAuth2AccessToken.getAccessToken();
+                        System.out.println("openid:  "+openid);
                         LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
-                        queryWrapper.eq(MceMbuser::getOpenid,request.getSession().getAttribute("openid"));
+                        queryWrapper.eq(MceMbuser::getOpenid,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();
-                            response.sendRedirect(sendUrl);
+                            response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
                         }else{
-                            request.getSession().removeAttribute("openid");
-                            request.getSession().removeAttribute("phone");
-
-                            response.sendRedirect("https://manager.usky.cn/mobile/#/pages/login");
+                            String sendUrl = "https://manager.usky.cn/mobile/#/pages/login?openId="+openid;
+                            response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
                         }
-                    }catch (IOException e){
-                        throw new BusinessException(e.getMessage());
-                    }
 
-                }else{
-                    if(StringUtils.isBlank(code)){
-                        String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
-                        String url = URLDecoder.decode(temp, "UTF-8");
-                        String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
-                        try{
-                            System.out.println("sendUrl: "+sendUrl);
-                            response.sendRedirect(sendUrl);
-                        }catch (IOException e){
-                            throw new BusinessException(e.getMessage());
-                        }
-                    }else{
-                        System.out.println("code:  "+code);
-                        try {
-                            WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);
-
-                            String openid = wxOAuth2AccessToken.getOpenId();
-                            String access_token = wxOAuth2AccessToken.getAccessToken();
-                            System.out.println("openid:  "+openid);
-                            request.getSession().setAttribute("openid",openid);
-                            LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
-                            queryWrapper.eq(MceMbuser::getOpenid,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();
-                                response.sendRedirect(sendUrl);
-                            }else{
-                                request.getSession().removeAttribute("openid");
-                                request.getSession().removeAttribute("phone");
-
-                                response.sendRedirect("https://manager.usky.cn/mobile/#/pages/login");
-                            }
-
-
-                        } catch (Exception e) {
-                            throw new BusinessException(e.getMessage());
-                        }
-                    }
 
+                    } catch (Exception e) {
+                        throw new BusinessException(e.getMessage());
+                    }
                 }
+
             }
         }
 

+ 5 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/MceMbuserServiceImpl.java

@@ -98,8 +98,12 @@ public class MceMbuserServiceImpl extends AbstractCrudService<MceMbuserMapper, M
 
         }
 
+        Object obj = redisHelper.get("access_key");
+        if(obj == null){
+            throw new BusinessException("token不能为空");
+        }
 
-        String token = redisHelper.get("access_key").toString();
+        String token = obj.toString();
 
         TemplateMsgEntityVO messageVo=new TemplateMsgEntityVO();
         messageVo.setTTitle(infoTitle);