From c161cb8523621f457feeb0c2a88d576cbffc7f6a Mon Sep 17 00:00:00 2001 From: xuwenbo <717567226@qq.com> Date: Sat, 16 May 2020 09:54:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90=E6=94=B9?= =?UTF-8?q?=E9=80=A0=E5=BC=95=E8=B5=B7=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/yixiang/modules/system/domain/Job.java | 2 + .../modules/system/service/dto/DeptDto.java | 4 ++ .../modules/system/service/dto/JobDto.java | 23 +++++---- .../modules/system/service/dto/UserDto.java | 50 ++++++++----------- .../system/service/impl/DeptServiceImpl.java | 7 +-- .../system/service/impl/JobServiceImpl.java | 24 ++++++++- .../service/impl/SysUserServiceImpl.java | 2 - .../system/service/mapper/DeptMapper.java | 5 +- .../service/mapper/DictDetailMapper.java | 2 +- 9 files changed, 71 insertions(+), 48 deletions(-) diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/domain/Job.java b/yshop-system/src/main/java/co/yixiang/modules/system/domain/Job.java index 426a0309..593a00dd 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/domain/Job.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/domain/Job.java @@ -40,6 +40,8 @@ public class Job implements Serializable { //@NotNull private Boolean enabled; + @TableField(exist = false) + private Dept dept; /** 岗位排序 */ //@NotNull diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/DeptDto.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/DeptDto.java index aa64dd7d..32028053 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/DeptDto.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/DeptDto.java @@ -36,4 +36,8 @@ public class DeptDto implements Serializable { /** 创建日期 */ private Timestamp createTime; + + public String getLabel() { + return name; + } } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/JobDto.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/JobDto.java index 18316c7e..2cb767b8 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/JobDto.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/dto/JobDto.java @@ -19,21 +19,22 @@ import java.io.Serializable; @Data public class JobDto implements Serializable { - /** 岗位ID */ private Long id; - /** 岗位名称 */ - private String name; - - /** 岗位状态 */ - private Boolean enabled; - - /** 岗位排序 */ private Long sort; - /** 部门ID */ - private Long deptId; + private String name; + + private Boolean enabled; + + private DeptDto dept; + + private String deptSuperiorName; - /** 创建日期 */ private Timestamp createTime; + +// public JobDto(String name, Boolean enabled) { +// this.name = name; +// this.enabled = enabled; +// } } 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 df7f5f96..73aca535 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 @@ -8,9 +8,13 @@ */ package co.yixiang.modules.system.service.dto; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.sql.Timestamp; import java.io.Serializable; +import java.util.Date; +import java.util.Set; /** * @author hupeng @@ -19,48 +23,38 @@ import java.io.Serializable; @Data public class UserDto implements Serializable { - /** ID */ + + @ApiModelProperty(hidden = true) private Long id; - /** 头像 */ - private Long avatarId; + private String username; + + private String nickName; + + private String sex; private String avatar; - /** 邮箱 */ private String email; - /** 状态:1启用、0禁用 */ - private Boolean enabled; - - /** 密码 */ - private String password; - - /** 用户名 */ - private String username; - - /** 部门名称 */ - private Long deptId; - - /** 手机号码 */ private String phone; - /** 岗位名称 */ - private Long jobId; + private Boolean enabled; - /** 创建日期 */ - private Timestamp createTime; + @JsonIgnore + private String password; - /** 最后修改密码的日期 */ - private Timestamp lastPasswordResetTime; + private Date lastPasswordResetTime; - /** 昵称 */ - private String nickName; + @ApiModelProperty(hidden = true) + private Set roles; + + @ApiModelProperty(hidden = true) + private JobSmallDto job; private DeptSmallDto dept; - private JobSmallDto job; + private Long deptId; - /** 性别 */ - private String sex; + private Timestamp createTime; } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DeptServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DeptServiceImpl.java index 530e3e15..3f657a52 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DeptServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/DeptServiceImpl.java @@ -55,6 +55,8 @@ public class DeptServiceImpl extends BaseServiceImpl implement private final IGenerator generator; + private final DeptMapper deptMapper; + @Override //@Cacheable public Map queryAll(DeptQueryCriteria criteria, Pageable pageable) { @@ -95,7 +97,7 @@ public class DeptServiceImpl extends BaseServiceImpl implement * @return / */ @Override - @Cacheable(key = "#p0") +// @Cacheable(key = "#p0") public List findByPid(long pid) { DeptQueryCriteria criteria = new DeptQueryCriteria(); criteria.setPid(pid); @@ -180,7 +182,6 @@ public class DeptServiceImpl extends BaseServiceImpl implement */ @Override public Set findByRoleIds(Long id) { - //todo - return null; + return deptMapper.findDeptByRoleId(id); } } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/JobServiceImpl.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/JobServiceImpl.java index eddb89be..f82aa1a8 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/JobServiceImpl.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/impl/JobServiceImpl.java @@ -10,6 +10,7 @@ package co.yixiang.modules.system.service.impl; import co.yixiang.modules.system.domain.Job; import co.yixiang.common.service.impl.BaseServiceImpl; +import co.yixiang.modules.system.service.DeptService; import lombok.AllArgsConstructor; import co.yixiang.dozer.service.IGenerator; import com.github.pagehelper.PageHelper; @@ -51,6 +52,8 @@ public class JobServiceImpl extends BaseServiceImpl implements J private final IGenerator generator; + private final DeptService deptService; + @Override //@Cacheable public Map queryAll(JobQueryCriteria criteria, Pageable pageable) { @@ -66,7 +69,25 @@ public class JobServiceImpl extends BaseServiceImpl implements J @Override //@Cacheable public List queryAll(JobQueryCriteria criteria){ - return baseMapper.selectList(QueryHelpPlus.getPredicate(Job.class, criteria)); + List jobList = baseMapper.selectList(QueryHelpPlus.getPredicate(Job.class, criteria)); + List jobScopeList = new ArrayList<>(); + if(criteria.getDeptIds().size()==0){ + for (Job job : jobList) { + job.setDept(deptService.getById(job.getDeptId())); + jobScopeList.add(job); + } + }else { + //断权限范围 + for (Long deptId : criteria.getDeptIds()) { + for (Job job : jobList) { + if(deptId ==job.getDeptId()){ + job.setDept(deptService.getById(job.getDeptId())); + jobScopeList.add(job); + } + } + } + } + return jobScopeList; } @@ -78,7 +99,6 @@ public class JobServiceImpl extends BaseServiceImpl implements J map.put("岗位名称", job.getName()); map.put("岗位状态", job.getEnabled()); map.put("岗位排序", job.getSort()); - map.put("部门ID", job.getDeptId()); map.put("创建日期", job.getCreateTime()); list.add(map); } 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 2d5e5d9d..81770f20 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 @@ -90,14 +90,12 @@ public class SysUserServiceImpl extends BaseServiceImpl imp List> list = new ArrayList<>(); for (UserDto user : all) { Map map = new LinkedHashMap<>(); - map.put("头像", user.getAvatarId()); map.put("邮箱", user.getEmail()); map.put("状态:1启用、0禁用", user.getEnabled()); map.put("密码", user.getPassword()); map.put("用户名", user.getUsername()); map.put("部门名称", user.getDeptId()); map.put("手机号码", user.getPhone()); - map.put("岗位名称", user.getJobId()); map.put("创建日期", user.getCreateTime()); map.put("最后修改密码的日期", user.getLastPasswordResetTime()); map.put("昵称", user.getNickName()); diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/DeptMapper.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/DeptMapper.java index b3d9aa77..919f2b5e 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/DeptMapper.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/DeptMapper.java @@ -26,6 +26,9 @@ import java.util.Set; @Mapper public interface DeptMapper extends CoreMapper { - @Select("select * from dept m LEFT JOIN roles_depts t on m.id= t.dept_id LEFT JOIN role r on r.id = t.role_id where r.id = #{roleId}") + @Select("select m.* from dept m LEFT JOIN roles_depts t on m.id= t.dept_id LEFT JOIN role r on r.id = t.role_id where r.id = ${roleId}") Set findDeptByRoleId(@Param("roleId") Long roleId); + + @Select("select * from dept m LEFT JOIN roles_depts t on m.id= t.dept_id LEFT JOIN role r on r.id = t.role_id where r.id = #{roleId}") + Set findDeptByRoleId(@Param("roleIds") Set roleId); } diff --git a/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/DictDetailMapper.java b/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/DictDetailMapper.java index f418b61c..6c3a7b54 100644 --- a/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/DictDetailMapper.java +++ b/yshop-system/src/main/java/co/yixiang/modules/system/service/mapper/DictDetailMapper.java @@ -26,6 +26,6 @@ import java.util.List; @Mapper public interface DictDetailMapper extends CoreMapper { - @Select("") + @Select("") List selectDictDetailList(@Param("label") String label,@Param("dictName") String dictName); }