zyp 3 日 前
コミット
68d9e6108f

+ 5 - 3
fs-service/src/main/java/com/fs/core/config/WxMaConfiguration.java

@@ -65,9 +65,11 @@ public class WxMaConfiguration {
                 if (appid.equals(courseMaConfig.getAppid())) {
                     continue;
                 }
-                WxMaConfig.Config wxMaConfig = new WxMaConfig.Config();
-                BeanUtils.copyProperties(courseMaConfig, wxMaConfig);
-                c.add(wxMaConfig);
+                if (courseMaConfig.getType().equals("1")){
+                    WxMaConfig.Config wxMaConfig = new WxMaConfig.Config();
+                    BeanUtils.copyProperties(courseMaConfig, wxMaConfig);
+                    c.add(wxMaConfig);
+                }
             }
         }
         wx.setConfigs(c);

+ 21 - 15
fs-user-course/src/main/java/com/fs/course/controller/WxCompanyUserController.java

@@ -101,11 +101,17 @@ public class WxCompanyUserController extends AppBaseController {
             this.logger.info(session.getSessionKey());
             this.logger.info(session.getOpenid());
             this.logger.info(session.getUnionid());
+            if (StringUtils.isEmpty(session.getOpenid())){
+                return R.error("登陆失败,openid未授权,请稍后再试!");
+            }
 
             // 手机号信息
             WxMaPhoneNumberInfo phoneNoInfo = null;
             if (param.getAuthType()==1){
                 phoneNoInfo = wxService.getUserService().getPhoneNoInfo(session.getSessionKey(), param.getEncryptedData(), param.getIv());
+                if (StringUtils.isEmpty(phoneNoInfo.getPhoneNumber())){
+                    return R.error("授权失败,请联系客服!");
+                }
             }
 
             FsUser user = getUserByAuthType(param, wxService, session, phoneNoInfo);
@@ -162,18 +168,18 @@ public class WxCompanyUserController extends AppBaseController {
      */
     private FsUser handleUserRegisterOrUpdate(FsUser user, LoginMaWxParam param, WxMaJscode2SessionResult session, WxMaPhoneNumberInfo phoneNoInfo, Company company, CompanyUser companyUser, String ip) {
         if (user == null) {
-            user = userService.selectFsUserByCourseMaOpenId(session.getOpenid());
-            if (user != null) {
-                // 修改
-                return updateUser(user, param, session, phoneNoInfo, company, companyUser);
-            } else {
-                // 新增
-                return createUser(param, session, phoneNoInfo, company, companyUser);
-            }
+//            user = userService.selectFsUserByCourseMaOpenId(session.getOpenid());
+//            if (user != null) {
+//                // 修改
+//                return updateUser(user, param, session, phoneNoInfo, company, companyUser);
+//            } else {
+//                // 新增
+            return createUser(param, session, phoneNoInfo, company, companyUser);
+//            }
         } else {
             // 已存在用户,更新信息
-            updateUserInfo(user, param, session, phoneNoInfo, ip);
-            return user;
+            return updateUser(user, param, session, phoneNoInfo, company, companyUser);
+//            return user;
         }
     }
 
@@ -231,13 +237,13 @@ public class WxCompanyUserController extends AppBaseController {
     private void updateUserInfo(FsUser user, LoginMaWxParam param, WxMaJscode2SessionResult session, WxMaPhoneNumberInfo phoneNoInfo, String ip) {
         FsUser userMap = new FsUser();
         userMap.setUserId(user.getUserId());
+        // userMap.setCourseMaOpenId(session.getOpenid());
+        userMap.setUnionId(session.getUnionid() == null ? "" : session.getUnionid());
         userMap.setUpdateTime(new DateTime());
+        userMap.setNickName(param.getNickname() != null ? param.getNickname() : user.getNickName());
+        userMap.setAvatar(param.getAvatar() != null ? param.getAvatar() : user.getAvatar());
         if (param.getAuthType() == 1 && phoneNoInfo != null) {
-            user.setPhone(phoneNoInfo.getPhoneNumber());
-        }
-        userMap.setLastIp(ip);
-        if (StringUtils.isNotEmpty(session.getUnionid())) {
-            userMap.setUnionId(session.getUnionid());
+            userMap.setPhone(phoneNoInfo.getPhoneNumber());
         }
         userService.updateFsUser(userMap);
     }