用户、员工修改
This commit is contained in:
@@ -33,7 +33,14 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/getUserInfo")
|
@PostMapping("/getUserInfo")
|
||||||
ResponseResult getUserInfo() {
|
@DcCheckPermission("system:user:detail")
|
||||||
|
ResponseResult getUserInfo(@RequestBody UserInfoDto userInfoDto) {
|
||||||
|
Long userId = StpUtil.getLoginIdAsLong();
|
||||||
|
return userService.getUserInfo(userId, userInfoDto.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/userInfo")
|
||||||
|
ResponseResult UserInfo() {
|
||||||
Long userId = StpUtil.getLoginIdAsLong();
|
Long userId = StpUtil.getLoginIdAsLong();
|
||||||
return userService.getUserInfo(userId);
|
return userService.getUserInfo(userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.dc.dc_project.model.dto.user;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserInfoDto {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
}
|
||||||
@@ -3,6 +3,8 @@ package com.dc.dc_project.model.vo;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class PersonnelListVo {
|
public class PersonnelListVo {
|
||||||
|
|
||||||
@@ -28,9 +30,7 @@ public class PersonnelListVo {
|
|||||||
|
|
||||||
private String orgName;
|
private String orgName;
|
||||||
|
|
||||||
private Long positionId;
|
private List<PositionVo> positionList;
|
||||||
|
|
||||||
private String positionName;
|
|
||||||
|
|
||||||
private Long userId;
|
private Long userId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,12 @@ public interface UserService extends IService<User> {
|
|||||||
*/
|
*/
|
||||||
ResponseResult getUserInfo(Long userId);
|
ResponseResult getUserInfo(Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户信息(查询别人)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ResponseResult getUserInfo(Long pId, Long userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户列表
|
* 用户列表
|
||||||
* @param userReqDto
|
* @param userReqDto
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.dc.dc_project.service.impl;
|
package com.dc.dc_project.service.impl;
|
||||||
|
|
||||||
|
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.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -24,7 +25,10 @@ import org.springframework.stereotype.Service;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ADMIN
|
* @author ADMIN
|
||||||
@@ -61,7 +65,13 @@ public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, Personnel
|
|||||||
Personnel personnel = this.getOneByUserId(userId);
|
Personnel personnel = this.getOneByUserId(userId);
|
||||||
Long pOrgId = orgMapper.getOrgIdByPersonnelId(personnel.getId());
|
Long pOrgId = orgMapper.getOrgIdByPersonnelId(personnel.getId());
|
||||||
if (pOrgId == null) {
|
if (pOrgId == null) {
|
||||||
return ResponseResult.error("无归属组织,无");
|
//管理员
|
||||||
|
if (StpUtil.hasRole(userId, "admin")) {
|
||||||
|
pOrgId = 1L;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return ResponseResult.error("账号无归属组织");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
List<Long> orgIds = null;
|
List<Long> orgIds = null;
|
||||||
if (dataScopeType != null) {
|
if (dataScopeType != null) {
|
||||||
@@ -70,6 +80,14 @@ public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, Personnel
|
|||||||
case ALL -> orgService.list(new LambdaQueryWrapper<Org>().eq(Org::getIsDeleted, IsDeleted.NO.getCode())).stream().map(Org::getId).toList();
|
case ALL -> orgService.list(new LambdaQueryWrapper<Org>().eq(Org::getIsDeleted, IsDeleted.NO.getCode())).stream().map(Org::getId).toList();
|
||||||
default -> List.of(pOrgId);
|
default -> List.of(pOrgId);
|
||||||
};
|
};
|
||||||
|
log.info("数据权限范围:{}", orgIds);
|
||||||
|
if (personnelDto.getOrgId() != null) {
|
||||||
|
if (!orgIds.contains(personnelDto.getOrgId())) {
|
||||||
|
return ResponseResult.error("无权限查看组织");
|
||||||
|
}
|
||||||
|
orgIds.clear();
|
||||||
|
orgIds = Stream.of(personnelDto.getOrgId()).collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Page<PersonnelListVo> page = baseMapper.getPage(personnelDto, orgIds);
|
Page<PersonnelListVo> page = baseMapper.getPage(personnelDto, orgIds);
|
||||||
|
|||||||
@@ -111,6 +111,24 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResponseResult getUserInfo(Long pId, Long userId) {
|
||||||
|
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<User>()
|
||||||
|
.eq(User::getId, userId)
|
||||||
|
.eq(User::getIsDeleted, 0)
|
||||||
|
.eq(User::getStatus, 1);
|
||||||
|
User user = baseMapper.selectOne(queryWrapper);
|
||||||
|
Personnel personnel = personnelMapper.selectOne(new LambdaQueryWrapper<Personnel>().eq(Personnel::getUserId, user.getId()));
|
||||||
|
List<Role> roles = roleMapper.getRolesByUserId(user.getId());
|
||||||
|
List<PositionVo> positions = positionMapper.getPositionsByPId(personnel.getId());
|
||||||
|
|
||||||
|
UserInfoVo userInfoVo = UserInfoVo.personnelToUserInfoVo(personnel);
|
||||||
|
userInfoVo.setRoles(roles);
|
||||||
|
userInfoVo.setPositionVos(positions);
|
||||||
|
|
||||||
|
return ResponseResult.success(userInfoVo);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseResult UserList(UserReqDto userReqDto, Long userId) {
|
public ResponseResult UserList(UserReqDto userReqDto, Long userId) {
|
||||||
int level = PermissionUtils.getOrDefault(DataScopeType.CUSTOM.getLevel());
|
int level = PermissionUtils.getOrDefault(DataScopeType.CUSTOM.getLevel());
|
||||||
|
|||||||
@@ -17,19 +17,53 @@
|
|||||||
<select id="getPage" resultType="com.dc.dc_project.model.vo.PersonnelListVo">
|
<select id="getPage" resultType="com.dc.dc_project.model.vo.PersonnelListVo">
|
||||||
select
|
select
|
||||||
sp.id,
|
sp.id,
|
||||||
so.org_id,
|
so.id as orgId,
|
||||||
|
so.name as orgName,
|
||||||
sp.user_id,
|
sp.user_id,
|
||||||
sp.name,
|
sp.name,
|
||||||
sp.position,
|
sp.sex,
|
||||||
|
sp.avatar,
|
||||||
sp.contact_phone,
|
sp.contact_phone,
|
||||||
sp.email,
|
sp.email,
|
||||||
sp.main_responsibility,
|
sp.main_responsibility,
|
||||||
sp.remark,
|
sp.remark,
|
||||||
sp.status,
|
sp.status,
|
||||||
|
sp.user_id,
|
||||||
|
sp.created_by,
|
||||||
|
sp.created_at,
|
||||||
|
sp.updated_at
|
||||||
From sys_personnel sp
|
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_personnel_org spo on sp.id = spo.personnel_id
|
||||||
left join sys_org so on so.id = spo.org_id
|
left join sys_org so on so.id = spo.org_id
|
||||||
|
<where>
|
||||||
|
<if test="personnelDto.name != null">
|
||||||
|
sp.name like concat('%',#{personnelDto.name},'%')
|
||||||
|
</if>
|
||||||
|
<if test="personnelDto.contactPhone != null">
|
||||||
|
and sp.contact_phone like concat('%',#{personnelDto.contactPhone},'%')
|
||||||
|
</if>
|
||||||
|
<if test="personnelDto.email != null">
|
||||||
|
and sp.email like concat('%',#{personnelDto.email},'%')
|
||||||
|
</if>
|
||||||
|
<if test="personnelDto.sex != null">
|
||||||
|
and sp.sex = #{personnelDto.sex}
|
||||||
|
</if>
|
||||||
|
<if test="personnelDto.mainResponsibility != null">
|
||||||
|
and sp.main_responsibility like concat('%',#{personnelDto.mainResponsibility},'%')
|
||||||
|
</if>
|
||||||
|
<if test="personnelDto.remark != null">
|
||||||
|
and sp.remark like concat('%',#{personnelDto.remark},'%')
|
||||||
|
</if>
|
||||||
|
<if test="personnelDto.status != null">
|
||||||
|
and sp.status = #{personnelDto.status}
|
||||||
|
</if>
|
||||||
|
<if test="orgIds != null">
|
||||||
|
and so.id in
|
||||||
|
<foreach item="item" index="index" collection="orgIds" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
AND sp.is_deleted = 0
|
||||||
|
</where>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user