修改权限改造引起的bug

This commit is contained in:
xuwenbo
2020-05-16 10:26:34 +08:00
parent c161cb8523
commit f575ebd79d
6 changed files with 34 additions and 6 deletions

View File

@ -15,6 +15,9 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.validation.constraints.*;
import java.sql.Timestamp;
import java.io.Serializable;
@ -50,7 +53,10 @@ public class User implements Serializable {
@TableField(exist = false)
private Set<Role> roles;
@TableField(exist = false)
private Job job;
@TableField(exist = false)
private Dept dept;
/** 密码 */
private String password;

View File

@ -86,4 +86,6 @@ public interface RoleService extends BaseService<Role>{
* @return 权限信息
*/
Collection<GrantedAuthority> mapToGrantedAuthorities(UserDto user);
Set<Role> findByDeptIds(Set<Long> deptIds);
}

View File

@ -44,7 +44,7 @@ public class UserDto implements Serializable {
@JsonIgnore
private String password;
private Date lastPasswordResetTime;
private Timestamp lastPasswordResetTime;
@ApiModelProperty(hidden = true)
private Set<RoleSmallDto> roles;

View File

@ -192,4 +192,9 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, Role> implement
return permissions.stream().map(SimpleGrantedAuthority::new)
.collect(Collectors.toList());
}
@Override
public Set<Role> findByDeptIds(Set<Long> deptIds) {
return roleMapper.findByDeptIds(deptIds);
}
}

View File

@ -11,7 +11,8 @@ package co.yixiang.modules.system.service.impl;
import co.yixiang.modules.system.domain.User;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.modules.system.domain.UserAvatar;
import co.yixiang.modules.system.service.UserAvatarService;
import co.yixiang.modules.system.service.*;
import co.yixiang.modules.system.service.mapper.RoleMapper;
import co.yixiang.utils.SecurityUtils;
import co.yixiang.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -19,7 +20,6 @@ import co.yixiang.dozer.service.IGenerator;
import com.github.pagehelper.PageInfo;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.utils.FileUtil;
import co.yixiang.modules.system.service.UserService;
import co.yixiang.modules.system.service.dto.UserDto;
import co.yixiang.modules.system.service.dto.UserQueryCriteria;
import co.yixiang.modules.system.service.mapper.SysUserMapper;
@ -59,11 +59,17 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, User> imp
private final IGenerator generator;
private final SysUserMapper userMapper;
private final UserAvatarService userAvatarService;
private final JobService jobService;
private final DeptService deptService;
private final RoleMapper roleMapper;
public SysUserServiceImpl(IGenerator generator, SysUserMapper userMapper, UserAvatarService userAvatarService) {
public SysUserServiceImpl(IGenerator generator, SysUserMapper userMapper, UserAvatarService userAvatarService, JobService jobService, DeptService deptService, RoleService roleService, RoleMapper roleMapper) {
this.generator = generator;
this.userMapper = userMapper;
this.userAvatarService = userAvatarService;
this.jobService = jobService;
this.deptService = deptService;
this.roleMapper = roleMapper;
}
@Override
@ -81,7 +87,13 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, User> imp
@Override
//@Cacheable
public List<User> queryAll(UserQueryCriteria criteria){
return baseMapper.selectList(QueryHelpPlus.getPredicate(User.class, criteria));
List<User> userList = baseMapper.selectList(QueryHelpPlus.getPredicate(User.class, criteria));
for (User user : userList) {
user.setJob(jobService.getById(user.getJobId()));
user.setDept(deptService.getById(user.getDeptId()));
user.setRoles(roleMapper.findByUsers_Id(user.getId()));
}
return userList;
}

View File

@ -46,4 +46,7 @@ public interface RoleMapper extends CoreMapper<Role> {
void untiedMenu(@Param("id") Long id);
@Select("select m.* from role m LEFT JOIN users_roles t on m.id= t.role_id LEFT JOIN `user` r on r.id = t.user_id where r.id = #{id};")
List<Role> selectListByUserId(@Param("id") Long id);
@Select("")
Set<Role> findByDeptIds(@Param("deptIds")Set<Long> deptIds);
}