diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/domain/User.java b/yshop-system/src/main/java/co/yixiang/modules/system/domain/User.java index 4f1bcb40..cc118ea9 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/domain/User.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/domain/User.java @@ -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 roles; - + @TableField(exist = false) + private Job job; + @TableField(exist = false) + private Dept dept; /** 密码 */ private String password; diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/RoleService.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/RoleService.java index 58171c20..e4626495 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/RoleService.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/RoleService.java @@ -86,4 +86,6 @@ public interface RoleService extends BaseService{ * @return 权限信息 */ Collection mapToGrantedAuthorities(UserDto user); + + Set findByDeptIds(Set deptIds); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/UserDto.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/UserDto.java index 73aca535..93aaf9c6 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/UserDto.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/UserDto.java @@ -44,7 +44,7 @@ public class UserDto implements Serializable { @JsonIgnore private String password; - private Date lastPasswordResetTime; + private Timestamp lastPasswordResetTime; @ApiModelProperty(hidden = true) private Set roles; diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java index 9a51b8df..1fe8c0ae 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/RoleServiceImpl.java @@ -192,4 +192,9 @@ public class RoleServiceImpl extends BaseServiceImpl implement return permissions.stream().map(SimpleGrantedAuthority::new) .collect(Collectors.toList()); } + + @Override + public Set findByDeptIds(Set deptIds) { + return roleMapper.findByDeptIds(deptIds); + } } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java index 81770f20..a0512c0e 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/SysUserServiceImpl.java @@ -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 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 imp @Override //@Cacheable public List queryAll(UserQueryCriteria criteria){ - return baseMapper.selectList(QueryHelpPlus.getPredicate(User.class, criteria)); + List 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; } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/RoleMapper.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/RoleMapper.java index 8882d485..e14c8782 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/RoleMapper.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/RoleMapper.java @@ -46,4 +46,7 @@ public interface RoleMapper extends CoreMapper { 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 selectListByUserId(@Param("id") Long id); + + @Select("") + Set findByDeptIds(@Param("deptIds")Set deptIds); }