Browse Source

新增共用接口

wangliang 1 year ago
parent
commit
b66d5d530b

+ 75 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/dto/OrgDtoNotTree.java

@@ -0,0 +1,75 @@
+package com.qmth.sop.business.bean.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Date: 2021/3/29.
+ */
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class OrgDtoNotTree implements Serializable {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+    private String code;
+    private String name;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long parentId;
+    private Boolean enable;
+
+    @ApiModelProperty(value = "类型")
+    private String type;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId) {
+        this.parentId = parentId;
+    }
+
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+}

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/mapper/SysRoleMapper.java

@@ -1,6 +1,7 @@
 package com.qmth.sop.business.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.sop.business.bean.dto.RoleDto;
 import com.qmth.sop.business.entity.SysRole;
 import org.apache.ibatis.annotations.Param;
 
@@ -22,5 +23,5 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
      * @param userId
      * @return
      */
-    List<SysRole> listRolesByUserId(@Param("userId") Long userId);
+    List<RoleDto> listRolesByUserId(@Param("userId") Long userId);
 }

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/service/SysRoleService.java

@@ -1,6 +1,7 @@
 package com.qmth.sop.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.sop.business.bean.dto.RoleDto;
 import com.qmth.sop.business.entity.SysRole;
 
 import java.util.List;
@@ -21,5 +22,5 @@ public interface SysRoleService extends IService<SysRole> {
      * @param userId
      * @return
      */
-    List<SysRole> listRolesByUserId(Long userId);
+    List<RoleDto> listRolesByUserId(Long userId);
 }

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysRoleServiceImpl.java

@@ -1,6 +1,7 @@
 package com.qmth.sop.business.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.sop.business.bean.dto.RoleDto;
 import com.qmth.sop.business.entity.SysRole;
 import com.qmth.sop.business.mapper.SysRoleMapper;
 import com.qmth.sop.business.service.SysRoleService;
@@ -26,7 +27,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
      * @return
      */
     @Override
-    public List<SysRole> listRolesByUserId(Long userId) {
+    public List<RoleDto> listRolesByUserId(Long userId) {
         return this.baseMapper.listRolesByUserId(userId);
     }
 }

+ 5 - 8
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysUserServiceImpl.java

@@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.gson.reflect.TypeToken;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.boot.core.enums.Platform;
 import com.qmth.sop.business.bean.auth.AuthBean;
 import com.qmth.sop.business.bean.auth.ExpireTimeBean;
-import com.qmth.sop.business.bean.dto.RoleDto;
 import com.qmth.sop.business.bean.dto.UserDto;
 import com.qmth.sop.business.bean.dto.VerifyCodeCheckDto;
 import com.qmth.sop.business.bean.result.LoginResult;
@@ -27,7 +25,10 @@ import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.AppSourceEnum;
 import com.qmth.sop.common.enums.ExceptionResultEnum;
 import com.qmth.sop.common.enums.FieldUniqueEnum;
-import com.qmth.sop.common.util.*;
+import com.qmth.sop.common.util.IpUtil;
+import com.qmth.sop.common.util.ResultUtil;
+import com.qmth.sop.common.util.ServletUtil;
+import com.qmth.sop.common.util.SessionUtil;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -211,11 +212,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if (Objects.nonNull(userDtoIPage) && !CollectionUtils.isEmpty(userDtoIPage.getRecords())) {
             userDtoIPage.getRecords().forEach(m -> {
                 //角色
-                List<SysRole> roles = sysRoleService.listRolesByUserId(Long.valueOf(m.getId()));
-                if (!CollectionUtils.isEmpty(roles)) {
-                    m.setRoles(GsonUtil.fromJson(GsonUtil.toJson(roles), new TypeToken<List<RoleDto>>() {
-                    }.getType()));
-                }
+                m.setRoles(sysRoleService.listRolesByUserId(Long.valueOf(m.getId())));
             });
         }
         return userDtoIPage;

