人员完善
This commit is contained in:
@@ -20,10 +20,11 @@ public class SaTokenConfigure implements WebMvcConfigurer {
|
|||||||
System.out.println("----- SaToken 拦截器启动成功!");
|
System.out.println("----- SaToken 拦截器启动成功!");
|
||||||
registry
|
registry
|
||||||
.addInterceptor(new SaInterceptor(h -> {
|
.addInterceptor(new SaInterceptor(h -> {
|
||||||
SaRouter
|
SaRouter.match("/**", "/auth/**", r -> StpUtil.checkLogin());
|
||||||
.match("/**")
|
//SaRouter
|
||||||
.notMatch("/auth/**")
|
// .match("/**")
|
||||||
.check(r -> StpUtil.checkLogin());
|
// .notMatch("/auth/**")
|
||||||
|
// .check(r -> StpUtil.checkLogin());
|
||||||
}))
|
}))
|
||||||
.addPathPatterns("/**");
|
.addPathPatterns("/**");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.dc.dc_project.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
|
import com.dc.dc_project.common.ResponseResult;
|
||||||
|
import com.dc.dc_project.common.aop.DcCheckPermission;
|
||||||
|
import com.dc.dc_project.model.dto.PersonnelDto;
|
||||||
|
import com.dc.dc_project.service.PersonnelService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/personnel")
|
||||||
|
public class PersonnelController {
|
||||||
|
|
||||||
|
private final PersonnelService personnelService;
|
||||||
|
|
||||||
|
@PostMapping("/list")
|
||||||
|
@DcCheckPermission("system:personnel:list")
|
||||||
|
public ResponseResult list(@RequestBody PersonnelDto personnelDto) {
|
||||||
|
Long userId = StpUtil.getLoginIdAsLong();
|
||||||
|
return personnelService.getList(personnelDto, userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import cn.dev33.satoken.stp.StpUtil;
|
|||||||
import com.dc.dc_project.common.ResponseResult;
|
import com.dc.dc_project.common.ResponseResult;
|
||||||
import com.dc.dc_project.common.aop.DcCheckPermission;
|
import com.dc.dc_project.common.aop.DcCheckPermission;
|
||||||
import com.dc.dc_project.model.dto.user.UpdateUserPasswordDto;
|
import com.dc.dc_project.model.dto.user.UpdateUserPasswordDto;
|
||||||
|
import com.dc.dc_project.model.dto.user.UserAddDto;
|
||||||
import com.dc.dc_project.model.dto.user.UserInfoUpdateDto;
|
import com.dc.dc_project.model.dto.user.UserInfoUpdateDto;
|
||||||
import com.dc.dc_project.model.dto.user.UserReqDto;
|
import com.dc.dc_project.model.dto.user.UserReqDto;
|
||||||
import com.dc.dc_project.model.pojo.RecordResult;
|
import com.dc.dc_project.model.pojo.RecordResult;
|
||||||
@@ -37,13 +38,12 @@ public class UserController {
|
|||||||
@PostMapping("/getUserInfo")
|
@PostMapping("/getUserInfo")
|
||||||
ResponseResult getUserInfo() {
|
ResponseResult getUserInfo() {
|
||||||
Long userId = StpUtil.getLoginIdAsLong();
|
Long userId = StpUtil.getLoginIdAsLong();
|
||||||
List<String> permissions = StpUtil.getPermissionList();
|
return userService.getUserInfo(userId);
|
||||||
return userService.getUserInfo();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/save")
|
@PostMapping("/save")
|
||||||
ResponseResult save(@RequestBody User user) {
|
ResponseResult save(@RequestBody UserAddDto user) {
|
||||||
return ResponseResult.success();
|
return userService.save(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/updateInfo")
|
@PostMapping("/updateInfo")
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
package com.dc.dc_project.mapper;
|
package com.dc.dc_project.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.dc.dc_project.model.dto.PersonnelDto;
|
||||||
import com.dc.dc_project.model.pojo.Personnel;
|
import com.dc.dc_project.model.pojo.Personnel;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.dc.dc_project.model.vo.PersonnelListVo;
|
||||||
import com.dc.dc_project.model.vo.PersonnelVo;
|
import com.dc.dc_project.model.vo.PersonnelVo;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ADMIN
|
* @author ADMIN
|
||||||
@@ -13,6 +19,14 @@ import com.dc.dc_project.model.vo.PersonnelVo;
|
|||||||
public interface PersonnelMapper extends BaseMapper<Personnel> {
|
public interface PersonnelMapper extends BaseMapper<Personnel> {
|
||||||
|
|
||||||
PersonnelVo getVoByUserId(Long id);
|
PersonnelVo getVoByUserId(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取人员列表
|
||||||
|
* @param personnelDto
|
||||||
|
* @param orgIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Page<PersonnelListVo> getPage(@Param("personnelDto") PersonnelDto personnelDto,@Param("orgIds") List<Long> orgIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.dc.dc_project.mapper;
|
package com.dc.dc_project.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.dc.dc_project.model.dto.user.LoginDto;
|
import com.dc.dc_project.model.dto.user.LoginDto;
|
||||||
import com.dc.dc_project.model.dto.user.UserReqDto;
|
import com.dc.dc_project.model.dto.user.UserReqDto;
|
||||||
import com.dc.dc_project.model.pojo.User;
|
import com.dc.dc_project.model.pojo.User;
|
||||||
@@ -17,7 +18,7 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public interface UserMapper extends BaseMapper<User> {
|
public interface UserMapper extends BaseMapper<User> {
|
||||||
|
|
||||||
List<UserVo> getUserListBySelf(@Param("userReqDto") UserReqDto userReqDto,@Param("pOrgId") Long pOrgId);
|
Page<UserVo> getUserListByAll(@Param("userReqDto") UserReqDto userReqDto, @Param("orgIds") List<Long> orgIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
26
src/main/java/com/dc/dc_project/model/dto/PersonnelDto.java
Normal file
26
src/main/java/com/dc/dc_project/model/dto/PersonnelDto.java
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
package com.dc.dc_project.model.dto;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.dc.dc_project.model.pojo.Personnel;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PersonnelDto extends Page<Personnel> {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String contactPhone;
|
||||||
|
|
||||||
|
private String email;
|
||||||
|
|
||||||
|
private Integer sex;
|
||||||
|
|
||||||
|
private String mainResponsibility;
|
||||||
|
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
private Long orgId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.dc.dc_project.model.dto.user;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserAddDto {
|
||||||
|
|
||||||
|
private Long personnel_id;
|
||||||
|
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
private String email;
|
||||||
|
|
||||||
|
private String remark;
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.dc.dc_project.model.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PersonnelListVo {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String sex;
|
||||||
|
|
||||||
|
private String contactPhone;
|
||||||
|
|
||||||
|
private String email;
|
||||||
|
|
||||||
|
private String mainResponsibility;
|
||||||
|
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
private String avatar;
|
||||||
|
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
private Long orgId;
|
||||||
|
|
||||||
|
private String orgName;
|
||||||
|
|
||||||
|
private Long positionId;
|
||||||
|
|
||||||
|
private String positionName;
|
||||||
|
|
||||||
|
private Long userId;
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.dc.dc_project.service;
|
package com.dc.dc_project.service;
|
||||||
|
|
||||||
|
import com.dc.dc_project.common.ResponseResult;
|
||||||
|
import com.dc.dc_project.model.dto.PersonnelDto;
|
||||||
import com.dc.dc_project.model.pojo.Personnel;
|
import com.dc.dc_project.model.pojo.Personnel;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
@@ -16,4 +18,12 @@ public interface PersonnelService extends IService<Personnel> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Personnel getOneByUserId(Long userId);
|
Personnel getOneByUserId(Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取人员列表
|
||||||
|
* @param personnelDto
|
||||||
|
* @param userId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ResponseResult getList(PersonnelDto personnelDto, Long userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.dc.dc_project.service;
|
|||||||
|
|
||||||
import com.dc.dc_project.common.ResponseResult;
|
import com.dc.dc_project.common.ResponseResult;
|
||||||
import com.dc.dc_project.model.dto.user.LoginDto;
|
import com.dc.dc_project.model.dto.user.LoginDto;
|
||||||
|
import com.dc.dc_project.model.dto.user.UserAddDto;
|
||||||
import com.dc.dc_project.model.dto.user.UserReqDto;
|
import com.dc.dc_project.model.dto.user.UserReqDto;
|
||||||
import com.dc.dc_project.model.pojo.RecordResult;
|
import com.dc.dc_project.model.pojo.RecordResult;
|
||||||
import com.dc.dc_project.model.pojo.User;
|
import com.dc.dc_project.model.pojo.User;
|
||||||
@@ -28,7 +29,7 @@ public interface UserService extends IService<User> {
|
|||||||
* 获取用户信息
|
* 获取用户信息
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ResponseResult getUserInfo();
|
ResponseResult getUserInfo(Long userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户列表
|
* 用户列表
|
||||||
@@ -37,4 +38,10 @@ public interface UserService extends IService<User> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ResponseResult UserList(UserReqDto userReqDto, Long userId);
|
ResponseResult UserList(UserReqDto userReqDto, Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人员新增用户
|
||||||
|
* @param user
|
||||||
|
*/
|
||||||
|
ResponseResult save(UserAddDto user);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,8 @@ public class OrgServiceImpl extends ServiceImpl<OrgMapper, Org>
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Long> getCListByOrgId(Long pOrgId) {
|
public List<Long> getCListByOrgId(Long pOrgId) {
|
||||||
List< Long> cList = baseMapper.getCListByOrgId(pOrgId);
|
List<Long> cList = baseMapper.getCListByOrgId(pOrgId);
|
||||||
|
return cList;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,28 @@
|
|||||||
package com.dc.dc_project.service.impl;
|
package com.dc.dc_project.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
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.dc.dc_project.common.ResponseResult;
|
||||||
|
import com.dc.dc_project.enums.DataScopeType;
|
||||||
|
import com.dc.dc_project.enums.IsDeleted;
|
||||||
|
import com.dc.dc_project.mapper.OrgMapper;
|
||||||
|
import com.dc.dc_project.model.dto.PersonnelDto;
|
||||||
|
import com.dc.dc_project.model.pojo.Org;
|
||||||
import com.dc.dc_project.model.pojo.Personnel;
|
import com.dc.dc_project.model.pojo.Personnel;
|
||||||
|
import com.dc.dc_project.model.vo.PersonnelListVo;
|
||||||
|
import com.dc.dc_project.model.vo.PersonnelVo;
|
||||||
|
import com.dc.dc_project.service.OrgService;
|
||||||
import com.dc.dc_project.service.PersonnelService;
|
import com.dc.dc_project.service.PersonnelService;
|
||||||
import com.dc.dc_project.mapper.PersonnelMapper;
|
import com.dc.dc_project.mapper.PersonnelMapper;
|
||||||
|
import com.dc.dc_project.utils.PermissionUtils;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ADMIN
|
* @author ADMIN
|
||||||
* @description 针对表【sys_personnel(人员台账表)】的数据库操作Service实现
|
* @description 针对表【sys_personnel(人员台账表)】的数据库操作Service实现
|
||||||
@@ -15,9 +30,15 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
||||||
public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, Personnel>
|
public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, Personnel>
|
||||||
implements PersonnelService{
|
implements PersonnelService{
|
||||||
|
|
||||||
|
private final PersonnelMapper personnelMapper;
|
||||||
|
private final OrgMapper orgMapper;
|
||||||
|
private final OrgService orgService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Personnel getOneByUserId(Long userId) {
|
public Personnel getOneByUserId(Long userId) {
|
||||||
LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<Personnel>()
|
LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<Personnel>()
|
||||||
@@ -25,6 +46,27 @@ public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, Personnel
|
|||||||
.eq(Personnel::getIsDeleted, 0);
|
.eq(Personnel::getIsDeleted, 0);
|
||||||
return this.getOne(queryWrapper);
|
return this.getOne(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResponseResult getList(PersonnelDto personnelDto, Long userId) {
|
||||||
|
log.info("获取人员列表");
|
||||||
|
DataScopeType dataScopeType = DataScopeType.getByLevel(PermissionUtils.getOrDefault(DataScopeType.CUSTOM.getLevel()));
|
||||||
|
|
||||||
|
Personnel personnel = this.getOneByUserId(userId);
|
||||||
|
Long pOrgId = orgMapper.getOrgIdByPersonnelId(personnel.getId());
|
||||||
|
List<Long> orgIds = null;
|
||||||
|
if (dataScopeType != null) {
|
||||||
|
orgIds = switch (dataScopeType) {
|
||||||
|
case SELF -> orgService.getCListByOrgId(pOrgId);
|
||||||
|
case ALL -> orgService.list(new LambdaQueryWrapper<Org>().eq(Org::getIsDeleted, IsDeleted.NO.getCode())).stream().map(Org::getId).toList();
|
||||||
|
default -> List.of(pOrgId);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
Page<PersonnelListVo> page = baseMapper.getPage(personnelDto, orgIds);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,15 @@ package com.dc.dc_project.service.impl;
|
|||||||
|
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
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.dc.dc_project.common.ResponseResult;
|
import com.dc.dc_project.common.ResponseResult;
|
||||||
import com.dc.dc_project.common.ResultCode;
|
import com.dc.dc_project.common.ResultCode;
|
||||||
import com.dc.dc_project.enums.DataScopeType;
|
import com.dc.dc_project.enums.DataScopeType;
|
||||||
|
import com.dc.dc_project.enums.IsDeleted;
|
||||||
import com.dc.dc_project.mapper.*;
|
import com.dc.dc_project.mapper.*;
|
||||||
import com.dc.dc_project.model.dto.user.LoginDto;
|
import com.dc.dc_project.model.dto.user.LoginDto;
|
||||||
|
import com.dc.dc_project.model.dto.user.UserAddDto;
|
||||||
import com.dc.dc_project.model.dto.user.UserReqDto;
|
import com.dc.dc_project.model.dto.user.UserReqDto;
|
||||||
import com.dc.dc_project.model.pojo.*;
|
import com.dc.dc_project.model.pojo.*;
|
||||||
import com.dc.dc_project.model.vo.PersonnelVo;
|
import com.dc.dc_project.model.vo.PersonnelVo;
|
||||||
@@ -24,9 +27,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.dc.dc_project.model.vo.PersonnelVo.toVo;
|
import static com.dc.dc_project.model.vo.PersonnelVo.toVo;
|
||||||
|
|
||||||
@@ -89,9 +94,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseResult getUserInfo() {
|
public ResponseResult getUserInfo(Long userId) {
|
||||||
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<User>()
|
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<User>()
|
||||||
.eq(User::getId, StpUtil.getLoginIdAsLong())
|
.eq(User::getId, userId)
|
||||||
.eq(User::getIsDeleted, 0)
|
.eq(User::getIsDeleted, 0)
|
||||||
.eq(User::getStatus, 1);
|
.eq(User::getStatus, 1);
|
||||||
User user = baseMapper.selectOne(queryWrapper);
|
User user = baseMapper.selectOne(queryWrapper);
|
||||||
@@ -113,23 +118,27 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
|
|||||||
Personnel personnel = personnelService.getOneByUserId(userId);
|
Personnel personnel = personnelService.getOneByUserId(userId);
|
||||||
Long pOrgId = orgMapper.getOrgIdByPersonnelId(personnel.getId());
|
Long pOrgId = orgMapper.getOrgIdByPersonnelId(personnel.getId());
|
||||||
|
|
||||||
|
// 管理员
|
||||||
|
if(pOrgId == null && StpUtil.getRoleList().get(0).equals("admin")){
|
||||||
|
pOrgId = 1L;
|
||||||
|
dataScopeType = DataScopeType.ALL;
|
||||||
|
}
|
||||||
|
|
||||||
List<Long> orgIds = new ArrayList<>();
|
List<Long> orgIds = new ArrayList<>();
|
||||||
|
|
||||||
List<UserVo> userVos = new ArrayList<>();
|
Page<UserVo> userVos;
|
||||||
|
|
||||||
if (dataScopeType != null) {
|
if (dataScopeType != null) {
|
||||||
switch (dataScopeType){
|
switch (dataScopeType){
|
||||||
case DataScopeType.SELF:
|
case SELF:
|
||||||
orgIds.addAll(orgService.getCListByOrgId(pOrgId));
|
orgIds.addAll(orgService.getCListByOrgId(pOrgId));
|
||||||
break;
|
break;
|
||||||
case DataScopeType.ALL :
|
case ALL :
|
||||||
userVos = baseMapper.getUserListByAll(userReqDto);
|
orgIds.addAll(orgService.list(new LambdaQueryWrapper<Org>().eq(Org::getIsDeleted, IsDeleted.NO.getCode())).stream().map(Org::getId).toList());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if(userReqDto.getOrgId() != null && !userReqDto.getOrgId().equals(pOrgId)){
|
orgIds.add(pOrgId);
|
||||||
return ResponseResult.error(ResultCode.NO_PERMISSION);
|
break;
|
||||||
}
|
|
||||||
userVos = baseMapper.getUserListByCustom(userReqDto, pOrgId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -138,8 +147,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
|
|||||||
|
|
||||||
userVos = baseMapper.getUserListByAll(userReqDto, orgIds);
|
userVos = baseMapper.getUserListByAll(userReqDto, orgIds);
|
||||||
|
|
||||||
|
return ResponseResult.success(userVos);
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
@Override
|
||||||
|
public ResponseResult save(UserAddDto userDto) {
|
||||||
|
User user = new User();
|
||||||
|
user.setUsername(userDto.getUsername());
|
||||||
|
user.setPassword(userDto.getPassword());
|
||||||
|
user.setPhone(userDto.getPhone());
|
||||||
|
user.setStatus(1);
|
||||||
|
user.setCreatedAt(LocalDateTime.now());
|
||||||
|
user.setUpdatedAt(LocalDateTime.now());
|
||||||
|
return this.save(user) ? ResponseResult.success() : ResponseResult.error();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,9 +10,13 @@
|
|||||||
remark,created_at,updated_at,is_deleted
|
remark,created_at,updated_at,is_deleted
|
||||||
</sql>
|
</sql>
|
||||||
<select id="getOrgIdByPersonnelId" resultType="java.lang.Long">
|
<select id="getOrgIdByPersonnelId" resultType="java.lang.Long">
|
||||||
select so.id from sys_org so where id == (select org_id from sys_personnel_org where personnel_id=#{personnelId})
|
select so.id from sys_org so where id = (select org_id from sys_personnel_org where personnel_id=#{personnelId})
|
||||||
</select>
|
</select>
|
||||||
<select id="getCListByOrgId" resultType="java.lang.Long">
|
<select id="getCListByOrgId" resultType="java.lang.Long">
|
||||||
select id from sys_org where parent_id=#{orgId}
|
with recursive org as (
|
||||||
|
SELECT id FROM sys_org where sys_org.id = #{orgId}
|
||||||
|
UNION ALL SELECT o.id from sys_org o
|
||||||
|
inner join org or1 on o.parent_id = or1.id
|
||||||
|
) SELECT id from org;
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -14,4 +14,22 @@
|
|||||||
<select id="getVoByUserId" resultType="com.dc.dc_project.model.vo.PersonnelVo">
|
<select id="getVoByUserId" resultType="com.dc.dc_project.model.vo.PersonnelVo">
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getPage" resultType="com.dc.dc_project.model.vo.PersonnelListVo">
|
||||||
|
select
|
||||||
|
sp.id,
|
||||||
|
so.org_id,
|
||||||
|
sp.user_id,
|
||||||
|
sp.name,
|
||||||
|
sp.position,
|
||||||
|
sp.contact_phone,
|
||||||
|
sp.email,
|
||||||
|
sp.main_responsibility,
|
||||||
|
sp.remark,
|
||||||
|
sp.status,
|
||||||
|
From sys_personnel sp
|
||||||
|
left join sys_personnel_position spp on sp.id = spp.personnel_id
|
||||||
|
left join sys_position sps on spp.position_id = sps.id
|
||||||
|
left join sys_personnel_org spo on sp.id = spo.personnel_id
|
||||||
|
left join sys_org so on so.id = spo.org_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -4,28 +4,6 @@
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.dc.dc_project.mapper.UserMapper">
|
<mapper namespace="com.dc.dc_project.mapper.UserMapper">
|
||||||
|
|
||||||
<resultMap id="BaseResultMap" type="com.dc.dc_project.model.pojo.User">
|
|
||||||
<id property="id" column="id" />
|
|
||||||
<result property="username" column="username" />
|
|
||||||
<result property="password" column="password" />
|
|
||||||
<result property="real_name" column="real_name" />
|
|
||||||
<result property="gender" column="gender" />
|
|
||||||
<result property="phone" column="phone" />
|
|
||||||
<result property="email" column="email" />
|
|
||||||
<result property="org_id" column="org_id" />
|
|
||||||
<result property="status" column="status" />
|
|
||||||
<result property="last_login_time" column="last_login_time" />
|
|
||||||
<result property="remark" column="remark" />
|
|
||||||
<result property="created_at" column="created_at" />
|
|
||||||
<result property="updated_at" column="updated_at" />
|
|
||||||
<result property="is_deleted" column="is_deleted" />
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
|
||||||
id,username,password,real_name,gender,phone,
|
|
||||||
email,org_id,status,last_login_time,remark,
|
|
||||||
created_at,updated_at,is_deleted
|
|
||||||
</sql>
|
|
||||||
<select id="getUserListBySelf" resultType="com.dc.dc_project.model.vo.UserVo">
|
<select id="getUserListBySelf" resultType="com.dc.dc_project.model.vo.UserVo">
|
||||||
SELECT
|
SELECT
|
||||||
u.id,
|
u.id,
|
||||||
@@ -63,4 +41,42 @@
|
|||||||
and u.is_deleted = 0
|
and u.is_deleted = 0
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getUserListByAll" resultType="com.dc.dc_project.model.vo.UserVo">
|
||||||
|
SELECT
|
||||||
|
u.id,
|
||||||
|
u.username,
|
||||||
|
p.name as real_name,
|
||||||
|
p.sex,
|
||||||
|
u.phone,
|
||||||
|
p.email,
|
||||||
|
o.id as org_id,
|
||||||
|
u.status,
|
||||||
|
u.last_login_time,
|
||||||
|
u.remark,
|
||||||
|
p.id AS personnel_id,
|
||||||
|
o.name AS org_name
|
||||||
|
FROM sys_user u
|
||||||
|
LEFT JOIN sys_personnel p ON u.id = p.user_id
|
||||||
|
LEFT JOIN sys_personnel_org spo ON p.id = spo.personnel_id
|
||||||
|
LEFT JOIN sys_org o ON spo.org_id = o.id
|
||||||
|
<where>
|
||||||
|
<if test="userReqDto.name != null">
|
||||||
|
AND (p.name LIKE CONCAT('%',#{userReqDto.name},'%') OR u.username LIKE CONCAT('%',#{userReqDto.name},'%'))
|
||||||
|
</if>
|
||||||
|
<if test="userReqDto.phone != null">
|
||||||
|
AND u.phone LIKE CONCAT('%',#{userReqDto.phone},'%')
|
||||||
|
</if>
|
||||||
|
<if test="userReqDto.email != null">
|
||||||
|
AND p.email LIKE CONCAT('%',#{userReqDto.email},'%')
|
||||||
|
</if>
|
||||||
|
<if test="userReqDto.status != null">
|
||||||
|
AND u.status = #{userReqDto.status}
|
||||||
|
</if>
|
||||||
|
<if test="orgIds != null">
|
||||||
|
AND o.id in (#{orgIds})
|
||||||
|
</if>
|
||||||
|
and u.is_deleted = 0
|
||||||
|
</where>
|
||||||
|
limit #{userReqDto.current},#{userReqDto.size}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user