sa两套鉴权合并为一套

This commit is contained in:
张松
2025-02-13 10:46:15 +08:00
parent 506efc04a2
commit c3a965a08a
21 changed files with 149 additions and 65 deletions

View File

@@ -100,15 +100,14 @@ public class AuthorizationServiceImpl implements AuthorizationService {
}
}
StpKit.ADMIN.login(user.getId());
StpKit.ADMIN.getSession().set("userId", user.getId()).set("shopId", shopInfo.getId()).set("isAdmin", user.getIsAdmin());
StpKit.USER.login(user.getId(), shopInfo.getId(), true, user.getIsAdmin());
// 查询角色
List<SysRole> roleList = sysRoleService.getByUserId(user.getId());
List<String> roleNames = roleList.stream().map(SysRole::getName).collect(Collectors.toList());
StpKit.ADMIN.addRoleList(roleNames);
StpKit.USER.addRoleList(roleNames);
// 权限赋予
List<String> promissionList = sysMenuMapper.selectByUserId(user.getId(), null).stream().map(SysMenu::getPermission).filter(StrUtil::isNotBlank).collect(Collectors.toList());
StpKit.ADMIN.addPermissionList(promissionList);
return new LoginVO(StpKit.ADMIN.getTokenInfo(), promissionList, loginDTO.loginType(), shopInfo);
StpKit.USER.addPermissionList(promissionList);
return new LoginVO(StpKit.USER.getTokenInfo(), promissionList, loginDTO.loginType(), shopInfo);
}
}

View File

