فهرست منبع

修改部分优化

sunyize 2 سال پیش
والد
کامیت
f1a2682bad

+ 23 - 0
tnc-system/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java

@@ -3,8 +3,10 @@ package org.jeecg.modules.system.controller;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.SymbolConstant;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.SqlInjectionUtil;
 import org.jeecg.modules.system.mapper.SysDictMapper;
 import org.jeecg.modules.system.model.DuplicateCheckVo;
@@ -37,6 +39,27 @@ public class DuplicateCheckController {
 	@Autowired
 	DictQueryBlackListHandler dictQueryBlackListHandler;
 
+	/**
+	 * 校验数据是否admin再操作
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/adminCheck", method = RequestMethod.GET)
+	@ApiOperation("admin校验接口")
+	public Result<String> adminCheck() {
+
+		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+		if (sysUser.getUsername().equals("admin")) {
+			// 该值可用
+			return Result.ok("该值可用!");
+		} else {
+			// 该值不可用
+			log.info("该值不可用,当前登录非admin!");
+			return Result.error("当前登录非admin!");
+		}
+	}
+
 	/**
 	 * 校验数据是否在系统中是否存在
 	 * 

+ 18 - 8
tnc-system/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java

@@ -3,12 +3,8 @@ package org.jeecg.modules.system.controller;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.security.SecureRandom;
+import java.util.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -114,6 +110,15 @@ public class SysRoleController {
 		Result<SysRole> result = new Result<SysRole>();
 		try {
 			role.setCreateTime(new Date());
+			String  characters= UUID.randomUUID().toString().replace("-","");
+
+			StringBuilder randomString = new StringBuilder(8);
+			SecureRandom secureRandom = new SecureRandom();
+			for (int i = 0; i < 8; i++) {
+				int randomIndex = secureRandom.nextInt(characters.length());
+				randomString.append(characters.charAt(randomIndex));
+			}
+			role.setRoleCode(randomString.toString());//随机生成code
 			sysRoleService.save(role);
 			result.success("添加成功!");
 		} catch (Exception e) {
@@ -155,8 +160,13 @@ public class SysRoleController {
 	//@RequiresRoles({"admin"})
 	@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
 	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
-		sysRoleService.deleteRole(id);
-		return Result.ok("删除角色成功");
+		boolean b = sysRoleService.deleteRole(id);
+		if (b){
+			return Result.ok("删除角色成功");
+		}else {
+			return Result.error("角色下还有用户 不可删除");
+		}
+
 	}
 	
 	/**

+ 11 - 2
tnc-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -178,6 +178,7 @@ public class SysUserController {
 			user.setStatus(1);
 			user.setDelFlag(CommonConstant.DEL_FLAG_0);
 			// 保存用户走一个service 保证事务
+            user.setWorkNo(user.getUsername());
 			sysUserService.saveUser(user, selectedRoles, selectedDeparts);
             baseCommonService.addLog("添加用户,username: " +user.getUsername() ,CommonConstant.LOG_TYPE_2, 2);
 			result.success("添加成功!");
@@ -227,7 +228,8 @@ public class SysUserController {
 	@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
 	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
 		baseCommonService.addLog("删除用户,id: " +id ,CommonConstant.LOG_TYPE_2, 3);
-		this.sysUserService.deleteUser(id);
+        this.sysUserService.deleteUser(id);
+        sysUserService.removeLogicDeleted(Arrays.asList(id));
 		return Result.ok("删除用户成功");
 	}
 
@@ -740,6 +742,7 @@ public class SysUserController {
         Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
         String depId = req.getParameter("depId");
         String username = req.getParameter("username");
+        Boolean info = Boolean.valueOf(req.getParameter("info"));
         //根据部门ID查询,当前和下级所有的部门IDS
         List<String> subDepids = new ArrayList<>();
         //部门id为空时,查询我的部门下所有用户
@@ -747,7 +750,13 @@ public class SysUserController {
             LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
             int userIdentity = user.getUserIdentity() != null?user.getUserIdentity():CommonConstant.USER_IDENTITY_1;
             if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){
-                subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds());
+                // true  只查自己
+                if (info){
+                    subDepids.add(user.getDepartIds());
+                }else {
+                    subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds());
+                }
+
             }
         }else{
             subDepids = sysDepartService.getSubDepIdsByDepId(depId);

+ 3 - 1
tnc-system/src/main/java/org/jeecg/modules/system/mapper/SysRoleMapper.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.system.mapper;
 
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 import org.jeecg.modules.system.entity.SysRole;
 
@@ -25,7 +26,8 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
     @Delete("delete from sys_user_role where role_id = #{roleId}")
     void deleteRoleUserRelation(@Param("roleId") String roleId);
 
-
+    @Select("select count(*)  from sys_user_role where role_id = #{roleId}")
+    Integer selectRoleUserRelation(@Param("roleId") String roleId);
     /**
      * @Description: 删除角色与权限关系
      * @Author scott

+ 13 - 7
tnc-system/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java

@@ -70,13 +70,19 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean deleteRole(String roleid) {
-        //1.删除角色和用户关系
-        sysRoleMapper.deleteRoleUserRelation(roleid);
-        //2.删除角色和权限关系
-        sysRoleMapper.deleteRolePermissionRelation(roleid);
-        //3.删除角色
-        this.removeById(roleid);
-        return true;
+        Integer i = sysRoleMapper.selectRoleUserRelation(roleid);
+        if (i==0){
+            //1.删除角色和用户关系
+            sysRoleMapper.deleteRoleUserRelation(roleid);
+            //2.删除角色和权限关系
+            sysRoleMapper.deleteRolePermissionRelation(roleid);
+            //3.删除角色
+            this.removeById(roleid);
+            return true;
+        }else {
+            return false;
+        }
+
     }
 
     @Override