Merge branch 'cc_20230520_partner' of http://gitlab.coolcollege.cn/hangzhou/java/coolstore-partner-manage into cc_20230520_partner
# Conflicts: # coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java
This commit is contained in:
@@ -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,15 @@ public class CurrentUser {
|
||||
*/
|
||||
private String roleIds;
|
||||
|
||||
private String dbName;
|
||||
|
||||
/**
|
||||
* 钉钉管理员和数智门店无关
|
||||
*/
|
||||
private Boolean isAdmin;
|
||||
|
||||
/**
|
||||
* 角色权限
|
||||
* 头像
|
||||
*/
|
||||
private String roleAuth;
|
||||
|
||||
private String mainCorpId;
|
||||
private String avatar;
|
||||
|
||||
private SysRoleDO sysRoleDO;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class UserContext {
|
||||
public class CurrentUserContext {
|
||||
|
||||
private static final ThreadLocal<String> contextHolder = new ThreadLocal<String>();
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.vo.menu.MenuTreeVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: MenuService
|
||||
* @Description:
|
||||
* @date 2023-06-08 16:43
|
||||
*/
|
||||
public interface MenuService {
|
||||
|
||||
List<MenuTreeVO> getUserMenus(String userId);
|
||||
}
|
||||
@@ -80,6 +80,8 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
|
||||
enterpriseUserRoleDAO.batchInsertOrUpdate(userRoleInsertOrUpdateList);
|
||||
//删除不存在的角色?
|
||||
sysRoleDAO.deleteRole(DataSourceEnum.SYNC, roleIds);
|
||||
}else {
|
||||
//如果为空 是不是得删除角色 及用户角色信息?
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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("${corp.id:null}")
|
||||
private String corpId;
|
||||
|
||||
@Override
|
||||
public Object feiShuLogin(String userId, Boolean needRefreshToken, String avatar) {
|
||||
@@ -73,25 +76,20 @@ 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);
|
||||
currentUser.setAvatar(enterpriseUser.getAvatar());
|
||||
//生成令牌
|
||||
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(CommonConstants.ACCESS_TOKEN_KEY + ":" + token, JSON.toJSONString(currentUser), CommonConstants.ACCESS_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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.SysMenuDAO;
|
||||
import com.cool.store.entity.SysMenuDO;
|
||||
import com.cool.store.enums.PlatFormTypeEnum;
|
||||
import com.cool.store.service.MenuService;
|
||||
import com.cool.store.vo.menu.MenuTreeVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: MenuServiceImpl
|
||||
* @Description:
|
||||
* @date 2023-06-08 16:43
|
||||
*/
|
||||
@Service
|
||||
public class MenuServiceImpl implements MenuService {
|
||||
|
||||
@Resource
|
||||
private SysMenuDAO sysMenuDAO;
|
||||
|
||||
@Override
|
||||
public List<MenuTreeVO> getUserMenus(String userId) {
|
||||
List<SysMenuDO> menuList= sysMenuDAO.selectMenuAll(null, PlatFormTypeEnum.PC.getCode());
|
||||
return MenuTreeVO.dealMenuTree(CommonConstants.ZERO_LONG, menuList);
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
package com.cool.store.utils;
|
||||
|
||||
import com.cool.store.context.DataSourceContext;
|
||||
import com.cool.store.context.UserContext;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@Slf4j
|
||||
public class DataSourceHelper {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DataSourceHelper.class);
|
||||
|
||||
/**
|
||||
* @param
|
||||
* @return void
|
||||
* @throws
|
||||
* @Title changeToMy
|
||||
* @Description 切换到自己的数据库
|
||||
*/
|
||||
public static void changeToMy() {
|
||||
DataSourceContext.clearDataSourceType();
|
||||
String dbName = UserContext.getUser().getDbName();
|
||||
DataSourceContext.setDataSourceType(dbName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param datasource
|
||||
* @return void
|
||||
* @throws
|
||||
* @Title changeToSpecificDataSource
|
||||
* @Description 切换到指定的数据库
|
||||
*/
|
||||
public static void changeToSpecificDataSource(String datasource) {
|
||||
DataSourceContext.clearDataSourceType();
|
||||
String dbName = datasource;
|
||||
DataSourceContext.setDataSourceType(dbName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param
|
||||
* @return void
|
||||
* @throws
|
||||
* @Title reset
|
||||
* @Description 重置链接到主库
|
||||
*/
|
||||
public static void reset() {
|
||||
DataSourceContext.clearDataSourceType();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user