@@ -28,7 +28,7 @@ public class CommonServiceImpl implements CommonService {
@Override
public Boolean sendSms(String type) {
SysUser sysUser = sysUserService.queryChain().eq(SysUser::getId, StpKit.ADMIN.getLoginIdAsLong()).one();
SysUser sysUser = sysUserService.queryChain().eq(SysUser::getId, StpKit.USER.getLoginIdAsLong()).one();
if (StrUtil.isBlank(sysUser.getPhone())) {
throw new ApiNotPrintException("账号未绑定手机号");
}
@@ -40,7 +40,7 @@ public class CommonServiceImpl implements CommonService {
@Override
public Boolean checkSmsCode(String type, String code) {
SysUser sysUser = sysUserService.queryChain().eq(SysUser::getId, StpKit.ADMIN.getLoginIdAsLong()).one();
SysUser sysUser = sysUserService.queryChain().eq(SysUser::getId, StpKit.USER.getLoginIdAsLong()).one();
if (StrUtil.isBlank(sysUser.getPhone())) {
throw new ApiNotPrintException("账号未绑定手机号");
}

View File

@@ -79,10 +79,10 @@ public class ShopInfoServiceImpl extends ServiceImpl<ShopInfoMapper, ShopInfo> i
@Override
public Boolean edit(ShopInfoEditDTO shopInfoEditDTO) {
ShopInfo shopInfo;
if (!StpKit.ADMIN.isAdmin()) {
shopInfo = queryChain().eq(ShopInfo::getId, StpKit.ADMIN.getLoginIdAsLong()).one();
if (!StpKit.USER.isAdmin()) {
shopInfo = queryChain().eq(ShopInfo::getId, StpKit.USER.getLoginIdAsLong()).one();
}else {
shopInfo = getById(StpKit.ADMIN.getLoginIdAsLong());
shopInfo = getById(StpKit.USER.getLoginIdAsLong());
}
if (shopInfo == null) {
throw new CzgException("店铺不存在");
@@ -97,6 +97,6 @@ public class ShopInfoServiceImpl extends ServiceImpl<ShopInfoMapper, ShopInfo> i
@Override
public ShopInfo detail() {
return queryChain().eq(ShopInfo::getId, StpKit.ADMIN.getLoginIdAsLong()).one();
return queryChain().eq(ShopInfo::getId, StpKit.USER.getLoginIdAsLong()).one();
}
}

View File

@@ -20,16 +20,16 @@ public class ShopMerchantServiceImpl extends ServiceImpl<ShopMerchantMapper, Sho
@Override
public ShopMerchant detail() {
ShopMerchant one = queryChain().eq(ShopMerchant::getShopId, StpKit.ADMIN.getLoginIdAsLong()).one();
ShopMerchant one = queryChain().eq(ShopMerchant::getShopId, StpKit.USER.getLoginIdAsLong()).one();
return one == null ? new ShopMerchant() : one;
}
@Override
public Boolean edit(ShopMerchantEditDTO shopMerchantEditDTO) {
ShopMerchant shopMerchant = queryChain().eq(ShopMerchant::getShopId, StpKit.ADMIN.getLoginIdAsLong()).one();
ShopMerchant shopMerchant = queryChain().eq(ShopMerchant::getShopId, StpKit.USER.getLoginIdAsLong()).one();
if (shopMerchant == null) {
shopMerchant = new ShopMerchant();
shopMerchant.setShopId(StpKit.ADMIN.getLoginIdAsLong());
shopMerchant.setShopId(StpKit.USER.getLoginIdAsLong());
BeanUtil.copyProperties(shopMerchantEditDTO, shopMerchant);
return save(shopMerchant);
}

View File

@@ -37,14 +37,14 @@ public class ShopStaffServiceImpl extends ServiceImpl<ShopStaffMapper, ShopStaff
public Boolean add(ShopStaffAddDTO shopStaffAddDTO) {
SysUser sysUser = sysUserService.addUser(shopStaffAddDTO.getName(), shopStaffAddDTO.getAccountName(), shopStaffAddDTO.getAccountPwd(), shopStaffAddDTO.getPhone(), shopStaffAddDTO.getRoleId());
ShopStaff shopStaff = BeanUtil.copyProperties(shopStaffAddDTO, ShopStaff.class);
shopStaff.setShopId(StpKit.ADMIN.getLoginIdAsLong());
shopStaff.setShopId(StpKit.USER.getLoginIdAsLong());
shopStaff.setId(sysUser.getId());
return save(shopStaff);
}
@Override
public Boolean edit(ShopStaffEditDTO shopStaffEditDTO) {
long sysUserId = StpKit.ADMIN.getLoginIdAsLong();
long sysUserId = StpKit.USER.getLoginIdAsLong();
ShopStaff shopStaff = queryChain().eq(ShopStaff::getShopId, sysUserId).eq(ShopStaff::getId, shopStaffEditDTO.getId()).one();
if (shopStaffEditDTO.getRoleId() != null) {
sysUsersRolesService.updateRole(shopStaff.getId(), shopStaffEditDTO.getRoleId());
@@ -66,13 +66,13 @@ public class ShopStaffServiceImpl extends ServiceImpl<ShopStaffMapper, ShopStaff
queryWrapper.like(ShopStaff::getCode, name);
}
queryWrapper.eq(ShopStaff::getShopId, StpKit.ADMIN.getLoginIdAsLong());
queryWrapper.eq(ShopStaff::getShopId, StpKit.USER.getLoginIdAsLong());
return page(PageUtil.buildPage(), queryWrapper);
}
@Override
public Boolean delete(ShopStaffRemoveDTO shopStaffRemoveDTO) {
long sysUserId = StpKit.ADMIN.getLoginIdAsLong();
long sysUserId = StpKit.USER.getLoginIdAsLong();
ShopStaff shopStaff = queryChain().eq(ShopStaff::getShopId, sysUserId).eq(ShopStaff::getId, shopStaffRemoveDTO.getId()).one();
if (shopStaff == null) {
throw new ApiNotPrintException("员工账号不存在");

View File

@@ -24,7 +24,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override
public Object getMenu() {
long sysUserId = StpKit.ADMIN.getLoginIdAsLong();
long sysUserId = StpKit.USER.getLoginIdAsLong();
List<SysMenu> allMenus = mapper.selectByUserId(sysUserId, null);
List<MenuVO> rootMenus = new ArrayList<>();
List<MenuVO> allMenuVos = new ArrayList<>();

View File

@@ -48,8 +48,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> imp
@Override
public Page<SysRole> getList(PageDTO pageDTO, String key, String startTime, String endTime) {
QueryWrapper queryWrapper = new QueryWrapper();
if (!StpKit.ADMIN.isAdmin()) {
queryWrapper.eq(SysRole::getCreateUserId, StpKit.ADMIN.getLoginIdAsLong());
if (!StpKit.USER.isAdmin()) {
queryWrapper.eq(SysRole::getCreateUserId, StpKit.USER.getLoginIdAsLong());
}
if (StrUtil.isNotBlank(key)) {
@@ -92,8 +92,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> imp
sysRole.setName(roleAddDTO.name());
sysRole.setLevel(roleAddDTO.level());
sysRole.setDescription(roleAddDTO.description());
sysRole.setShopId(StpKit.ADMIN.getLoginIdAsLong());
sysRole.setCreateUserId(StpKit.ADMIN.getLoginIdAsLong());
sysRole.setShopId(StpKit.USER.getLoginIdAsLong());
sysRole.setCreateUserId(StpKit.USER.getLoginIdAsLong());
sysRole.setCreateTime(DateUtil.date().toLocalDateTime());
boolean save = save(sysRole);
if (save) {
@@ -106,7 +106,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> imp
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean edit(RoleEditDTO roleEditDTO) {
SysRole role = queryChain().eq(SysRole::getId, roleEditDTO.getId()).eq(SysRole::getCreateUserId, StpKit.ADMIN.getLoginIdAsLong()).one();
SysRole role = queryChain().eq(SysRole::getId, roleEditDTO.getId()).eq(SysRole::getCreateUserId, StpKit.USER.getLoginIdAsLong()).one();
if (role == null) {
throw new ApiNotPrintException("角色不存在");
}

View File

@@ -38,13 +38,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> imp
sysUser.setNickName(nickname);
sysUser.setPhone(phone);
sysUser.setStauts(1);
sysUser.setCreateUserId(StpKit.ADMIN.getLoginIdAsLong());
sysUser.setCreateUserId(StpKit.USER.getLoginIdAsLong());
save(sysUser);
sysUser.setPassword(SecureUtil.md5(sysUser.getId() + accountPwd));
updateById(sysUser);
// 绑定角色
long roleCount = sysRoleMapper.selectCountByQuery(new QueryWrapper().eq(SysRole::getId, roleId).eq(SysRole::getCreateUserId, StpKit.ADMIN.getLoginIdAsLong()));
long roleCount = sysRoleMapper.selectCountByQuery(new QueryWrapper().eq(SysRole::getId, roleId).eq(SysRole::getCreateUserId, StpKit.USER.getLoginIdAsLong()));
if (roleCount == 0) {
throw new CzgException("角色不存在");
}

View File

@@ -62,7 +62,8 @@ public class UserAuthorizationServiceImpl implements UserAuthorizationService {
userInfo.setLastLoginTime(DateUtil.date().toLocalDateTime());
userInfoService.saveOrUpdate(userInfo);
StpKit.USER.login(userInfo.getId());
// StpKit.USER.login(userInfo.getId());
StpKit.USER.login(userInfo.getId(), null, false, false);
return new LoginTokenDTO(StpKit.USER.getTokenValue(), userInfo);
}
}