|
@@ -43,7 +43,7 @@ import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
-@Api("会员-h5-微信相关接口(后面不需要这个接口了,再删除))")
|
|
|
+@Api("会员-h5-微信相关接口")
|
|
|
@RestController
|
|
|
@RequestMapping("/app/wx/h5/mp")
|
|
|
@Slf4j
|
|
@@ -101,10 +101,7 @@ public class WxH5MpController {
|
|
|
WxOAuth2UserInfo wxMpUser = wxMpService.getOAuth2Service().getUserInfo(wxMpOAuth2AccessToken, null);
|
|
|
|
|
|
// 处理用户信息
|
|
|
- FsUser user = processUserInfo(wxMpUser, company,companyUser);
|
|
|
-
|
|
|
- // 处理用户与公司的关系
|
|
|
- processUserCompanyRelationship(user, param, companyUser, company);
|
|
|
+ FsUser user = processUserInfo(wxMpUser, company,companyUser,param);
|
|
|
|
|
|
// 检查用户是否已绑定其他销售
|
|
|
FsUserCompanyUser userCompanyUser = userCompanyUserService.selectByUserIdAndProjectId(user.getUserId(), param.getProjectId());
|
|
@@ -112,6 +109,11 @@ public class WxH5MpController {
|
|
|
return R.error(500, "该用户("+user.getUserId() + ")已成为其他销售会员");
|
|
|
}
|
|
|
|
|
|
+// // 处理用户与公司的关系
|
|
|
+// processUserCompanyRelationship(user, param, companyUser, company);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// 生成token并返回结果
|
|
|
return generateLoginResult(user);
|
|
|
} catch (WxErrorException e) {
|
|
@@ -120,7 +122,7 @@ public class WxH5MpController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private FsUser processUserInfo(WxOAuth2UserInfo wxMpUser, Company company,CompanyUser companyUser) {
|
|
|
+ private FsUser processUserInfo(WxOAuth2UserInfo wxMpUser, Company company,CompanyUser companyUser,FsUserLoginByMpParam param) {
|
|
|
FsUser user = userService.selectFsUserByUnionId(wxMpUser.getUnionId());
|
|
|
|
|
|
if (user != null) {
|
|
@@ -130,23 +132,28 @@ public class WxH5MpController {
|
|
|
userUpdate.setMpOpenId(wxMpUser.getOpenid());
|
|
|
userUpdate.setUnionId(wxMpUser.getUnionId());
|
|
|
userUpdate.setUpdateTime(new DateTime());
|
|
|
- userUpdate.setNickName(wxMpUser.getNickname());
|
|
|
+ userUpdate.setNickname(wxMpUser.getNickname());
|
|
|
userUpdate.setAvatar(wxMpUser.getHeadImgUrl());
|
|
|
userService.updateFsUser(userUpdate);
|
|
|
return userUpdate;
|
|
|
} else {
|
|
|
// 创建新用户
|
|
|
FsUser newUser = new FsUser();
|
|
|
- newUser.setNickName(wxMpUser.getNickname());
|
|
|
+ newUser.setNickname(wxMpUser.getNickname());
|
|
|
newUser.setAvatar(wxMpUser.getHeadImgUrl());
|
|
|
newUser.setStatus(1);
|
|
|
newUser.setMpOpenId(wxMpUser.getOpenid());
|
|
|
- newUser.setCompanyId(company.getCompanyId());
|
|
|
- newUser.setCompanyUserId(companyUser.getUserId());
|
|
|
+// newUser.setCompanyId(company.getCompanyId());
|
|
|
+// newUser.setCompanyUserId(companyUser.getUserId());
|
|
|
newUser.setUnionId(wxMpUser.getUnionId());
|
|
|
newUser.setCreateTime(new Date());
|
|
|
newUser.setStatus(company != null && company.getFsUserIsDefaultBlack() == 1 ? 0 : 1);
|
|
|
userService.insertFsUser(newUser);
|
|
|
+ if((companyUser.getIsAllowedAllRegister() == null || companyUser.getIsAllowedAllRegister() == 1)
|
|
|
+ && companyUser.getIsNeedRegisterMember() != null && companyUser.getIsNeedRegisterMember() != 1){
|
|
|
+ int defaultStatus = (company != null ? company.getFsUserIsDefaultBlack() : 0) == 1 ? 0 : 1;
|
|
|
+ userCompanyUserService.bindRelationship(newUser.getUserId(), param.getProjectId(), companyUser.getCompanyId(), companyUser.getUserId(), defaultStatus);
|
|
|
+ }
|
|
|
return newUser;
|
|
|
}
|
|
|
}
|
|
@@ -167,7 +174,6 @@ public class WxH5MpController {
|
|
|
}
|
|
|
|
|
|
private R generateLoginResult(FsUser user) {
|
|
|
- log.info("打印用户信息--------------------》{}",user);
|
|
|
String token = jwtUtils.generateToken(user.getUserId());
|
|
|
redisCache.setCacheObject("token:" + user.getUserId(), token, 604800, TimeUnit.SECONDS);
|
|
|
|
|
@@ -177,14 +183,6 @@ public class WxH5MpController {
|
|
|
return R.ok(result);
|
|
|
}
|
|
|
|
|
|
- private R handleWxErrorException(WxErrorException e) {
|
|
|
- if (e.getError().getErrorCode() == 40163) {
|
|
|
- return R.error(40163, e.getError().getErrorMsg());
|
|
|
- }
|
|
|
- return R.error("授权失败," + e.getMessage());
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
@ApiOperation("处理用户与小程序的绑定")
|
|
|
@PostMapping("/handleFsUserWx")
|
|
|
public R handleFsUserWx(@RequestBody FsUserLoginByMpParam param) {
|
|
@@ -203,7 +201,6 @@ public class WxH5MpController {
|
|
|
return R.error("获取用户信息失败," + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
private void handleFsUserWx(FsUser user, FsUserLoginByMpParam param, WxMaJscode2SessionResult session) {
|
|
|
if (user == null) return;
|
|
@@ -212,7 +209,7 @@ public class WxH5MpController {
|
|
|
.eq(FsUserWx::getFsUserId, user.getUserId())
|
|
|
.eq(FsUserWx::getAppId, param.getAppId())
|
|
|
.eq(FsUserWx::getOpenId, session.getOpenid())
|
|
|
- .set(FsUserWx::getCompanyId, user.getCompanyId())
|
|
|
+// .set(FsUserWx::getCompanyId, user.getCompanyId())
|
|
|
.set(FsUserWx::getUnionId, session.getUnionid() == null ? "" : session.getUnionid())
|
|
|
.set(FsUserWx::getUpdateTime, new Date())
|
|
|
.update();
|
|
@@ -222,7 +219,7 @@ public class WxH5MpController {
|
|
|
FsUserWx fsUserWx = new FsUserWx();
|
|
|
fsUserWx.setType(1);
|
|
|
fsUserWx.setFsUserId(user.getUserId());
|
|
|
- fsUserWx.setCompanyId(user.getCompanyId());
|
|
|
+// fsUserWx.setCompanyId(user.getCompanyId());
|
|
|
fsUserWx.setAppId(param.getAppId());
|
|
|
fsUserWx.setOpenId(session.getOpenid());
|
|
|
fsUserWx.setUnionId(session.getUnionid() == null ? "" : session.getUnionid());
|