Просмотр исходного кода

添加控制台角色、菜单、权限相关接口

hxl13994548489 2 лет назад
Родитель
Сommit
b62628a5e4
26 измененных файлов с 1147 добавлено и 20 удалено
  1. 30 1
      sql/Online.sql
  2. 72 0
      src/main/java/com/ydtech/modules/admin/controller/kzt/KZTMenuController.java
  3. 170 0
      src/main/java/com/ydtech/modules/admin/controller/kzt/KZTRoleController.java
  4. 11 4
      src/main/java/com/ydtech/modules/admin/dao/SysRoleMapper.java
  5. 19 0
      src/main/java/com/ydtech/modules/admin/dao/SysRoleMenuKztMapper.java
  6. 7 0
      src/main/java/com/ydtech/modules/admin/dao/SysRoleMenuMapper.java
  7. 35 0
      src/main/java/com/ydtech/modules/admin/dao/SysUserRoleKztMapper.java
  8. 13 0
      src/main/java/com/ydtech/modules/admin/model/SysMenu.java
  9. 139 0
      src/main/java/com/ydtech/modules/admin/model/SysRoleMenuKzt.java
  10. 139 0
      src/main/java/com/ydtech/modules/admin/model/SysUserRoleKzt.java
  11. 30 0
      src/main/java/com/ydtech/modules/admin/model/dto/KZTRoleAndMenuDto.java
  12. 34 0
      src/main/java/com/ydtech/modules/admin/model/dto/KZTUserQueryDto.java
  13. 32 0
      src/main/java/com/ydtech/modules/admin/model/dto/SysUserRoleQueryDto.java
  14. 14 2
      src/main/java/com/ydtech/modules/admin/service/SysMenuService.java
  15. 20 0
      src/main/java/com/ydtech/modules/admin/service/SysRoleMenuKztService.java
  16. 7 2
      src/main/java/com/ydtech/modules/admin/service/SysRoleMenuService.java
  17. 16 0
      src/main/java/com/ydtech/modules/admin/service/SysRoleService.java
  18. 36 0
      src/main/java/com/ydtech/modules/admin/service/SysUserRoleKztService.java
  19. 47 7
      src/main/java/com/ydtech/modules/admin/service/impl/SysMenuServiceImpl.java
  20. 55 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysRoleMenuKztServiceImpl.java
  21. 10 3
      src/main/java/com/ydtech/modules/admin/service/impl/SysRoleMenuServiceImpl.java
  22. 33 1
      src/main/java/com/ydtech/modules/admin/service/impl/SysRoleServiceImpl.java
  23. 70 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserRoleKztServiceImpl.java
  24. 28 0
      src/main/resources/mapper/modules/admin/SysRoleMapper.xml
  25. 23 0
      src/main/resources/mapper/modules/admin/SysRoleMenuKztMapper.xml
  26. 57 0
      src/main/resources/mapper/modules/admin/SysUserRoleKztMapper.xml

+ 30 - 1
sql/Online.sql

