diff --git a/src/main/java/com/xdap/self_development/controller/PermissionController.java b/src/main/java/com/xdap/self_development/controller/PermissionController.java new file mode 100644 index 0000000..cd61632 --- /dev/null +++ b/src/main/java/com/xdap/self_development/controller/PermissionController.java @@ -0,0 +1,66 @@ +package com.xdap.self_development.controller; + + +import com.definesys.mpaas.common.http.Response; +import com.xdap.self_development.controller.request.ModelRolesRequest; +import com.xdap.self_development.pojo.ModelRolesPojo; +import com.xdap.self_development.pojo.dto.PageResultDTO; +import com.xdap.self_development.pojo.view.MenuListView; +import com.xdap.self_development.service.ModelMenuPermissionService; +import com.xdap.self_development.service.ModelRoleService; +import org.checkerframework.checker.units.qual.A; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; + +@RestController +@RequestMapping("/custom/permission") +public class PermissionController { + @Autowired + ModelRoleService modelRoleService; + @Autowired + ModelMenuPermissionService modelMenuPermissionService; + //添加角色 + @PostMapping("/addRoles") + Response addRoles(ModelRolesRequest request){ + try { + modelRoleService.addRoles(request); + } catch (Exception e) { + throw new RuntimeException("添加失败:" +e.getMessage()); + } + return Response.ok(); + } + + //查看角色 + @GetMapping("/selectRoles") + Response selectRoles(@RequestParam String userID){ + try { +// PageResultDTO modelRolesPojoPageResultDTO = modelRoleService.selectRoles(userID); + List modelRolesPojos = modelRoleService.selectRoles(userID); + return Response.ok().data(modelRolesPojos); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + //为角色添加权限 + + //修改角色信息 + + //菜单查询 + @GetMapping("/selectMenus") + Response selectMenus(){ + try { + List modelRolesPojos = modelMenuPermissionService.selectMenus(); + return Response.ok().data(modelRolesPojos); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + + //参数查询 + + +} diff --git a/src/main/java/com/xdap/self_development/controller/request/ModelRolesRequest.java b/src/main/java/com/xdap/self_development/controller/request/ModelRolesRequest.java new file mode 100644 index 0000000..8f7f682 --- /dev/null +++ b/src/main/java/com/xdap/self_development/controller/request/ModelRolesRequest.java @@ -0,0 +1,23 @@ +package com.xdap.self_development.controller.request; + +import com.definesys.mpaas.query.annotation.RowID; +import com.definesys.mpaas.query.annotation.RowIDType; +import com.definesys.mpaas.query.annotation.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@Data +public class ModelRolesRequest { + + /** 角色名称,; */ + private String roleName ; + /** 角色代号,; */ + private String roleCode ; + /** 角色描述,; */ + private String roleDescription ; + /** 登录用户ID,; */ + private String userId ; + +} diff --git a/src/main/java/com/xdap/self_development/pojo/ModelDepUserRolePojo.java b/src/main/java/com/xdap/self_development/pojo/ModelDepUserRolePojo.java new file mode 100644 index 0000000..cf37299 --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/ModelDepUserRolePojo.java @@ -0,0 +1,32 @@ +package com.xdap.self_development.pojo; + +import com.definesys.mpaas.query.annotation.RowID; +import com.definesys.mpaas.query.annotation.RowIDType; +import com.definesys.mpaas.query.annotation.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@Table("yfsjglpt_model_dep_user_role") +public class ModelDepUserRolePojo { + /** ID,; */ + @RowID(sequence = "yfsjglpt_model_dep_user_role_s", type = RowIDType.UUID) + private String id ; + /** 用户或部门ID,; */ + private String userOrDep ; + /** 角色ID,; */ + private String roleId ; + /** 是否是部门,0:个人;1:部门,; */ + private int isDep ; + /** 创建人,; */ + private String createdBy ; + /** 创建时间,; */ + private Date creationDate ; + /** 最后更新人,; */ + private String lastUpdatedBy ; + /** 最后更新时间,; */ + private Date lastUpdateDate ; +} diff --git a/src/main/java/com/xdap/self_development/pojo/ModelMenuParameterPojo.java b/src/main/java/com/xdap/self_development/pojo/ModelMenuParameterPojo.java new file mode 100644 index 0000000..e2034fc --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/ModelMenuParameterPojo.java @@ -0,0 +1,34 @@ +package com.xdap.self_development.pojo; + +import com.definesys.mpaas.query.annotation.RowID; +import com.definesys.mpaas.query.annotation.RowIDType; +import com.definesys.mpaas.query.annotation.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@Table("yfsjglpt_model_menu_parameter") +public class ModelMenuParameterPojo { + /** ID,; */ + @RowID(sequence = "yfsjglpt_model_menu_parameter_s", type = RowIDType.UUID) + private String id ; + /** 菜单ID,; */ + private String menuId ; + /** 子系统,; */ + private String subsystem ; + /** 参数ID,; */ + private String parameterId ; + /** 参数权限,1:查看;2:编辑,; */ + private int parameterPer ; + /** 创建人,; */ + private String createdBy ; + /** 创建时间,; */ + private Date creationDate ; + /** 最后更新人,; */ + private String lastUpdatedBy ; + /** 最后更新时间,; */ + private Date lastUpdateDate ; +} diff --git a/src/main/java/com/xdap/self_development/pojo/ModelMenuPermissionPojo.java b/src/main/java/com/xdap/self_development/pojo/ModelMenuPermissionPojo.java new file mode 100644 index 0000000..0c3c1d9 --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/ModelMenuPermissionPojo.java @@ -0,0 +1,36 @@ +package com.xdap.self_development.pojo; + +import com.definesys.mpaas.query.annotation.RowID; +import com.definesys.mpaas.query.annotation.RowIDType; +import com.definesys.mpaas.query.annotation.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@Table("yfsjglpt_model_menu_permission") +public class ModelMenuPermissionPojo { + + @RowID(sequence = "yfsjglpt_model_menu_permission_s", type = RowIDType.UUID) + private String id ; + /** 上级ID,; */ + private String parentId ; + /** 菜单名称,; */ + private String menuName ; + /** 菜单代码,; */ + private String menuCode ; + /** 菜单描述,; */ + private String menuDesc ; + /** 是否可用,; */ + private int isEnable ; + /** 创建人,; */ + private String createdBy ; + /** 创建时间,; */ + private Date creationDate ; + /** 最后更新人,; */ + private String lastUpdatedBy ; + /** 最后更新时间,; */ + private Date lastUpdateDate ; +} diff --git a/src/main/java/com/xdap/self_development/pojo/ModelRolesPojo.java b/src/main/java/com/xdap/self_development/pojo/ModelRolesPojo.java new file mode 100644 index 0000000..bf6ffed --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/ModelRolesPojo.java @@ -0,0 +1,35 @@ +package com.xdap.self_development.pojo; + +import com.definesys.mpaas.query.annotation.RowID; +import com.definesys.mpaas.query.annotation.RowIDType; +import com.definesys.mpaas.query.annotation.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@Table("yfsjglpt_model_roles") +public class ModelRolesPojo { + /** ID,; */ + @RowID(sequence = "yfsjglpt_model_roles_s", type = RowIDType.UUID) + private String id ; + /** 角色名称,; */ + private String roleName ; + /** 角色代号,; */ + private String roleCode ; + /** 角色描述,; */ + private String roleDescription ; + /** 是否启用,; */ + private int isEnabled ; + /** 创建人,; */ + private String createdBy ; + /** 创建时间,; */ + private Date creationDate ; + /** 最后更新人,; */ + private String lastUpdatedBy ; + /** 最后更新时间,; */ + private Date lastUpdateDate ; + +} diff --git a/src/main/java/com/xdap/self_development/pojo/view/MenuListView.java b/src/main/java/com/xdap/self_development/pojo/view/MenuListView.java new file mode 100644 index 0000000..c3ca8ba --- /dev/null +++ b/src/main/java/com/xdap/self_development/pojo/view/MenuListView.java @@ -0,0 +1,20 @@ +package com.xdap.self_development.pojo.view; + +import com.definesys.mpaas.query.annotation.SQL; +import com.definesys.mpaas.query.annotation.SQLQuery; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.sql.Timestamp; +import java.util.ArrayList; + + +@Data +public class MenuListView { + private String id; + private String parent_id; + private String menu; + ArrayList listViews; +} diff --git a/src/main/java/com/xdap/self_development/service/ModelMenuPermissionService.java b/src/main/java/com/xdap/self_development/service/ModelMenuPermissionService.java new file mode 100644 index 0000000..d51678e --- /dev/null +++ b/src/main/java/com/xdap/self_development/service/ModelMenuPermissionService.java @@ -0,0 +1,12 @@ +package com.xdap.self_development.service; + + +import com.xdap.self_development.pojo.view.MenuListView; + +import java.util.List; + +public interface ModelMenuPermissionService { + + //菜单查询 + List selectMenus(); +} diff --git a/src/main/java/com/xdap/self_development/service/ModelRoleService.java b/src/main/java/com/xdap/self_development/service/ModelRoleService.java new file mode 100644 index 0000000..6d3055f --- /dev/null +++ b/src/main/java/com/xdap/self_development/service/ModelRoleService.java @@ -0,0 +1,22 @@ +package com.xdap.self_development.service; + + +import com.xdap.self_development.controller.request.ModelRolesRequest; +import com.xdap.self_development.pojo.ModelMenuPermissionPojo; +import com.xdap.self_development.pojo.ModelRolesPojo; +import com.xdap.self_development.pojo.dto.PageResultDTO; +import com.xdap.self_development.pojo.view.MenuListView; + +import java.util.ArrayList; +import java.util.List; + +public interface ModelRoleService { + + void addRoles(ModelRolesRequest request); + + PageResultDTO selectRolesByPage(String userID); + List selectRoles(String userID); + + + +} diff --git a/src/main/java/com/xdap/self_development/service/impl/ModelMenuPermissionServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ModelMenuPermissionServiceImpl.java new file mode 100644 index 0000000..0bced7a --- /dev/null +++ b/src/main/java/com/xdap/self_development/service/impl/ModelMenuPermissionServiceImpl.java @@ -0,0 +1,61 @@ +package com.xdap.self_development.service.impl; + + +import com.xdap.self_development.config.BusinessDatabase; +import com.xdap.self_development.controller.request.ModelRolesRequest; +import com.xdap.self_development.pojo.ModelMenuPermissionPojo; +import com.xdap.self_development.pojo.ModelRolesPojo; +import com.xdap.self_development.pojo.view.MenuListView; +import com.xdap.self_development.service.ModelMenuPermissionService; +import com.xdap.self_development.service.ModelRoleService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + + +@Slf4j +@Service +public class ModelMenuPermissionServiceImpl implements ModelMenuPermissionService { + + @Autowired + BusinessDatabase businessDatabase; + + + + @Override + public List selectMenus() { + List menuListViews = new ArrayList(); + List permissionPojos = businessDatabase.getBusinessDatabase() + .doQuery(ModelMenuPermissionPojo.class); + for (ModelMenuPermissionPojo pojo : permissionPojos) { + MenuListView menuListView = new MenuListView(); + String id = pojo.getId(); + menuListView.setId(id); + menuListView.setMenu(pojo.getMenuName()); + List pojos = permissionPojos.stream().filter(x -> x.getParentId().equals(id)).collect(Collectors.toList()); + + if (ObjectUtils.isNotEmpty(pojos)) { + ArrayList menuListViews1 = new ArrayList(); + + for (ModelMenuPermissionPojo pojo2 : pojos) { + MenuListView menuListView1 = new MenuListView(); + String id2 = pojo2.getId(); + menuListView1.setId(id2); + menuListView1.setMenu(pojo2.getMenuName()); + menuListViews1.add(menuListView1); + } + menuListView.setListViews(menuListViews1); + } + menuListViews.add(menuListView); + } + return menuListViews; + } +} diff --git a/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java new file mode 100644 index 0000000..d473088 --- /dev/null +++ b/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java @@ -0,0 +1,51 @@ +package com.xdap.self_development.service.impl; + + +import com.xdap.self_development.config.BusinessDatabase; +import com.xdap.self_development.controller.request.ModelRolesRequest; +import com.xdap.self_development.pojo.ModelMenuPermissionPojo; +import com.xdap.self_development.pojo.ModelRolesPojo; +import com.xdap.self_development.pojo.Parameter; +import com.xdap.self_development.pojo.dto.PageResultDTO; +import com.xdap.self_development.pojo.view.MenuListView; +import com.xdap.self_development.service.ModelRoleService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +@Slf4j +@Service +public class ModelRoleServiceImpl implements ModelRoleService { + + @Autowired + BusinessDatabase businessDatabase; + + @Override + public void addRoles(ModelRolesRequest request) { + ModelRolesPojo modelRolesPojo = new ModelRolesPojo(); + BeanUtils.copyProperties(request, modelRolesPojo); + modelRolesPojo.setCreatedBy(request.getUserId()); + modelRolesPojo.setCreationDate(new Date()); + businessDatabase.getBusinessDatabase() + .doInsert(modelRolesPojo); + } + + @Override + public PageResultDTO selectRolesByPage(String userID) { + return null; + } + + @Override + public List selectRoles(String userID) { + List modelRolesPojos = businessDatabase.getBusinessDatabase() + .doQuery(ModelRolesPojo.class); + return modelRolesPojos; + } + +}