This commit is contained in:
zhangchenbiao
2023-06-08 20:36:44 +08:00
parent 0545d37b91
commit 9e749062d0
4 changed files with 11 additions and 24 deletions

View File

@@ -10,11 +10,7 @@ public class CurrentUser {
private String name;
private String enterpriseId;
private String dingCorpId;
private String appType;
private String corpId;
private String accessToken;
@@ -23,19 +19,10 @@ public class CurrentUser {
*/
private String roleIds;
private String dbName;
/**
* 钉钉管理员和数智门店无关
*/
private Boolean isAdmin;
/**
* 角色权限
*/
private String roleAuth;
private String mainCorpId;
private SysRoleDO sysRoleDO;
}

View File

@@ -80,6 +80,8 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
enterpriseUserRoleDAO.batchInsertOrUpdate(userRoleInsertOrUpdateList);
//删除不存在的角色?
sysRoleDAO.deleteRole(DataSourceEnum.SYNC, roleIds);
}else {
//如果为空 是不是得删除角色 及用户角色信息?
}
}

View File

@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.crypto.RandomNumberGenerator;
import org.apache.shiro.crypto.SecureRandomNumberGenerator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -40,6 +41,8 @@ public class LoginServiceImpl implements LoginService {
private RedisUtilPool redisUtilPool;
@Resource
private EnterpriseUserRoleDAO enterpriseUserRoleDAO;
@Value("${corpId:null}")
private String corpId;
@Override
public Object feiShuLogin(String userId, Boolean needRefreshToken, String avatar) {
@@ -73,25 +76,19 @@ public class LoginServiceImpl implements LoginService {
enterpriseUser.setFaceUrl(finalAvatar);
currentUser.setUserId(enterpriseUser.getUserId());
currentUser.setIsAdmin(enterpriseUser.getIsAdmin());
//设置当前登录人使用的企业相关信息
//currentUser.setRoleAuth(sysRole.getRoleAuth());
currentUser.setSysRoleDO(sysRole);
currentUser.setCorpId(corpId);
//生成令牌
RandomNumberGenerator randomNumberGenerator = new SecureRandomNumberGenerator();
String token = randomNumberGenerator.nextBytes().toHex();
String refreshToken = randomNumberGenerator.nextBytes().toHex();
currentUser.setName(enterpriseUser.getName());
currentUser.setAccessToken(token);
JSONObject jsonObject = new JSONObject();
jsonObject.put("action_token", token);
jsonObject.put("user", currentUser);
redisUtilPool.setString(CommonConstants.ACCESS_TOKEN_KEY + ":" + token, JSON.toJSONString(currentUser), CommonConstants.ACTION_TOKEN_EXPIRE);
jsonObject.put("expire", CommonConstants.ACTION_TOKEN_EXPIRE);
redisUtilPool.setString(currentUser.getUserId(), token);
redisUtilPool.setString(CommonConstants.REFRESH_TOKEN_KEY+":"+refreshToken,JSON.toJSONString(refreshUser), CommonConstants.REFRESH_TOKEN_EXPIRE);
jsonObject.put("refresh_token",refreshToken);
log.info("[" + enterpriseUser.getName() + "; action_token"+ token + "; userId" + currentUser.getUserId() +"]登入系统成功");
return jsonObject;
return currentUser;
}
}

View File

@@ -7,6 +7,7 @@ import com.cool.store.enums.AppTypeEnum;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.LoginService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -34,7 +35,7 @@ public class LoginController {
@PostMapping(value = "/feiShuLogin")
public Object feiShuLogin(@RequestBody FeiShuLoginDTO param) {
public ResponseResult feiShuLogin(@RequestBody FeiShuLoginDTO param) {
log.info("feiShuLogin data={}", JSONObject.toJSONString(param));
String code = param.getCode();
try {
@@ -45,7 +46,7 @@ public class LoginController {
}
log.info("userInfo:{}", JSONObject.toJSONString(userInfo));
String userId = userInfo.getOpenId();
return loginService.feiShuLogin(userId, Boolean.TRUE, StringUtils.EMPTY);
return ResponseResult.success(loginService.feiShuLogin(userId, Boolean.TRUE, StringUtils.EMPTY));
} catch (ServiceException e) {
log.error(e.getMessage(), e);
throw new ServiceException(ErrorCodeEnum.LOGIN_ERROR);