diff --git a/electrmangnetic/pom.xml b/electrmangnetic/pom.xml
index b9ccd7e..b6085a5 100644
--- a/electrmangnetic/pom.xml
+++ b/electrmangnetic/pom.xml
@@ -61,6 +61,12 @@
com.github.pagehelper
pagehelper
+
+
+ com.github.jsqlparser
+ jsqlparser
+
+
5.1.2
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java
index cc86d0c..be755ac 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/EdMetaObjectHandler.java
@@ -4,20 +4,20 @@ import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
-import java.time.LocalDateTime;
+import java.util.Date;
@Component
public class EdMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
- this.strictInsertFill(metaObject, "gmtCreate", LocalDateTime.class, LocalDateTime.now());
- this.strictInsertFill(metaObject, "gmtModified", LocalDateTime.class, LocalDateTime.now());
+ this.strictInsertFill(metaObject, "gmtCreate", Date.class, new Date());
+ this.strictInsertFill(metaObject, "gmtModified", Date.class, new Date());
}
@Override
public void updateFill(MetaObject metaObject) {
- this.strictUpdateFill(metaObject, "gmtModified", LocalDateTime.class, LocalDateTime.now());
+ this.strictUpdateFill(metaObject, "gmtModified", Date.class, new Date());
}
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/MybatisPlusConfig.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..059ca17
--- /dev/null
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/MybatisPlusConfig.java
@@ -0,0 +1,17 @@
+package com.electromagnetic.industry.software.manage.config;
+
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MybatisPlusConfig {
+
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); // 添加分页插件
+ return interceptor;
+ }
+}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RoleController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RoleController.java
index 787a657..ab7056b 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RoleController.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RoleController.java
@@ -3,6 +3,7 @@ package com.electromagnetic.industry.software.manage.controller;
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
import com.electromagnetic.industry.software.manage.pojo.req.RoleDTO;
+import com.electromagnetic.industry.software.manage.pojo.req.RolePageDTO;
import com.electromagnetic.industry.software.manage.service.RoleService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
@@ -33,4 +34,28 @@ public class RoleController {
public ElectromagneticResult> deleteRole(@PathVariable("roleId") String roleId) {
return ElectromagneticResultUtil.success(roleService.deleteRole(roleId));
}
+
+ @ApiOperation(value="查看角色", notes = "")
+ @GetMapping(value="/getSingleRole/{roleId}")
+ public ElectromagneticResult> getRole(@PathVariable("roleId") String roleId) {
+ return ElectromagneticResultUtil.success(roleService.getRole(roleId));
+ }
+
+ @ApiOperation(value = "获取角色列表", notes = "")
+ @RequestMapping(value = "/list", method = RequestMethod.POST)
+ public ElectromagneticResult> getRoles(@RequestBody RolePageDTO rolePageDTO) {
+ return ElectromagneticResultUtil.success(roleService.getRoles(rolePageDTO));
+ }
+
+ @ApiOperation(value="通过角色名查看角色权限", notes = "")
+ @GetMapping(value = "/getRoleByName")
+ public ElectromagneticResult> getRoleByName(@RequestParam("roleName") String roleName) {
+ return ElectromagneticResultUtil.success(roleService.getRoleByName(roleName));
+ }
+
+ @ApiOperation(value = "角色名列表", notes = "")
+ @GetMapping(value = "/getRoleNames")
+ public ElectromagneticResult> getRoleNames() {
+ return ElectromagneticResultUtil.success(roleService.getAllRoleNames());
+ }
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java
index 018a63f..eedfc9c 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserController.java
@@ -1,5 +1,6 @@
package com.electromagnetic.industry.software.manage.controller;
+import com.electromagnetic.industry.software.common.enums.PublishEnum;
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
import com.electromagnetic.industry.software.manage.pojo.req.*;
@@ -70,6 +71,13 @@ public class UserController {
return userService.logout(token);
}
+ @ApiOperation(value = "人员绑定界面查询用户", notes = "")
+ @RequestMapping(value = "/bindRole/list", method = RequestMethod.POST)
+ public ElectromagneticResult> getPublishedUsers(@RequestBody SearchUserRequest searchUserRequest) {
+ searchUserRequest.setIsPublished(PublishEnum.PUBLISHED.getCode().toString());
+ return userService.searchUser(searchUserRequest);
+ }
+
@ApiOperation(value = "人员绑定", notes = "")
@RequestMapping(value = "/bindRoles", method = RequestMethod.POST)
public ElectromagneticResult> bindRoles(@RequestBody UserRoleRequest userRoleRequest) {
@@ -79,4 +87,11 @@ public class UserController {
return ElectromagneticResultUtil.fail("500", "不可绑定空用户");
}
}
+
+ @ApiOperation(value = "密码重置", notes = "")
+ @GetMapping(value = "/resetPassword/{userId}")
+ public ElectromagneticResult> resetPassword(@PathVariable("userId") String userId) {
+ return ElectromagneticResultUtil.success(userService.resetPassword(userId));
+ }
+
}
\ No newline at end of file
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/RoleMapper.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/RoleMapper.java
index de49196..a3d4dbb 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/RoleMapper.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/RoleMapper.java
@@ -1,9 +1,38 @@
package com.electromagnetic.industry.software.manage.mapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.electromagnetic.industry.software.manage.pojo.models.Role;
+import com.electromagnetic.industry.software.manage.pojo.req.RoleDTO;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
@Mapper
public interface RoleMapper extends BaseMapper {
+
+
+ @Select("")
+ Page getPageRoleDTO(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/UserMapper.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/UserMapper.java
index ba89135..0c3d24b 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/UserMapper.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/UserMapper.java
@@ -75,4 +75,10 @@ public interface UserMapper {
*/
int deleteUser(UserDeleteKeyWords userDeleteKeyWords);
+ /**
+ * 查找用户角色名称
+ * @param userId
+ * @return
+ */
+ List selectUserRoles(String userId);
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java
index 8e6c2b9..13fe816 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/Role.java
@@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.manage.pojo.models;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
+
import java.util.Date;
@Data
@@ -29,12 +30,6 @@ public class Role {
@TableField(value = "role_desc")
private String roleDesc;
- /**
- * 角色状态
- */
- @TableField(value = "role_status")
- private String roleStatus;
-
/**
* 创建者用户编码
*/
@@ -73,7 +68,6 @@ public class Role {
* 是否有效:0-无效 1-有效
*/
@TableField(value="effect_flag")
- @TableLogic(value = "1", delval = "0")
private Integer effectFlag;
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/User.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/User.java
index 84ef804..f68d977 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/User.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/User.java
@@ -44,6 +44,11 @@ public class User {
*/
private String userTitle;
+ /**
+ * 账户
+ */
+ private String userAccount;
+
/**
* 登录密码
*/
@@ -65,10 +70,15 @@ public class User {
private Date internshipEndDate;
/**
- * 是否已发布
+ * 是否已发布(系统管理员)
*/
private Integer isPublished;
+ /**
+ * 是否已激活(安全管理员)
+ */
+ private Integer isActivated;
+
/**
* 盐
*/
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SearchKeyWords.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SearchKeyWords.java
index 3ec3e9d..6998e63 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SearchKeyWords.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SearchKeyWords.java
@@ -19,6 +19,11 @@ public class SearchKeyWords {
*/
private String isPublished;
+ /**
+ * 用户激活状态
+ */
+ private String isActivated;
+
/**
* 排序方式: "asc" 或 "desc" 或 “”
*/
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SingleUserResponse.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SingleUserResponse.java
index 27d8652..95af546 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SingleUserResponse.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/other/SingleUserResponse.java
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
+import java.util.List;
@Data
public class SingleUserResponse {
@@ -45,11 +46,26 @@ public class SingleUserResponse {
*/
private String userTitle;
+ /**
+ * 账户
+ */
+ private String userAccount;
+
/**
* 登录密码
*/
private String userPwd;
+ /**
+ * 角色名称拼接字符串
+ */
+ private String roles;
+
+ /**
+ * 角色名称列表
+ */
+ private List roleList;
+
/**
* 入职日期
*/
@@ -72,6 +88,11 @@ public class SingleUserResponse {
*/
private Integer isPublished;
+ /**
+ * 是否已激活
+ */
+ private Integer isActivated;
+
/**
* 盐
*/
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RoleDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RoleDTO.java
index fe0301e..b5f480a 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RoleDTO.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RoleDTO.java
@@ -22,6 +22,16 @@ public class RoleDTO {
*/
private String roleDesc;
+ /**
+ * 数据权限
+ */
+ private String dataScope;
+
+ /**
+ * 功能权限
+ */
+ private String allowedActions;
+
/**
* 权限数据
*/
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePageDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePageDTO.java
new file mode 100644
index 0000000..9845e6c
--- /dev/null
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePageDTO.java
@@ -0,0 +1,26 @@
+package com.electromagnetic.industry.software.manage.pojo.req;
+
+import lombok.Data;
+
+@Data
+public class RolePageDTO {
+ /**
+ * 角色编号
+ */
+ private String roleId;
+
+ /**
+ * 角色姓名
+ */
+ private String roleName;
+
+ /**
+ * 页码
+ */
+ private Integer pageIndex;
+
+ /**
+ * 页数据量
+ */
+ private Integer pageSize;
+}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePermissionDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePermissionDTO.java
index 2e691c6..c63385b 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePermissionDTO.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/RolePermissionDTO.java
@@ -3,14 +3,20 @@ package com.electromagnetic.industry.software.manage.pojo.req;
import lombok.Data;
import java.util.List;
+import java.util.Map;
@Data
public class RolePermissionDTO {
/**
- * 目录(文件)编号
+ * 目录(文件)主键
*/
- private String fileId;
+ private String id;
+
+ /**
+ * 父ID
+ */
+ private String parentId;
/**
* 目录(文件)名称
@@ -18,9 +24,14 @@ public class RolePermissionDTO {
private String fileName;
/**
- * 权限列表
+ * 数据权限
*/
- private List permission;
+ private Map dataAuth;
+
+ /**
+ * 权限哈希
+ */
+ private Map permission;
/**
* 子目录
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/SearchUserRequest.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/SearchUserRequest.java
index 74e7404..2b28c12 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/SearchUserRequest.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/SearchUserRequest.java
@@ -24,6 +24,11 @@ public class SearchUserRequest extends BaseRequest implements Serializable {
*/
private String isPublished;
+ /**
+ * 用户激活状态
+ */
+ private String isActivated;
+
/**
* 排序方式: "asc" 或 "desc" 或 “”
*/
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/UserBindRoleDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/UserBindRoleDTO.java
new file mode 100644
index 0000000..f8a9e49
--- /dev/null
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/UserBindRoleDTO.java
@@ -0,0 +1,20 @@
+package com.electromagnetic.industry.software.manage.pojo.req;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UserBindRoleDTO {
+
+ /**
+ * 用户编号
+ */
+ String userId;
+
+ /**
+ * 角色名称列表(角色名称唯一)
+ */
+ List roleList;
+
+}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/UserRoleRequest.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/UserRoleRequest.java
index 7f81120..3ef12a4 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/UserRoleRequest.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/UserRoleRequest.java
@@ -7,13 +7,6 @@ import java.util.List;
@Data
public class UserRoleRequest {
- /**
- * 用户编号
- */
- String userId;
+ List bindData;
- /**
- * 角色编号列表
- */
- List roleIds;
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/PermissionService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/PermissionService.java
index 4133f4a..18004f1 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/PermissionService.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/PermissionService.java
@@ -9,10 +9,10 @@ public interface PermissionService {
* 查询当前用户在当前目录的功能权限
*
* @param userId
- * @param fileId
+ * @param id
* @return
*/
- Map getUserPermission(String userId, String fileId);
+ Map getUserPermission(String userId, String id);
/**
* 获取当前用户有权限访问的目录id
@@ -20,4 +20,19 @@ public interface PermissionService {
* @return
*/
List getAccessibleTree();
+
+ /**
+ * 获得当前角色权限
+ * @param roleId
+ * @param fileId
+ * @return
+ */
+ List getPermissionCodes(String roleId, String fileId);
+
+ /**
+ * 用户权限列表 转换为 哈希
+ * @param permissionCodes
+ * @return
+ */
+ Map transToMap(List permissionCodes);
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/RoleService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/RoleService.java
index ea457a0..368ef5b 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/RoleService.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/RoleService.java
@@ -1,10 +1,14 @@
package com.electromagnetic.industry.software.manage.service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.electromagnetic.industry.software.manage.pojo.models.Role;
import com.electromagnetic.industry.software.manage.pojo.req.RoleDTO;
+import com.electromagnetic.industry.software.manage.pojo.req.RolePageDTO;
import org.springframework.transaction.annotation.Transactional;
+import java.util.List;
+
public interface RoleService extends IService {
/**
@@ -27,5 +31,32 @@ public interface RoleService extends IService {
* @return
*/
Boolean deleteRole(String roleId);
+
+ /**
+ * 查看角色
+ * @param roleId
+ * @return
+ */
+ RoleDTO getRole(String roleId);
+
+ /**
+ * 查看角色列表
+ * @param rolePageDTO
+ * @return
+ */
+ IPage getRoles(RolePageDTO rolePageDTO);
+
+ /**
+ * 获取所有角色名
+ * @return
+ */
+ List getAllRoleNames();
+
+ /**
+ * 通过角色名称查看角色权限
+ * @param roleName
+ * @return
+ */
+ RoleDTO getRoleByName(String roleName);
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/UserService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/UserService.java
index 49f4527..4f0e9a7 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/UserService.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/UserService.java
@@ -82,4 +82,10 @@ public interface UserService {
* 人员绑定
*/
Boolean bindRoles(UserRoleRequest userRoleRequest);
+
+ /**
+ * 重置密码
+ * @param userId
+ */
+ Boolean resetPassword(String userId);
}
diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java
index c85f9b8..d2b7e26 100644
--- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java
+++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java
@@ -1,6 +1,6 @@
package com.electromagnetic.industry.software.manage.service.serviceimpl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.electromagnetic.industry.software.common.enums.FilePermission;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
import com.electromagnetic.industry.software.manage.mapper.RolePermissionMapper;
@@ -28,32 +28,21 @@ public class PermissionServiceImpl implements PermissionService {
* 查询当前用户在当前目录的功能权限
*
* @param userId
- * @param fileId
+ * @param id
* @return
*/
@Override
- public Map getUserPermission(String userId, String fileId) {
- Map result = new HashMap<>();
+ public Map getUserPermission(String userId, String id) {
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.select("role_id").eq("user_id", userId);
- List