Commit 962a0ba5 by huangjinxin

feat:重写角色

1 parent 1c3c9d10
package com.dituhui.pea.user; // package com.dituhui.pea.user;
//
import com.dituhui.pea.common.Result; // import com.dituhui.pea.common.Result;
import com.dituhui.pea.pojo.RoleInfo; // import com.dituhui.pea.pojo.RoleInfo;
import org.springframework.cloud.openfeign.FeignClient; // import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody; // import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; // import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; // import org.springframework.web.bind.annotation.RequestMethod;
//
/** // /**
* 角色相关接口 // * 角色相关接口
*/ // */
@FeignClient(value = "project-user", contextId = "role2") // @FeignClient(value = "project-user", contextId = "role2")
public interface IRole2 { // public interface IRole2 {
//
/** // /**
* 添加角色 // * 添加角色
* // *
* @param roleInfo 角色信息 // * @param roleInfo 角色信息
* @return // * @return
*/ // */
@RequestMapping(value = "/pea-user/role/add2", method = RequestMethod.POST) // @RequestMapping(value = "/pea-user/role/add2", method = RequestMethod.POST)
Result<RoleInfo> addRole(@RequestBody RoleInfo roleInfo); // Result<RoleInfo> addRole(@RequestBody RoleInfo roleInfo);
//
} // }
package com.dituhui.pea.user.controller2; // package com.dituhui.pea.user.controller2;
//
import com.dituhui.pea.common.PageResult; // import com.dituhui.pea.common.PageResult;
import com.dituhui.pea.common.Result; // import com.dituhui.pea.common.Result;
import com.dituhui.pea.enums.StatusCodeEnum; // import com.dituhui.pea.enums.StatusCodeEnum;
import com.dituhui.pea.pojo.PageRequest; // import com.dituhui.pea.pojo.PageRequest;
import com.dituhui.pea.pojo.ResourceInfo; // import com.dituhui.pea.pojo.ResourceInfo;
import com.dituhui.pea.pojo.RoleInfo; // import com.dituhui.pea.pojo.RoleInfo;
import com.dituhui.pea.pojo.WebResult; // import com.dituhui.pea.pojo.WebResult;
import com.dituhui.pea.user.IRole; // import com.dituhui.pea.user.IRole;
import com.dituhui.pea.user.IRole2; // import com.dituhui.pea.user.IRole2;
import com.dituhui.pea.user.service.RoleService; // import com.dituhui.pea.user.service.RoleService;
import com.dituhui.pea.user.service.RoleService2; // import com.dituhui.pea.user.service.RoleService2;
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.validation.annotation.Validated; // import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody; // import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; // import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; // import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; // import org.springframework.web.bind.annotation.RestController;
//
import java.util.List; // import java.util.List;
//
/** // /**
* 角色控制层 // * 角色控制层
*/ // */
@RestController // @RestController
@RefreshScope // @RefreshScope
public class RoleController2 implements IRole2 { // public class RoleController2 implements IRole2 {
//
//
@Autowired // @Autowired
RoleService2 roleService; // RoleService2 roleService;
//
/** // /**
* 添加角色 // * 添加角色
* // *
* @param roleInfo 角色信息 // * @param roleInfo 角色信息
* @return // * @return
*/ // */
@RequestMapping(value = "/pea-user/role/add2", method = RequestMethod.POST) // @RequestMapping(value = "/pea-user/role/add2", method = RequestMethod.POST)
public Result<RoleInfo> addRole(@RequestBody RoleInfo roleInfo) { // public Result<RoleInfo> addRole(@RequestBody RoleInfo roleInfo) {
return roleService.addRole(roleInfo); // return roleService.addRole(roleInfo);
} // }
//
} // }
package com.dituhui.pea.user.dao; // package com.dituhui.pea.user.dao;
//
//
import com.dituhui.pea.user.entity.RoleEntity2; // import com.dituhui.pea.user.entity.RoleEntity2;
import org.springframework.data.jpa.repository.JpaRepository; // import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; // import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.CrudRepository; // import org.springframework.data.repository.CrudRepository;
//
/** // /**
* 角色表(Role)表数据库访问层 // * 角色表(Role)表数据库访问层
* // *
*/ // */
public interface RoleDao2 extends JpaRepository<RoleEntity2, String>, // public interface RoleDao2 extends JpaRepository<RoleEntity2, String>,
JpaSpecificationExecutor<RoleEntity2>, CrudRepository<RoleEntity2, String> { // JpaSpecificationExecutor<RoleEntity2>, CrudRepository<RoleEntity2, String> {
//
} // }
...@@ -44,7 +44,7 @@ public class RoleEntity implements Serializable { ...@@ -44,7 +44,7 @@ public class RoleEntity implements Serializable {
* 角色自定义条件 * 角色自定义条件
*/ */
@Column(name = "extra") @Column(name = "extra")
@NotBlank(message = "角色自定义条件不能为空!") // @NotBlank(message = "角色自定义条件不能为空!")
private String extra; private String extra;
/** /**
* 创建人 * 创建人
......
package com.dituhui.pea.user.entity; // package com.dituhui.pea.user.entity;
//
import lombok.Data; // import lombok.Data;
import org.hibernate.annotations.GenericGenerator; // import org.hibernate.annotations.GenericGenerator;
import org.springframework.data.annotation.CreatedDate; // import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate; // import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener; // import org.springframework.data.jpa.domain.support.AuditingEntityListener;
//
import javax.persistence.*; // import javax.persistence.*;
import javax.validation.constraints.NotBlank; // import javax.validation.constraints.NotBlank;
import java.io.Serializable; // import java.io.Serializable;
import java.util.Date; // import java.util.Date;
//
/** // /**
* 角色表(RoleEntity)实体类 // * 角色表(RoleEntity)实体类
* // *
*/ // */
@Data // @Data
@Entity // @Entity
@Table(name ="sys_role") // @Table(name ="sys_role")
@EntityListeners(AuditingEntityListener.class) // @EntityListeners(AuditingEntityListener.class)
public class RoleEntity2 implements Serializable { // public class RoleEntity2 implements Serializable {
private static final long serialVersionUID = -71423293716769828L; // private static final long serialVersionUID = -71423293716769828L;
/** // /**
* 主键 // * 主键
*/ // */
@Id // @Id
@GeneratedValue(generator = "uuid") // @GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid") // @GenericGenerator(name = "uuid", strategy = "uuid")
@Column(name = "ID", unique = true, nullable = false, length = 60) // @Column(name = "ID", unique = true, nullable = false, length = 60)
private String id; // private String id;
/** // /**
* 名称 // * 名称
*/ // */
@Column(name = "name") // @Column(name = "name")
@NotBlank(message = "角色名称不能为空!") // @NotBlank(message = "角色名称不能为空!")
private String name; // private String name;
/** // /**
* 角色组id // * 角色组id
*/ // */
@Column(name = "group_id") // @Column(name = "group_id")
private String groupId; // private String groupId;
/** // /**
* 角色自定义条件 // * 角色自定义条件
*/ // */
@Column(name = "extra") // @Column(name = "extra")
@NotBlank(message = "角色自定义条件不能为空!") // @NotBlank(message = "角色自定义条件不能为空!")
private String extra; // private String extra;
/** // /**
* 创建人 // * 创建人
*/ // */
@Column(name = "CREATED_BY") // @Column(name = "CREATED_BY")
private String createdBy; // private String createdBy;
/** // /**
* 创建时间 // * 创建时间
*/ // */
@Column(name = "CREATED_TIME") // @Column(name = "CREATED_TIME")
@CreatedDate // @CreatedDate
private Date createdTime; // private Date createdTime;
/** // /**
* 更新人 // * 更新人
*/ // */
@Column(name = "UPDATED_BY") // @Column(name = "UPDATED_BY")
private String updatedBy; // private String updatedBy;
/** // /**
* 更新时间 // * 更新时间
*/ // */
@Column(name = "UPDATED_TIME") // @Column(name = "UPDATED_TIME")
@LastModifiedDate // @LastModifiedDate
private Date updatedTime; // private Date updatedTime;
//
/** // /**
* 备注 // * 备注
*/ // */
@Column(name = "notes") // @Column(name = "notes")
private String notes; // private String notes;
//
} // }
package com.dituhui.pea.user.service; // package com.dituhui.pea.user.service;
//
import cn.hutool.core.bean.BeanUtil; // import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; // import com.alibaba.fastjson.JSONObject;
import com.dituhui.pea.common.Result; // import com.dituhui.pea.common.Result;
import com.dituhui.pea.pojo.RoleInfo; // import com.dituhui.pea.pojo.RoleInfo;
import com.dituhui.pea.pojo.role.RoleResourceInfo; // import com.dituhui.pea.pojo.role.RoleResourceInfo;
import com.dituhui.pea.user.dao.RoleDao; // import com.dituhui.pea.user.dao.RoleDao;
import com.dituhui.pea.user.dao.RoleDao2; // import com.dituhui.pea.user.dao.RoleDao2;
import com.dituhui.pea.user.dao.RoleResourceDao; // import com.dituhui.pea.user.dao.RoleResourceDao;
import com.dituhui.pea.user.entity.RoleEntity; // import com.dituhui.pea.user.entity.RoleEntity;
import com.dituhui.pea.user.entity.RoleEntity2; // import com.dituhui.pea.user.entity.RoleEntity2;
import com.dituhui.pea.user.entity.RoleResourceEntity; // import com.dituhui.pea.user.entity.RoleResourceEntity;
import lombok.extern.slf4j.Slf4j; // import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; // import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; // import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; // import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; // import org.springframework.transaction.annotation.Transactional;
//
import java.util.List; // import java.util.List;
//
@Service // @Service
@Slf4j // @Slf4j
public class RoleService2 { // public class RoleService2 {
//
@Autowired // @Autowired
RoleDao2 roleDao; // RoleDao2 roleDao;
@Autowired // @Autowired
RoleResourceDao roleResourceDao; // RoleResourceDao roleResourceDao;
//
@Transactional // @Transactional
public Result<RoleInfo> addRole(RoleInfo roleInfo) { // public Result<RoleInfo> addRole(RoleInfo roleInfo) {
RoleEntity2 roleEntity = BeanUtil.copyProperties(roleInfo, RoleEntity2.class); // RoleEntity2 roleEntity = BeanUtil.copyProperties(roleInfo, RoleEntity2.class);
// RoleEntity roleEntity = assembleRole(roleInfo); // // RoleEntity roleEntity = assembleRole(roleInfo);
log.info("新增角色入参:" + JSONObject.toJSONString(roleEntity)); // log.info("新增角色入参:" + JSONObject.toJSONString(roleEntity));
roleEntity = roleDao.save(roleEntity); // roleEntity = roleDao.save(roleEntity);
// roleInfo = BeanUtil.copyProperties(roleEntity, RoleInfo.class); // // roleInfo = BeanUtil.copyProperties(roleEntity, RoleInfo.class);
roleInfo.setId(roleEntity.getId()); // roleInfo.setId(roleEntity.getId());
List<RoleResourceInfo> resourceInfos = roleInfo.getResourceInfos(); // List<RoleResourceInfo> resourceInfos = roleInfo.getResourceInfos();
if (CollectionUtils.isNotEmpty(resourceInfos)) { // if (CollectionUtils.isNotEmpty(resourceInfos)) {
for (RoleResourceInfo resourceInfo : resourceInfos) { // for (RoleResourceInfo resourceInfo : resourceInfos) {
RoleResourceEntity roleResourceEntity = assembleRoleResource(roleInfo.getId(), resourceInfo.getResourceId()); // RoleResourceEntity roleResourceEntity = assembleRoleResource(roleInfo.getId(), resourceInfo.getResourceId());
roleResourceDao.save(roleResourceEntity); // roleResourceDao.save(roleResourceEntity);
} // }
} // }
log.info("新增角色信息:" + JSONObject.toJSONString(roleInfo)); // log.info("新增角色信息:" + JSONObject.toJSONString(roleInfo));
return Result.success(roleInfo); // return Result.success(roleInfo);
} // }
//
//
private RoleResourceEntity assembleRoleResource(String roleId, String resourceId) { // private RoleResourceEntity assembleRoleResource(String roleId, String resourceId) {
RoleResourceEntity roleResourceEntity = new RoleResourceEntity(); // RoleResourceEntity roleResourceEntity = new RoleResourceEntity();
roleResourceEntity.setRoleId(roleId); // roleResourceEntity.setRoleId(roleId);
roleResourceEntity.setResourceId(resourceId); // roleResourceEntity.setResourceId(resourceId);
return roleResourceEntity; // return roleResourceEntity;
} // }
//
//
} // }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!