This commit is contained in:
hucs
2024-06-25 10:52:23 +08:00
parent 92202fccf7
commit a2b8fe53d2
5 changed files with 50 additions and 0 deletions

View File

@@ -84,6 +84,9 @@ public class LoginUser implements UserDetails {
*/ */
private Integer tenantStatus; private Integer tenantStatus;
// 当前角色
private String currentRole;
@Override @Override
public Collection<? extends GrantedAuthority> getAuthorities() { public Collection<? extends GrantedAuthority> getAuthorities() {
return null; return null;

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.starry.admin.common.domain.LoginUser;
import com.starry.admin.common.exception.CustomException; import com.starry.admin.common.exception.CustomException;
import com.starry.admin.modules.balance.service.IPlayBalanceDetailsInfoService; import com.starry.admin.modules.balance.service.IPlayBalanceDetailsInfoService;
import com.starry.admin.modules.clerk.mapper.PlayClerkUserInfoMapper; import com.starry.admin.modules.clerk.mapper.PlayClerkUserInfoMapper;
@@ -19,10 +20,12 @@ import com.starry.admin.modules.follow.module.entity.PlayCustomFollowInfoEntity;
import com.starry.admin.modules.follow.service.IPlayCustomFollowInfoService; import com.starry.admin.modules.follow.service.IPlayCustomFollowInfoService;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity; import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
import com.starry.admin.modules.order.service.IPlayOrderInfoService; import com.starry.admin.modules.order.service.IPlayOrderInfoService;
import com.starry.admin.modules.personnel.service.IPlayPersonnelGroupInfoService;
import com.starry.admin.modules.statistics.module.vo.PlayClerkPerformanceInfoQueryVo; import com.starry.admin.modules.statistics.module.vo.PlayClerkPerformanceInfoQueryVo;
import com.starry.admin.modules.weichat.entity.PlayClerkUserLoginResponseVo; import com.starry.admin.modules.weichat.entity.PlayClerkUserLoginResponseVo;
import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoQueryVo; import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoQueryVo;
import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoResultVo; import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoResultVo;
import com.starry.admin.utils.SecurityUtils;
import com.starry.common.utils.ConvertUtil; import com.starry.common.utils.ConvertUtil;
import com.starry.common.utils.IdUtils; import com.starry.common.utils.IdUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -61,6 +64,8 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl<PlayClerkUserInfoM
@Resource @Resource
private IPlayOrderInfoService playOrderInfoService; private IPlayOrderInfoService playOrderInfoService;
@Resource
private IPlayPersonnelGroupInfoService playClerkGroupInfoService;
@Override @Override
@@ -290,8 +295,11 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl<PlayClerkUserInfoM
@Override @Override
public IPage<PlayClerkUserReturnVo> selectByPage(PlayClerkUserQueryVo vo) { public IPage<PlayClerkUserReturnVo> selectByPage(PlayClerkUserQueryVo vo) {
MPJLambdaWrapper<PlayClerkUserInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<>(); MPJLambdaWrapper<PlayClerkUserInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<>();
LoginUser loginUser = SecurityUtils.getLoginUser();
// 主表(店员表全部字段) // 主表(店员表全部字段)
lambdaQueryWrapper.selectAll(PlayClerkUserInfoEntity.class); lambdaQueryWrapper.selectAll(PlayClerkUserInfoEntity.class);
if (StrUtil.isNotBlank(vo.getId())) { if (StrUtil.isNotBlank(vo.getId())) {
lambdaQueryWrapper.eq(PlayClerkUserInfoEntity::getId, vo.getId()); lambdaQueryWrapper.eq(PlayClerkUserInfoEntity::getId, vo.getId());
} }
@@ -347,6 +355,9 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl<PlayClerkUserInfoM
lambdaQueryWrapper.eq(PlayClerkUserInfoEntity::getCode, vo.getCode()); lambdaQueryWrapper.eq(PlayClerkUserInfoEntity::getCode, vo.getCode());
} }
// 加入组员的筛选
List<String> clerkIdList = playClerkGroupInfoService.getValidClerkIdList(SecurityUtils.getLoginUser());
lambdaQueryWrapper.in(PlayClerkUserInfoEntity::getId, clerkIdList);
IPage<PlayClerkUserReturnVo> page = this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayClerkUserReturnVo.class, lambdaQueryWrapper); IPage<PlayClerkUserReturnVo> page = this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayClerkUserReturnVo.class, lambdaQueryWrapper);
for (PlayClerkUserReturnVo record : page.getRecords()) { for (PlayClerkUserReturnVo record : page.getRecords()) {

View File

@@ -2,6 +2,7 @@ package com.starry.admin.modules.personnel.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.common.domain.LoginUser;
import com.starry.admin.modules.personnel.module.entity.PlayPersonnelGroupInfoEntity; import com.starry.admin.modules.personnel.module.entity.PlayPersonnelGroupInfoEntity;
import com.starry.admin.modules.personnel.module.vo.PlayPersonnelGroupInfoQueryVo; import com.starry.admin.modules.personnel.module.vo.PlayPersonnelGroupInfoQueryVo;
import com.starry.admin.modules.personnel.module.vo.PlayPersonnelGroupInfoReturnVo; import com.starry.admin.modules.personnel.module.vo.PlayPersonnelGroupInfoReturnVo;
@@ -81,4 +82,6 @@ public interface IPlayPersonnelGroupInfoService extends IService<PlayPersonnelGr
* @param id 店员分组信息主键 * @param id 店员分组信息主键
*/ */
void deletePlayClerkGroupInfoById(String id); void deletePlayClerkGroupInfoById(String id);
List<String> getValidClerkIdList(LoginUser loginUser);
} }

View File

@@ -1,11 +1,16 @@
package com.starry.admin.modules.personnel.service.impl; package com.starry.admin.modules.personnel.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.starry.admin.common.domain.LoginUser;
import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity;
import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService;
import com.starry.admin.modules.personnel.mapper.PlayPersonnelGroupInfoMapper; import com.starry.admin.modules.personnel.mapper.PlayPersonnelGroupInfoMapper;
import com.starry.admin.modules.personnel.module.entity.PlayPersonnelGroupInfoEntity; import com.starry.admin.modules.personnel.module.entity.PlayPersonnelGroupInfoEntity;
import com.starry.admin.modules.personnel.module.vo.PlayPersonnelGroupInfoQueryVo; import com.starry.admin.modules.personnel.module.vo.PlayPersonnelGroupInfoQueryVo;
@@ -16,7 +21,10 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* 店员分组信息Service业务层处理 * 店员分组信息Service业务层处理
@@ -28,6 +36,8 @@ import java.util.List;
public class PlayPersonnelGroupInfoServiceImpl extends ServiceImpl<PlayPersonnelGroupInfoMapper, PlayPersonnelGroupInfoEntity> implements IPlayPersonnelGroupInfoService { public class PlayPersonnelGroupInfoServiceImpl extends ServiceImpl<PlayPersonnelGroupInfoMapper, PlayPersonnelGroupInfoEntity> implements IPlayPersonnelGroupInfoService {
@Resource @Resource
private PlayPersonnelGroupInfoMapper playClerkGroupInfoMapper; private PlayPersonnelGroupInfoMapper playClerkGroupInfoMapper;
@Resource
private IPlayClerkUserInfoService clerkUserInfoService;
/** /**
* 查询店员分组信息 * 查询店员分组信息
@@ -107,4 +117,26 @@ public class PlayPersonnelGroupInfoServiceImpl extends ServiceImpl<PlayPersonnel
public void deletePlayClerkGroupInfoById(String id) { public void deletePlayClerkGroupInfoById(String id) {
playClerkGroupInfoMapper.deleteById(id); playClerkGroupInfoMapper.deleteById(id);
} }
@Override
public List<String> getValidClerkIdList(LoginUser loginUser) {
List<String> idList;
PlayPersonnelGroupInfoEntity groupInfoEntity = this.selectByUserId(loginUser.getUserId());
if (Objects.nonNull(groupInfoEntity)) {
List<PlayClerkUserInfoEntity> list = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).eq(PlayClerkUserInfoEntity::getGroupId, groupInfoEntity.getId()).select(PlayClerkUserInfoEntity::getId));
idList = list.stream().map(PlayClerkUserInfoEntity::getId).collect(Collectors.toList());
PlayClerkUserInfoEntity entity = clerkUserInfoService.getOne(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).eq(PlayClerkUserInfoEntity::getSysUserId, loginUser.getUserId()), false);
if (Objects.nonNull(entity)) {
idList.add(entity.getId());
}
} else {
// 返回所有的clerkId
idList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).select(PlayClerkUserInfoEntity::getId)).stream().map(PlayClerkUserInfoEntity::getId).collect(Collectors.toList());
}
if (CollectionUtil.isEmpty(idList)) {
idList = Collections.singletonList("-999");
}
return idList;
}
} }

View File

@@ -30,6 +30,7 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
queryWrapper.eq(SysUserRoleEntity::getUserId, userId); queryWrapper.eq(SysUserRoleEntity::getUserId, userId);
queryWrapper.eq(SysUserRoleEntity::getRoleId, roleId); queryWrapper.eq(SysUserRoleEntity::getRoleId, roleId);
this.remove(queryWrapper); this.remove(queryWrapper);
// 强制退出指定用户
userService.logoutUser(userId); userService.logoutUser(userId);
} }