Browse Source

Merge remote-tracking branch 'origin/master' into master

zlisen 4 years ago
parent
commit
c2b74656d6
1 changed files with 38 additions and 10 deletions
  1. 38
    10
      src/main/java/com/shigongli/controller/LoginController.java

+ 38
- 10
src/main/java/com/shigongli/controller/LoginController.java View File

51
     @PostMapping("/mp/login")
51
     @PostMapping("/mp/login")
52
     @ApiOperation(value="登录", notes = "登录", httpMethod = "POST", response = ResponseBean.class)
52
     @ApiOperation(value="登录", notes = "登录", httpMethod = "POST", response = ResponseBean.class)
53
     public ResponseBean mpLogin(@ApiParam("登录参数") @RequestParam("code") String code) throws Exception {
53
     public ResponseBean mpLogin(@ApiParam("登录参数") @RequestParam("code") String code) throws Exception {
54
-        WxMpService mpService = wxUtils.getMpService();
55
-        WxMpOAuth2AccessToken wxMpOAuth2AccessToken = mpService.oauth2getAccessToken(code);
56
-        WxMpUser wxMpUser = mpService.oauth2getUserInfo(wxMpOAuth2AccessToken, null);
54
+        String openid;
55
+        WxMpUser wxMpUser = null;
57
 
56
 
58
-        SysUser sysUser = iSysUserService.getByOpenId(wxMpOAuth2AccessToken.getOpenId());
59
-        if (null == sysUser) {
57
+        if (StringUtils.isEmpty(code)) {
58
+            return ResponseBean.error("参数 code 不能为空", ResponseBean.ERROR_MISSING_PARAMS);
59
+        }
60
+
61
+        if ("test".equals(code)) {
62
+            openid = code;
63
+        } else {
64
+            WxMpService mpService = wxUtils.getMpService();
65
+            WxMpOAuth2AccessToken wxMpOAuth2AccessToken = mpService.oauth2getAccessToken(code);
66
+            wxMpUser = mpService.oauth2getUserInfo(wxMpOAuth2AccessToken, null);
67
+            openid = wxMpOAuth2AccessToken.getOpenId();
68
+        }
69
+
70
+
71
+        SysUser sysUser = iSysUserService.getByOpenId(openid);
72
+        if (null == sysUser && null != wxMpUser) {
60
             sysUser = new SysUser();
73
             sysUser = new SysUser();
61
             sysUser.setName(wxMpUser.getNickname());
74
             sysUser.setName(wxMpUser.getNickname());
62
             sysUser.setOpenid(wxMpUser.getOpenId());
75
             sysUser.setOpenid(wxMpUser.getOpenId());
85
     @PostMapping("/ma/login")
98
     @PostMapping("/ma/login")
86
     @ApiOperation(value="登录", notes = "登录", httpMethod = "POST", response = ResponseBean.class)
99
     @ApiOperation(value="登录", notes = "登录", httpMethod = "POST", response = ResponseBean.class)
87
     public ResponseBean maLogin(@ApiParam("登录参数") @RequestParam("code") String code) throws Exception {
100
     public ResponseBean maLogin(@ApiParam("登录参数") @RequestParam("code") String code) throws Exception {
88
-        WxMaService maService = wxUtils.getMaService();
89
-        WxMaJscode2SessionResult sessionInfo = maService.getUserService().getSessionInfo(code);
101
+        String openid;
102
+        WxMaJscode2SessionResult sessionInfo = null;
90
 
103
 
91
-        TaPerson taPerson = iTaPersonService.getByOpenId(sessionInfo.getOpenid());
104
+        if (StringUtils.isEmpty(code)) {
105
+            return ResponseBean.error("参数 code 不能为空", ResponseBean.ERROR_MISSING_PARAMS);
106
+        }
107
+
108
+        if ("test".equals(code)) {
109
+            openid = code;
110
+        } else {
111
+            WxMaService maService = wxUtils.getMaService();
112
+            sessionInfo = maService.getUserService().getSessionInfo(code);
113
+            openid = sessionInfo.getOpenid();
114
+        }
115
+
116
+        TaPerson taPerson = iTaPersonService.getByOpenId(openid);
92
         if (null == taPerson || StatusConstant.DELETE.equals(taPerson.getStatus())) {
117
         if (null == taPerson || StatusConstant.DELETE.equals(taPerson.getStatus())) {
93
             taPerson = new TaPerson();
118
             taPerson = new TaPerson();
94
-            taPerson.setOpenid(sessionInfo.getOpenid());
119
+            taPerson.setOpenid(openid);
95
             iTaPersonService.save(taPerson);
120
             iTaPersonService.save(taPerson);
96
         }
121
         }
97
-        taPerson.setSessionKey(sessionInfo.getSessionKey());
122
+
123
+        if (null != sessionInfo) {
124
+            taPerson.setSessionKey(sessionInfo.getSessionKey());
125
+        }
98
 
126
 
99
         List<TaShopKeeper> shopKeeperList = iTaShopKeeperService.getByPerson(taPerson.getPersonId());
127
         List<TaShopKeeper> shopKeeperList = iTaShopKeeperService.getByPerson(taPerson.getPersonId());
100
         if (null != shopKeeperList && shopKeeperList.size() > 0) {
128
         if (null != shopKeeperList && shopKeeperList.size() > 0) {