浏览代码

阶段提交

laowo 3 年之前
父节点
当前提交
997dd9a870

+ 26 - 12
src/main/java/com/usky/controller/sys/DeptController.java

@@ -74,23 +74,35 @@ public class DeptController {
     @ResponseBody
     @ApiImplicitParams({
             @ApiImplicitParam(name = "parentId", value = "父级部门id", required = true, paramType = "query"),
-            @ApiImplicitParam(name = "orderNum", value = "部门排序", required = true, paramType = "query"),
-            @ApiImplicitParam(name = "deptName", value = "部门名称", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "orderNum", value = "部门排序", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "deptName", value = "部门名称", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "deptId", value = "部门id", required = true, paramType = "query"),
             @ApiImplicitParam(name = "status", value = "部门状态 0 正常 1停用", required = true, paramType = "query")
     })
     public Result<?> editSave(@Validated SysDeptDTO dept) {
-        List<SysDeptDTO> data = deptService.queryDeptByNameAndParentId(dept);
-        if (ListUtil.isNotBlank(data)) {
-            return Result.error("部门名称已存在!");
+        SysDeptDTO deptDTO = deptService.queryDeptById(dept.getDeptId());
+        if (deptDTO == null) {
+            return Result.error("修改部门不存在!");
+        }
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(dept.getDeptName())) {
+            List<SysDeptDTO> data = deptService.queryDeptByNameAndParentId(dept);
+            if (ListUtil.isNotBlank(data)) {
+                return Result.error("部门名称已存在!");
+            }
         } else if (dept.getParentId().equals(dept.getDeptId())) {
             return Result.error("部门上级不能是自己!");
         } else if (StringUtils.equals("1", dept.getStatus())
                 && deptService.queryDeptChildByid(dept.getDeptId()) > 0) {
             return Result.error("该部门包含未停用的子部门!");
         }
-        dept.setUpdateBy(ShiroUtils.getSysUserVo().getLoginName());
-        dept.setUpdateTime(new Timestamp(System.currentTimeMillis()));
-        deptService.updataDeptInfo(dept);
+        if (null != dept.getOrderNum()) {
+            deptDTO.setOrderNum(dept.getOrderNum());
+        }
+        deptDTO.setDeptId(dept.getDeptId());
+        deptDTO.setStatus(dept.getStatus());
+        deptDTO.setUpdateBy(ShiroUtils.getSysUserVo().getLoginName());
+        deptDTO.setUpdateTime(new Timestamp(System.currentTimeMillis()));
+        deptService.updataDeptInfo(deptDTO);
         return Result.OK();
     }
 
@@ -105,7 +117,9 @@ public class DeptController {
             @ApiImplicitParam(name = "deptId", value = "部门id", required = true, paramType = "query")
     })
     public Result<?> remove(@PathVariable("deptId") Integer deptId) {
-        if (deptService.selectDeptCount(deptId).size() > 0) {
+        List list = deptService.selectDeptCount(deptId);
+        String o = list.get(0).toString();
+        if (!"0".equals(o)) {
             return Result.error("存在下级部门,不允许删除");
         }
         if (ListUtil.isNotBlank(userService.queryuserByDepID(deptId))) {
@@ -129,11 +143,11 @@ public class DeptController {
             @ApiImplicitParam(name = "status", value = "部门状态 0 正常 1停用", required = false, paramType = "query")
     })
     public Page<?> listDept(@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize,
-                         @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
-                         @Validated SysDeptDTO dept) {
+                            @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
+                            @Validated SysDeptDTO dept) {
 
 
-        return deptService.listDept(dept,pageSize,pageNo);
+        return deptService.listDept(dept, pageSize, pageNo);
     }
 
 

+ 24 - 15
src/main/java/com/usky/controller/sys/RoleController.java

@@ -12,6 +12,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -28,11 +29,9 @@ import java.util.List;
 @RestController
 @RequestMapping("sys/role")
 public class RoleController {
-
     private String prefix = "system/role";
     @Autowired
     private RoleService roleService;
-
     @Autowired
     private UserService userService;
 
@@ -43,7 +42,6 @@ public class RoleController {
         return prefix + "/role";
     }
 
-
     @ApiOperation(value = "角色查询-分页")
     @PostMapping("list")
     @RequiresPermissions("system:role:list")
@@ -132,22 +130,22 @@ public class RoleController {
     @ResponseBody
     @ApiImplicitParams({
             @ApiImplicitParam(name = "roleId", value = "角色id", required = true, paramType = "query"),
-            @ApiImplicitParam(name = "roleName", value = "角色名称", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "roleName", value = "角色名称", required = false, paramType = "query"),
             @ApiImplicitParam(name = "menuIds", value = "菜单组", required = false, paramType = "query"),
             @ApiImplicitParam(name = "deptIds", value = "部门", required = false, paramType = "query"),
-            @ApiImplicitParam(name = "roleKey", value = "角色权限字符", required = true, paramType = "query"),
-            @ApiImplicitParam(name = "roleSort", value = "排序", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "roleKey", value = "角色权限字符", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "roleSort", value = "排序", required = false, paramType = "query"),
             @ApiImplicitParam(name = "dataScope", value = "数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4本部门及以下数据权限)", required = true, paramType = "query"),
             @ApiImplicitParam(name = "status", value = "角色状态(0正常 1停用)", required = true, paramType = "query"),
             @ApiImplicitParam(name = "remark", value = "备注", required = false, paramType = "query"),
     })
     public Result<?> edit(
-            @RequestParam("roleName") String roleName,
+            @RequestParam(value = "roleName", required = false) String roleName,
             @RequestParam("roleId") Integer roleId,
             @RequestParam(value = "menuIds", required = false) Integer[] menuIds,
             @RequestParam(value = "deptIds", required = false) Integer[] deptIds,
-            @RequestParam("roleKey") String roleKey,
-            @RequestParam("roleSort") Integer roleSort,
+            @RequestParam(value = "roleKey", required = false) String roleKey,
+            @RequestParam(value = "roleSort", required = false) Integer roleSort,
             @RequestParam("dataScope") String dataScope,
             @RequestParam("status") String status,
             @RequestParam(value = "remark", required = false) String remark
@@ -164,14 +162,25 @@ public class RoleController {
         roleVO.setRemark(remark);
         roleVO.setMenuIds(menuIds);
         roleVO.setDeptIds(deptIds);
-        SysRoleDTO roleDTO = roleService.queryRoleByName(roleVO);
-        if (roleDTO != null) {
-            return Result.error("角色名称不能重复!");
+        SysRoleDTO role = roleService.queryRoleById(roleId);
+        if (role == null) {
+            return Result.error("角色不存在!");
+        }
+
+        if (StringUtils.isNotBlank(roleName)) {
+            roleVO.setRoleName(roleName);
+            SysRoleDTO roleDTO = roleService.queryRoleByName(roleVO);
+            if (roleDTO != null) {
+                return Result.error("角色名称不能重复!");
+            }
         }
         //权限字符校验
-        SysRoleDTO roleKeyDto = roleService.queryRoleByKey(roleVO);
-        if (roleKeyDto != null) {
-            return Result.error("权限字符不能重复!");
+        if (StringUtils.isNotBlank(roleKey)) {
+            roleVO.setRoleKey(roleKey);
+            SysRoleDTO roleKeyDto = roleService.queryRoleByKey(roleVO);
+            if (roleKeyDto != null) {
+                return Result.error("权限字符不能重复!");
+            }
         }
         AuthorizationUtils.clearAllCachedAuthorizationInfo();
         roleService.edit(roleVO);

+ 1 - 1
src/main/java/com/usky/controller/sys/UserController.java

@@ -74,7 +74,7 @@ public class UserController {
             return Result.error("手机号已存在");
         }
         if (userVO.getPassword().length() > PASSWORD_MAX_LEN) {
-            throw new CustomException("密码最多8位");
+            throw new CustomException("密码最多" + PASSWORD_MAX_LEN + "位");
         }
         String key = AesCipherUtil.enCrypto(userVO.getLoginName() + userVO.getPassword());
         userVO.setPassword(key);

+ 1 - 0
src/main/java/com/usky/service/sys/RoleService.java

@@ -62,4 +62,5 @@ public interface RoleService {
      */
     List<SysRoleDTO> queryRoleByLoginName(String loginName);
 
+    SysRoleDTO queryRoleById(Integer roleId);
 }

+ 7 - 2
src/main/java/com/usky/service/sys/RoleServiceImpl.java

@@ -174,10 +174,16 @@ public class RoleServiceImpl extends BaseDaoImpl implements RoleService {
                 "\tLEFT JOIN sys_user_role ur ON r.role_id = ur.role_id\n" +
                 "\tLEFT JOIN sys_user u ON u.user_id = ur.user_id WHERE u.login_name='" + loginName + "'")
                 .setResultTransformer(Transformers.aliasToBean(SysRoleDTO.class)).list();
-               // .setResultTransformer(Transformers.aliasToBean(SysRoleDTO.class)).list();
+        // .setResultTransformer(Transformers.aliasToBean(SysRoleDTO.class)).list();
         return list;
     }
 
+    @Override
+    public SysRoleDTO queryRoleById(Integer roleId) {
+
+        return (SysRoleDTO) getSession().createQuery("from SysRoleDTO t where t.delFlag=0 and t.roleId=" + roleId + "").uniqueResult();
+    }
+
     /**
      * 删除角色菜单关联
      *
@@ -219,7 +225,6 @@ public class RoleServiceImpl extends BaseDaoImpl implements RoleService {
     }
 
 
-
     public void delRoleDept(Integer roleId) {
         getSession().createSQLQuery("delete from sys_role_dept where role_id=" + roleId + "").executeUpdate();
     }

+ 7 - 0
src/main/java/com/usky/service/sys/dept/DeptService.java

@@ -60,5 +60,12 @@ public interface DeptService {
     void updataDeptInfo(SysDeptDTO dept);
 
     Page<?> listDept(SysDeptDTO dept, Integer pageSize, Integer pageNo);
+
+    /**
+     * 根据部门id查询部门
+     * @param deptId
+     * @return
+     */
+    SysDeptDTO queryDeptById(Integer deptId);
 }
 

+ 9 - 12
src/main/java/com/usky/service/sys/dept/DeptServiceImpl.java

@@ -5,18 +5,17 @@ import com.usky.dao.impl.BaseDaoImpl;
 import com.usky.entity.sys.SysDeptDTO;
 import com.usky.entity.sys.vo.SysDeptVO;
 import com.usky.entity.ztree.Ztree;
-import com.usky.utils.ListUtil;
-import com.usky.utils.Page;
-import com.usky.utils.Result;
-import com.usky.utils.ShiroUtils;
+import com.usky.utils.*;
 import org.apache.commons.lang3.StringUtils;
 import org.hibernate.query.Query;
 import org.hibernate.transform.Transformers;
 import org.springframework.stereotype.Service;
 
+import java.math.BigInteger;
 import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Random;
 
 /**
  * @author laowo
@@ -81,11 +80,9 @@ public class DeptServiceImpl extends BaseDaoImpl implements DeptService {
 
     @Override
     public int queryDeptChildByid(Integer deptId) {
-        List lis = getSession().createSQLQuery("select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors)").list();
-        lis.get(0);
-
-
-        return 0;
+        List lis = getSession().createSQLQuery("select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(" + deptId + ", ancestors)").list();
+        BigInteger o = (BigInteger) lis.get(0);
+        return o.intValue();
     }
 
 
@@ -97,7 +94,8 @@ public class DeptServiceImpl extends BaseDaoImpl implements DeptService {
 
     @Override
     public void remove(Integer deptId) {
-        getSession().createSQLQuery("update sys_dept set del_flag = '1' where dept_id = " + deptId + "");
+        String time = TimeUtil.getTime();
+        getSession().createSQLQuery("update sys_dept set del_flag = '1',dept_name='" + time + "' where dept_id = " + deptId + "").executeUpdate();
     }
 
     @Override
@@ -133,9 +131,8 @@ public class DeptServiceImpl extends BaseDaoImpl implements DeptService {
         return result;
     }
 
-
+    @Override
     public SysDeptDTO queryDeptById(Integer deptId) {
-
         return (SysDeptDTO) getSession().createQuery("from SysDeptDTO t where t.deptId=" + deptId + "").uniqueResult();
     }
 

+ 19 - 0
src/main/java/com/usky/service/sys/user/UserServiceImpl.java

@@ -126,11 +126,26 @@ public class UserServiceImpl extends BaseDaoImpl implements UserService {
         sqlQuery.setFirstResult((pageNo - 1) * pageSize);
         sqlQuery.setMaxResults(pageSize);
         List<SysUserVO> sysUserVOList = sqlQuery.setResultTransformer(Transformers.aliasToBean(SysUserVO.class)).list();
+        for (SysUserVO userVO : sysUserVOList) {
+            List<SysRoleDTO> roleDTOList = queryRoleByUserId(userVO.getUserId());
+            userVO.setRoles(roleDTOList);
+        }
         result.setPageList(sysUserVOList);
         result.setPageNo(pageNo);
         return result;
     }
 
+    //根据用户id查询角色
+    public List<SysRoleDTO> queryRoleByUserId(Integer userId) {
+        List<SysRoleDTO> list = getSession().createSQLQuery("SELECT r.role_id AS roleId\n" +
+                " FROM sys_role r left JOIN sys_user_role ur ON r.role_id = ur.role_id WHERE ur.user_id=" + userId + "")
+                .setResultTransformer(Transformers.aliasToBean(SysRoleDTO.class)).list();
+
+        return list;
+
+    }
+
+
     @Override
     @DataScope(deptAlias = "d", userAlias = "u")
     public List<SysUserVO> listAll(SysUserVO sysUserVO, Integer status, String loginName, String phonenumber, String startTime, String endTime, Integer deptId) {
@@ -161,6 +176,10 @@ public class UserServiceImpl extends BaseDaoImpl implements UserService {
         }
         List<SysUserVO> list = getSession().createSQLQuery(sb.toString()).setResultTransformer(Transformers.aliasToBean(SysUserVO.class)).list();
 
+        for (SysUserVO userVO : list) {
+            List<SysRoleDTO> roleDTOList = queryRoleByUserId(userVO.getUserId());
+            userVO.setRoles(roleDTOList);
+        }
         return list;
     }
 

+ 4 - 4
src/main/resources/application.yml

@@ -4,8 +4,8 @@ server:
 spring:
   redis:
     database: 1
-   # host: 47.111.81.118
-    host: 172.16.120.184
+    host: 47.111.81.118
+   # host: 172.16.120.184
     lettuce:
       pool:
         max-active: 8   #最大连接数据库连接数,设 0 为没有限制
@@ -13,8 +13,8 @@ spring:
         max-wait: -1ms  #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
         min-idle: 0     #最小等待连接中的数量,设 0 为没有限制
       shutdown-timeout: 100ms
-   # password: uskyredis
-    password:
+    password: uskyredis
+   # password:
     port: 6379
   jackson:
     time-zone: GMT+8

+ 1 - 1
src/main/resources/config.properties

@@ -9,4 +9,4 @@ refreshTokenExpireTime=180000
 # Shiro缓存过期时间-5分钟-5*60(秒为单位)(一般设置与AccessToken过期时间一致)
 shiroCacheExpireTime=180000
 #密码长度
-passwordMaxLen=8
+passwordMaxLen=15