修改配置

This commit is contained in:
小久哥
2022-06-11 15:48:16 +08:00
parent f42644e836
commit cc0c7f374e
4 changed files with 73 additions and 11 deletions
@@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.controller.admin.auth;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
@@ -69,7 +71,8 @@ public class AuthController {
private CpUserService cpUserService;
@Resource
private WxCpService wxCpService;
@Resource
private WxMaService wxMaService;
@Resource
private UserSessionService userSessionService;
@@ -94,8 +97,17 @@ public class AuthController {
if ("wxcp".equals(dto.getCode())){
cpuser = cpUserService.getByUserId("test");
}else{
WxCpMaJsCode2SessionResult session = wxCpService.jsCode2Session(dto.getCode());
cpuser = cpUserService.getByUserId(session.getUserId());
if (dto.getPlatform().equalsIgnoreCase("WX")){
//普通微信
WxMaJscode2SessionResult result = wxMaService.jsCode2SessionInfo(dto.getCode());
log.info("微信登录信息,{}", result);
cpuser = cpUserService.getByUserId(result.getUnionid());
}else{
//企业微信
WxCpMaJsCode2SessionResult session = wxCpService.jsCode2Session(dto.getCode());
log.info("企业微信登录信息:{}", session);
cpuser = cpUserService.getByUserId(session.getUserId());
}
}
if (ObjectUtil.isEmpty(cpuser)){
@@ -106,19 +118,21 @@ public class AuthController {
if (ObjectUtil.isEmpty(user)){
CommonResult.error(ErrorCodeConstants.USER_NOT_EXISTS.getCode(),"未发现绑定的企业用户,暂时无法登录,请联系管理员");
}else {
user.setCpUserId(cpuser.getUserId());
userService.updateUser(UserConvert.INSTANCE.convertFromEntity(user));
if (dto.getPlatform().equalsIgnoreCase("WX")){
//暂时用微信小程序登录
}else{
user.setCpUserId(cpuser.getUserId());
userService.updateUser(UserConvert.INSTANCE.convertFromEntity(user));
}
}
LoginUser login1 = AuthConvert.INSTANCE.convert(user);
String token1 = userSessionService.createUserSession(login1, getClientIP(), getUserAgent());
AuthLoginReqVO login = AuthLoginReqVO.builder()
.username(cpuser.getUserId())
.password("123456")
.platform("wxcp").build();
String token = authService.login(login, getClientIP(), getUserAgent());
log.info("TOKEN:::{}",token);
AuthLoginRespVO vo = AuthLoginRespVO.builder().token(token).user(cpuser).build();
return CommonResult.success(vo);
}