@@ -129,4 +129,33 @@ CREATE TABLE `sys_relation_person` (
                                        `create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
                                        `create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
                                        `del_flag` tinyint NOT NULL DEFAULT '1' COMMENT '删除( 0:删除 1:正常)',
                                        `del_flag` tinyint NOT NULL DEFAULT '1' COMMENT '删除( 0:删除 1:正常)',
                                        PRIMARY KEY (`id`)
                                        PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='合伙人/推荐人和机构负责人关系表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='合伙人/推荐人和机构负责人关系表';
+
+
+-- 控制台角色关联菜单表
+DROP TABLE IF EXISTS `sys_role_menu_kzt`;
+CREATE TABLE `sys_role_menu_kzt`  (
+                                      `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+                                      `role_id` bigint NULL DEFAULT NULL COMMENT '角色ID',
+                                      `menu_id` bigint NULL DEFAULT NULL COMMENT '菜单ID',
+                                      `sys_type` varchar(10) NULL DEFAULT NULL COMMENT '系统类型',
+                                      `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+                                      `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+                                      `last_update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+                                      `last_update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+                                      PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '控制台角色关联菜单' ROW_FORMAT = Dynamic;
+
+-- 控制台用户关联角色表
+DROP TABLE IF EXISTS `sys_user_role_kzt`;
+CREATE TABLE `sys_user_role_kzt`  (
+                                      `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+                                      `user_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户ID',
+                                      `role_id` bigint NULL DEFAULT NULL COMMENT '角色ID',
+                                      `sys_type` varchar(10) NULL DEFAULT NULL COMMENT '系统类型',
+                                      `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
+                                      `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
+                                      `last_update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
+                                      `last_update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
+                                      PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '控制台用户关联角色' ROW_FORMAT = Dynamic;

+ 72 - 0
src/main/java/com/ydtech/modules/admin/controller/kzt/KZTMenuController.java

@@ -0,0 +1,72 @@
+package com.ydtech.modules.admin.controller.kzt;
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.SysMenu;
+import com.ydtech.modules.admin.service.SysMenuService;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.utils.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/8/14 11:02
+ *  @Description: 控制台菜单管理
+ */
+@RestController
+@RequestMapping("kztMenu")
+@Api(tags = "控制台菜单")
+public class KZTMenuController extends BaseController {
+
+
+    @Autowired
+    private SysMenuService sysMenuService;
+
+    @PostMapping("queryKZTMenuList")
+    @ApiOperation(value = "查询控制台菜单树")
+    public HttpResult<List<SysMenu>> queryKZTMenuList() {
+        try{
+            List<SysMenu> result = sysMenuService.queryKZTMenuList("2",0);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+    @PostMapping(value = "/save")
+    @ApiOperation(value = "控制台菜单菜单新增或修改")
+    public HttpResult save(@RequestBody SysMenu record) {
+        record.setSysType("2");
+        if (StringUtils.isNullOrEmpty(record.getId()) || record.getId().equalsIgnoreCase("0")) {
+            return HttpResult.ok(sysMenuService.save(record));
+        } else {
+            return HttpResult.ok(sysMenuService.updateById(record));
+        }
+    }
+    @PostMapping(value = "/delete")
+    @ApiOperation(value = "控制台菜单菜单删除")
+    public HttpResult delete(@RequestBody List<SysMenu> records) {
+        List<String> ids = records.stream().map(SysMenu::getId).collect(Collectors.toList());
+        return HttpResult.ok(sysMenuService.removeBatchByIds(ids));
+    }
+    @GetMapping("/findMenuListByUserId")
+    @ApiOperation(value = "通过用户id查询菜单树")
+    public HttpResult<List<SysMenu>> findMenuListByUserId(String userId) {
+        if(userId==null || "".equals(userId)) {
+            return HttpResult.error("用户id不能为空");
+        }
+        try{
+             List<SysMenu>  menuList= sysMenuService.findMenuListByUserId(userId,"2");
+            return HttpResult.ok(menuList);
+        }catch (Exception e){
+            return HttpResult.error("查询失败"+e.getMessage());
+        }
+
+    }
+
+}

+ 170 - 0
src/main/java/com/ydtech/modules/admin/controller/kzt/KZTRoleController.java

@@ -0,0 +1,170 @@
+package com.ydtech.modules.admin.controller.kzt;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.model.SysRole;
+import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.dto.KZTRoleAndMenuDto;
+import com.ydtech.modules.admin.model.dto.KZTUserQueryDto;
+import com.ydtech.modules.admin.model.dto.SysUserRoleQueryDto;
+import com.ydtech.modules.admin.model.vo.SysUserRoleVo;
+import com.ydtech.modules.admin.service.SysRoleMenuKztService;
+import com.ydtech.modules.admin.service.SysRoleService;
+import com.ydtech.modules.admin.service.SysUserRoleKztService;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.order.entity.BasePageResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/8/14 11:02
+ *  @Description: 控制台角色管理
+ */
+@RestController
+@RequestMapping("kztRole")
+@Api(tags = "控制台角色")
+public class KZTRoleController extends BaseController {
+
+
+    @Autowired
+    private SysUserRoleKztService sysUserRoleKztService;
+
+    @Autowired
+    private SysRoleService sysRoleService;
+
+    @Autowired
+    private SysRoleMenuKztService sysRoleMenuKztService;
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:13
+     *  @Description: 控制台角色新增和修改
+     */
+    @ApiOperation(value = "控制台角色新增和修改")
+    @PostMapping(value = "/save")
+    public HttpResult save(@RequestBody SysRole record) {
+        LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(SysRole::getName, record.getName());
+        lqw.eq(SysRole::getSysType, "2");
+        List<SysRole> sysRoles = sysRoleService.list(lqw);
+        if ((record.getId() == null || record.getId() == 0) && sysRoles != null && sysRoles.size()>0) {
+            return HttpResult.error("角色名已存在!");
+        }
+        record.setSysType("2");
+        return HttpResult.ok(sysRoleService.saveOrUpdate(record));
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:54
+     *  @Description: 控制台角色刪除
+     */
+    @ApiOperation(value = "控制台角色刪除")
+    @PostMapping(value = "/delete")
+    @Transactional
+    public HttpResult delete(@RequestBody List<SysRole> records) {
+        List<Long> sysRoleIds = records.stream().map(SysRole::getId).collect(Collectors.toList());
+        return HttpResult.ok(sysRoleService.removeBatchByIds(sysRoleIds));
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:54
+     *  @Description: 控制台角色分页
+     */
+    @ApiOperation(value = "控制台角色分页")
+    @PostMapping(value = "/findPage")
+    public HttpResult<BasePageResult<SysRole>> findKztPage(@RequestBody SysUserRoleQueryDto sysUserRoleQueryDto) {
+        return HttpResult.ok(sysRoleService.findKztPage(sysUserRoleQueryDto));
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:54
+     *  @Description:  控制台所有角色
+     */
+    @ApiOperation(value = "控制台所有角色")
+    @PostMapping(value = "/findAll")
+    public HttpResult findAll(String sysType) {
+        if (StringUtils.isBlank(sysType)) {
+            throw new SystemException("系統类型不能为空,传2为控制台!!");
+        }
+        return HttpResult.ok(sysRoleService.findAllKzt(sysType));
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:27
+     *  @Description:
+     */
+    @PostMapping(value = "/saveRoleMenus")
+    @ApiOperation(value = "角色关联菜单保存")
+    public HttpResult saveRoleMenus(@RequestBody KZTRoleAndMenuDto kZTRoleAndMenuDto) {
+        if (kZTRoleAndMenuDto.getRoleId()==null) {
+           throw new SystemException("角色id不能为空!!");
+        }
+        if (kZTRoleAndMenuDto.getSysType()==null) {
+            throw new SystemException("系統类型不能为空!!");
+        }
+        if (kZTRoleAndMenuDto.getMenuIds()==null || kZTRoleAndMenuDto.getMenuIds().size()==0) {
+            throw new SystemException("菜单集合不能为空!!");
+        }
+         try{
+             sysRoleMenuKztService.saveRoleMenus(kZTRoleAndMenuDto);
+         }catch(Exception e){
+             return HttpResult.error("保存错误");
+         }
+        return HttpResult.ok("保存成功");
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 16:58
+     *  @Description:  查询已授权的部门用户
+     *  dept/findTree    查询所有的机构
+     */
+    @ApiOperation(value = "根据参数查询已授权的部门用户")
+    @PostMapping(value = "/queryPageByParam")
+    public HttpResult<BasePageResult<SysUser>> queryPageByParam(@RequestBody KZTUserQueryDto kZTUserQueryDto) {
+        BasePageResult<SysUser> result = sysUserRoleKztService.queryPageByParam(kZTUserQueryDto);
+        return HttpResult.ok(result);
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 16:36
+     *  @Description:
+     */
+    @PostMapping(value = "/saveUserRoleKzt")
+    @ApiOperation(value = "保存控制台用户角色信息")
+    public HttpResult saveUserRoleKzt(@RequestBody SysUserRoleVo sysUserRoleVo) {
+        String userId = sysUserRoleVo.getUserId();
+        String roleId = sysUserRoleVo.getRoleId();
+        if (StringUtils.isBlank(userId)) {
+            throw new SystemException("用戶id不能为空!!");
+        }
+        if (StringUtils.isBlank(roleId)) {
+            throw new SystemException("角色id不能为空!!");
+        }
+        try{
+            sysUserRoleKztService.saveUserRoleKzt(userId,roleId,"2");
+        }catch(Exception e){
+            return HttpResult.error("保存失败");
+        }
+        return HttpResult.ok("保存成功");
+    }
+}

+ 11 - 4
src/main/java/com/ydtech/modules/admin/dao/SysRoleMapper.java

@@ -1,14 +1,21 @@
 package com.ydtech.modules.admin.dao;
 package com.ydtech.modules.admin.dao;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.core.page.PageResult;
-import com.ydtech.modules.admin.model.SysDept;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.admin.model.SysRole;
 import com.ydtech.modules.admin.model.SysRole;
-
-import java.util.List;
+import com.ydtech.modules.admin.model.dto.SysUserRoleQueryDto;
+import org.apache.ibatis.annotations.Param;
 
 
 public interface SysRoleMapper extends BaseMapper<SysRole> {
 public interface SysRoleMapper extends BaseMapper<SysRole> {
 
 
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 19:17
+     *  @Description: 查詢控制台角色
+     */
+    Page<SysRole> findKztPage(@Param("page") Page<SysRole> page, @Param("vo") SysUserRoleQueryDto sysUserRoleQueryDto);
+
 //    public SysRole selectByPk(Long id);
 //    public SysRole selectByPk(Long id);
 //
 //
 //    public List<SysRole> selectAll();
 //    public List<SysRole> selectAll();

+ 19 - 0
src/main/java/com/ydtech/modules/admin/dao/SysRoleMenuKztMapper.java

@@ -0,0 +1,19 @@
+package com.ydtech.modules.admin.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.admin.model.SysRoleMenuKzt;
+
+/**
+* @author Administrator
+* @description 针对表【sys_role_menu_kzt(控制台角色关联菜单)】的数据库操作Mapper
+* @createDate 2024-08-14 16:13:23
+* @Entity generator.domain.SysRoleMenuKzt
+*/
+public interface SysRoleMenuKztMapper extends BaseMapper<SysRoleMenuKzt> {
+
+}
+
+
+
+

+ 7 - 0
src/main/java/com/ydtech/modules/admin/dao/SysRoleMenuMapper.java

@@ -21,6 +21,13 @@ public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
     @Select(SysMenuSqlT1)
     @Select(SysMenuSqlT1)
     List<SysMenu> gainSysMenuIds(@Param("userId") String userId);
     List<SysMenu> gainSysMenuIds(@Param("userId") String userId);
 
 
+
+    String SysMenuSql_kzt = "select t.id, t.name, t.parent_id, t.url, t.perms, t.type, t.icon, t.order_num, t.create_by, t.create_time, t.last_update_by, t.last_update_time, t.del_flag from sys_menu t ";
+    String sysRoleMenuIdSql_kzt = " where t.id in (select menu_id from sys_role_menu t1 left join sys_user_role t2 on t1.role_id=t2.role_id where t2.user_id='${userId}') and del_flag=0  and  t.sys_type='${sysType}'";
+    String SysMenuSqlT1_kzt = SysMenuSql + sysRoleMenuIdSql;
+
+    @Select(SysMenuSqlT1_kzt)
+    List<SysMenu> gainMenuIdsByUserId(@Param("userId") String userId, @Param("sysType") String sysType);
 }
 }
 
 
 
 

+ 35 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserRoleKztMapper.java

@@ -0,0 +1,35 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.SysUserRoleKzt;
+import com.ydtech.modules.admin.model.dto.KZTUserQueryDto;
+import org.apache.ibatis.annotations.Param;
+
+/**
+* @author Administrator
+* @description 针对表【sys_user_role_kzt(控制台用户关联角色)】的数据库操作Mapper
+* @createDate 2024-08-14 16:13:44
+* @Entity generator.domain.SysUserRoleKzt
+*/
+public interface SysUserRoleKztMapper extends BaseMapper<SysUserRoleKzt> {
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 16:43
+     *  @Description:  通过用户id和系统类型删除数据
+     */
+    void deleteByUserId(@Param("userId") String userId, @Param("sysType") String sysType);
+     /**
+      *  @version
+      *  @author: hxl
+      *  @Date: 2024/8/14 17:09
+      *  @Description: 通过机构id和用户参数查询已经授权的用户
+      */
+    Page<SysUser> queryPageByParam(@Param("page") Page<SysUser> page,@Param("vo") KZTUserQueryDto kZTUserQueryDto);
+}
+
+
+
+

+ 13 - 0
src/main/java/com/ydtech/modules/admin/model/SysMenu.java

@@ -2,6 +2,8 @@ package com.ydtech.modules.admin.model;
 
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
@@ -9,22 +11,31 @@ import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 @Data
 @Data
+@ApiModel("菜单对象")
 public class SysMenu implements Serializable {
 public class SysMenu implements Serializable {
 
 
     private static final long serialVersionUID = 5450672001691053638L;
     private static final long serialVersionUID = 5450672001691053638L;
 
 
     @TableId(value = "id")
     @TableId(value = "id")
+    @ApiModelProperty(value = "菜单id")
     private String id;
     private String id;
 
 
     @TableField(value = "name")
     @TableField(value = "name")
+    @ApiModelProperty(value = "菜单名称")
     private String name;
     private String name;
     @TableField(value = "parent_id")
     @TableField(value = "parent_id")
+    @ApiModelProperty(value = "父菜单id")
     private String parentId;
     private String parentId;
+    @ApiModelProperty(value = "菜单路由")
     private String url;
     private String url;
+    @ApiModelProperty(value = "菜单权限")
     private String perms;
     private String perms;
+    @ApiModelProperty(value = "菜单类型  0 目录 1菜单  2按钮")
     private Integer type;
     private Integer type;
+    @ApiModelProperty(value = "图标")
     private String icon;
     private String icon;
     @TableField(value = "order_num")
     @TableField(value = "order_num")
+    @ApiModelProperty(value = "排序")
     private Integer orderNum = 0;
     private Integer orderNum = 0;
     @TableField(value = "create_by")
     @TableField(value = "create_by")
     private String createBy;
     private String createBy;
@@ -44,12 +55,14 @@ public class SysMenu implements Serializable {
     private Integer level;
     private Integer level;
     // 非数据库字段
     // 非数据库字段
     @TableField(exist = false)
     @TableField(exist = false)
+    @ApiModelProperty(value = "子级菜单")
     private List<SysMenu> children;
     private List<SysMenu> children;
 
 
     /***
     /***
      * 添加菜单类型 1.车险 2. 控制台
      * 添加菜单类型 1.车险 2. 控制台
      */
      */
     @TableField(value = "sys_type")
     @TableField(value = "sys_type")
+    @ApiModelProperty(value = "菜单类型 1 车险 2.控制台")
     private String sysType;
     private String sysType;
 
 
 
 

+ 139 - 0
src/main/java/com/ydtech/modules/admin/model/SysRoleMenuKzt.java

@@ -0,0 +1,139 @@
+package com.ydtech.modules.admin.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 控制台角色关联菜单
+ * @TableName sys_role_menu_kzt
+ */
+@TableName(value ="sys_role_menu_kzt")
+@Data
+public class SysRoleMenuKzt implements Serializable {
+    /**
+     * 编号
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 角色ID
+     */
+    @TableField(value = "role_id")
+    private Long roleId;
+
+    /**
+     * 菜单ID
+     */
+    @TableField(value = "menu_id")
+    private Long menuId;
+
+    /**
+     * 系统类型
+     */
+    @TableField(value = "sys_type")
+    private String sysType;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "last_update_by")
+    private String lastUpdateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "last_update_time")
+    private Date lastUpdateTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        SysRoleMenuKzt other = (SysRoleMenuKzt) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getRoleId() == null ? other.getRoleId() == null : this.getRoleId().equals(other.getRoleId()))
+            && (this.getMenuId() == null ? other.getMenuId() == null : this.getMenuId().equals(other.getMenuId()))
+            && (this.getSysType() == null ? other.getSysType() == null : this.getSysType().equals(other.getSysType()))
+            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getLastUpdateBy() == null ? other.getLastUpdateBy() == null : this.getLastUpdateBy().equals(other.getLastUpdateBy()))
+            && (this.getLastUpdateTime() == null ? other.getLastUpdateTime() == null : this.getLastUpdateTime().equals(other.getLastUpdateTime()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getRoleId() == null) ? 0 : getRoleId().hashCode());
+        result = prime * result + ((getMenuId() == null) ? 0 : getMenuId().hashCode());
+        result = prime * result + ((getSysType() == null) ? 0 : getSysType().hashCode());
+        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getLastUpdateBy() == null) ? 0 : getLastUpdateBy().hashCode());
+        result = prime * result + ((getLastUpdateTime() == null) ? 0 : getLastUpdateTime().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", roleId=").append(roleId);
+        sb.append(", menuId=").append(menuId);
+        sb.append(", sysType=").append(sysType);
+        sb.append(", createBy=").append(createBy);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", lastUpdateBy=").append(lastUpdateBy);
+        sb.append(", lastUpdateTime=").append(lastUpdateTime);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+
+    public SysRoleMenuKzt() {
+    }
+
+    public SysRoleMenuKzt(Long id, Long roleId, Long menuId, String sysType, String createBy, Date createTime, String lastUpdateBy, Date lastUpdateTime) {
+        this.id = id;
+        this.roleId = roleId;
+        this.menuId = menuId;
+        this.sysType = sysType;
+        this.createBy = createBy;
+        this.createTime = createTime;
+        this.lastUpdateBy = lastUpdateBy;
+        this.lastUpdateTime = lastUpdateTime;
+    }
+}

+ 139 - 0
src/main/java/com/ydtech/modules/admin/model/SysUserRoleKzt.java

@@ -0,0 +1,139 @@
+package com.ydtech.modules.admin.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 控制台用户关联角色
+ * @TableName sys_user_role_kzt
+ */
+@TableName(value ="sys_user_role_kzt")
+@Data
+public class SysUserRoleKzt implements Serializable {
+    /**
+     * 编号
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 用户ID
+     */
+    @TableField(value = "user_id")
+    private String userId;
+
+    /**
+     * 角色ID
+     */
+    @TableField(value = "role_id")
+    private Long roleId;
+
+    /**
+     * 系统类型
+     */
+    @TableField(value = "sys_type")
+    private String sysType;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by")
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(value = "last_update_by")
+    private String lastUpdateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "last_update_time")
+    private Date lastUpdateTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        SysUserRoleKzt other = (SysUserRoleKzt) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
+            && (this.getRoleId() == null ? other.getRoleId() == null : this.getRoleId().equals(other.getRoleId()))
+            && (this.getSysType() == null ? other.getSysType() == null : this.getSysType().equals(other.getSysType()))
+            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getLastUpdateBy() == null ? other.getLastUpdateBy() == null : this.getLastUpdateBy().equals(other.getLastUpdateBy()))
+            && (this.getLastUpdateTime() == null ? other.getLastUpdateTime() == null : this.getLastUpdateTime().equals(other.getLastUpdateTime()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
+        result = prime * result + ((getRoleId() == null) ? 0 : getRoleId().hashCode());
+        result = prime * result + ((getSysType() == null) ? 0 : getSysType().hashCode());
+        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getLastUpdateBy() == null) ? 0 : getLastUpdateBy().hashCode());
+        result = prime * result + ((getLastUpdateTime() == null) ? 0 : getLastUpdateTime().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", userId=").append(userId);
+        sb.append(", roleId=").append(roleId);
+        sb.append(", sysType=").append(sysType);
+        sb.append(", createBy=").append(createBy);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", lastUpdateBy=").append(lastUpdateBy);
+        sb.append(", lastUpdateTime=").append(lastUpdateTime);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+
+    public SysUserRoleKzt(Long id, String userId, Long roleId, String sysType, String createBy, Date createTime, String lastUpdateBy, Date lastUpdateTime) {
+        this.id = id;
+        this.userId = userId;
+        this.roleId = roleId;
+        this.sysType = sysType;
+        this.createBy = createBy;
+        this.createTime = createTime;
+        this.lastUpdateBy = lastUpdateBy;
+        this.lastUpdateTime = lastUpdateTime;
+    }
+
+    public SysUserRoleKzt() {
+    }
+}

+ 30 - 0
src/main/java/com/ydtech/modules/admin/model/dto/KZTRoleAndMenuDto.java

@@ -0,0 +1,30 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/8/14 17:00
+ *  @Description: 控制台用户查询
+ */
+@Data
+@ApiModel("控制台用户关联角色对象")
+public class KZTRoleAndMenuDto {
+
+
+    @ApiModelProperty(value = "角色id")
+    private Long  roleId;
+
+    @ApiModelProperty(value = "菜单id")
+    private List<Long> menuIds=new ArrayList<>();
+
+    @ApiModelProperty(value = "系統类型  传2  控制台")
+    private  String  sysType;
+
+}

+ 34 - 0
src/main/java/com/ydtech/modules/admin/model/dto/KZTUserQueryDto.java

@@ -0,0 +1,34 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/8/14 17:00
+ *  @Description: 控制台用户查询
+ */
+@Data
+@ApiModel("控制台用户查询")
+public class KZTUserQueryDto {
+
+    @ApiModelProperty(value = "机构id")
+    private String  deptId;
+
+    @ApiModelProperty(value = "用户id")
+    private String  userId;
+
+    @ApiModelProperty(value = "用户名称")
+    private  String  userName;
+
+    @ApiModelProperty(value = "页码")
+    private int pageNum;
+
+    @ApiModelProperty(value = "页数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "系統类型传2 控制台")
+    private String sysType;
+}

+ 32 - 0
src/main/java/com/ydtech/modules/admin/model/dto/SysUserRoleQueryDto.java

@@ -0,0 +1,32 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/8/14 19:09
+ *  @Description: 角色查询对象
+ */
+@Data
+@ApiModel("角色查询对象")
+public class SysUserRoleQueryDto implements Serializable {
+
+
+    @ApiModelProperty(value = "角色名称")
+    private String roleName;
+
+    @ApiModelProperty(value = "页码")
+    private int pageNum;
+
+    @ApiModelProperty(value = "页数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "系统类型 传2")
+    private String sysType;
+
+}

+ 14 - 2
src/main/java/com/ydtech/modules/admin/service/SysMenuService.java

@@ -2,9 +2,7 @@ package com.ydtech.modules.admin.service;
 
 
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ydtech.modules.admin.dao.SysMenuDao;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysMenu;
-import com.ydtech.modules.admin.model.SysRole;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -14,6 +12,20 @@ public interface SysMenuService extends IService<SysMenu> {
     public List<SysMenu> findByUser(String userName);
     public List<SysMenu> findByUser(String userName);
 
 
     List<SysMenu> findRoleMenus(Long roleId);
     List<SysMenu> findRoleMenus(Long roleId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 14:28
+     *  @Description: 查询控制台的菜单树
+     */
+    List<SysMenu> queryKZTMenuList(String sysType,int menuType);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 14:58
+     *  @Description: 通过用户id查询菜单树
+     */
+    List<SysMenu> findMenuListByUserId(String userId,String sysType);
 }
 }
 
 
 
 

+ 20 - 0
src/main/java/com/ydtech/modules/admin/service/SysRoleMenuKztService.java

@@ -0,0 +1,20 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.SysRoleMenuKzt;
+import com.ydtech.modules.admin.model.dto.KZTRoleAndMenuDto;
+
+/**
+* @author Administrator
+* @description 针对表【sys_role_menu_kzt(控制台角色关联菜单)】的数据库操作Service
+* @createDate 2024-08-14 16:13:23
+*/
+public interface SysRoleMenuKztService extends IService<SysRoleMenuKzt> {
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:34
+     *  @Description:  保存控制台关联菜单
+     */
+    void saveRoleMenus(KZTRoleAndMenuDto kZTRoleAndMenuDto);
+}

+ 7 - 2
src/main/java/com/ydtech/modules/admin/service/SysRoleMenuService.java

@@ -2,10 +2,8 @@ package com.ydtech.modules.admin.service;
 
 
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ydtech.modules.admin.dao.SysRoleMenuDao;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysRoleMenu;
 import com.ydtech.modules.admin.model.SysRoleMenu;
-import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -14,6 +12,13 @@ public interface SysRoleMenuService extends IService<SysRoleMenu> {
     public Integer saveRoleMenus(List<SysRoleMenu> records);
     public Integer saveRoleMenus(List<SysRoleMenu> records);
 
 
     List<SysMenu> gainMenuIds(String userId);
     List<SysMenu> gainMenuIds(String userId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 15:06
+     *  @Description: 通过用户id查询菜单id
+     */
+    List<SysMenu> gainMenuIdsByUserId(String userId,String sysType);
 }
 }
 
 
 
 

+ 16 - 0
src/main/java/com/ydtech/modules/admin/service/SysRoleService.java

@@ -6,6 +6,8 @@ import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysRole;
 import com.ydtech.modules.admin.model.SysRole;
+import com.ydtech.modules.admin.model.dto.SysUserRoleQueryDto;
+import com.ydtech.modules.order.entity.BasePageResult;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -16,6 +18,20 @@ public interface SysRoleService extends IService<SysRole> {
     PageResult findPage(PageRequest pageRequest);
     PageResult findPage(PageRequest pageRequest);
 
 
     List<SysMenu> findRoleMenus(Long roleId);
     List<SysMenu> findRoleMenus(Long roleId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:50
+     *  @Description:
+     */
+    List<SysRole> findAllKzt(String sysType);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 19:13
+     *  @Description: 查询控制台角色
+     */
+    BasePageResult<SysRole> findKztPage(SysUserRoleQueryDto sysUserRoleQueryDto);
 
 
 //    Integer save(SysRole record);
 //    Integer save(SysRole record);
 
 

+ 36 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserRoleKztService.java

@@ -0,0 +1,36 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.SysUserRoleKzt;
+import com.ydtech.modules.admin.model.dto.KZTUserQueryDto;
+import com.ydtech.modules.order.entity.BasePageResult;
+
+/**
+* @author Administrator
+* @description 针对表【sys_user_role_kzt(控制台用户关联角色)】的数据库操作Service
+* @createDate 2024-08-14 16:13:44
+*/
+public interface SysUserRoleKztService extends IService<SysUserRoleKzt> {
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 16:40
+     *  @Description: 通过用户id和系统类型删除数据
+     */
+    void deleteByUserId(String userId, String sysType);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 16:47
+     *  @Description:
+     */
+    void saveUserRoleKzt(String userId, String roleId, String sysType);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 17:06
+     *  @Description: 通过机构id查询已授权的用户表
+     */
+    BasePageResult<SysUser> queryPageByParam(KZTUserQueryDto kZTUserQueryDto);
+}

+ 47 - 7
src/main/java/com/ydtech/modules/admin/service/impl/SysMenuServiceImpl.java

@@ -4,18 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.constants.SysConstants;
 import com.ydtech.constants.SysConstants;
 import com.ydtech.modules.admin.dao.SysMenuMapper;
 import com.ydtech.modules.admin.dao.SysMenuMapper;
-import com.ydtech.modules.admin.dao.SysRoleMapper;
-import com.ydtech.modules.admin.dao.impl.SysMenuDaoImpl;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysMenu;
-import com.ydtech.modules.admin.model.SysRole;
 import com.ydtech.modules.admin.model.SysRoleMenu;
 import com.ydtech.modules.admin.model.SysRoleMenu;
-import com.ydtech.modules.admin.model.SysUserRole;
 import com.ydtech.modules.admin.service.SysMenuService;
 import com.ydtech.modules.admin.service.SysMenuService;
 import com.ydtech.modules.admin.service.SysRoleMenuService;
 import com.ydtech.modules.admin.service.SysRoleMenuService;
-import com.ydtech.modules.admin.service.SysRoleService;
-import com.ydtech.modules.admin.service.SysUserRoleService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
@@ -125,6 +119,52 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
         }
         }
         return exist;
         return exist;
     }
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 14:30
+     *  @Description:  查询控制台的所有菜单数据
+     */
+    @Override
+    public List<SysMenu> queryKZTMenuList(String sysType,int menuType) {
+        List<SysMenu> sysMenus = getSysMenus(sysType, menuType,null);
+        return sysMenus;
+    }
+
+    private List<SysMenu> getSysMenus(String sysType, int menuType,String userId) {
+        List<SysMenu> sysMenus = new ArrayList<>();
+        List<SysMenu> menus  =new ArrayList<>();
+        if(StringUtils.isBlank(userId) || (StringUtils.isNotBlank(userId) && "admin".equals(userId))){
+            LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<>();
+            lqw.eq(SysMenu::getDelFlag, 0);
+            lqw.eq(SysMenu::getSysType, sysType);
+            menus = list(lqw);
+        }else{
+            return sysRoleMenuService.gainMenuIdsByUserId(userId,sysType);
+        }
+        for (SysMenu menu : menus) {
+            if (menu.getParentId() == null || menu.getParentId().equalsIgnoreCase("0")) {
+                menu.setLevel(0);
+                if (!exists(sysMenus, menu)) {
+                    sysMenus.add(menu);
+                }
+            }
+        }
+        sysMenus.sort((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()));
+        findChildren(sysMenus, menus, menuType);
+        return sysMenus;
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 14:59
+     *  @Description: 通过用户id查询菜单树
+     */
+    @Override
+    public List<SysMenu> findMenuListByUserId(String userId, String sysType) {
+        return getSysMenus(sysType,0,userId);
+    }
 }
 }
 
 
 
 

+ 55 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysRoleMenuKztServiceImpl.java

@@ -0,0 +1,55 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.admin.dao.SysRoleMenuKztMapper;
+import com.ydtech.modules.admin.model.SysRoleMenuKzt;
+import com.ydtech.modules.admin.model.dto.KZTRoleAndMenuDto;
+import com.ydtech.modules.admin.service.SysRoleMenuKztService;
+import com.ydtech.modules.base.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+* @author Administrator
+* @description 针对表【sys_role_menu_kzt(控制台角色关联菜单)】的数据库操作Service实现
+* @createDate 2024-08-14 16:13:23
+*/
+@Service
+public class SysRoleMenuKztServiceImpl extends ServiceImpl<SysRoleMenuKztMapper, SysRoleMenuKzt>
+    implements SysRoleMenuKztService {
+
+
+    @Autowired
+    private SysRoleMenuKztMapper  sysRoleMenuKztMapper;
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:36
+     *  @Description: 保存控制台关联的角色
+     */
+    @Override
+    @Transactional
+    public void saveRoleMenus(KZTRoleAndMenuDto kZTRoleAndMenuDto) {
+        Long roleId = kZTRoleAndMenuDto.getRoleId();
+        String sysType = kZTRoleAndMenuDto.getSysType();
+        List<Long> menuIds = kZTRoleAndMenuDto.getMenuIds();
+        List<SysRoleMenuKzt>  list =new ArrayList<>();
+        if(menuIds!=null && menuIds.size()>0){
+            for(Long  menuId: menuIds){
+                SysRoleMenuKzt  sysRoleMenuKzt =new  SysRoleMenuKzt(null, roleId, menuId, sysType, new BaseController().getUserId(), new Date(), new BaseController().getUserId(),  new Date());
+                list.add(sysRoleMenuKzt);
+            }
+        }
+        this.saveBatch(list);
+    }
+}
+
+
+
+

+ 10 - 3
src/main/java/com/ydtech/modules/admin/service/impl/SysRoleMenuServiceImpl.java

@@ -2,12 +2,9 @@ package com.ydtech.modules.admin.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ydtech.modules.admin.dao.SysMenuMapper;
 import com.ydtech.modules.admin.dao.SysRoleMenuMapper;
 import com.ydtech.modules.admin.dao.SysRoleMenuMapper;
-import com.ydtech.modules.admin.dao.impl.SysRoleMenuDaoImpl;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysRoleMenu;
 import com.ydtech.modules.admin.model.SysRoleMenu;
-import com.ydtech.modules.admin.service.SysMenuService;
 import com.ydtech.modules.admin.service.SysRoleMenuService;
 import com.ydtech.modules.admin.service.SysRoleMenuService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
@@ -36,6 +33,16 @@ public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRo
     public List<SysMenu> gainMenuIds(String userId) {
     public List<SysMenu> gainMenuIds(String userId) {
         return super.baseMapper.gainSysMenuIds(userId);
         return super.baseMapper.gainSysMenuIds(userId);
     }
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 15:07
+     *  @Description: 通过用户id查询菜单
+     */
+    @Override
+    public List<SysMenu> gainMenuIdsByUserId(String userId, String sysType) {
+          return super.baseMapper.gainMenuIdsByUserId(userId,sysType);
+    }
 
 
 }
 }
 
 

+ 33 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysRoleServiceImpl.java

@@ -11,8 +11,10 @@ import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.admin.dao.SysRoleMapper;
 import com.ydtech.modules.admin.dao.SysRoleMapper;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysMenu;
 import com.ydtech.modules.admin.model.SysRole;
 import com.ydtech.modules.admin.model.SysRole;
+import com.ydtech.modules.admin.model.dto.SysUserRoleQueryDto;
 import com.ydtech.modules.admin.service.SysMenuService;
 import com.ydtech.modules.admin.service.SysMenuService;
 import com.ydtech.modules.admin.service.SysRoleService;
 import com.ydtech.modules.admin.service.SysRoleService;
+import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -32,6 +34,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole>
     public SysRole findByName(String name) {
     public SysRole findByName(String name) {
         LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
         lqw.eq(SysRole::getName, name);
         lqw.eq(SysRole::getName, name);
+        lqw.eq(SysRole::getSysType, "1");
         List<SysRole> sysRoles = list(lqw);
         List<SysRole> sysRoles = list(lqw);
 //        List<SysRole> sysRoles = selectList(" where name=?", new Object[]{name.trim()});
 //        List<SysRole> sysRoles = selectList(" where name=?", new Object[]{name.trim()});
         if (sysRoles != null && sysRoles.size() > 0) {
         if (sysRoles != null && sysRoles.size() > 0) {
@@ -49,6 +52,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole>
         Page p = PageRequest.buildPageRequest(pageRequest);
         Page p = PageRequest.buildPageRequest(pageRequest);
         LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
         lqw.like(StringUtils.isNotEmpty(name), SysRole::getName, name);
         lqw.like(StringUtils.isNotEmpty(name), SysRole::getName, name);
+        lqw.eq(SysRole::getSysType, "1");
         IPage<SysRole> pageList = page(p, lqw);
         IPage<SysRole> pageList = page(p, lqw);
         return PageResult.buildPageResult(pageList);
         return PageResult.buildPageResult(pageList);
 
 
@@ -72,7 +76,35 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole>
         }
         }
         return sysMenuService.findRoleMenus(roleId);
         return sysMenuService.findRoleMenus(roleId);
     }
     }
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 18:51
+     *  @Description: 查询所有的角色
+     */
+    @Override
+    public List<SysRole> findAllKzt(String sysType) {
+        LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(SysRole::getDelFlag, "0");
+        lqw.eq(SysRole::getSysType, sysType);
+        List<SysRole> list = this.list(lqw);
+        return list;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 19:14
+     *  @Description: 查詢控制台角色
+     */
+    @Override
+    public BasePageResult<SysRole> findKztPage(SysUserRoleQueryDto sysUserRoleQueryDto) {
+        Page<SysRole> page = new Page<>(sysUserRoleQueryDto.getPageNum(),
+                sysUserRoleQueryDto.getPageSize());
+        sysUserRoleQueryDto.setSysType("2");
+        Page<SysRole> userPageResult = this.getBaseMapper().findKztPage(page, sysUserRoleQueryDto);
+        return  new BasePageResult<>(sysUserRoleQueryDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
+                userPageResult.getRecords());
+    }
 //    @Override
 //    @Override
 //    public Integer save(SysRole record) {
 //    public Integer save(SysRole record) {
 //        Integer result = 0;
 //        Integer result = 0;

+ 70 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserRoleKztServiceImpl.java

@@ -0,0 +1,70 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.admin.dao.SysUserRoleKztMapper;
+import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.SysUserRoleKzt;
+import com.ydtech.modules.admin.model.dto.KZTUserQueryDto;
+import com.ydtech.modules.admin.service.SysUserRoleKztService;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.order.entity.BasePageResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+* @author Administrator
+* @description 针对表【sys_user_role_kzt(控制台用户关联角色)】的数据库操作Service实现
+* @createDate 2024-08-14 16:13:44
+*/
+@Service
+public class SysUserRoleKztServiceImpl extends ServiceImpl<SysUserRoleKztMapper, SysUserRoleKzt>
+    implements SysUserRoleKztService {
+
+
+     @Autowired
+     private  SysUserRoleKztMapper  sysUserRoleKztMapper;
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 16:41
+     *  @Description: 通過用戶id和系统类型查询数据
+     */
+    @Override
+    public void deleteByUserId(String userId, String sysType) {
+        sysUserRoleKztMapper.deleteByUserId(userId,sysType);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 16:48
+     *  @Description: 保存用戶关联角色
+     */
+    @Override
+    public void saveUserRoleKzt(String userId, String roleId, String sysType) {
+        sysUserRoleKztMapper.deleteByUserId(userId,sysType);
+        SysUserRoleKzt userRole = new SysUserRoleKzt(null, userId,Long.parseLong(roleId), sysType, new BaseController().getUserId(), new Date(), new BaseController().getUserId(), new Date());
+        this.save(userRole);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/8/14 17:07
+     *  @Description: 通过机构id查询已授权的用户
+     */
+    @Override
+    public BasePageResult<SysUser> queryPageByParam(KZTUserQueryDto kZTUserQueryDto) {
+        Page<SysUser> page = new Page<>(kZTUserQueryDto.getPageNum(),
+                kZTUserQueryDto.getPageSize());
+        kZTUserQueryDto.setSysType("2");
+        Page<SysUser> userPageResult = sysUserRoleKztMapper.queryPageByParam(page, kZTUserQueryDto);
+        return  new BasePageResult<>(kZTUserQueryDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
+                userPageResult.getRecords());
+    }
+}
+
+
+
+

+ 28 - 0
src/main/resources/mapper/modules/admin/SysRoleMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.ydtech.modules.admin.dao.SysRoleMapper">
+
+
+      <select id="findKztPage" resultType="com.ydtech.modules.admin.model.SysRole">
+          SELECT
+              id,
+              NAME,
+              remark,
+              create_by,
+              create_time,
+              del_flag,
+              sys_type
+          FROM
+          sys_role
+          <where>
+                del_flag =0
+              <if test="vo.roleName != null and vo.roleName != ''">
+                  and name = #{vo.roleName}
+              </if>
+              <if test="vo.sysType != null and vo.sysType != ''">
+                  and sys_type = #{vo.sysType}
+              </if>
+          </where>
+    </select>
+</mapper>

+ 23 - 0
src/main/resources/mapper/modules/admin/SysRoleMenuKztMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.admin.dao.SysRoleMenuKztMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.admin.model.SysRoleMenuKzt">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="roleId" column="role_id" jdbcType="BIGINT"/>
+            <result property="menuId" column="menu_id" jdbcType="BIGINT"/>
+            <result property="sysType" column="sys_type" jdbcType="VARCHAR"/>
+            <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="lastUpdateBy" column="last_update_by" jdbcType="VARCHAR"/>
+            <result property="lastUpdateTime" column="last_update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,role_id,menu_id,
+        sys_type,create_by,create_time,
+        last_update_by,last_update_time
+    </sql>
+</mapper>

+ 57 - 0
src/main/resources/mapper/modules/admin/SysUserRoleKztMapper.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.admin.dao.SysUserRoleKztMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.admin.model.SysUserRoleKzt">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="userId" column="user_id" jdbcType="VARCHAR"/>
+            <result property="roleId" column="role_id" jdbcType="BIGINT"/>
+            <result property="sysType" column="sys_type" jdbcType="VARCHAR"/>
+            <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="lastUpdateBy" column="last_update_by" jdbcType="VARCHAR"/>
+            <result property="lastUpdateTime" column="last_update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,role_id,
+        sys_type,create_by,create_time,
+        last_update_by,last_update_time
+    </sql>
+    <delete id="deleteByUserId">
+          delete  from  sys_user_role_kzt  where user_id=#{userId}  and sys_type=#{sysType}
+    </delete>
+    <select id="queryPageByParam" resultType="com.ydtech.modules.admin.model.SysUser">
+        SELECT
+            su.id,
+            su.NAME,
+            su.mobile,
+            su.identity,
+            su.dept_id,
+            sur.role_id,
+            sr.NAME AS role_name,
+            sd.NAME AS dept_name
+        FROM
+            sys_user_link_sys sys
+                LEFT JOIN sys_user su ON sys.user_id = su.id
+                LEFT JOIN sys_user_role_kzt sur ON su.id = sur.user_id
+                LEFT JOIN sys_role sr ON sur.role_id = sr.id
+                LEFT JOIN sys_dept sd ON su.dept_id = sd.id
+        <where>
+            <if test="vo.userId != null and vo.userId != ''">
+                and su.id = #{vo.userId}
+            </if>
+            <if test="vo.userName != null and vo.userName != ''">
+                and su.userName = #{vo.userName}
+            </if>
+            <if test="vo.sysType != null and vo.sysType != ''">
+                and sys.sys_id = #{vo.sysType}
+            </if>
+            <if test="vo.deptId != null and vo.deptId != ''">
+                and su.dept_id like concat('',#{vo.deptId},'%')
+            </if>
+        </where>
+    </select>
+</mapper>