Commit 5cec29f5 by 刘鑫

Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	project-interface/src/main/java/com/dituhui/pea/common/Result.java
2 parents 69934c40 98cb5ba5
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
package com.dituhui.pea.common; package com.dituhui.pea.common;
import com.dituhui.pea.enums.StatusCodeEnum;
/** /**
* 响应返回实体类型 * 响应返回实体类型
* *
...@@ -39,69 +41,77 @@ public class Result<T> { ...@@ -39,69 +41,77 @@ public class Result<T> {
*/ */
private T result; private T result;
public static <T> Result<T> success(T result) { public static <T> Result<T> success(T result) {
return new Result<>(ResultEnum.SUCCESS.getCode(), ResultEnum.SUCCESS.getMessage(), result); return new Result<>(ResultEnum.SUCCESS.getCode(), ResultEnum.SUCCESS.getMessage(), result);
} }
public static <T> Result<T> success(String message, T result) { public static <T> Result<T> success(String message, T result) {
return new Result<>(ResultEnum.SUCCESS.getCode(), message, result); return new Result<>(ResultEnum.SUCCESS.getCode(), message, result);
} }
public static Result<?> failed() { public static Result<?> failed() {
return new Result<>(ResultEnum.COMMON_FAILED.getCode(), return new Result<>(ResultEnum.COMMON_FAILED.getCode(),
ResultEnum.COMMON_FAILED.getMessage(), null); ResultEnum.COMMON_FAILED.getMessage(), null);
} }
public static Result<?> failed(String message) { public static Result<?> failed(String message) {
return new Result<>(ResultEnum.COMMON_FAILED.getCode(), message, null); return new Result<>(ResultEnum.COMMON_FAILED.getCode(), message, null);
} }
public static <T> Result<T> failure(String message) { public static <T> Result<T> failure(String message) {
return new Result<>(ResultEnum.COMMON_FAILED.getCode(), message, null); return new Result<>(ResultEnum.COMMON_FAILED.getCode(), message, null);
} }
public static Result<?> failed(IResult errorResult) { public static Result<?> failed(IResult errorResult) {
return new Result<>(errorResult.getCode(), errorResult.getMessage(), null); return new Result<>(errorResult.getCode(), errorResult.getMessage(), null);
} }
public Result() { public static <T> Result<T> failed(T result) {
} return new Result<>(ResultEnum.COMMON_FAILED.getCode(), ResultEnum.COMMON_FAILED.getMessage(), result);
}
public Result(String code, String message, T result) {
this.code = code; public static <T> Result<T> failed(StatusCodeEnum resultEnum, T result) {
this.message = message; return new Result<>(resultEnum.getCode(), resultEnum.getDesc(), result);
this.result = result; }
}
public Result() {
public String getCode() { }
return this.code;
} public Result(String code, String message, T result) {
this.code = code;
public void setCode(String code) { this.message = message;
this.code = code; this.result = result;
} }
public String getMessage() { public String getCode() {
return this.message; return this.code;
} }
public void setMessage(String message) { public void setCode(String code) {
this.message = message; this.code = code;
} }
public T getResult() { public String getMessage() {
return this.result; return this.message;
} }
public void setResult(T result) { public void setMessage(String message) {
this.result = result; this.message = message;
} }
public static <T> Result<T> instance(String code, String message, T result) { public T getResult() {
Result<T> r = new Result<>(); return this.result;
r.setCode(code); }
r.setMessage(message);
r.setResult(result); public void setResult(T result) {
return r; this.result = result;
} }
public static <T> Result<T> instance(String code, String message, T result) {
Result<T> r = new Result<>();
r.setCode(code);
r.setMessage(message);
r.setResult(result);
return r;
}
} }
...@@ -6,6 +6,7 @@ import com.dituhui.pea.pojo.role.RoleResourceInfo; ...@@ -6,6 +6,7 @@ import com.dituhui.pea.pojo.role.RoleResourceInfo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -13,7 +14,7 @@ import java.util.List; ...@@ -13,7 +14,7 @@ import java.util.List;
* 角色信息 * 角色信息
*/ */
@Data @Data
public class RoleInfo { public class RoleInfo implements Serializable {
/** /**
* 主键 * 主键
...@@ -32,9 +33,14 @@ public class RoleInfo { ...@@ -32,9 +33,14 @@ public class RoleInfo {
private String groupId; private String groupId;
/** /**
* 备注
*/
private String notes;
/**
* 角色自定义条件 * 角色自定义条件
*/ */
@NotBlank(message = "角色条件不能为空!") // @NotBlank(message = "角色条件不能为空!")
private String extra; private String extra;
/** /**
...@@ -50,4 +56,12 @@ public class RoleInfo { ...@@ -50,4 +56,12 @@ public class RoleInfo {
private Date updatedTime; private Date updatedTime;
private List<RoleResourceInfo> resourceInfos; private List<RoleResourceInfo> resourceInfos;
/**
* 创建人
*/
private String createdBy;
/**
* 更新人
*/
private String updatedBy;
} }
...@@ -27,7 +27,7 @@ public interface IRole { ...@@ -27,7 +27,7 @@ public interface IRole {
* @return * @return
*/ */
@RequestMapping(value = "/pea-user/role/add", method = RequestMethod.POST) @RequestMapping(value = "/pea-user/role/add", method = RequestMethod.POST)
WebResult<RoleInfo> addRole(@RequestBody RoleInfo roleInfo); Result<RoleInfo> addRole(@RequestBody RoleInfo roleInfo);
/** /**
...@@ -37,7 +37,7 @@ public interface IRole { ...@@ -37,7 +37,7 @@ public interface IRole {
* @return * @return
*/ */
@RequestMapping(value = "/pea-user/role/update", method = RequestMethod.POST) @RequestMapping(value = "/pea-user/role/update", method = RequestMethod.POST)
WebResult<RoleInfo> updateRole(@RequestBody RoleInfo roleInfo); Result<RoleInfo> updateRole(@RequestBody RoleInfo roleInfo);
/** /**
* 删除角色 * 删除角色
...@@ -46,7 +46,7 @@ public interface IRole { ...@@ -46,7 +46,7 @@ public interface IRole {
* @return * @return
*/ */
@RequestMapping(value = "/pea-user/role/delete", method = RequestMethod.POST) @RequestMapping(value = "/pea-user/role/delete", method = RequestMethod.POST)
WebResult<Boolean> deleteRole(@RequestParam("id") String roleId); Result<Boolean> deleteRole(@RequestBody RoleInfo roleInfo);
/** /**
* 添加用户角色 * 添加用户角色
......
package com.dituhui.pea.util;
import java.util.UUID;
/**
* uuid生成工具
* @author guoping
*
*/
public class UUIDUtil {
public static String getUuid() {
UUID uuid = UUID.randomUUID();
String sud = uuid.toString();
sud = sud.replaceAll("-", "");
return sud;
}
public static String getUid(){
return UUID.randomUUID().toString().replace("-", "").toLowerCase();
}
public static void main(String[] args) {
System.out.println(getUuid());
}
}
...@@ -15,6 +15,7 @@ import com.dituhui.pea.user.service.RoleService; ...@@ -15,6 +15,7 @@ import com.dituhui.pea.user.service.RoleService;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -33,25 +34,25 @@ public class RoleController implements IRole { ...@@ -33,25 +34,25 @@ public class RoleController implements IRole {
RoleService roleService; RoleService roleService;
@Override @Override
public WebResult<RoleInfo> addRole(@Validated RoleInfo roleInfo) { public Result<RoleInfo> addRole(@Validated RoleInfo roleInfo) {
roleInfo = roleService.addRole(roleInfo); roleInfo = roleService.addRole(roleInfo);
return WebResult.ok(roleInfo); return Result.success(roleInfo);
} }
@Override @Override
public WebResult<RoleInfo> updateRole(@Validated RoleInfo roleInfo) { public Result<RoleInfo> updateRole(@Validated RoleInfo roleInfo) {
roleInfo = roleService.updateRole(roleInfo); roleInfo = roleService.updateRole(roleInfo);
return WebResult.ok(roleInfo); return Result.success(roleInfo);
} }
@Override @Override
public WebResult<Boolean> deleteRole(String roleId) { public Result<Boolean> deleteRole(RoleInfo roleInfo) {
if (StringUtils.isBlank(roleId)) { if (StringUtils.isBlank(roleInfo.getId())) {
return WebResult.failed(StatusCodeEnum.COMMON_PARAM_EMPTY); return Result.failed(StatusCodeEnum.COMMON_PARAM_EMPTY, false);
} }
roleService.deleteRole(roleId); roleService.deleteRole(roleInfo.getId());
return WebResult.ok(); return Result.success(true);
} }
@Override @Override
......
...@@ -10,26 +10,26 @@ import java.util.List; ...@@ -10,26 +10,26 @@ import java.util.List;
/** /**
* 资源表 用户对某种具体权限或者功能的描述(Resource)表数据库访问层 * 资源表 用户对某种具体权限或者功能的描述(Resource)表数据库访问层
*
*/ */
public interface ResourceDao extends JpaRepository<ResourceEntity, String>, public interface ResourceDao extends JpaRepository<ResourceEntity, String>,
JpaSpecificationExecutor<ResourceEntity>, CrudRepository<ResourceEntity, String> { JpaSpecificationExecutor<ResourceEntity>, CrudRepository<ResourceEntity, String> {
/** /**
* 根据IDs查询多个资源 * 根据IDs查询多个资源
*
* @param ids 资源ID集合 * @param ids 资源ID集合
* @return * @return
*/ */
List<ResourceEntity> findByIdIn(List<String> ids); List<ResourceEntity> findByIdIn(List<String> ids);
/** /**
* 查询子资源 * 查询子资源
* *
* @param parentIds * @param parentIds
* @return * @return
*/ */
List<ResourceEntity> findByParentId(String parentId); List<ResourceEntity> findByParentId(String parentId);
List<ResourceEntity> findByTypeNot(Integer type);
} }
...@@ -69,4 +69,9 @@ public class RoleEntity implements Serializable { ...@@ -69,4 +69,9 @@ public class RoleEntity implements Serializable {
@LastModifiedDate @LastModifiedDate
private Date updatedTime; private Date updatedTime;
/**
* 备注
*/
private String notes;
} }
...@@ -15,7 +15,9 @@ import com.dituhui.pea.pojo.role.RoleResourceInfo; ...@@ -15,7 +15,9 @@ import com.dituhui.pea.pojo.role.RoleResourceInfo;
import com.dituhui.pea.user.commom.RedisService; import com.dituhui.pea.user.commom.RedisService;
import com.dituhui.pea.user.dao.*; import com.dituhui.pea.user.dao.*;
import com.dituhui.pea.user.entity.*; import com.dituhui.pea.user.entity.*;
import com.dituhui.pea.util.UUIDUtil;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -27,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -27,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -36,6 +39,7 @@ import java.util.stream.Collectors; ...@@ -36,6 +39,7 @@ import java.util.stream.Collectors;
* @author zl * @author zl
*/ */
@Service @Service
@Slf4j
public class RoleService { public class RoleService {
@Autowired @Autowired
...@@ -62,9 +66,10 @@ public class RoleService { ...@@ -62,9 +66,10 @@ public class RoleService {
private static final int LIVE_TIME_MILLIS = 360000; private static final int LIVE_TIME_MILLIS = 360000;
@Transactional(rollbackFor = Exception.class) @Transactional
public RoleInfo addRole(RoleInfo roleInfo) { public RoleInfo addRole(RoleInfo roleInfo) {
RoleEntity roleEntity = BeanUtil.copyProperties(roleInfo, RoleEntity.class); RoleEntity roleEntity = assembleRole(roleInfo);
log.info("新增角色入参:" + JSONObject.toJSONString(roleEntity));
roleEntity = roleDao.save(roleEntity); roleEntity = roleDao.save(roleEntity);
List<RoleResourceInfo> resourceInfos = roleInfo.getResourceInfos(); List<RoleResourceInfo> resourceInfos = roleInfo.getResourceInfos();
if (CollectionUtils.isNotEmpty(resourceInfos)) { if (CollectionUtils.isNotEmpty(resourceInfos)) {
...@@ -73,20 +78,22 @@ public class RoleService { ...@@ -73,20 +78,22 @@ public class RoleService {
roleResourceDao.save(roleResourceEntity); roleResourceDao.save(roleResourceEntity);
} }
} }
roleInfo = BeanUtil.copyProperties(roleEntity, RoleInfo.class); // roleInfo = BeanUtil.copyProperties(roleEntity, RoleInfo.class);
roleInfo.setId(roleEntity.getId());
log.info("新增角色信息:" + JSONObject.toJSONString(roleEntity));
return roleInfo; return roleInfo;
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public RoleInfo updateRole(RoleInfo roleInfo) { public RoleInfo updateRole(RoleInfo roleInfo) {
RoleEntity roleEntity = BeanUtil.copyProperties(roleInfo, RoleEntity.class); RoleEntity roleEntity = assembleRole(roleInfo);
roleEntity = roleDao.save(roleEntity); roleEntity = roleDao.save(roleEntity);
List<RoleResourceInfo> resourceInfos = roleInfo.getResourceInfos(); List<RoleResourceInfo> resourceInfos = roleInfo.getResourceInfos();
if (CollectionUtils.isNotEmpty(resourceInfos)) { if (CollectionUtils.isNotEmpty(resourceInfos)) {
// 先清除
roleResourceDao.deleteByRoleId(roleEntity.getId());
for (RoleResourceInfo resourceInfo : resourceInfos) { for (RoleResourceInfo resourceInfo : resourceInfos) {
// 先清除
roleResourceDao.deleteByRoleId(roleEntity.getId());
RoleResourceEntity roleResourceEntity = assembleRoleResource(roleEntity.getId(), resourceInfo.getResourceId()); RoleResourceEntity roleResourceEntity = assembleRoleResource(roleEntity.getId(), resourceInfo.getResourceId());
roleResourceDao.save(roleResourceEntity); roleResourceDao.save(roleResourceEntity);
} }
...@@ -238,6 +245,16 @@ public class RoleService { ...@@ -238,6 +245,16 @@ public class RoleService {
} }
private RoleEntity assembleRole(RoleInfo roleInfo) {
RoleEntity roleEntity = new RoleEntity();
roleEntity.setName(roleInfo.getName());
roleEntity.setCreatedBy(roleInfo.getCreatedBy());
roleEntity.setCreatedTime(new Date());
roleEntity.setNotes(roleInfo.getNotes());
return roleEntity;
}
public PageResult<RoleInfo> listRole(PageRequest pageRequest) { public PageResult<RoleInfo> listRole(PageRequest pageRequest) {
Sort sort = Sort.by(Sort.Order.desc("createdTime")); Sort sort = Sort.by(Sort.Order.desc("createdTime"));
Pageable pageable = org.springframework.data.domain.PageRequest.of(pageRequest.getPage() - 1, pageRequest.getSize(), sort); Pageable pageable = org.springframework.data.domain.PageRequest.of(pageRequest.getPage() - 1, pageRequest.getSize(), sort);
...@@ -279,13 +296,17 @@ public class RoleService { ...@@ -279,13 +296,17 @@ public class RoleService {
if (StringUtils.isNotBlank(redisValue)) { if (StringUtils.isNotBlank(redisValue)) {
return JSONObject.parseObject(redisValue, List.class); return JSONObject.parseObject(redisValue, List.class);
} }
List<ResourceEntity> all = resourceDao.findAll(); List<ResourceEntity> all = resourceDao.findByTypeNot(3);
List<ResourceInfo> collect = all.stream().filter(resourceEntity -> StringUtils.isBlank(resourceEntity.getParentId())).map(entity -> BeanUtil.copyProperties(entity, ResourceInfo.class)).collect(Collectors.toList()); List<ResourceInfo> collect = all.stream().filter(resourceEntity -> StringUtils.isBlank(resourceEntity.getParentId())).map(entity -> BeanUtil.copyProperties(entity, ResourceInfo.class)).collect(Collectors.toList());
for (ResourceInfo entity : collect) { for (ResourceInfo entity : collect) {
List<ResourceInfo> twoResource = all.stream().filter(resourceEntity -> entity.getParentId().equals(entity.getId())).map(e -> BeanUtil.copyProperties(e, ResourceInfo.class)).collect(Collectors.toList()); List<ResourceInfo> twoResource = all.stream().filter(resourceEntity -> StringUtils.isNotBlank(resourceEntity.getParentId())
&& resourceEntity.getParentId().equals(entity.getId()))
.map(e -> BeanUtil.copyProperties(e, ResourceInfo.class)).collect(Collectors.toList());
for (ResourceInfo twoEntity : twoResource) { for (ResourceInfo twoEntity : twoResource) {
List<ResourceInfo> threeResource = all.stream().filter(resourceEntity -> entity.getParentId().equals(twoEntity.getId())).map(e -> BeanUtil.copyProperties(e, ResourceInfo.class)).collect(Collectors.toList()); List<ResourceInfo> threeResource = all.stream().filter(resourceEntity -> StringUtils.isNotBlank(resourceEntity.getParentId())
&& resourceEntity.getParentId().equals(twoEntity.getId()))
.map(e -> BeanUtil.copyProperties(e, ResourceInfo.class)).collect(Collectors.toList());
twoEntity.setChildren(threeResource); twoEntity.setChildren(threeResource);
} }
entity.setChildren(twoResource); entity.setChildren(twoResource);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!