Browse Source

Merge remote-tracking branch 'origin/release-201815-liusw' into release-201815-liusw

shenjj 7 years ago
parent
commit
f11ff8c217

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/account/dao/UserDao.java

@@ -135,7 +135,7 @@ public interface UserDao extends JpaSpecificationExecutor<User>, JpaRepository<U
 	 * @param openId
 	 * @param openId
 	 * @return
 	 * @return
 	 */
 	 */
-	public User findUsersByOpenId(String openId);
+	List<User> findUsersByOpenId(String openId);
 
 
 	/**
 	/**
 	 * 修改个人的头像
 	 * 修改个人的头像

+ 2 - 21
src/main/java/com/uas/platform/b2c/common/weixin/contoller/WeChatController.java

@@ -60,25 +60,6 @@ public class WeChatController {
         }
         }
     }
     }
 
 
-//    /**
-//     * 微信授权,获取code
-//     * @return
-//     */
-//    @RequestMapping("/wxLoginPage")
-//    public ModelMap loginPage(HttpServletRequest request) {
-//        ModelMap data = new ModelMap();
-//        String redirect_url = "http://a2v86u.natappfree.cc";
-//        String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect";
-//        url = url.replace("APPID", appID);
-//        url = url.replace("REDIRECT_URI", redirect_url + "/weChat/pcAuth");
-//        url = url.replace("SCOPE", "snsapi_userinfo");
-//        url = url.replace("STATE", request.getSession().getId());
-//        data.put("sessionId", request.getSession().getId());
-//        data.put("url", url);
-//        System.out.println(url);
-//        return data;
-//    }
-
     /**
     /**
      * 用户微信授权成功返回接口
      * 用户微信授权成功返回接口
      * @param code 用于获取AccessToken
      * @param code 用于获取AccessToken
@@ -86,8 +67,8 @@ public class WeChatController {
      * @return 微信用户信息
      * @return 微信用户信息
      */
      */
     @RequestMapping(value = "/getWxUserInfo", method = RequestMethod.GET)
     @RequestMapping(value = "/getWxUserInfo", method = RequestMethod.GET)
-    public ModelMap getWxUserInfo(String code,String state) {
-        return weChatService.getWxUserInfo(code, state);
+    public ModelMap getWxUserInfo(String code, String state, String openId) {
+        return weChatService.getWxUserInfo(code, state, openId);
     }
     }
 
 
     /**
     /**

+ 2 - 1
src/main/java/com/uas/platform/b2c/common/weixin/service/WeChatService.java

@@ -16,9 +16,10 @@ public interface WeChatService {
      * 获取微信用户信息
      * 获取微信用户信息
      * @param code
      * @param code
      * @param state
      * @param state
+     * @param openId
      * @return
      * @return
      */
      */
-    ModelMap getWxUserInfo(String code, String state);
+    ModelMap getWxUserInfo(String code, String state, String openId);
 
 
     /**
     /**
      * 发送模板消息
      * 发送模板消息

+ 19 - 18
src/main/java/com/uas/platform/b2c/common/weixin/service/impl/WeChatServiceImpl.java

@@ -52,7 +52,7 @@ public class WeChatServiceImpl implements WeChatService{
     private static final Integer ACCESS_TOKEN_EXPIRES_IN = 3600;
     private static final Integer ACCESS_TOKEN_EXPIRES_IN = 3600;
 
 
     @Override
     @Override
-    public ModelMap getWxUserInfo(String code, String state) {
+    public ModelMap getWxUserInfo(String code, String state, String openId) {
         ModelMap result = new ModelMap();
         ModelMap result = new ModelMap();
         if (!StringUtils.isEmpty(code)) {
         if (!StringUtils.isEmpty(code)) {
             AuthUserInfo userInfo = null;
             AuthUserInfo userInfo = null;
@@ -65,21 +65,22 @@ public class WeChatServiceImpl implements WeChatService{
             }
             }
             result.put("nickname", userInfo.getNickname());
             result.put("nickname", userInfo.getNickname());
             result.put("headimgurl", userInfo.getHeadimgurl());
             result.put("headimgurl", userInfo.getHeadimgurl());
-            String openid = userInfo.getOpenid();
-
-            result.put("openid", openid);
-            User user = userDao.findUsersByOpenId(openid);
-            if (StringUtils.isEmpty(user)) {
-                result.put("status", 0);
-            } else {
-                result.put("status", 1);
-                // 转成userAccount
-                UserAccount userAccount = convertUserAccount(user);
-                // 企业信息单独提出
-                Set<Enterprise> enterprises = user.getEnterprises();
-                result.put("userAccount", userAccount);
-                result.put("enterprises", enterprises);
-            }
+            openId = userInfo.getOpenid();
+            result.put("openid", openId);
+        }
+
+        // 用户信息查询
+        List<User> users = userDao.findUsersByOpenId(openId);
+        if (CollectionUtils.isEmpty(users)) {
+            result.put("status", 0);
+        } else {
+            result.put("status", 1);
+            // 转成userAccount
+            UserAccount userAccount = convertUserAccount(users.get(0));
+            // 企业信息单独提出
+            Set<Enterprise> enterprises = users.get(0).getEnterprises();
+            result.put("userAccount", userAccount);
+            result.put("enterprises", enterprises);
         }
         }
         return result;
         return result;
     }
     }
@@ -151,8 +152,8 @@ public class WeChatServiceImpl implements WeChatService{
         if (CollectionUtils.isEmpty(oldUsers)) {
         if (CollectionUtils.isEmpty(oldUsers)) {
             throw new IllegalOperatorException("未找到用户信息");
             throw new IllegalOperatorException("未找到用户信息");
         }
         }
-        User judgeUser = userDao.findUsersByOpenId(user.getOpenId());
-        if (!StringUtils.isEmpty(judgeUser)) {
+        List<User> judgeUser = userDao.findUsersByOpenId(user.getOpenId());
+        if (!CollectionUtils.isEmpty(judgeUser)) {
             throw new IllegalOperatorException("该微信号已被绑定");
             throw new IllegalOperatorException("该微信号已被绑定");
         }
         }
         UserView userView = new UserView();
         UserView userView = new UserView();