Merge remote-tracking branch 'origin/fix-bug-202303'
# Conflicts: # jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/CsrfFilter.java # jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
-- ----------------------------
|
||||
-- 系统管理-菜单管理(增删查改权限)
|
||||
-- ----------------------------
|
||||
-- 权限数据 --
|
||||
INSERT INTO `sys_permission` VALUES ('1654673897041223683', '54dd5457a3190740005c1bfec55b1c34', '查询', NULL, NULL, NULL, NULL, 2, 'permission:list', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 10:26:14', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission` VALUES ('1654675497143033857', '54dd5457a3190740005c1bfec55b1c34', '添加', NULL, NULL, NULL, NULL, 2, 'permission:add', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 10:32:36', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission` VALUES ('1654675694854135809', '54dd5457a3190740005c1bfec55b1c34', '删除', NULL, NULL, NULL, NULL, 2, 'permission:delete', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 10:33:23', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission` VALUES ('1654675850508951554', '54dd5457a3190740005c1bfec55b1c34', '编辑', NULL, NULL, NULL, NULL, 2, 'permission:edit', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 10:34:00', NULL, NULL, 0, 0, '1', 0);
|
||||
-- 权限与admin角色关联数据 --
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654675964954730498', 'f6817f48af4fb3af11b9e8bf182f618b', '1654673897041223683', NULL, '2023-05-06 10:34:27', '127.0.0.1');
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654675964984090626', 'f6817f48af4fb3af11b9e8bf182f618b', '1654675497143033857', NULL, '2023-05-06 10:34:27', '127.0.0.1');
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654675964988284929', 'f6817f48af4fb3af11b9e8bf182f618b', '1654675694854135809', NULL, '2023-05-06 10:34:27', '127.0.0.1');
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654675964992479233', 'f6817f48af4fb3af11b9e8bf182f618b', '1654675850508951554', NULL, '2023-05-06 10:34:27', '127.0.0.1');
|
||||
|
||||
-- ----------------------------
|
||||
-- 系统管理-数据字典(增删查改、导出导入权限)
|
||||
-- ----------------------------
|
||||
-- 权限数据 --
|
||||
INSERT INTO `sys_permission` VALUES ('1654744031105675265', 'f1cb187abf927c88b89470d08615f5ac', '查询', NULL, NULL, NULL, NULL, 2, 'dict:list', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 15:04:55', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission` VALUES ('1654744160357347330', 'f1cb187abf927c88b89470d08615f5ac', '添加', NULL, NULL, NULL, NULL, 2, 'dict:add', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 15:05:26', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission` VALUES ('1654744259787517954', 'f1cb187abf927c88b89470d08615f5ac', '删除', NULL, NULL, NULL, NULL, 2, 'dict:delete', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 15:05:50', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission` VALUES ('1654744350615171074', 'f1cb187abf927c88b89470d08615f5ac', '编辑', NULL, NULL, NULL, NULL, 2, 'dict:edit', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 15:06:12', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission` VALUES ('1654746352959123457', 'f1cb187abf927c88b89470d08615f5ac', '导出', NULL, NULL, NULL, NULL, 2, 'dict:export', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 15:14:09', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission` VALUES ('1654746470756151297', 'f1cb187abf927c88b89470d08615f5ac', '导入', NULL, NULL, NULL, NULL, 2, 'dict:import', '1', NULL, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2023-05-06 15:14:37', NULL, NULL, 0, 0, '1', 0);
|
||||
-- 权限与admin角色关联数据 --
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654747707610263553', 'f6817f48af4fb3af11b9e8bf182f618b', '1654744031105675265', NULL, '2023-05-06 15:19:32', '127.0.0.1');
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654747707627040770', 'f6817f48af4fb3af11b9e8bf182f618b', '1654744160357347330', NULL, '2023-05-06 15:19:32', '127.0.0.1');
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654747707627040771', 'f6817f48af4fb3af11b9e8bf182f618b', '1654744259787517954', NULL, '2023-05-06 15:19:32', '127.0.0.1');
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654747707631235073', 'f6817f48af4fb3af11b9e8bf182f618b', '1654744350615171074', NULL, '2023-05-06 15:19:32', '127.0.0.1');
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654747707631235074', 'f6817f48af4fb3af11b9e8bf182f618b', '1654746352959123457', NULL, '2023-05-06 15:19:32', '127.0.0.1');
|
||||
INSERT INTO `sys_role_permission` VALUES ('1654747707635429378', 'f6817f48af4fb3af11b9e8bf182f618b', '1654746470756151297', NULL, '2023-05-06 15:19:32', '127.0.0.1');
|
||||
+2
-2
@@ -172,8 +172,8 @@ public class JeroController<T, S extends IService<T>> {
|
||||
// 获取上传文件对象
|
||||
MultipartFile file = entity.getValue();
|
||||
ImportParams params = new ImportParams();
|
||||
params.setTitleRows(2);
|
||||
params.setHeadRows(1);
|
||||
/*params.setTitleRows(2);
|
||||
params.setHeadRows(1);*/
|
||||
params.setNeedSave(true);
|
||||
try {
|
||||
List<T> list = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params);
|
||||
|
||||
+3
-2
@@ -32,8 +32,8 @@ public class JwtUtil {
|
||||
}
|
||||
|
||||
|
||||
// Token过期时间24小时(用户登录过期时间是此时间的两倍,以token在reids缓存时间为准)
|
||||
public static final long EXPIRE_TIME = 1440 * 60 * 1000L;
|
||||
// Token过期时间30分钟(用户登录过期时间也是30分钟,以token在reids缓存时间为准)
|
||||
public static final long EXPIRE_TIME = 30 * 60 * 1000L;
|
||||
|
||||
private static final String USERNAME_FIELD = "username";
|
||||
|
||||
@@ -79,6 +79,7 @@ public class JwtUtil {
|
||||
* @return 加密的token
|
||||
*/
|
||||
public static String sign(String username, String secret) {
|
||||
// 24小时后过期
|
||||
Date date = new Date(System.currentTimeMillis() + EXPIRE_TIME);
|
||||
Algorithm algorithm = Algorithm.HMAC256(secret);
|
||||
// 附带username信息
|
||||
|
||||
+1
-1
@@ -158,7 +158,7 @@ public class ShiroRealm extends AuthorizingRealm {
|
||||
String newAuthorization = JwtUtil.sign(userName, passWord);
|
||||
// 设置超时时间
|
||||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, newAuthorization);
|
||||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 1000);
|
||||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 1000 * 2);
|
||||
log.debug("——————————用户在线操作,更新token保证不掉线—————————jwtTokenRefresh——————— "+ token);
|
||||
}
|
||||
return true;
|
||||
|
||||
+10
-2
@@ -536,7 +536,7 @@ public class DbReadTableUtil {
|
||||
}
|
||||
|
||||
//通过表名获取表备注
|
||||
public String remarks(String a) throws SQLException, ClassNotFoundException {
|
||||
public String remarks(String tableName) throws SQLException, ClassNotFoundException {
|
||||
Connection connection = null;
|
||||
Statement statement = null;
|
||||
try {
|
||||
@@ -544,7 +544,15 @@ public class DbReadTableUtil {
|
||||
connection = DriverManager.getConnection(com.jero.codegenerate.properties.CodeConfigProperties.databaseUrl, com.jero.codegenerate.properties.CodeConfigProperties.username, com.jero.codegenerate.properties.CodeConfigProperties.password);
|
||||
statement = connection.createStatement(1005, 1007);
|
||||
|
||||
String sqlStr = "SELECT table_comment FROM information_schema.TABLES WHERE table_name = " + "'"+a+"'";
|
||||
String sqlStr = "";
|
||||
if (com.jero.codegenerate.properties.CodeConfigProperties.databaseType.equals(DbConvertDef.MYSQL)) {
|
||||
// mysql获取表的列信息sql
|
||||
sqlStr = "SELECT table_comment FROM information_schema.TABLES WHERE table_name = " + "'"+tableName+"'";
|
||||
}
|
||||
// oracle获取表的列信息sql
|
||||
if (com.jero.codegenerate.properties.CodeConfigProperties.databaseType.equals(DbConvertDef.ORACLE)) {
|
||||
sqlStr = "SELECT comments FROM user_tab_comments WHERE table_name = '" + tableName.toUpperCase() + "'";
|
||||
}
|
||||
ResultSet resultSet = statement.executeQuery(sqlStr);
|
||||
while(resultSet.next()) {
|
||||
String name = resultSet.getString(1);
|
||||
|
||||
+2
-2
@@ -30,8 +30,8 @@ public class SysMessageTemplate extends JeroEntity {
|
||||
@Excel(name = "模板内容", width = 50)
|
||||
private java.lang.String templateContent;
|
||||
/**模板测试json*/
|
||||
@Excel(name = "模板测试json", width = 15)
|
||||
private java.lang.String templateTestJson;
|
||||
/*@Excel(name = "模板测试json", width = 15)
|
||||
private java.lang.String templateTestJson;*/
|
||||
/**模板类型*/
|
||||
@Excel(name = "模板类型", width = 15)
|
||||
private java.lang.String templateType;
|
||||
|
||||
+6
@@ -3,6 +3,7 @@ package com.jero.modules.system.controller;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.jero.common.api.vo.Results;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import com.jero.common.util.SqlInjectionUtil;
|
||||
import com.jero.modules.system.mapper.SysDictMapper;
|
||||
@@ -47,6 +48,11 @@ public class DuplicateCheckController {
|
||||
//SQL注入校验(只限制非法串改数据库)
|
||||
final String[] sqlInjCheck = {duplicateCheckVo.getTableName(),duplicateCheckVo.getFieldName()};
|
||||
SqlInjectionUtil.filterContent(sqlInjCheck);
|
||||
if ("phone".equals(duplicateCheckVo.getFieldName())) {
|
||||
if (StringUtils.isNotBlank(duplicateCheckVo.getFieldVal())) {
|
||||
duplicateCheckVo.setFieldVal(PasswordUtil.encrypt(duplicateCheckVo.getFieldVal()));
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(duplicateCheckVo.getDataId())) {
|
||||
// [2].编辑页面校验
|
||||
num = sysDictMapper.duplicateCheckCountSql(duplicateCheckVo);
|
||||
|
||||
+5
-11
@@ -90,18 +90,12 @@ public class SysAnnouncementController {
|
||||
HttpServletRequest req) {
|
||||
Results<IPage<SysAnnouncement>> result = new Results<>();
|
||||
sysAnnouncement.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
|
||||
QueryWrapper<SysAnnouncement> queryWrapper = new QueryWrapper<>(sysAnnouncement);
|
||||
Page<SysAnnouncement> page = new Page<>(pageNo,pageSize);
|
||||
//排序逻辑 处理
|
||||
String column = req.getParameter("column");
|
||||
String order = req.getParameter("order");
|
||||
if(oConvertUtils.isNotEmpty(column) && oConvertUtils.isNotEmpty(order)) {
|
||||
if("asc".equals(order)) {
|
||||
queryWrapper.orderByAsc(oConvertUtils.camelToUnderline(column));
|
||||
}else {
|
||||
queryWrapper.orderByDesc(oConvertUtils.camelToUnderline(column));
|
||||
}
|
||||
}
|
||||
LambdaQueryWrapper<SysAnnouncement> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysAnnouncement::getDelFlag, sysAnnouncement.getDelFlag());
|
||||
queryWrapper.like(StringUtils.isNotBlank(sysAnnouncement.getTitile())
|
||||
,SysAnnouncement::getTitile, sysAnnouncement.getTitile());
|
||||
queryWrapper.orderByDesc(SysAnnouncement::getCreateTime);
|
||||
IPage<SysAnnouncement> pageList = sysAnnouncementService.page(page, queryWrapper);
|
||||
result.setSuccess(true);
|
||||
result.setResult(pageList);
|
||||
|
||||
+596
-575
File diff suppressed because it is too large
Load Diff
+21
@@ -24,6 +24,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -68,6 +69,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/page")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<List<SysPermissionTree>> list() {
|
||||
long start = System.currentTimeMillis();
|
||||
Results<List<SysPermissionTree>> result = new Results<>();
|
||||
@@ -94,6 +96,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getSystemMenuList")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<List<SysPermissionTree>> getSystemMenuList() {
|
||||
long start = System.currentTimeMillis();
|
||||
Results<List<SysPermissionTree>> result = new Results<>();
|
||||
@@ -123,6 +126,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getSystemSubmenu")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<List<SysPermissionTree>> getSystemSubmenu(@RequestParam("parentId") String parentId){
|
||||
Results<List<SysPermissionTree>> result = new Results<>();
|
||||
try{
|
||||
@@ -153,6 +157,7 @@ public class SysPermissionController {
|
||||
* @return 返回 key-value 的 Map
|
||||
*/
|
||||
@GetMapping("/getSystemSubmenuBatch")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<Map<String, List<SysPermissionTree>>> getSystemSubmenuBatch(@RequestParam("parentIds") String parentIds) {
|
||||
try {
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
@@ -186,6 +191,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getUserPermissionByToken")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<JSONObject> getUserPermissionByToken() {
|
||||
Results<JSONObject> result = new Results<>();
|
||||
try {
|
||||
@@ -230,6 +236,7 @@ public class SysPermissionController {
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@PostMapping("/add")
|
||||
@RequiresPermissions("permission:add")
|
||||
public Results<Object> add(@RequestBody SysPermission permission) {
|
||||
try {
|
||||
permission = PermissionDataUtil.intelligentProcessData(permission);
|
||||
@@ -248,6 +255,7 @@ public class SysPermissionController {
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@PostMapping("/edit")
|
||||
@RequiresPermissions("permission:edit")
|
||||
public Results<Object> edit(@RequestBody SysPermission permission) {
|
||||
try {
|
||||
permission = PermissionDataUtil.intelligentProcessData(permission);
|
||||
@@ -266,6 +274,7 @@ public class SysPermissionController {
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@PostMapping("/delete")
|
||||
@RequiresPermissions("permission:delete")
|
||||
public Results<T> delete(@RequestBody Map<String, String> map) {
|
||||
String id = map.get("id");
|
||||
if(StringUtils.isBlank(id)){
|
||||
@@ -287,6 +296,7 @@ public class SysPermissionController {
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@PostMapping("/deleteBatch")
|
||||
@RequiresPermissions("permission:delete")
|
||||
public Results<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
String ids = map.get("ids");
|
||||
if(StringUtils.isBlank(ids)){
|
||||
@@ -312,6 +322,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/queryTreeList")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<Map<String, Object>> queryTreeList() {
|
||||
Results<Map<String, Object>> result = new Results<>();
|
||||
// 全部权限ids
|
||||
@@ -344,6 +355,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/queryListAsync")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<List<TreeModel>> queryAsync(@RequestParam(name = "pid", required = false) String parentId) {
|
||||
Results<List<TreeModel>> result = new Results<>();
|
||||
try {
|
||||
@@ -367,6 +379,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/queryRolePermission")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<List<String>> queryRolePermission(@RequestParam(name = "roleId", required = true) String roleId) {
|
||||
Results<List<String>> result = new Results<>();
|
||||
try {
|
||||
@@ -385,6 +398,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/saveRolePermission")
|
||||
@RequiresPermissions("permission:add")
|
||||
//@RequiresRoles({ "admin" })
|
||||
public Results<String> saveRolePermission(@RequestBody JSONObject json) {
|
||||
long start = System.currentTimeMillis();
|
||||
@@ -655,6 +669,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getPermRuleListByPermId")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<List<SysPermissionDataRule>> getPermRuleListByPermId(SysPermissionDataRule sysPermissionDataRule) {
|
||||
List<SysPermissionDataRule> permRuleList = sysPermissionDataRuleService.getPermRuleListByPermId(sysPermissionDataRule.getPermissionId());
|
||||
Results<List<SysPermissionDataRule>> result = new Results<>();
|
||||
@@ -671,6 +686,7 @@ public class SysPermissionController {
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@PostMapping("/addPermissionRule")
|
||||
@RequiresPermissions("permission:add")
|
||||
public Results<Object> addPermissionRule(@RequestBody SysPermissionDataRule sysPermissionDataRule) {
|
||||
try {
|
||||
sysPermissionDataRule.setCreateTime(new Date());
|
||||
@@ -684,6 +700,7 @@ public class SysPermissionController {
|
||||
|
||||
//@RequiresRoles({ "admin" })
|
||||
@PostMapping("/editPermissionRule")
|
||||
@RequiresPermissions("permission:edit")
|
||||
public Results<Object> editPermissionRule(@RequestBody SysPermissionDataRule sysPermissionDataRule) {
|
||||
try {
|
||||
sysPermissionDataRuleService.saveOrUpdate(sysPermissionDataRule);
|
||||
@@ -702,6 +719,7 @@ public class SysPermissionController {
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@PostMapping("/deletePermissionRule")
|
||||
@RequiresPermissions("permission:delete")
|
||||
public Results<Object> deletePermissionRule(@RequestBody Map<String,String> map) {
|
||||
try {
|
||||
String id = map.get("id");
|
||||
@@ -723,6 +741,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/queryPermissionRule")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<List<SysPermissionDataRule>> queryPermissionRule(SysPermissionDataRule sysPermissionDataRule) {
|
||||
try {
|
||||
List<SysPermissionDataRule> permRuleList = sysPermissionDataRuleService.queryPermissionRule(sysPermissionDataRule);
|
||||
@@ -739,6 +758,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/queryDepartPermission")
|
||||
@RequiresPermissions("permission:list")
|
||||
public Results<List<String>> queryDepartPermission(@RequestParam(name = "departId", required = true) String departId) {
|
||||
Results<List<String>> result = new Results<>();
|
||||
try {
|
||||
@@ -757,6 +777,7 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/saveDepartPermission")
|
||||
@RequiresPermissions("permission:add")
|
||||
//@RequiresRoles({ "admin" })
|
||||
public Results<String> saveDepartPermission(@RequestBody JSONObject json) {
|
||||
long start = System.currentTimeMillis();
|
||||
|
||||
+8
-8
@@ -81,7 +81,7 @@ public class SysRoleController {
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:role:list")
|
||||
@RequiresPermissions("sys:role:list")
|
||||
@GetMapping("/page")
|
||||
public Results<IPage<SysRole>> queryPageList(SysRole role,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@@ -181,7 +181,7 @@ public class SysRoleController {
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:role:list")
|
||||
@RequiresPermissions("sys:role:list")
|
||||
@GetMapping("/queryById")
|
||||
public Results<SysRole> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
SysRole sysRole = sysRoleService.getById(id);
|
||||
@@ -191,7 +191,7 @@ public class SysRoleController {
|
||||
return Results.OK(sysRole);
|
||||
}
|
||||
}
|
||||
//@RequiresPermissions("sys:role:list")
|
||||
@RequiresPermissions("sys:role:list")
|
||||
@GetMapping("/queryall")
|
||||
public Results<List<SysRole>> queryall() {
|
||||
List<SysRole> list = sysRoleService.list();
|
||||
@@ -205,7 +205,7 @@ public class SysRoleController {
|
||||
/**
|
||||
* 校验角色编码唯一
|
||||
*/
|
||||
//@RequiresPermissions("sys:role:list")
|
||||
@RequiresPermissions("sys:role:list")
|
||||
@GetMapping("/checkRoleCode")
|
||||
public Results<Boolean> checkUsername(String id, String roleCode) {
|
||||
Results<Boolean> result = new Results<>();
|
||||
@@ -292,7 +292,7 @@ public class SysRoleController {
|
||||
/**
|
||||
* 查询数据规则数据
|
||||
*/
|
||||
//@RequiresPermissions("sys:role:list")
|
||||
@RequiresPermissions("sys:role:list")
|
||||
@GetMapping(value = "/datarule/{permissionId}/{roleId}")
|
||||
public Results<Map<String, Object>> loadDatarule(@PathVariable("permissionId") String permissionId, @PathVariable("roleId") String roleId) {
|
||||
List<SysPermissionDataRule> list = sysPermissionDataRuleService.getPermRuleListByPermId(permissionId);
|
||||
@@ -320,7 +320,7 @@ public class SysRoleController {
|
||||
/**
|
||||
* 保存数据规则至角色菜单关联表
|
||||
*/
|
||||
//@RequiresPermissions("sys:role:list")
|
||||
@RequiresPermissions("sys:role:list")
|
||||
@PostMapping(value = "/datarule")
|
||||
public Results<T> saveDatarule(@RequestBody JSONObject jsonObject) {
|
||||
try {
|
||||
@@ -351,7 +351,7 @@ public class SysRoleController {
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:role:list")
|
||||
@RequiresPermissions("sys:role:list")
|
||||
@GetMapping("/queryTreeList")
|
||||
public Results<Map<String,Object>> queryTreeList(HttpServletRequest request) {
|
||||
Results<Map<String,Object>> result = new Results<>();
|
||||
@@ -377,7 +377,7 @@ public class SysRoleController {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
//@RequiresPermissions("sys:role:list")
|
||||
@RequiresPermissions("sys:role:list")
|
||||
private void getTreeModelList(List<TreeModel> treeList,List<SysPermission> metaList,TreeModel temp) {
|
||||
for (SysPermission permission : metaList) {
|
||||
String tempPid = permission.getParentId();
|
||||
|
||||
+49
-14
@@ -254,6 +254,7 @@ public class SysUserController {
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
@RequiresPermissions("sys:user:sel")
|
||||
public Results<T> delete(@RequestBody Map<String,String> map) {
|
||||
String id = map.get("id");
|
||||
if(StringUtils.isBlank(id)){
|
||||
@@ -265,6 +266,7 @@ public class SysUserController {
|
||||
}
|
||||
|
||||
@PostMapping("/deleteBatch")
|
||||
@RequiresPermissions("sys:user:sel")
|
||||
public Results<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
String ids = map.get("ids");
|
||||
if(StringUtils.isBlank(ids)){
|
||||
@@ -276,7 +278,7 @@ public class SysUserController {
|
||||
}
|
||||
|
||||
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("user:edit")
|
||||
@PostMapping("/frozenBatch")
|
||||
public Results<Object> frozenBatch(@RequestBody JSONObject jsonObject) {
|
||||
try {
|
||||
@@ -296,11 +298,11 @@ public class SysUserController {
|
||||
return Results.OK(OPTION_SUCCESS);
|
||||
|
||||
}
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/queryById", method = RequestMethod.GET)
|
||||
@GetMapping("/queryById")
|
||||
public Results<SysUser> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||
SysUser sysUser = sysUserService.getById(id);
|
||||
SysUser sysUser = sysUserService.queryById(id);
|
||||
if (sysUser == null) {
|
||||
return Results.error(INEXISTENCE);
|
||||
} else {
|
||||
@@ -308,7 +310,7 @@ public class SysUserController {
|
||||
}
|
||||
}
|
||||
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/queryUserRole", method = RequestMethod.GET)
|
||||
@GetMapping("/queryUserRole")
|
||||
public Results<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) {
|
||||
@@ -332,7 +334,7 @@ public class SysUserController {
|
||||
* @param sysUser
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/checkOnlyUser", method = RequestMethod.GET)
|
||||
@GetMapping("/checkOnlyUser")
|
||||
public Results<Boolean> checkOnlyUser(SysUser sysUser) {
|
||||
@@ -363,6 +365,7 @@ public class SysUserController {
|
||||
*/
|
||||
// @RequestMapping(value = "/changePassword", method = RequestMethod.PUT)
|
||||
@PostMapping("/changePassword")
|
||||
@RequiresPermissions("user:edit")
|
||||
public Results<T> changePassword(@RequestBody SysUser sysUser) {
|
||||
SysUser u = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, sysUser.getUsername()));
|
||||
if (u == null) {
|
||||
@@ -378,7 +381,7 @@ public class SysUserController {
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/userDepartList", method = RequestMethod.GET)
|
||||
@GetMapping("/userDepartList")
|
||||
public Results<List<DepartIdModel>> getUserDepartsList(@RequestParam(name = "userId", required = true) String userId) {
|
||||
@@ -408,7 +411,7 @@ public class SysUserController {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/generateUserId", method = RequestMethod.GET)
|
||||
@GetMapping("/generateUserId")
|
||||
public Results<String> generateUserId() {
|
||||
@@ -426,7 +429,7 @@ public class SysUserController {
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/queryUserByDepId", method = RequestMethod.GET)
|
||||
@GetMapping("/queryUserByDepId")
|
||||
public Results<List<SysUser>> queryUserByDepId(@RequestParam(name = "id", required = true) String id, @RequestParam(name="realname",required=false) String realname , @RequestParam(name="username",required=false) String username) {
|
||||
@@ -451,6 +454,10 @@ public class SysUserController {
|
||||
item.setOrgCodeTxt(useDepNames.get(item.getId()))
|
||||
);
|
||||
}
|
||||
userList.forEach(user -> {
|
||||
// 对手机号、邮箱进行解密处理
|
||||
sysUserService.proceedDecrypt(user);
|
||||
});
|
||||
|
||||
try {
|
||||
result.setSuccess(true);
|
||||
@@ -471,6 +478,7 @@ public class SysUserController {
|
||||
*/
|
||||
// @RequestMapping(value = "/queryUserComponentData", method = RequestMethod.GET)
|
||||
@GetMapping("/queryUserComponentData")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
public Results<IPage<SysUser>> queryUserComponentData(
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@@ -478,6 +486,10 @@ public class SysUserController {
|
||||
@RequestParam(name="realname",required=false) String realname,
|
||||
@RequestParam(name=USER_NAME,required=false) String username) {
|
||||
IPage<SysUser> pageList = sysUserDepartService.queryDepartUserPageList(departId, username, realname, pageSize, pageNo);
|
||||
pageList.getRecords().forEach(user -> {
|
||||
// 对手机号、邮箱进行解密处理
|
||||
sysUserService.proceedDecrypt(user);
|
||||
});
|
||||
return Results.OK(pageList);
|
||||
}
|
||||
|
||||
@@ -501,6 +513,10 @@ public class SysUserController {
|
||||
}
|
||||
//update-end--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据----------------------
|
||||
List<SysUser> pageList = sysUserService.list(queryWrapper);
|
||||
pageList.forEach(user -> {
|
||||
// 对手机号、邮箱进行解密处理
|
||||
sysUserService.proceedDecrypt(user);
|
||||
});
|
||||
|
||||
//导出文件名称
|
||||
mv.addObject(JeroController.FILE_NAME, "用户列表");
|
||||
@@ -577,6 +593,8 @@ public class SysUserController {
|
||||
successAndErrorLines.setSuccessLines(successLines);
|
||||
successAndErrorLines.setErrorLines(errorLines);
|
||||
try {
|
||||
// 对手机号、邮箱进行加密处理
|
||||
sysUserService.proceedEncrypt(sysUserExcel);
|
||||
sysUserService.save(sysUserExcel);
|
||||
successAndErrorLines.setSuccessLines(successLines + 1);
|
||||
} catch (Exception e) {
|
||||
@@ -624,11 +642,15 @@ public class SysUserController {
|
||||
*/
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@GetMapping("/queryByIds")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
public Results<Collection<SysUser>> queryByIds(@RequestParam String userIds) {
|
||||
Results<Collection<SysUser>> result = new Results<>();
|
||||
String[] userId = userIds.split(",");
|
||||
Collection<String> idList = Arrays.asList(userId);
|
||||
Collection<SysUser> userRole = sysUserService.listByIds(idList);
|
||||
userRole.forEach(user -> {
|
||||
sysUserService.proceedDecrypt(user);
|
||||
});
|
||||
result.setSuccess(true);
|
||||
result.setResult(userRole);
|
||||
return result;
|
||||
@@ -638,6 +660,7 @@ public class SysUserController {
|
||||
* 首页用户重置密码
|
||||
*/
|
||||
@PostMapping("/updatePassword")
|
||||
@RequiresPermissions("user:edit")
|
||||
public Results<T> updatePassword(@RequestBody JSONObject json) {
|
||||
String username = json.getString(USER_NAME);
|
||||
String oldpassword = json.getString("oldpassword");
|
||||
@@ -666,7 +689,7 @@ public class SysUserController {
|
||||
}
|
||||
return sysUserService.resetPassword(username,oldpassword,password,confirmpassword);
|
||||
}
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/userRoleList", method = RequestMethod.GET)
|
||||
@GetMapping("/userRoleList")
|
||||
public Results<IPage<SysUser>> userRoleList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@@ -676,6 +699,9 @@ public class SysUserController {
|
||||
String roleId = req.getParameter("roleId");
|
||||
String username = req.getParameter(USER_NAME);
|
||||
IPage<SysUser> pageList = sysUserService.getUserByRoleId(page,roleId,username);
|
||||
pageList.getRecords().forEach(user -> {
|
||||
sysUserService.proceedDecrypt(user);
|
||||
});
|
||||
result.setSuccess(true);
|
||||
result.setResult(pageList);
|
||||
return result;
|
||||
@@ -721,6 +747,7 @@ public class SysUserController {
|
||||
*/
|
||||
// @RequestMapping(value = "/deleteUserRole", method = RequestMethod.DELETE)
|
||||
@PostMapping("/deleteUserRole")
|
||||
@RequiresPermissions("sys:user:sel")
|
||||
public Results<Object> deleteUserRole(@RequestParam(name="roleId") String roleId,
|
||||
@RequestParam(name="userId",required=true) String userId) {
|
||||
try {
|
||||
@@ -742,6 +769,7 @@ public class SysUserController {
|
||||
*/
|
||||
// @RequestMapping(value = "/deleteUserRoleBatch", method = RequestMethod.DELETE)
|
||||
@PostMapping("/deleteUserRoleBatch")
|
||||
@RequiresPermissions("sys:user:sel")
|
||||
public Results<SysUserRole> deleteUserRoleBatch(
|
||||
@RequestParam(name="roleId") String roleId,
|
||||
@RequestParam(name="userIds",required=true) String userIds) {
|
||||
@@ -761,7 +789,7 @@ public class SysUserController {
|
||||
*/
|
||||
// @RequestMapping(value = "/departUserList", method = RequestMethod.GET)
|
||||
@GetMapping("/departUserList")
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
public Results<IPage<SysUser>> departUserList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
|
||||
Results<IPage<SysUser>> result = new Results<>();
|
||||
@@ -793,6 +821,9 @@ public class SysUserController {
|
||||
item.setOrgCode(useDepNames.get(item.getId()))
|
||||
);
|
||||
}
|
||||
pageList.getRecords().forEach(user -> {
|
||||
sysUserService.proceedDecrypt(user);
|
||||
});
|
||||
result.setSuccess(true);
|
||||
result.setResult(pageList);
|
||||
}else{
|
||||
@@ -808,7 +839,7 @@ public class SysUserController {
|
||||
* 若某个用户包含多个部门,则会显示多条记录,可自行处理成单条记录
|
||||
*/
|
||||
@GetMapping("/queryByOrgCode")
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
public Results<IPage<SysUserSysDepartModel>> queryByDepartId(
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
@@ -854,6 +885,7 @@ public class SysUserController {
|
||||
*/
|
||||
// @RequestMapping(value = "/deleteUserInDepart", method = RequestMethod.DELETE)
|
||||
@PostMapping("/deleteUserInDepart")
|
||||
@RequiresPermissions("sys:user:sel")
|
||||
public Results<Object> deleteUserInDepart(@RequestParam(name="depId") String depId,
|
||||
@RequestParam(name="userId",required=true) String userId) {
|
||||
try {
|
||||
@@ -874,6 +906,7 @@ public class SysUserController {
|
||||
// @RequestMapping(value = "/deleteUserInDepartBatch", method = RequestMethod.DELETE)
|
||||
@PostMapping("/deleteUserInDepartBatch")
|
||||
@Transactional
|
||||
@RequiresPermissions("sys:user:sel")
|
||||
public Results<Object> deleteUserInDepartBatch(
|
||||
@RequestParam(name="depId") String depId,
|
||||
@RequestParam(name="userIds",required=true) String userIds) {
|
||||
@@ -897,7 +930,7 @@ public class SysUserController {
|
||||
* 查询当前用户的所有部门/当前部门编码
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/getCurrentUserDeparts", method = RequestMethod.GET)
|
||||
@GetMapping("/getCurrentUserDeparts")
|
||||
public Results<Map<String,Object>> getCurrentUserDeparts() {
|
||||
@@ -1110,7 +1143,7 @@ public class SysUserController {
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
@GetMapping("/appUserList")
|
||||
public Results<IPage<SysUser>> appUserList(@RequestParam(name = "keyword", required = false) String keyword,
|
||||
@RequestParam(name = USER_NAME, required = false) String username,
|
||||
@@ -1147,7 +1180,7 @@ public class SysUserController {
|
||||
*
|
||||
* @return logicDeletedUserList
|
||||
*/
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
@RequiresPermissions("sys:user:list")
|
||||
@GetMapping("/recycleBin")
|
||||
public Results<List<SysUser>> getRecycleBin() {
|
||||
List<SysUser> logicDeletedUserList = sysUserService.queryLogicDeleted();
|
||||
@@ -1171,6 +1204,7 @@ public class SysUserController {
|
||||
//@RequiresPermissions("sys:user:list")
|
||||
// @RequestMapping(value = "/putRecycleBin", method = RequestMethod.PUT)
|
||||
@PostMapping("/putRecycleBin")
|
||||
@RequiresPermissions("user:edit")
|
||||
public Results<T> putRecycleBin(@RequestBody JSONObject jsonObject, HttpServletRequest request) {
|
||||
String userIds = jsonObject.getString("userIds");
|
||||
if (StringUtils.isNotBlank(userIds)) {
|
||||
@@ -1190,6 +1224,7 @@ public class SysUserController {
|
||||
*/
|
||||
// @RequestMapping(value = "/deleteRecycleBin", method = RequestMethod.DELETE)
|
||||
@PostMapping("/deleteRecycleBin")
|
||||
@RequiresPermissions("sys:user:sel")
|
||||
public Results<T> deleteRecycleBin(@RequestParam("userIds") String userIds) {
|
||||
if (StringUtils.isNotBlank(userIds)) {
|
||||
sysUserService.removeLogicDeleted(Arrays.asList(userIds.split(",")));
|
||||
|
||||
+14
@@ -278,4 +278,18 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
/** userId转为username */
|
||||
List<String> userIdToUsername(Collection<String> userIdList);
|
||||
|
||||
/**
|
||||
* @Remarks: 根据id查询
|
||||
**/
|
||||
SysUser queryById(String id);
|
||||
|
||||
/**
|
||||
* @Remarks: 对手机号、邮箱进行解密处理
|
||||
**/
|
||||
void proceedDecrypt(SysUser user);
|
||||
|
||||
/**
|
||||
* @Remarks: 对手机号、邮箱进行加密处理
|
||||
**/
|
||||
void proceedEncrypt(SysUser user);
|
||||
}
|
||||
|
||||
+2
-1
@@ -132,7 +132,8 @@ public class LoginServiceImpl implements ILoginService {
|
||||
// 重试登录次数加一
|
||||
retryCount++;
|
||||
setRedis(username, retryCount);
|
||||
String msg = retryCount == RETRY_LOGIN_MAX_COUNT ? "密码错误次数过多,请稍后重试":"用户名或密码错误,剩余可登录次数:"+(RETRY_LOGIN_MAX_COUNT - retryCount);
|
||||
//String msg = retryCount == RETRY_LOGIN_MAX_COUNT ? "密码错误次数过多,请稍后重试":"用户名或密码错误,剩余可登录次数:"+(RETRY_LOGIN_MAX_COUNT - retryCount);
|
||||
String msg = retryCount == RETRY_LOGIN_MAX_COUNT ? "密码错误次数过多,请稍后重试":"用户名或密码错误";
|
||||
return Results.error(msg);
|
||||
}
|
||||
//登录成功,清除错误登录次数
|
||||
|
||||
+77
-2
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -9,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Results;
|
||||
import com.jero.common.constant.CacheConstant;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.system.vo.SysUserCacheInfo;
|
||||
@@ -23,6 +25,7 @@ import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.vo.SysUserDepNameVo;
|
||||
import com.jero.modules.system.vo.SysUserRoleNameVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
@@ -64,7 +67,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
|
||||
@Override
|
||||
public IPage<SysUser> queryPage(Page<SysUser> page, List<String> subDepIds, String roleId, QueryWrapper<SysUser> queryWrapper){
|
||||
return this.userMapper.queryPage(page, subDepIds, roleId, queryWrapper);
|
||||
IPage<SysUser> sysUserIPage = this.userMapper.queryPage(page, subDepIds, roleId, queryWrapper);
|
||||
sysUserIPage.getRecords().forEach(user -> {
|
||||
// 对手机号、邮箱进行解密处理
|
||||
proceedDecrypt(user);
|
||||
});
|
||||
return sysUserIPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -376,7 +384,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
//情况1:根据用户信息查询,该用户不存在
|
||||
if (sysUser == null) {
|
||||
baseCommonService.addLog("用户登录失败,用户不存在!", CommonConstant.LOG_TYPE_1, null);
|
||||
return Results.error("该用户不存在,请注册");
|
||||
//return Results.error("该用户不存在,请注册");
|
||||
return Results.error("用户名或密码错误");
|
||||
}
|
||||
//情况2:根据用户信息查询,该用户已注销
|
||||
//update-begin---author:王帅 Date:20200601 for:if条件永远为falsebug------------
|
||||
@@ -458,6 +467,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveUser(SysUser user, String selectedRoles, String selectedDeparts) {
|
||||
//step.1 保存用户
|
||||
// 对手机号、邮箱进行加密处理
|
||||
proceedEncrypt(user);
|
||||
this.save(user);
|
||||
//step.2 保存角色
|
||||
if(oConvertUtils.isNotEmpty(selectedRoles)) {
|
||||
@@ -477,11 +488,67 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Remarks: 对手机号、邮箱进行加密处理
|
||||
**/
|
||||
@Override
|
||||
public void proceedEncrypt(SysUser user) {
|
||||
if (user == null) {
|
||||
return;
|
||||
}
|
||||
String email = user.getEmail();
|
||||
String phone = user.getPhone();
|
||||
if (StrUtil.isNotEmpty(email)){
|
||||
// 对邮箱地址进行加密
|
||||
email = PasswordUtil.encrypt(email);
|
||||
user.setEmail(email);
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(phone)){
|
||||
// 对手机号码进行加密
|
||||
phone = PasswordUtil.encrypt(phone);
|
||||
user.setPhone(phone);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Remarks: 对手机号、邮箱进行解密处理
|
||||
**/
|
||||
@Override
|
||||
public void proceedDecrypt(SysUser user) {
|
||||
if (user == null) {
|
||||
return;
|
||||
}
|
||||
String email = user.getEmail();
|
||||
String phone = user.getPhone();
|
||||
if (StrUtil.isNotEmpty(email)){
|
||||
// 对邮箱地址进行解密
|
||||
try {
|
||||
email = PasswordUtil.decrypt(email);
|
||||
} catch (Exception e) {
|
||||
email = user.getEmail();
|
||||
}
|
||||
user.setEmail(email);
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(phone)){
|
||||
// 对手机号码进行解密
|
||||
try {
|
||||
phone = PasswordUtil.decrypt(phone);
|
||||
} catch (Exception e) {
|
||||
phone = user.getPhone();
|
||||
}
|
||||
user.setPhone(phone);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
|
||||
public void editUser(SysUser user, String roles, String departs) {
|
||||
//step.1 修改用户基础信息
|
||||
// 对手机号、邮箱进行加密处理
|
||||
proceedEncrypt(user);
|
||||
this.updateById(user);
|
||||
//step.2 修改角色
|
||||
//处理用户角色 先删后加
|
||||
@@ -523,5 +590,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
return userList.stream().map(SysUser::getUsername).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysUser queryById(String id) {
|
||||
SysUser user = getById(id);
|
||||
// 对手机号、邮箱进行解密处理
|
||||
proceedDecrypt(user);
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -58,14 +58,14 @@ export default {
|
||||
password: {
|
||||
rules: [
|
||||
{ required: true, message: '请输入新密码!' },
|
||||
{ pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字、大小写字母和特殊符号组成!' },
|
||||
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字、大小写字母和特殊符号组成!' },
|
||||
{ validator: this.validateToNextPassword }
|
||||
]
|
||||
},
|
||||
confirmpassword: {
|
||||
rules: [
|
||||
{ required: true, message: '请确认新密码!' },
|
||||
{ pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字、大小写字母和特殊符号组成!' },
|
||||
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字、大小写字母和特殊符号组成!' },
|
||||
{ validator: this.validateToNextPassword }
|
||||
]
|
||||
}
|
||||
|
||||
@@ -320,7 +320,7 @@ export default {
|
||||
batchDel: function () {
|
||||
console.log(this.checkedKeys)
|
||||
if (this.checkedKeys.length <= 0) {
|
||||
this.$message.warning('请选择一条记录!')
|
||||
this.$message.warning('请至少选择一条记录!')
|
||||
} else {
|
||||
let ids = ''
|
||||
for (let a = 0; a < this.checkedKeys.length; a++) {
|
||||
|
||||
@@ -250,14 +250,14 @@ export default {
|
||||
scopedSlots: { customRender: 'avatarslot' }
|
||||
},
|
||||
{
|
||||
title: '用户账号',
|
||||
title: '账号',
|
||||
align: 'center',
|
||||
dataIndex: 'username',
|
||||
width: 120,
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
title: '用户姓名',
|
||||
title: '真实名字',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'realname'
|
||||
@@ -276,7 +276,7 @@ export default {
|
||||
dataIndex: 'phone'
|
||||
},
|
||||
{
|
||||
title: '部门',
|
||||
title: '组织机构',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'orgCodeTxt'
|
||||
@@ -300,7 +300,7 @@ export default {
|
||||
// dataIndex: 'departIds_dictText'
|
||||
// },
|
||||
{
|
||||
title: '状态',
|
||||
title: '用户状态',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'status_dictText'
|
||||
|
||||
@@ -164,7 +164,7 @@ export default {
|
||||
validatorRules: {
|
||||
username: [{ required: true, message: '请输入用户账号!' },
|
||||
{ validator: this.validateUsername }],
|
||||
password: [{ required: true, pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字、大小写字母和特殊符号组成!' },
|
||||
password: [{ required: true, pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字、大小写字母和特殊符号组成!' },
|
||||
{ validator: this.validateToNextPassword, trigger: 'change' }],
|
||||
confirmpassword: [{ required: true, message: '请重新输入登录密码!' },
|
||||
{ validator: this.compareToFirstPassword }],
|
||||
|
||||
Reference in New Issue
Block a user