用户,部门去jpa
This commit is contained in:
@@ -44,22 +44,26 @@ public class BaseEntity implements Serializable {
|
|||||||
@CreatedBy
|
@CreatedBy
|
||||||
@Column(name = "create_by", updatable = false)
|
@Column(name = "create_by", updatable = false)
|
||||||
@ApiModelProperty(value = "创建人", hidden = true)
|
@ApiModelProperty(value = "创建人", hidden = true)
|
||||||
private String createBy;
|
private String create_name;
|
||||||
|
|
||||||
|
private Long create_id;
|
||||||
|
|
||||||
@LastModifiedBy
|
@LastModifiedBy
|
||||||
@Column(name = "update_by")
|
@Column(name = "update_by")
|
||||||
@ApiModelProperty(value = "更新人", hidden = true)
|
@ApiModelProperty(value = "更新人", hidden = true)
|
||||||
private String updatedBy;
|
private String update_optname;
|
||||||
|
|
||||||
|
private Long update_optid;
|
||||||
|
|
||||||
@CreationTimestamp
|
@CreationTimestamp
|
||||||
@Column(name = "create_time", updatable = false)
|
@Column(name = "create_time", updatable = false)
|
||||||
@ApiModelProperty(value = "创建时间", hidden = true)
|
@ApiModelProperty(value = "创建时间", hidden = true)
|
||||||
private Timestamp createTime;
|
private Timestamp create_time;
|
||||||
|
|
||||||
@UpdateTimestamp
|
@UpdateTimestamp
|
||||||
@Column(name = "update_time")
|
@Column(name = "update_time")
|
||||||
@ApiModelProperty(value = "更新时间", hidden = true)
|
@ApiModelProperty(value = "更新时间", hidden = true)
|
||||||
private Timestamp updateTime;
|
private Timestamp update_time;
|
||||||
|
|
||||||
/* 分组校验 */
|
/* 分组校验 */
|
||||||
public @interface Create {}
|
public @interface Create {}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class SecurityUtils {
|
|||||||
* @return 系统用户名称
|
* @return 系统用户名称
|
||||||
*/
|
*/
|
||||||
public static String getCurrentNickName() {
|
public static String getCurrentNickName() {
|
||||||
return getCurrentUser().getNickName();
|
return getCurrentUser().getPreson_name();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package org.nl.modules.common.utils.dto;
|
|||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.nl.modules.system.domain.User;
|
||||||
import org.nl.modules.system.service.dto.UserDto;
|
import org.nl.modules.system.service.dto.UserDto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -22,7 +23,7 @@ public class CurrentUser implements Serializable {
|
|||||||
//账号
|
//账号
|
||||||
private String username;
|
private String username;
|
||||||
//姓名
|
//姓名
|
||||||
private String nickName;
|
private String preson_name;
|
||||||
|
|
||||||
//用户详细信息
|
//用户详细信息
|
||||||
private UserDto user;
|
private UserDto user;
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import cn.hutool.core.util.IdUtil;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import com.wf.captcha.base.Captcha;
|
import com.wf.captcha.base.Captcha;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@@ -48,6 +49,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -110,7 +112,7 @@ public class AuthorizationController {
|
|||||||
CurrentUser user = new CurrentUser();
|
CurrentUser user = new CurrentUser();
|
||||||
user.setId(userInfo.getLong("user_id"));
|
user.setId(userInfo.getLong("user_id"));
|
||||||
user.setUsername(userInfo.getString("username"));
|
user.setUsername(userInfo.getString("username"));
|
||||||
user.setNickName(userInfo.getString("person_name"));
|
user.setPermissions(Lists.newArrayList(userInfo.getString("person_name")));
|
||||||
user.setUser(this.getById(userInfo.getLong("user_id")));
|
user.setUser(this.getById(userInfo.getLong("user_id")));
|
||||||
user.setPermissions(permissionList);
|
user.setPermissions(permissionList);
|
||||||
|
|
||||||
|
|||||||
@@ -32,23 +32,12 @@ import java.util.Set;
|
|||||||
* @author Zheng Jie
|
* @author Zheng Jie
|
||||||
* @date 2019-03-25
|
* @date 2019-03-25
|
||||||
*/
|
*/
|
||||||
@Entity
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Table(name="sys_dept")
|
|
||||||
public class Dept extends BaseEntity implements Serializable {
|
public class Dept extends BaseEntity implements Serializable {
|
||||||
|
|
||||||
@Id
|
private Long dept_id;
|
||||||
@Column(name = "dept_id")
|
|
||||||
@NotNull(groups = Update.class)
|
|
||||||
@ApiModelProperty(value = "ID", hidden = true)
|
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
@JsonIgnore
|
|
||||||
@ManyToMany(mappedBy = "depts")
|
|
||||||
@ApiModelProperty(value = "角色")
|
|
||||||
private Set<Role> roles;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "排序")
|
@ApiModelProperty(value = "排序")
|
||||||
private Integer deptSort;
|
private Integer deptSort;
|
||||||
@@ -67,21 +56,4 @@ public class Dept extends BaseEntity implements Serializable {
|
|||||||
@ApiModelProperty(value = "子节点数目", hidden = true)
|
@ApiModelProperty(value = "子节点数目", hidden = true)
|
||||||
private Integer subCount = 0;
|
private Integer subCount = 0;
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if (this == o) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (o == null || getClass() != o.getClass()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
Dept dept = (Dept) o;
|
|
||||||
return Objects.equals(id, dept.id) &&
|
|
||||||
Objects.equals(name, dept.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return Objects.hash(id, name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,24 +57,6 @@ public class Param extends BaseEntity implements Serializable {
|
|||||||
@ApiModelProperty(value = "is_delete")
|
@ApiModelProperty(value = "is_delete")
|
||||||
private String is_delete;
|
private String is_delete;
|
||||||
|
|
||||||
@Column(name = "create_by",nullable = false,updatable = false,insertable = false)
|
|
||||||
@NotBlank
|
|
||||||
@ApiModelProperty(value = "create_by")
|
|
||||||
private String create_by;
|
|
||||||
|
|
||||||
@Column(name = "create_time",nullable = false,updatable = false,insertable = false)
|
|
||||||
@NotBlank
|
|
||||||
@ApiModelProperty(value = "create_time")
|
|
||||||
private String create_time;
|
|
||||||
|
|
||||||
@Column(name = "update_by",updatable = false,insertable = false)
|
|
||||||
@ApiModelProperty(value = "update_by")
|
|
||||||
private String update_by;
|
|
||||||
|
|
||||||
@Column(name = "update_time",updatable = false,insertable = false)
|
|
||||||
@ApiModelProperty(value = "update_time")
|
|
||||||
private String update_time;
|
|
||||||
|
|
||||||
public void copy(Param source){
|
public void copy(Param source){
|
||||||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,40 +34,23 @@ import java.util.Set;
|
|||||||
* @author Zheng Jie
|
* @author Zheng Jie
|
||||||
* @date 2018-11-22
|
* @date 2018-11-22
|
||||||
*/
|
*/
|
||||||
@Entity
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Table(name="sys_user")
|
|
||||||
public class User extends BaseEntity implements Serializable {
|
public class User extends BaseEntity implements Serializable {
|
||||||
|
|
||||||
@Id
|
|
||||||
@Column(name = "user_id")
|
|
||||||
@NotNull(groups = Update.class)
|
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
||||||
@ApiModelProperty(value = "ID", hidden = true)
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
@ManyToMany
|
private Long user_id;
|
||||||
@ApiModelProperty(value = "用户角色")
|
|
||||||
@JoinTable(name = "sys_users_roles",
|
private String roles;
|
||||||
joinColumns = {@JoinColumn(name = "user_id",referencedColumnName = "user_id")},
|
|
||||||
inverseJoinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "role_id")})
|
private String depts;
|
||||||
private Set<Role> roles;
|
|
||||||
|
|
||||||
@OneToOne
|
|
||||||
@JoinColumn(name = "dept_id")
|
|
||||||
@ApiModelProperty(value = "用户部门")
|
|
||||||
@NotFound(action= NotFoundAction.IGNORE)
|
|
||||||
private Dept dept;
|
|
||||||
|
|
||||||
@NotBlank
|
|
||||||
@Column(unique = true)
|
|
||||||
@ApiModelProperty(value = "用户名称")
|
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@NotBlank
|
|
||||||
@ApiModelProperty(value = "用户昵称")
|
private String person_name;
|
||||||
private String nickName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "邮箱")
|
@ApiModelProperty(value = "邮箱")
|
||||||
private String email;
|
private String email;
|
||||||
@@ -89,7 +72,7 @@ public class User extends BaseEntity implements Serializable {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(value = "是否启用")
|
@ApiModelProperty(value = "是否启用")
|
||||||
private Boolean enabled;
|
private Boolean is_used;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否为admin账号", hidden = true)
|
@ApiModelProperty(value = "是否为admin账号", hidden = true)
|
||||||
private Boolean isAdmin = false;
|
private Boolean isAdmin = false;
|
||||||
@@ -98,21 +81,4 @@ public class User extends BaseEntity implements Serializable {
|
|||||||
@ApiModelProperty(value = "最后修改密码的时间", hidden = true)
|
@ApiModelProperty(value = "最后修改密码的时间", hidden = true)
|
||||||
private Date pwdResetTime;
|
private Date pwdResetTime;
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if (this == o) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (o == null || getClass() != o.getClass()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
User user = (User) o;
|
|
||||||
return Objects.equals(id, user.id) &&
|
|
||||||
Objects.equals(username, user.username);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return Objects.hash(id, username);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public class DeptController {
|
|||||||
@PostMapping
|
@PostMapping
|
||||||
@SaCheckPermission("dept:add")
|
@SaCheckPermission("dept:add")
|
||||||
public ResponseEntity<Object> create(@Validated @RequestBody Dept resources){
|
public ResponseEntity<Object> create(@Validated @RequestBody Dept resources){
|
||||||
if (resources.getId() != null) {
|
if (resources.getDept_id() != null) {
|
||||||
throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID");
|
throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID");
|
||||||
}
|
}
|
||||||
deptService.create(resources);
|
deptService.create(resources);
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public class UserController {
|
|||||||
@ApiOperation("修改用户:个人中心")
|
@ApiOperation("修改用户:个人中心")
|
||||||
@PutMapping(value = "center")
|
@PutMapping(value = "center")
|
||||||
public ResponseEntity<Object> center(@Validated(User.Update.class) @RequestBody User resources){
|
public ResponseEntity<Object> center(@Validated(User.Update.class) @RequestBody User resources){
|
||||||
if(!resources.getId().equals(StpUtil.getLoginIdAsLong())){
|
if(!resources.getUser_id().equals(StpUtil.getLoginIdAsLong())){
|
||||||
throw new BadRequestException("不能修改他人资料");
|
throw new BadRequestException("不能修改他人资料");
|
||||||
}
|
}
|
||||||
userService.updateCenter(resources);
|
userService.updateCenter(resources);
|
||||||
@@ -153,10 +153,10 @@ public class UserController {
|
|||||||
throw new BadRequestException("角色权限不足,不能删除:" + userService.findById(id).getUsername());
|
throw new BadRequestException("角色权限不足,不能删除:" + userService.findById(id).getUsername());
|
||||||
}
|
}
|
||||||
// 删除缓存信息
|
// 删除缓存信息
|
||||||
UserDto userDto = userService.findById(id);
|
User userDto = userService.findById(id);
|
||||||
redisUtils.del("data::user:" + userDto.getId());
|
redisUtils.del("data::user:" + userDto.getUser_id());
|
||||||
redisUtils.del("menu::user:" + userDto.getId());
|
redisUtils.del("menu::user:" + userDto.getUser_id());
|
||||||
redisUtils.del("role::auth:" + userDto.getId());
|
redisUtils.del("role::auth:" + userDto.getUser_id());
|
||||||
redisUtils.del("user::username:" + userDto.getUsername());
|
redisUtils.del("user::username:" + userDto.getUsername());
|
||||||
}
|
}
|
||||||
userService.delete(ids);
|
userService.delete(ids);
|
||||||
@@ -169,7 +169,7 @@ public class UserController {
|
|||||||
// 解密,得到字符密码
|
// 解密,得到字符密码
|
||||||
String oldPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getOldPass());
|
String oldPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getOldPass());
|
||||||
String newPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getNewPass());
|
String newPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getNewPass());
|
||||||
UserDto user = userService.findByName(SecurityUtils.getCurrentUsername());
|
User user = userService.findByName(SecurityUtils.getCurrentUsername());
|
||||||
if (!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(oldPass, "salt"))) {
|
if (!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(oldPass, "salt"))) {
|
||||||
throw new BadRequestException("修改失败,旧密码错误");
|
throw new BadRequestException("修改失败,旧密码错误");
|
||||||
}
|
}
|
||||||
@@ -191,7 +191,7 @@ public class UserController {
|
|||||||
@PostMapping(value = "/updateEmail/{code}")
|
@PostMapping(value = "/updateEmail/{code}")
|
||||||
public ResponseEntity<Object> updateEmail(@PathVariable String code,@RequestBody User user) throws Exception {
|
public ResponseEntity<Object> updateEmail(@PathVariable String code,@RequestBody User user) throws Exception {
|
||||||
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,user.getPassword());
|
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,user.getPassword());
|
||||||
UserDto userDto = userService.findByName(SecurityUtils.getCurrentUsername());
|
User userDto = userService.findByName(SecurityUtils.getCurrentUsername());
|
||||||
if(!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(password, "salt"))){
|
if(!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(password, "salt"))){
|
||||||
throw new BadRequestException("密码错误");
|
throw new BadRequestException("密码错误");
|
||||||
}
|
}
|
||||||
@@ -204,10 +204,10 @@ public class UserController {
|
|||||||
* @param resources /
|
* @param resources /
|
||||||
*/
|
*/
|
||||||
private void checkLevel(User resources) {
|
private void checkLevel(User resources) {
|
||||||
Integer currentLevel = Collections.min(roleService.findByUsersId(StpUtil.getLoginIdAsLong()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList()));
|
// Integer currentLevel = Collections.min(roleService.findByUsersId(StpUtil.getLoginIdAsLong()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList()));
|
||||||
Integer optLevel = roleService.findByRoles(resources.getRoles());
|
// Integer optLevel = roleService.findByRoles(resources.getRoles());
|
||||||
if (currentLevel > optLevel) {
|
// if (currentLevel > optLevel) {
|
||||||
throw new BadRequestException("角色权限不足");
|
// throw new BadRequestException("角色权限不足");
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.nl.modules.system.service;
|
package org.nl.modules.system.service;
|
||||||
|
|
||||||
|
import org.nl.modules.system.domain.User;
|
||||||
import org.nl.modules.system.service.dto.UserDto;
|
import org.nl.modules.system.service.dto.UserDto;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -31,5 +32,5 @@ public interface DataService {
|
|||||||
* @param user /
|
* @param user /
|
||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
List<Long> getDeptIds(UserDto user);
|
List<Long> getDeptIds(User user);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class UserDto extends BaseDTO implements Serializable {
|
|||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
private Set<RoleSmallDto> roles;
|
// private Set<RoleSmallDto> roles;
|
||||||
|
|
||||||
|
|
||||||
private String username;
|
private String username;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import org.nl.modules.common.annotation.Query;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -41,10 +42,11 @@ public class UserQueryCriteria implements Serializable {
|
|||||||
private String blurry;
|
private String blurry;
|
||||||
|
|
||||||
@Query
|
@Query
|
||||||
private Boolean enabled;
|
private Boolean is_used;
|
||||||
|
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
@Query(type = Query.Type.BETWEEN)
|
private Date startTime;
|
||||||
private List<Timestamp> createTime;
|
|
||||||
|
private Date endTime;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.nl.modules.common.utils.enums.DataScopeEnum;
|
import org.nl.modules.common.utils.enums.DataScopeEnum;
|
||||||
import org.nl.modules.system.domain.Dept;
|
import org.nl.modules.system.domain.Dept;
|
||||||
|
import org.nl.modules.system.domain.User;
|
||||||
import org.nl.modules.system.service.DataService;
|
import org.nl.modules.system.service.DataService;
|
||||||
import org.nl.modules.system.service.DeptService;
|
import org.nl.modules.system.service.DeptService;
|
||||||
import org.nl.modules.system.service.RoleService;
|
import org.nl.modules.system.service.RoleService;
|
||||||
@@ -51,11 +52,11 @@ public class DataServiceImpl implements DataService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Cacheable(key = "'user:' + #p0.id")
|
@Cacheable(key = "'user:' + #p0.id")
|
||||||
public List<Long> getDeptIds(UserDto user) {
|
public List<Long> getDeptIds(User user) {
|
||||||
// 用于存储部门id
|
// 用于存储部门id
|
||||||
Set<Long> deptIds = new HashSet<>();
|
Set<Long> deptIds = new HashSet<>();
|
||||||
// 查询用户角色
|
// 查询用户角色
|
||||||
List<RoleSmallDto> roleSet = roleService.findByUsersId(user.getId());
|
List<RoleSmallDto> roleSet = roleService.findByUsersId(user.getUser_id());
|
||||||
// 获取对应的部门ID
|
// 获取对应的部门ID
|
||||||
for (RoleSmallDto role : roleSet) {
|
for (RoleSmallDto role : roleSet) {
|
||||||
DataScopeEnum dataScopeEnum = DataScopeEnum.find(role.getDataScope());
|
DataScopeEnum dataScopeEnum = DataScopeEnum.find(role.getDataScope());
|
||||||
@@ -84,8 +85,8 @@ public class DataServiceImpl implements DataService {
|
|||||||
public Set<Long> getCustomize(Set<Long> deptIds, RoleSmallDto role){
|
public Set<Long> getCustomize(Set<Long> deptIds, RoleSmallDto role){
|
||||||
Set<Dept> depts = deptService.findByRoleId(role.getId());
|
Set<Dept> depts = deptService.findByRoleId(role.getId());
|
||||||
for (Dept dept : depts) {
|
for (Dept dept : depts) {
|
||||||
deptIds.add(dept.getId());
|
deptIds.add(dept.getDept_id());
|
||||||
List<Dept> deptChildren = deptService.findByPid(dept.getId());
|
List<Dept> deptChildren = deptService.findByPid(dept.getPid());
|
||||||
if (deptChildren != null && deptChildren.size() != 0) {
|
if (deptChildren != null && deptChildren.size() != 0) {
|
||||||
deptIds.addAll(deptService.getDeptChildren(deptChildren));
|
deptIds.addAll(deptService.getDeptChildren(deptChildren));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
@Cacheable(key = "'id:' + #p0")
|
@Cacheable(key = "'id:' + #p0")
|
||||||
public DeptDto findById(Long id) {
|
public DeptDto findById(Long id) {
|
||||||
Dept dept = deptRepository.findById(id).orElseGet(Dept::new);
|
Dept dept = deptRepository.findById(id).orElseGet(Dept::new);
|
||||||
ValidationUtil.isNull(dept.getId(), "Dept", "id", id);
|
ValidationUtil.isNull(dept.getDept_id(), "Dept", "id", id);
|
||||||
return deptMapper.toDto(dept);
|
return deptMapper.toDto(dept);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,20 +131,20 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void update(Dept resources) {
|
public void update(Dept resources) {
|
||||||
// 旧的部门
|
// 旧的部门
|
||||||
Long oldPid = findById(resources.getId()).getPid();
|
Long oldPid = findById(resources.getDept_id()).getPid();
|
||||||
Long newPid = resources.getPid();
|
Long newPid = resources.getPid();
|
||||||
if (resources.getPid() != null && resources.getId().equals(resources.getPid())) {
|
if (resources.getPid() != null && resources.getDept_id().equals(resources.getPid())) {
|
||||||
throw new BadRequestException("上级不能为自己");
|
throw new BadRequestException("上级不能为自己");
|
||||||
}
|
}
|
||||||
Dept dept = deptRepository.findById(resources.getId()).orElseGet(Dept::new);
|
Dept dept = deptRepository.findById(resources.getDept_id()).orElseGet(Dept::new);
|
||||||
ValidationUtil.isNull(dept.getId(), "Dept", "id", resources.getId());
|
ValidationUtil.isNull(dept.getDept_id(), "Dept", "id", resources.getDept_id());
|
||||||
resources.setId(dept.getId());
|
resources.setDept_id(dept.getDept_id());
|
||||||
deptRepository.save(resources);
|
deptRepository.save(resources);
|
||||||
// 更新父节点中子节点数目
|
// 更新父节点中子节点数目
|
||||||
updateSubCnt(oldPid);
|
updateSubCnt(oldPid);
|
||||||
updateSubCnt(newPid);
|
updateSubCnt(newPid);
|
||||||
// 清理缓存
|
// 清理缓存
|
||||||
delCaches(resources.getId());
|
delCaches(resources.getDept_id());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -162,7 +162,7 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
public Set<DeptDto> getDeleteDepts(List<Dept> menuList, Set<DeptDto> deptDtos) {
|
public Set<DeptDto> getDeleteDepts(List<Dept> menuList, Set<DeptDto> deptDtos) {
|
||||||
for (Dept dept : menuList) {
|
for (Dept dept : menuList) {
|
||||||
deptDtos.add(deptMapper.toDto(dept));
|
deptDtos.add(deptMapper.toDto(dept));
|
||||||
List<Dept> depts = deptRepository.findByPid(dept.getId());
|
List<Dept> depts = deptRepository.findByPid(dept.getDept_id());
|
||||||
if (depts != null && depts.size() != 0) {
|
if (depts != null && depts.size() != 0) {
|
||||||
getDeleteDepts(depts, deptDtos);
|
getDeleteDepts(depts, deptDtos);
|
||||||
}
|
}
|
||||||
@@ -260,7 +260,7 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
public void delCaches(Long id) {
|
public void delCaches(Long id) {
|
||||||
List<User> users = userRepository.findByRoleDeptId(id);
|
List<User> users = userRepository.findByRoleDeptId(id);
|
||||||
// 删除数据权限
|
// 删除数据权限
|
||||||
redisUtils.delByKeys(CacheKey.DATA_USER, users.stream().map(User::getId).collect(Collectors.toSet()));
|
redisUtils.delByKeys(CacheKey.DATA_USER, users.stream().map(User::getUser_id).collect(Collectors.toSet()));
|
||||||
redisUtils.del(CacheKey.DEPT_ID + id);
|
redisUtils.del(CacheKey.DEPT_ID + id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -269,11 +269,11 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
List<Long> list = new ArrayList<>();
|
List<Long> list = new ArrayList<>();
|
||||||
deptList.forEach(dept -> {
|
deptList.forEach(dept -> {
|
||||||
if (dept != null && dept.getEnabled()) {
|
if (dept != null && dept.getEnabled()) {
|
||||||
List<Dept> depts = deptRepository.findByPid(dept.getId());
|
List<Dept> depts = deptRepository.findByPid(dept.getDept_id());
|
||||||
if (deptList.size() != 0) {
|
if (deptList.size() != 0) {
|
||||||
list.addAll(getDeptChildren(depts));
|
list.addAll(getDeptChildren(depts));
|
||||||
}
|
}
|
||||||
list.add(dept.getId());
|
list.add(dept.getDept_id());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -353,7 +353,7 @@ public class MenuServiceImpl implements MenuService {
|
|||||||
public void delCaches(Long id) {
|
public void delCaches(Long id) {
|
||||||
List<User> users = userRepository.findByMenuId(id);
|
List<User> users = userRepository.findByMenuId(id);
|
||||||
redisUtils.del("menu::id:" + id);
|
redisUtils.del("menu::id:" + id);
|
||||||
redisUtils.delByKeys("menu::user:", users.stream().map(User::getId).collect(Collectors.toSet()));
|
redisUtils.delByKeys("menu::user:", users.stream().map(User::getUser_id).collect(Collectors.toSet()));
|
||||||
// 清除 Role 缓存
|
// 清除 Role 缓存
|
||||||
List<Role> roles = roleService.findInMenuId(new ArrayList<Long>() {{
|
List<Role> roles = roleService.findInMenuId(new ArrayList<Long>() {{
|
||||||
add(id);
|
add(id);
|
||||||
|
|||||||
@@ -82,8 +82,8 @@ public class ParamServiceImpl implements ParamService {
|
|||||||
dto.setId(IdUtil.simpleUUID());
|
dto.setId(IdUtil.simpleUUID());
|
||||||
dto.setCreate_id(currentId);
|
dto.setCreate_id(currentId);
|
||||||
dto.setUpdate_optid(currentId);
|
dto.setUpdate_optid(currentId);
|
||||||
dto.setCreate_name(currentUsername.getNickName());
|
dto.setCreate_name(currentUsername.getPreson_name());
|
||||||
dto.setUpdate_optname(currentUsername.getNickName());
|
dto.setUpdate_optname(currentUsername.getPreson_name());
|
||||||
dto.setUpdate_time(now);
|
dto.setUpdate_time(now);
|
||||||
dto.setCreate_time(now);
|
dto.setCreate_time(now);
|
||||||
|
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ public class RoleServiceImpl implements RoleService {
|
|||||||
users = CollectionUtil.isEmpty(users) ? userRepository.findByRoleId(id) : users;
|
users = CollectionUtil.isEmpty(users) ? userRepository.findByRoleId(id) : users;
|
||||||
if (CollectionUtil.isNotEmpty(users)) {
|
if (CollectionUtil.isNotEmpty(users)) {
|
||||||
// users.forEach(item -> userCacheClean.cleanUserCache(item.getUsername()));
|
// users.forEach(item -> userCacheClean.cleanUserCache(item.getUsername()));
|
||||||
Set<Long> userIds = users.stream().map(User::getId).collect(Collectors.toSet());
|
Set<Long> userIds = users.stream().map(User::getUser_id).collect(Collectors.toSet());
|
||||||
redisUtils.delByKeys(CacheKey.DATA_USER, userIds);
|
redisUtils.delByKeys(CacheKey.DATA_USER, userIds);
|
||||||
redisUtils.delByKeys(CacheKey.MENU_USER, userIds);
|
redisUtils.delByKeys(CacheKey.MENU_USER, userIds);
|
||||||
redisUtils.delByKeys(CacheKey.ROLE_AUTH, userIds);
|
redisUtils.delByKeys(CacheKey.ROLE_AUTH, userIds);
|
||||||
|
|||||||
Reference in New Issue
Block a user