+ 12 - 1
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -57,4 +57,15 @@ CREATE TABLE `basic_school` (
                                 `logo` mediumtext COMMENT '学校logo',
                                 PRIMARY KEY (`id`) USING BTREE,
                                 UNIQUE KEY `code` (`code`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学校表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学校表';
+
+--2023.8.8update
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(285, '获取所有角色', '/api/admin/common/get_role_list', 'URL', 64, 10, 'SYS', NULL, 1, 1, 0);
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(286, '获取所有用户', '/api/admin/common/get_user_list', 'URL', 64, 11, 'SYS', NULL, 1, 1, 0);
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(287, '获取所有机构', '/api/admin/common/get_org_list', 'URL', 64, 12, 'SYS', NULL, 1, 1, 0);

+ 10 - 5
sop-business/src/main/resources/mapper/SysRoleMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.sop.business.mapper.SysRoleMapper">
 
-    <select id="listRolesByUserId" resultType="com.qmth.sop.business.entity.SysRole">
+    <select id="listRolesByUserId" resultType="com.qmth.sop.business.bean.dto.RoleDto">
         SELECT distinct
             a.id,
             a.name,
@@ -11,9 +11,14 @@
             a.enable
         FROM
             sys_role a
-                JOIN
-            sys_user_role b ON a.id = b.role_id
-        WHERE
-            b.user_id = #{userId}
+            <if test="userId != null and userId != ''">
+                JOIN sys_user_role b ON a.id = b.role_id
+            </if>
+        <where>
+            <if test="userId != null and userId != ''">
+                and b.user_id = #{userId}
+            </if>
+            and a.type <![CDATA[ <> ]]> 'ADMIN'
+        </where>
     </select>
 </mapper>

+ 1 - 2
sop-business/src/main/resources/mapper/SysUserMapper.xml

@@ -86,8 +86,7 @@
         a.org_id orgId,
         b.name orgName
         FROM sys_user a
-        join
-        sys_org b on a.org_id = b.id
+        join sys_org b on a.org_id = b.id
         <where>
             <if test="userInfo != null and userInfo != ''">
                 and (a.login_name like concat('%', #{userInfo} , '%') or a.real_name like concat('%', #{userInfo} , '%') or a.mobile_number like concat('%', #{userInfo} , '%'))

+ 1 - 0
sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java

@@ -80,6 +80,7 @@ public class SystemConstant {
     public static final String EXCEL_ATTACHMENT = "excelAttachment";
     public static final int PAGE_SIZE_MIN = 10;
     public static final int PAGE_SIZE_MAX = 500;
+    public static final int PAGE_SIZE_MAX_SELECT = 100000;
     public static final int PAGE_NUMBER_MIN = 1;
     public static final String STATIC = "static";
     public static final String CATALOG_LINK = "->";

+ 36 - 4
sop-server/src/main/java/com/qmth/sop/server/api/SysController.java

@@ -1,24 +1,28 @@
 package com.qmth.sop.server.api;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.gson.reflect.TypeToken;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.sop.business.bean.dto.OrgDto;
+import com.qmth.sop.business.bean.dto.OrgDtoNotTree;
+import com.qmth.sop.business.bean.dto.RoleDto;
+import com.qmth.sop.business.bean.dto.UserDto;
 import com.qmth.sop.business.bean.params.LoginParam;
 import com.qmth.sop.business.bean.result.EditResult;
 import com.qmth.sop.business.bean.result.LoginResult;
 import com.qmth.sop.business.bean.result.MenuResult;
 import com.qmth.sop.business.cache.CommonCacheService;
-import com.qmth.sop.business.entity.BasicAttachment;
-import com.qmth.sop.business.entity.SysConfig;
-import com.qmth.sop.business.entity.SysUser;
-import com.qmth.sop.business.entity.TBTask;
+import com.qmth.sop.business.entity.*;
 import com.qmth.sop.business.service.*;
 import com.qmth.sop.business.util.ImportExportUtil;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.*;
+import com.qmth.sop.common.util.GsonUtil;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import com.qmth.sop.common.util.ServletUtil;
@@ -81,6 +85,9 @@ public class SysController {
     @Resource
     SysOrgService sysOrgService;
 
+    @Resource
+    SysRoleService sysRoleService;
+
     @ApiOperation(value = "登录")
     @RequestMapping(value = "/login", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "用户信息", response = LoginResult.class)})
@@ -257,4 +264,29 @@ public class SysController {
     public Result getOrgUserList() {
         return ResultUtil.ok(sysOrgService.listOrgTree(true));
     }
+
+    @ApiOperation(value = "获取所有角色")
+    @RequestMapping(value = "/get_role_list", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = RoleDto.class)})
+    public Result getRoleList() {
+        return ResultUtil.ok(sysRoleService.listRolesByUserId(null));
+    }
+
+    @ApiOperation(value = "获取所有用户")
+    @RequestMapping(value = "/get_user_list", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = UserDto.class)})
+    public Result getUserList() {
+        IPage<UserDto> userDtoIPage = sysUserService.query(new Page<>(SystemConstant.PAGE_NUMBER_MIN, SystemConstant.PAGE_SIZE_MAX_SELECT), null, null, null, null);
+        return ResultUtil.ok(userDtoIPage.getRecords());
+    }
+
+    @ApiOperation(value = "获取所有机构")
+    @RequestMapping(value = "/get_org_list", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = UserDto.class)})
+    public Result getOrgList() {
+        List<SysOrg> sysOrgList = sysOrgService.list();
+        List<OrgDtoNotTree> orgDtoNotTreeList = GsonUtil.fromJson(GsonUtil.toJson(sysOrgList), new TypeToken<List<OrgDtoNotTree>>() {
+        }.getType());
+        return ResultUtil.ok(orgDtoNotTreeList);
+    }
 }