From 80cd48b97c4c0e7500d529d5bfe94ae33e25702c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9B=BE=E6=96=87=E8=B1=AA?= <980287353@qq.com>
Date: Mon, 24 Jun 2024 19:15:47 +0800
Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9B=E5=A2=9E=E5=8A=A0=E8=A7=92?=
=?UTF-8?q?=E8=89=B2=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 7 +
springboot-ademo/pom.xml | 5 +
.../com/tiesheng/demo/DemoApplication.java | 4 +-
.../src/main/resources/application-test.yml | 2 +-
springboot-role/pom.xml | 34 ++
.../com/tiesheng/role/RoleAutoConfigurer.java | 12 +
.../role/controller/RoleController.java | 209 +++++++++++
.../role/mapper/CoreRoleAuthorityMapper.java | 7 +
.../role/mapper/CoreRoleGroupMapper.java | 7 +
.../role/mapper/CoreRoleServerMapper.java | 7 +
.../role/mapper/CoreRoleUserMapper.java | 22 ++
.../role/pojos/dao/CoreRoleAuthority.java | 350 ++++++++++++++++++
.../role/pojos/dao/CoreRoleGroup.java | 206 +++++++++++
.../role/pojos/dao/CoreRoleServer.java | 230 ++++++++++++
.../tiesheng/role/pojos/dao/CoreRoleUser.java | 182 +++++++++
.../tiesheng/role/pojos/dto/MenuListDTO.java | 27 ++
.../tiesheng/role/pojos/dto/ServiceDTO.java | 22 ++
.../tiesheng/role/pojos/vo/GroupTypeDTO.java | 22 ++
.../role/pojos/vo/RoleUserPageVO.java | 20 +
.../tiesheng/role/pojos/vo/ServiceMenuVO.java | 22 ++
.../role/service/CoreRoleService.java | 21 ++
.../role/service/CoreServerService.java | 51 +++
.../db/migration/tiesheng_init_service.sql | 0
.../mapper/CoreRoleAuthorityMapper.xml | 31 ++
.../resources/mapper/CoreRoleGroupMapper.xml | 25 ++
.../resources/mapper/CoreRoleServerMapper.xml | 26 ++
.../resources/mapper/CoreRoleUserMapper.xml | 35 ++
springboot-util/pom.xml | 18 +
.../com/tiesheng/util}/pojos/DaoBase.java | 2 +-
.../java/com/tiesheng/util/pojos}/IdDTO.java | 2 +-
.../com/tiesheng/util/pojos}/PageDTO.java | 2 +-
.../tiesheng/util}/service/TsServiceBase.java | 2 +-
springboot-web/pom.xml | 20 +-
.../com/tiesheng/core/EnableTieshengWeb.java | 2 +-
.../core/controller/ConfigController.java | 2 +-
.../core/controller/JobController.java | 4 +-
.../core/controller/LogController.java | 3 +-
.../core/pojos/dao/CoreConfigEnum.java | 7 +-
.../core/pojos/dao/CoreConfigFunc.java | 7 +-
.../core/pojos/dao/CoreConfigSystem.java | 7 +-
.../com/tiesheng/core/pojos/dao/CoreJob.java | 7 +-
.../tiesheng/core/pojos/dao/CoreJobUser.java | 7 +-
.../tiesheng/core/pojos/dao/CoreLogLogin.java | 2 +-
.../core/pojos/dao/CoreLogMessage.java | 7 +-
.../core/pojos/dao/CoreLogOperation.java | 7 +-
.../core/pojos/dao/CoreLogProcess.java | 7 +-
.../core/pojos/dao/CorePlatformUnique.java | 7 +-
.../core/service/CoreConfigService.java | 1 +
.../tiesheng/core/service/CoreJobService.java | 1 +
.../tiesheng/core/service/CoreLogService.java | 1 +
.../service/CorePlatformUniqueService.java | 1 +
51 files changed, 1635 insertions(+), 77 deletions(-)
create mode 100644 springboot-role/pom.xml
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/RoleAutoConfigurer.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/controller/RoleController.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleAuthorityMapper.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleGroupMapper.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleServerMapper.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleUserMapper.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleAuthority.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleGroup.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleServer.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleUser.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/dto/MenuListDTO.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/dto/ServiceDTO.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/vo/GroupTypeDTO.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/vo/RoleUserPageVO.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/pojos/vo/ServiceMenuVO.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/service/CoreRoleService.java
create mode 100644 springboot-role/src/main/java/com/tiesheng/role/service/CoreServerService.java
create mode 100644 springboot-role/src/main/resources/db/migration/tiesheng_init_service.sql
create mode 100644 springboot-role/src/main/resources/mapper/CoreRoleAuthorityMapper.xml
create mode 100644 springboot-role/src/main/resources/mapper/CoreRoleGroupMapper.xml
create mode 100644 springboot-role/src/main/resources/mapper/CoreRoleServerMapper.xml
create mode 100644 springboot-role/src/main/resources/mapper/CoreRoleUserMapper.xml
rename {springboot-web/src/main/java/com/tiesheng/core => springboot-util/src/main/java/com/tiesheng/util}/pojos/DaoBase.java (98%)
rename {springboot-web/src/main/java/com/tiesheng/core/pojos/dto => springboot-util/src/main/java/com/tiesheng/util/pojos}/IdDTO.java (92%)
rename {springboot-web/src/main/java/com/tiesheng/core/pojos/dto => springboot-util/src/main/java/com/tiesheng/util/pojos}/PageDTO.java (99%)
rename {springboot-web/src/main/java/com/tiesheng/core => springboot-util/src/main/java/com/tiesheng/util}/service/TsServiceBase.java (95%)
diff --git a/pom.xml b/pom.xml
index cd9d497..da77f93 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,6 +28,7 @@
springboot-message
springboot-encrypt
springboot-annotation
+ springboot-role
@@ -96,6 +97,12 @@
1.1.5
+
+ com.tiesheng.springboot-parent
+ springboot-role
+ 1.1.5
+
+
com.tiesheng.springboot-parent
springboot-annotation
diff --git a/springboot-ademo/pom.xml b/springboot-ademo/pom.xml
index 1309ad1..4b27605 100644
--- a/springboot-ademo/pom.xml
+++ b/springboot-ademo/pom.xml
@@ -26,6 +26,11 @@
springboot-web
+
+ com.tiesheng.springboot-parent
+ springboot-role
+
+
com.alibaba
easyexcel
diff --git a/springboot-ademo/src/main/java/com/tiesheng/demo/DemoApplication.java b/springboot-ademo/src/main/java/com/tiesheng/demo/DemoApplication.java
index 8bb6b60..7e2023a 100644
--- a/springboot-ademo/src/main/java/com/tiesheng/demo/DemoApplication.java
+++ b/springboot-ademo/src/main/java/com/tiesheng/demo/DemoApplication.java
@@ -3,8 +3,10 @@ package com.tiesheng.demo;
import com.tiesheng.core.EnableTieshengWeb;
import com.tiesheng.demo.config.DemoWebConfigurer;
+import com.tiesheng.role.RoleAutoConfigurer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Import;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
@@ -13,7 +15,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@SpringBootApplication
@EnableTieshengWeb(webConfigurer = DemoWebConfigurer.class)
-//@EnableEncryptConfig
+@Import(RoleAutoConfigurer.class)
public class DemoApplication {
public static void main(String[] args) {
diff --git a/springboot-ademo/src/main/resources/application-test.yml b/springboot-ademo/src/main/resources/application-test.yml
index e997b01..40dc9de 100644
--- a/springboot-ademo/src/main/resources/application-test.yml
+++ b/springboot-ademo/src/main/resources/application-test.yml
@@ -26,4 +26,4 @@ tiesheng:
access-key-id: LTAI5tJtbgBCnTY5eS4SmrTf
access-key-secret: JIHqpRUFffCHhXaJEVvWN31WcexWqG
encrypt:
- body: true
+ body: false
diff --git a/springboot-role/pom.xml b/springboot-role/pom.xml
new file mode 100644
index 0000000..53bade3
--- /dev/null
+++ b/springboot-role/pom.xml
@@ -0,0 +1,34 @@
+
+
+ 4.0.0
+
+ com.tiesheng.springboot-parent
+ springboot-parent
+ 1.1.5
+
+
+ springboot-role
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+ com.tiesheng.springboot-parent
+ springboot-util
+
+
+ org.mybatis
+ mybatis-spring
+ 2.0.7
+ compile
+
+
+
+
+
diff --git a/springboot-role/src/main/java/com/tiesheng/role/RoleAutoConfigurer.java b/springboot-role/src/main/java/com/tiesheng/role/RoleAutoConfigurer.java
new file mode 100644
index 0000000..205dbf3
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/RoleAutoConfigurer.java
@@ -0,0 +1,12 @@
+package com.tiesheng.role;
+
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.ComponentScan;
+
+@ComponentScan({
+ "com.tiesheng.role.**.*",
+})
+@MapperScan("com.tiesheng.role.mapper")
+public class RoleAutoConfigurer {
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/controller/RoleController.java b/springboot-role/src/main/java/com/tiesheng/role/controller/RoleController.java
new file mode 100644
index 0000000..dcf187a
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/controller/RoleController.java
@@ -0,0 +1,209 @@
+package com.tiesheng.role.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.tiesheng.role.pojos.dao.CoreRoleAuthority;
+import com.tiesheng.role.pojos.dao.CoreRoleGroup;
+import com.tiesheng.role.pojos.dao.CoreRoleServer;
+import com.tiesheng.role.pojos.dao.CoreRoleUser;
+import com.tiesheng.role.pojos.dto.ServiceDTO;
+import com.tiesheng.role.pojos.vo.GroupTypeDTO;
+import com.tiesheng.role.pojos.vo.RoleUserPageVO;
+import com.tiesheng.role.pojos.vo.ServiceMenuVO;
+import com.tiesheng.role.service.CoreRoleService;
+import com.tiesheng.role.service.CoreServerService;
+import com.tiesheng.util.exception.ApiException;
+import com.tiesheng.util.pojos.ApiResp;
+import com.tiesheng.util.pojos.IdDTO;
+import com.tiesheng.util.pojos.PageDTO;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Objects;
+
+@RestController
+@RequestMapping("/role")
+public class RoleController {
+
+ @Resource
+ CoreServerService coreServerService;
+ @Resource
+ CoreRoleService coreRoleService;
+
+
+ /**
+ * 角色列表
+ *
+ * @return
+ */
+ @GetMapping("/group/list")
+ public ApiResp> groupList(@Valid GroupTypeDTO dto) {
+ return ApiResp.respOK(coreRoleService.list(
+ new QueryWrapper()
+ .eq("type", dto.getType())
+ .orderByAsc("sort")
+ ));
+ }
+
+
+ /**
+ * 角色编辑
+ *
+ * @param roleGroup
+ * @return
+ */
+ @PostMapping("/group/update")
+ public ApiResp groupUpdate(@RequestBody CoreRoleGroup roleGroup) {
+
+ if (StrUtil.isNotEmpty(roleGroup.getId())) {
+ roleGroup.setType(null);
+ roleGroup.setIsSystem(null);
+ }
+
+ coreRoleService.saveOrUpdate(roleGroup);
+ return ApiResp.respOK("");
+ }
+
+
+ /**
+ * 角色-删除
+ *
+ * @return
+ */
+ @PostMapping("/group/deleted")
+ public ApiResp groupDeleted(@RequestBody @Valid IdDTO dto) {
+
+ CoreRoleGroup byId = coreRoleService.getById(dto.getId());
+ if (byId == null || byId.getIsDeleted() != 0) {
+ throw new ApiException("角色不存在或已删除");
+ }
+
+ if (byId.getIsSystem() == 1) {
+ throw new ApiException(StrUtil.format("该{}无法删除",
+ Objects.equals(byId.getType(), "role") ? "角色" : "职位"));
+ }
+
+ CoreRoleGroup coreServiceMenu = new CoreRoleGroup();
+ coreServiceMenu.setId(dto.getId());
+ coreServiceMenu.setIsDeleted(1);
+ coreRoleService.updateById(coreServiceMenu);
+ return ApiResp.respOK("");
+ }
+
+
+ /**
+ * 授权列表
+ *
+ * @return
+ */
+ @GetMapping("/user/page")
+ public ApiResp> userPage(PageDTO dto) {
+
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("cru.is_deleted", 0);
+ dto.likeColumns(queryWrapper, "cru.ext1", "cru.ext2", "cru.ext3");
+ queryWrapper.orderByAsc("cru.user_id");
+
+ Page page = dto.pageObj();
+ coreRoleService.getUserMapper().page(page, queryWrapper);
+
+ return ApiResp.respOK(page.getRecords(), page.getTotal());
+ }
+
+
+ /**
+ * 授权调整
+ *
+ * @return
+ */
+ @PostMapping("/user/update")
+ public ApiResp userUpdate(@RequestBody CoreRoleUser roleUser) {
+ if (StrUtil.isNotEmpty(roleUser.getId())) {
+ coreRoleService.getUserMapper().updateById(roleUser);
+ } else {
+ coreRoleService.getUserMapper().insert(roleUser);
+ }
+ return ApiResp.respOK("");
+ }
+
+
+ /**
+ * 授权-删除
+ *
+ * @return
+ */
+ @PostMapping("/user/deleted")
+ public ApiResp userDeleted(@RequestBody @Valid IdDTO dto) {
+ CoreRoleUser coreRoleUser = new CoreRoleUser();
+ coreRoleUser.setId(dto.getId());
+ coreRoleUser.setIsDeleted(1);
+ coreRoleService.getUserMapper().updateById(coreRoleUser);
+ return ApiResp.respOK("");
+ }
+
+
+ /**
+ * 获取服务列表
+ *
+ * @return
+ */
+ @GetMapping("/server/list")
+ public ApiResp> list() {
+ return ApiResp.respOK(coreServerService.list());
+ }
+
+
+ /**
+ * 修改服务
+ *
+ * @param coreService
+ * @return
+ */
+ @PostMapping("/server/update")
+ public ApiResp update(@RequestBody CoreRoleServer coreService) {
+ coreServerService.saveOrUpdate(coreService);
+ return ApiResp.respOK("");
+ }
+
+
+ /**
+ * 权限-列出
+ *
+ * @return
+ */
+ @GetMapping("/authority/list")
+ public ApiResp> menuList(@Valid ServiceDTO dto) {
+
+ List list = coreServerService.getAuthorityMapper().selectList(new QueryWrapper()
+ .eq(CoreRoleAuthority.IS_DELETED, 0)
+ .eq("service", dto.getService())
+ .orderByAsc("sort")
+ );
+
+ List collect = coreServerService.menuWrap(list, null);
+
+ return ApiResp.respOK(collect);
+ }
+
+
+ /**
+ * 权限-编辑
+ *
+ * @return
+ */
+ @PostMapping("/authority/update")
+ public ApiResp menuUpdate(@RequestBody CoreRoleAuthority serviceMenu) {
+ if (StrUtil.isEmpty(serviceMenu.getId())) {
+ coreServerService.getAuthorityMapper().insert(serviceMenu);
+ } else {
+ serviceMenu.setNo(null);
+ coreServerService.getAuthorityMapper().updateById(serviceMenu);
+ }
+ return ApiResp.respOK("");
+ }
+
+
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleAuthorityMapper.java b/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleAuthorityMapper.java
new file mode 100644
index 0000000..4ef3040
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleAuthorityMapper.java
@@ -0,0 +1,7 @@
+package com.tiesheng.role.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.tiesheng.role.pojos.dao.CoreRoleAuthority;
+
+public interface CoreRoleAuthorityMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleGroupMapper.java b/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleGroupMapper.java
new file mode 100644
index 0000000..5708b0f
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleGroupMapper.java
@@ -0,0 +1,7 @@
+package com.tiesheng.role.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.tiesheng.role.pojos.dao.CoreRoleGroup;
+
+public interface CoreRoleGroupMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleServerMapper.java b/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleServerMapper.java
new file mode 100644
index 0000000..fa1757e
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleServerMapper.java
@@ -0,0 +1,7 @@
+package com.tiesheng.role.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.tiesheng.role.pojos.dao.CoreRoleServer;
+
+public interface CoreRoleServerMapper extends BaseMapper {
+}
\ No newline at end of file
diff --git a/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleUserMapper.java b/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleUserMapper.java
new file mode 100644
index 0000000..4c8dc38
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/mapper/CoreRoleUserMapper.java
@@ -0,0 +1,22 @@
+package com.tiesheng.role.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.tiesheng.role.pojos.dao.CoreRoleUser;
+import com.tiesheng.role.pojos.vo.RoleUserPageVO;
+import org.apache.ibatis.annotations.Param;
+
+public interface CoreRoleUserMapper extends BaseMapper {
+
+
+ /**
+ * 分页查询
+ *
+ * @param page
+ * @param wrapper
+ * @return
+ */
+ Page page(Page page, @Param("ew") QueryWrapper wrapper);
+
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleAuthority.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleAuthority.java
new file mode 100644
index 0000000..baa66b3
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleAuthority.java
@@ -0,0 +1,350 @@
+package com.tiesheng.role.pojos.dao;
+
+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 com.tiesheng.util.pojos.DaoBase;
+import java.util.Date;
+
+/**
+ * 角色-权限
+ */
+@TableName(value = "core_role_authority")
+public class CoreRoleAuthority extends DaoBase {
+ /**
+ * 服务
+ */
+ @TableField(value = "service")
+ private String service;
+
+ /**
+ * 编号
+ */
+ @TableField(value = "`no`")
+ private String no;
+
+ /**
+ * 名称
+ */
+ @TableField(value = "`name`")
+ private String name;
+
+ /**
+ * 排序
+ */
+ @TableField(value = "sort")
+ private Integer sort;
+
+ /**
+ * 层级
+ */
+ @TableField(value = "`level`")
+ private Integer level;
+
+ /**
+ * 父类ID
+ */
+ @TableField(value = "parent")
+ private String parent;
+
+ /**
+ * 说明
+ */
+ @TableField(value = "remark")
+ private String remark;
+
+ /**
+ * 是否启用
+ */
+ @TableField(value = "is_open")
+ private Integer isOpen;
+
+ /**
+ * 类型:group-分组,menu-菜单项,point-点
+ */
+ @TableField(value = "`type`")
+ private String type;
+
+ /**
+ * 跳转地址
+ */
+ @TableField(value = "link")
+ private String link;
+
+ /**
+ * 平台:ding、web、mobile等
+ */
+ @TableField(value = "platform")
+ private String platform;
+
+ /**
+ * 扩展1
+ */
+ @TableField(value = "ext1")
+ private String ext1;
+
+ /**
+ * 扩展2
+ */
+ @TableField(value = "ext2")
+ private String ext2;
+
+ /**
+ * 扩展3
+ */
+ @TableField(value = "ext3")
+ private String ext3;
+
+ /**
+ * 获取服务
+ *
+ * @return service - 服务
+ */
+ public String getService() {
+ return service;
+ }
+
+ /**
+ * 设置服务
+ *
+ * @param service 服务
+ */
+ public void setService(String service) {
+ this.service = service;
+ }
+
+ /**
+ * 获取编号
+ *
+ * @return no - 编号
+ */
+ public String getNo() {
+ return no;
+ }
+
+ /**
+ * 设置编号
+ *
+ * @param no 编号
+ */
+ public void setNo(String no) {
+ this.no = no;
+ }
+
+ /**
+ * 获取名称
+ *
+ * @return name - 名称
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * 设置名称
+ *
+ * @param name 名称
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * 获取排序
+ *
+ * @return sort - 排序
+ */
+ public Integer getSort() {
+ return sort;
+ }
+
+ /**
+ * 设置排序
+ *
+ * @param sort 排序
+ */
+ public void setSort(Integer sort) {
+ this.sort = sort;
+ }
+
+ /**
+ * 获取层级
+ *
+ * @return level - 层级
+ */
+ public Integer getLevel() {
+ return level;
+ }
+
+ /**
+ * 设置层级
+ *
+ * @param level 层级
+ */
+ public void setLevel(Integer level) {
+ this.level = level;
+ }
+
+ /**
+ * 获取父类ID
+ *
+ * @return parent - 父类ID
+ */
+ public String getParent() {
+ return parent;
+ }
+
+ /**
+ * 设置父类ID
+ *
+ * @param parent 父类ID
+ */
+ public void setParent(String parent) {
+ this.parent = parent;
+ }
+
+ /**
+ * 获取说明
+ *
+ * @return remark - 说明
+ */
+ public String getRemark() {
+ return remark;
+ }
+
+ /**
+ * 设置说明
+ *
+ * @param remark 说明
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ /**
+ * 获取是否启用
+ *
+ * @return is_open - 是否启用
+ */
+ public Integer getIsOpen() {
+ return isOpen;
+ }
+
+ /**
+ * 设置是否启用
+ *
+ * @param isOpen 是否启用
+ */
+ public void setIsOpen(Integer isOpen) {
+ this.isOpen = isOpen;
+ }
+
+ /**
+ * 获取类型:group-分组,menu-菜单项,point-点
+ *
+ * @return type - 类型:group-分组,menu-菜单项,point-点
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * 设置类型:group-分组,menu-菜单项,point-点
+ *
+ * @param type 类型:group-分组,menu-菜单项,point-点
+ */
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ * 获取跳转地址
+ *
+ * @return link - 跳转地址
+ */
+ public String getLink() {
+ return link;
+ }
+
+ /**
+ * 设置跳转地址
+ *
+ * @param link 跳转地址
+ */
+ public void setLink(String link) {
+ this.link = link;
+ }
+
+ /**
+ * 获取平台:ding、web、mobile等
+ *
+ * @return platform - 平台:ding、web、mobile等
+ */
+ public String getPlatform() {
+ return platform;
+ }
+
+ /**
+ * 设置平台:ding、web、mobile等
+ *
+ * @param platform 平台:ding、web、mobile等
+ */
+ public void setPlatform(String platform) {
+ this.platform = platform;
+ }
+
+ /**
+ * 获取扩展1
+ *
+ * @return ext1 - 扩展1
+ */
+ public String getExt1() {
+ return ext1;
+ }
+
+ /**
+ * 设置扩展1
+ *
+ * @param ext1 扩展1
+ */
+ public void setExt1(String ext1) {
+ this.ext1 = ext1;
+ }
+
+ /**
+ * 获取扩展2
+ *
+ * @return ext2 - 扩展2
+ */
+ public String getExt2() {
+ return ext2;
+ }
+
+ /**
+ * 设置扩展2
+ *
+ * @param ext2 扩展2
+ */
+ public void setExt2(String ext2) {
+ this.ext2 = ext2;
+ }
+
+ /**
+ * 获取扩展3
+ *
+ * @return ext3 - 扩展3
+ */
+ public String getExt3() {
+ return ext3;
+ }
+
+ /**
+ * 设置扩展3
+ *
+ * @param ext3 扩展3
+ */
+ public void setExt3(String ext3) {
+ this.ext3 = ext3;
+ }
+}
\ No newline at end of file
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleGroup.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleGroup.java
new file mode 100644
index 0000000..d4a43ab
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleGroup.java
@@ -0,0 +1,206 @@
+package com.tiesheng.role.pojos.dao;
+
+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 com.tiesheng.util.pojos.DaoBase;
+import java.util.Date;
+
+/**
+ * 角色-分组
+ */
+@TableName(value = "core_role_group")
+public class CoreRoleGroup extends DaoBase {
+ /**
+ * 名称
+ */
+ @TableField(value = "`name`")
+ private String name;
+
+ /**
+ * 说明
+ */
+ @TableField(value = "remark")
+ private String remark;
+
+ /**
+ * 类型:role-角色,job-职位
+ */
+ @TableField(value = "`type`")
+ private String type;
+
+ /**
+ * 是否系统
+ */
+ @TableField(value = "is_system")
+ private Integer isSystem;
+
+ /**
+ * 排序
+ */
+ @TableField(value = "sort")
+ private Integer sort;
+
+ /**
+ * 扩展1
+ */
+ @TableField(value = "ext1")
+ private String ext1;
+
+ /**
+ * 扩展2
+ */
+ @TableField(value = "ext2")
+ private String ext2;
+
+ /**
+ * 扩展3
+ */
+ @TableField(value = "ext3")
+ private String ext3;
+
+ /**
+ * 获取名称
+ *
+ * @return name - 名称
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * 设置名称
+ *
+ * @param name 名称
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * 获取说明
+ *
+ * @return remark - 说明
+ */
+ public String getRemark() {
+ return remark;
+ }
+
+ /**
+ * 设置说明
+ *
+ * @param remark 说明
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ /**
+ * 获取类型:role-角色,job-职位
+ *
+ * @return type - 类型:role-角色,job-职位
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * 设置类型:role-角色,job-职位
+ *
+ * @param type 类型:role-角色,job-职位
+ */
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ * 获取 是否系统
+ *
+ * @return is_system - 是否系统
+ */
+ public Integer getIsSystem() {
+ return isSystem;
+ }
+
+ /**
+ * 设置 是否系统
+ *
+ * @param isSystem 是否系统
+ */
+ public void setIsSystem(Integer isSystem) {
+ this.isSystem = isSystem;
+ }
+
+ /**
+ * 获取排序
+ *
+ * @return sort - 排序
+ */
+ public Integer getSort() {
+ return sort;
+ }
+
+ /**
+ * 设置排序
+ *
+ * @param sort 排序
+ */
+ public void setSort(Integer sort) {
+ this.sort = sort;
+ }
+
+ /**
+ * 获取扩展1
+ *
+ * @return ext1 - 扩展1
+ */
+ public String getExt1() {
+ return ext1;
+ }
+
+ /**
+ * 设置扩展1
+ *
+ * @param ext1 扩展1
+ */
+ public void setExt1(String ext1) {
+ this.ext1 = ext1;
+ }
+
+ /**
+ * 获取扩展2
+ *
+ * @return ext2 - 扩展2
+ */
+ public String getExt2() {
+ return ext2;
+ }
+
+ /**
+ * 设置扩展2
+ *
+ * @param ext2 扩展2
+ */
+ public void setExt2(String ext2) {
+ this.ext2 = ext2;
+ }
+
+ /**
+ * 获取扩展3
+ *
+ * @return ext3 - 扩展3
+ */
+ public String getExt3() {
+ return ext3;
+ }
+
+ /**
+ * 设置扩展3
+ *
+ * @param ext3 扩展3
+ */
+ public void setExt3(String ext3) {
+ this.ext3 = ext3;
+ }
+}
\ No newline at end of file
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleServer.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleServer.java
new file mode 100644
index 0000000..c678c00
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleServer.java
@@ -0,0 +1,230 @@
+package com.tiesheng.role.pojos.dao;
+
+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 com.tiesheng.util.pojos.DaoBase;
+import java.util.Date;
+
+/**
+ * 角色-服务
+ */
+@TableName(value = "core_role_server")
+public class CoreRoleServer extends DaoBase {
+ /**
+ * 名称
+ */
+ @TableField(value = "`name`")
+ private String name;
+
+ /**
+ * 说明
+ */
+ @TableField(value = "remark")
+ private String remark;
+
+ /**
+ * logo
+ */
+ @TableField(value = "logo")
+ private String logo;
+
+ /**
+ * 排序
+ */
+ @TableField(value = "sort")
+ private Integer sort;
+
+ /**
+ * 是否启用
+ */
+ @TableField(value = "is_open")
+ private Integer isOpen;
+
+ /**
+ * 跳转地址
+ */
+ @TableField(value = "link")
+ private String link;
+
+ /**
+ * 扩展1
+ */
+ @TableField(value = "ext1")
+ private String ext1;
+
+ /**
+ * 扩展2
+ */
+ @TableField(value = "ext2")
+ private String ext2;
+
+ /**
+ * 扩展3
+ */
+ @TableField(value = "ext3")
+ private String ext3;
+
+ /**
+ * 获取名称
+ *
+ * @return name - 名称
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * 设置名称
+ *
+ * @param name 名称
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * 获取说明
+ *
+ * @return remark - 说明
+ */
+ public String getRemark() {
+ return remark;
+ }
+
+ /**
+ * 设置说明
+ *
+ * @param remark 说明
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ /**
+ * 获取logo
+ *
+ * @return logo - logo
+ */
+ public String getLogo() {
+ return logo;
+ }
+
+ /**
+ * 设置logo
+ *
+ * @param logo logo
+ */
+ public void setLogo(String logo) {
+ this.logo = logo;
+ }
+
+ /**
+ * 获取排序
+ *
+ * @return sort - 排序
+ */
+ public Integer getSort() {
+ return sort;
+ }
+
+ /**
+ * 设置排序
+ *
+ * @param sort 排序
+ */
+ public void setSort(Integer sort) {
+ this.sort = sort;
+ }
+
+ /**
+ * 获取是否启用
+ *
+ * @return is_open - 是否启用
+ */
+ public Integer getIsOpen() {
+ return isOpen;
+ }
+
+ /**
+ * 设置是否启用
+ *
+ * @param isOpen 是否启用
+ */
+ public void setIsOpen(Integer isOpen) {
+ this.isOpen = isOpen;
+ }
+
+ /**
+ * 获取跳转地址
+ *
+ * @return link - 跳转地址
+ */
+ public String getLink() {
+ return link;
+ }
+
+ /**
+ * 设置跳转地址
+ *
+ * @param link 跳转地址
+ */
+ public void setLink(String link) {
+ this.link = link;
+ }
+
+ /**
+ * 获取扩展1
+ *
+ * @return ext1 - 扩展1
+ */
+ public String getExt1() {
+ return ext1;
+ }
+
+ /**
+ * 设置扩展1
+ *
+ * @param ext1 扩展1
+ */
+ public void setExt1(String ext1) {
+ this.ext1 = ext1;
+ }
+
+ /**
+ * 获取扩展2
+ *
+ * @return ext2 - 扩展2
+ */
+ public String getExt2() {
+ return ext2;
+ }
+
+ /**
+ * 设置扩展2
+ *
+ * @param ext2 扩展2
+ */
+ public void setExt2(String ext2) {
+ this.ext2 = ext2;
+ }
+
+ /**
+ * 获取扩展3
+ *
+ * @return ext3 - 扩展3
+ */
+ public String getExt3() {
+ return ext3;
+ }
+
+ /**
+ * 设置扩展3
+ *
+ * @param ext3 扩展3
+ */
+ public void setExt3(String ext3) {
+ this.ext3 = ext3;
+ }
+}
\ No newline at end of file
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleUser.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleUser.java
new file mode 100644
index 0000000..3be7f6d
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/dao/CoreRoleUser.java
@@ -0,0 +1,182 @@
+package com.tiesheng.role.pojos.dao;
+
+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 com.tiesheng.util.pojos.DaoBase;
+import java.util.Date;
+
+/**
+ * 角色-用户
+ */
+@TableName(value = "core_role_user")
+public class CoreRoleUser extends DaoBase {
+ /**
+ * 用户ID
+ */
+ @TableField(value = "user_id")
+ private String userId;
+
+ /**
+ * 类型:menu-菜单,group-分组
+ */
+ @TableField(value = "`type`")
+ private String type;
+
+ /**
+ * 类型关联的记录ID
+ */
+ @TableField(value = "type_id")
+ private String typeId;
+
+ /**
+ * 过期时间,无则不过期
+ */
+ @TableField(value = "expire_time")
+ private Date expireTime;
+
+ /**
+ * 扩展1
+ */
+ @TableField(value = "ext1")
+ private String ext1;
+
+ /**
+ * 扩展2
+ */
+ @TableField(value = "ext2")
+ private String ext2;
+
+ /**
+ * 扩展3
+ */
+ @TableField(value = "ext3")
+ private String ext3;
+
+ /**
+ * 获取用户ID
+ *
+ * @return user_id - 用户ID
+ */
+ public String getUserId() {
+ return userId;
+ }
+
+ /**
+ * 设置用户ID
+ *
+ * @param userId 用户ID
+ */
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ /**
+ * 获取类型:menu-菜单,group-分组
+ *
+ * @return type - 类型:menu-菜单,group-分组
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * 设置类型:menu-菜单,group-分组
+ *
+ * @param type 类型:menu-菜单,group-分组
+ */
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ * 获取类型关联的记录ID
+ *
+ * @return type_id - 类型关联的记录ID
+ */
+ public String getTypeId() {
+ return typeId;
+ }
+
+ /**
+ * 设置类型关联的记录ID
+ *
+ * @param typeId 类型关联的记录ID
+ */
+ public void setTypeId(String typeId) {
+ this.typeId = typeId;
+ }
+
+ /**
+ * 获取过期时间,无则不过期
+ *
+ * @return expire_time - 过期时间,无则不过期
+ */
+ public Date getExpireTime() {
+ return expireTime;
+ }
+
+ /**
+ * 设置过期时间,无则不过期
+ *
+ * @param expireTime 过期时间,无则不过期
+ */
+ public void setExpireTime(Date expireTime) {
+ this.expireTime = expireTime;
+ }
+
+ /**
+ * 获取扩展1
+ *
+ * @return ext1 - 扩展1
+ */
+ public String getExt1() {
+ return ext1;
+ }
+
+ /**
+ * 设置扩展1
+ *
+ * @param ext1 扩展1
+ */
+ public void setExt1(String ext1) {
+ this.ext1 = ext1;
+ }
+
+ /**
+ * 获取扩展2
+ *
+ * @return ext2 - 扩展2
+ */
+ public String getExt2() {
+ return ext2;
+ }
+
+ /**
+ * 设置扩展2
+ *
+ * @param ext2 扩展2
+ */
+ public void setExt2(String ext2) {
+ this.ext2 = ext2;
+ }
+
+ /**
+ * 获取扩展3
+ *
+ * @return ext3 - 扩展3
+ */
+ public String getExt3() {
+ return ext3;
+ }
+
+ /**
+ * 设置扩展3
+ *
+ * @param ext3 扩展3
+ */
+ public void setExt3(String ext3) {
+ this.ext3 = ext3;
+ }
+}
\ No newline at end of file
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/dto/MenuListDTO.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/dto/MenuListDTO.java
new file mode 100644
index 0000000..8808d25
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/dto/MenuListDTO.java
@@ -0,0 +1,27 @@
+package com.tiesheng.role.pojos.dto;
+
+public class MenuListDTO extends ServiceDTO {
+
+ private String parent;
+ private Integer childSize = 0;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // setter\getter
+ ///////////////////////////////////////////////////////////////////////////
+
+ public String getParent() {
+ return parent;
+ }
+
+ public void setParent(String parent) {
+ this.parent = parent;
+ }
+
+ public Integer getChildSize() {
+ return childSize;
+ }
+
+ public void setChildSize(Integer childSize) {
+ this.childSize = childSize;
+ }
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/dto/ServiceDTO.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/dto/ServiceDTO.java
new file mode 100644
index 0000000..e350b29
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/dto/ServiceDTO.java
@@ -0,0 +1,22 @@
+package com.tiesheng.role.pojos.dto;
+
+import javax.validation.constraints.NotEmpty;
+
+public class ServiceDTO {
+
+ @NotEmpty(message = "请选择一个服务")
+ private String service;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // setter\getter
+ ///////////////////////////////////////////////////////////////////////////
+
+
+ public String getService() {
+ return service;
+ }
+
+ public void setService(String service) {
+ this.service = service;
+ }
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/GroupTypeDTO.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/GroupTypeDTO.java
new file mode 100644
index 0000000..2084335
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/GroupTypeDTO.java
@@ -0,0 +1,22 @@
+package com.tiesheng.role.pojos.vo;
+
+import javax.validation.constraints.NotEmpty;
+
+public class GroupTypeDTO {
+
+ @NotEmpty(message = "请选择一个类型")
+ private String type;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // setter\getter
+ ///////////////////////////////////////////////////////////////////////////
+
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/RoleUserPageVO.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/RoleUserPageVO.java
new file mode 100644
index 0000000..e3d6475
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/RoleUserPageVO.java
@@ -0,0 +1,20 @@
+package com.tiesheng.role.pojos.vo;
+
+import com.tiesheng.role.pojos.dao.CoreRoleUser;
+
+public class RoleUserPageVO extends CoreRoleUser {
+
+ private String typeName;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // setter\getter
+ ///////////////////////////////////////////////////////////////////////////
+
+ public String getTypeName() {
+ return typeName;
+ }
+
+ public void setTypeName(String typeName) {
+ this.typeName = typeName;
+ }
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/ServiceMenuVO.java b/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/ServiceMenuVO.java
new file mode 100644
index 0000000..53113a5
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/pojos/vo/ServiceMenuVO.java
@@ -0,0 +1,22 @@
+package com.tiesheng.role.pojos.vo;
+
+import com.tiesheng.role.pojos.dao.CoreRoleAuthority;
+
+import java.util.List;
+
+public class ServiceMenuVO extends CoreRoleAuthority {
+
+ private List children;
+
+ ///////////////////////////////////////////////////////////////////////////
+ // setter\getter
+ ///////////////////////////////////////////////////////////////////////////
+
+ public List getChildren() {
+ return children;
+ }
+
+ public void setChildren(List children) {
+ this.children = children;
+ }
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/service/CoreRoleService.java b/springboot-role/src/main/java/com/tiesheng/role/service/CoreRoleService.java
new file mode 100644
index 0000000..2b046eb
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/service/CoreRoleService.java
@@ -0,0 +1,21 @@
+package com.tiesheng.role.service;
+
+import com.tiesheng.role.mapper.CoreRoleGroupMapper;
+import com.tiesheng.role.mapper.CoreRoleUserMapper;
+import com.tiesheng.role.pojos.dao.CoreRoleGroup;
+import com.tiesheng.util.service.TsServiceBase;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class CoreRoleService extends TsServiceBase {
+
+
+ @Resource
+ CoreRoleUserMapper coreRoleUserMapper;
+
+ public CoreRoleUserMapper getUserMapper() {
+ return coreRoleUserMapper;
+ }
+}
diff --git a/springboot-role/src/main/java/com/tiesheng/role/service/CoreServerService.java b/springboot-role/src/main/java/com/tiesheng/role/service/CoreServerService.java
new file mode 100644
index 0000000..fe7cd64
--- /dev/null
+++ b/springboot-role/src/main/java/com/tiesheng/role/service/CoreServerService.java
@@ -0,0 +1,51 @@
+package com.tiesheng.role.service;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.tiesheng.role.mapper.CoreRoleAuthorityMapper;
+import com.tiesheng.role.mapper.CoreRoleServerMapper;
+import com.tiesheng.role.pojos.dao.CoreRoleAuthority;
+import com.tiesheng.role.pojos.dao.CoreRoleServer;
+import com.tiesheng.role.pojos.vo.ServiceMenuVO;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class CoreServerService extends ServiceImpl {
+
+ @Resource
+ CoreRoleAuthorityMapper coreRoleAuthorityMapper;
+
+ public CoreRoleAuthorityMapper getAuthorityMapper() {
+ return coreRoleAuthorityMapper;
+ }
+
+
+ /**
+ * 菜单封装
+ *
+ * @param coreServiceMenuList
+ * @param level
+ * @return
+ */
+ public List menuWrap(List coreServiceMenuList, String parent) {
+ List list = new ArrayList<>();
+
+ for (CoreRoleAuthority coreServiceMenu : coreServiceMenuList) {
+ if (!StrUtil.equals(parent, coreServiceMenu.getParent())) {
+ continue;
+ }
+
+ ServiceMenuVO menuVO = BeanUtil.copyProperties(coreServiceMenu, ServiceMenuVO.class);
+ menuVO.setChildren(menuWrap(coreServiceMenuList, coreServiceMenu.getId()));
+ list.add(menuVO);
+ }
+
+ return list;
+ }
+
+}
diff --git a/springboot-role/src/main/resources/db/migration/tiesheng_init_service.sql b/springboot-role/src/main/resources/db/migration/tiesheng_init_service.sql
new file mode 100644
index 0000000..e69de29
diff --git a/springboot-role/src/main/resources/mapper/CoreRoleAuthorityMapper.xml b/springboot-role/src/main/resources/mapper/CoreRoleAuthorityMapper.xml
new file mode 100644
index 0000000..b53c7fc
--- /dev/null
+++ b/springboot-role/src/main/resources/mapper/CoreRoleAuthorityMapper.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, create_time, update_time, is_deleted, service, `no`, `name`, sort, `level`, parent,
+ remark, is_open, `type`, link, platform, ext1, ext2, ext3
+
+
\ No newline at end of file
diff --git a/springboot-role/src/main/resources/mapper/CoreRoleGroupMapper.xml b/springboot-role/src/main/resources/mapper/CoreRoleGroupMapper.xml
new file mode 100644
index 0000000..8d15f3d
--- /dev/null
+++ b/springboot-role/src/main/resources/mapper/CoreRoleGroupMapper.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, create_time, update_time, is_deleted, `name`, remark, `type`, is_system, sort,
+ ext1, ext2, ext3
+
+
\ No newline at end of file
diff --git a/springboot-role/src/main/resources/mapper/CoreRoleServerMapper.xml b/springboot-role/src/main/resources/mapper/CoreRoleServerMapper.xml
new file mode 100644
index 0000000..4f412a7
--- /dev/null
+++ b/springboot-role/src/main/resources/mapper/CoreRoleServerMapper.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, create_time, update_time, is_deleted, `name`, remark, logo, sort, is_open, link,
+ ext1, ext2, ext3
+
+
\ No newline at end of file
diff --git a/springboot-role/src/main/resources/mapper/CoreRoleUserMapper.xml b/springboot-role/src/main/resources/mapper/CoreRoleUserMapper.xml
new file mode 100644
index 0000000..5c209cb
--- /dev/null
+++ b/springboot-role/src/main/resources/mapper/CoreRoleUserMapper.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, create_time, update_time, is_deleted, user_id, `type`, type_id, expire_time,
+ ext1, ext2, ext3
+
+
+
+
+
diff --git a/springboot-util/pom.xml b/springboot-util/pom.xml
index de5e6ef..3c08f5b 100644
--- a/springboot-util/pom.xml
+++ b/springboot-util/pom.xml
@@ -36,6 +36,24 @@
5.8.16
+
+
+ mysql
+ mysql-connector-java
+ 8.0.30
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
com.alibaba
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/DaoBase.java b/springboot-util/src/main/java/com/tiesheng/util/pojos/DaoBase.java
similarity index 98%
rename from springboot-web/src/main/java/com/tiesheng/core/pojos/DaoBase.java
rename to springboot-util/src/main/java/com/tiesheng/util/pojos/DaoBase.java
index 3995b1a..c1c4cc4 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/DaoBase.java
+++ b/springboot-util/src/main/java/com/tiesheng/util/pojos/DaoBase.java
@@ -1,4 +1,4 @@
-package com.tiesheng.core.pojos;
+package com.tiesheng.util.pojos;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dto/IdDTO.java b/springboot-util/src/main/java/com/tiesheng/util/pojos/IdDTO.java
similarity index 92%
rename from springboot-web/src/main/java/com/tiesheng/core/pojos/dto/IdDTO.java
rename to springboot-util/src/main/java/com/tiesheng/util/pojos/IdDTO.java
index eb7151e..2c2105c 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dto/IdDTO.java
+++ b/springboot-util/src/main/java/com/tiesheng/util/pojos/IdDTO.java
@@ -1,4 +1,4 @@
-package com.tiesheng.core.pojos.dto;
+package com.tiesheng.util.pojos;
import javax.validation.constraints.NotEmpty;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dto/PageDTO.java b/springboot-util/src/main/java/com/tiesheng/util/pojos/PageDTO.java
similarity index 99%
rename from springboot-web/src/main/java/com/tiesheng/core/pojos/dto/PageDTO.java
rename to springboot-util/src/main/java/com/tiesheng/util/pojos/PageDTO.java
index c81c909..15f3eb1 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dto/PageDTO.java
+++ b/springboot-util/src/main/java/com/tiesheng/util/pojos/PageDTO.java
@@ -1,4 +1,4 @@
-package com.tiesheng.core.pojos.dto;
+package com.tiesheng.util.pojos;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/service/TsServiceBase.java b/springboot-util/src/main/java/com/tiesheng/util/service/TsServiceBase.java
similarity index 95%
rename from springboot-web/src/main/java/com/tiesheng/core/service/TsServiceBase.java
rename to springboot-util/src/main/java/com/tiesheng/util/service/TsServiceBase.java
index 0e1f0f5..72e38e9 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/service/TsServiceBase.java
+++ b/springboot-util/src/main/java/com/tiesheng/util/service/TsServiceBase.java
@@ -1,4 +1,4 @@
-package com.tiesheng.core.service;
+package com.tiesheng.util.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
diff --git a/springboot-web/pom.xml b/springboot-web/pom.xml
index f90f6ac..f6a04a6 100644
--- a/springboot-web/pom.xml
+++ b/springboot-web/pom.xml
@@ -39,24 +39,6 @@
spring-boot-starter-aop
-
- org.springframework.boot
- spring-boot-starter-validation
-
-
-
-
- mysql
- mysql-connector-java
- 8.0.30
-
-
-
-
- com.baomidou
- mybatis-plus-boot-starter
-
-
com.tiesheng.springboot-parent
springboot-util
@@ -85,7 +67,7 @@
com.tiesheng.springboot-parent
springboot-encrypt
- org.apache.xmlbeansxmlbeans3.1.0compile
+
diff --git a/springboot-web/src/main/java/com/tiesheng/core/EnableTieshengWeb.java b/springboot-web/src/main/java/com/tiesheng/core/EnableTieshengWeb.java
index 974d0cb..a9c1223 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/EnableTieshengWeb.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/EnableTieshengWeb.java
@@ -22,7 +22,7 @@ import java.lang.annotation.*;
CoreAutoConfigurer.class,
LoginAutoConfigurer.class,
DatabaseAutoConfigurer.class,
- EncryptAutoConfigurer.class
+ EncryptAutoConfigurer.class,
})
public @interface EnableTieshengWeb {
diff --git a/springboot-web/src/main/java/com/tiesheng/core/controller/ConfigController.java b/springboot-web/src/main/java/com/tiesheng/core/controller/ConfigController.java
index 166c18e..593da90 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/controller/ConfigController.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/controller/ConfigController.java
@@ -9,7 +9,7 @@ import com.tiesheng.annotation.token.TokenIgnore;
import com.tiesheng.core.pojos.dao.CoreConfigEnum;
import com.tiesheng.core.pojos.dao.CoreConfigFunc;
import com.tiesheng.core.pojos.dao.CoreConfigSystem;
-import com.tiesheng.core.pojos.dto.PageDTO;
+import com.tiesheng.util.pojos.PageDTO;
import com.tiesheng.core.pojos.dto.config.ConfigFuncDTO;
import com.tiesheng.core.pojos.dto.config.ConfigSystemDTO;
import com.tiesheng.core.pojos.dto.config.EnumTypeDTO;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/controller/JobController.java b/springboot-web/src/main/java/com/tiesheng/core/controller/JobController.java
index 494ec4f..ce3861d 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/controller/JobController.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/controller/JobController.java
@@ -4,8 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tiesheng.core.pojos.dao.CoreJob;
-import com.tiesheng.core.pojos.dto.IdDTO;
-import com.tiesheng.core.pojos.dto.PageDTO;
+import com.tiesheng.util.pojos.IdDTO;
+import com.tiesheng.util.pojos.PageDTO;
import com.tiesheng.core.pojos.dto.job.JobUpdateDTO;
import com.tiesheng.core.pojos.dto.job.JobUpdateRxDTO;
import com.tiesheng.core.pojos.dto.job.JobUserAssignDTO;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/controller/LogController.java b/springboot-web/src/main/java/com/tiesheng/core/controller/LogController.java
index 68ee3fa..17c5fec 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/controller/LogController.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/controller/LogController.java
@@ -3,12 +3,11 @@ package com.tiesheng.core.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.tiesheng.annotation.token.TokenIgnore;
import com.tiesheng.core.pojos.dao.CoreLogLogin;
import com.tiesheng.core.pojos.dao.CoreLogMessage;
import com.tiesheng.core.pojos.dao.CoreLogOperation;
import com.tiesheng.core.pojos.dao.CoreLogProcess;
-import com.tiesheng.core.pojos.dto.PageDTO;
+import com.tiesheng.util.pojos.PageDTO;
import com.tiesheng.core.pojos.vo.ProcessDetailVo;
import com.tiesheng.core.service.CoreLogService;
import com.tiesheng.util.pojos.ApiResp;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigEnum.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigEnum.java
index 5b6ca8a..9923945 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigEnum.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigEnum.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 配置-枚举
@@ -107,4 +104,4 @@ public class CoreConfigEnum extends DaoBase {
public void setExt(String ext) {
this.ext = ext;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigFunc.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigFunc.java
index 3aa5739..2c05afc 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigFunc.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigFunc.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 职位-功能点
@@ -107,4 +104,4 @@ public class CoreConfigFunc extends DaoBase {
public void setIsUsed(Integer isUsed) {
this.isUsed = isUsed;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigSystem.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigSystem.java
index 796f104..993aa72 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigSystem.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreConfigSystem.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 配置-系统
@@ -141,4 +138,4 @@ public class CoreConfigSystem extends DaoBase {
public void setReadOnly(Integer readOnly) {
this.readOnly = readOnly;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreJob.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreJob.java
index 31d5230..e8837aa 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreJob.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreJob.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 职位
@@ -83,4 +80,4 @@ public class CoreJob extends DaoBase {
public void setIsSystem(Integer isSystem) {
this.isSystem = isSystem;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreJobUser.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreJobUser.java
index ac3212e..23de726 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreJobUser.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreJobUser.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 职位-用户
@@ -155,4 +152,4 @@ public class CoreJobUser extends DaoBase {
public void setExtText(String extText) {
this.extText = extText;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogLogin.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogLogin.java
index eac49fa..7e1dd06 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogLogin.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogLogin.java
@@ -2,7 +2,7 @@ package com.tiesheng.core.pojos.dao;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.tiesheng.core.pojos.DaoBase;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 日志-登录
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogMessage.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogMessage.java
index c2bfa1c..c378bab 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogMessage.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogMessage.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 日志-消息
@@ -131,4 +128,4 @@ public class CoreLogMessage extends DaoBase {
public void setResult(Integer result) {
this.result = result;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogOperation.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogOperation.java
index 8a8b2c0..1ac7f03 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogOperation.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogOperation.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 日志-操作
@@ -131,4 +128,4 @@ public class CoreLogOperation extends DaoBase {
public void setParams(String params) {
this.params = params;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogProcess.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogProcess.java
index 998c667..17f75d3 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogProcess.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CoreLogProcess.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 日志-过程
@@ -227,4 +224,4 @@ public class CoreLogProcess extends DaoBase {
public void setProcess(Integer process) {
this.process = process;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CorePlatformUnique.java b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CorePlatformUnique.java
index daa4880..3cdf95e 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CorePlatformUnique.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/pojos/dao/CorePlatformUnique.java
@@ -1,11 +1,8 @@
package com.tiesheng.core.pojos.dao;
-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 com.tiesheng.core.pojos.DaoBase;
-import java.util.Date;
+import com.tiesheng.util.pojos.DaoBase;
/**
* 平台-唯一值
@@ -131,4 +128,4 @@ public class CorePlatformUnique extends DaoBase {
public void setInfo(String info) {
this.info = info;
}
-}
\ No newline at end of file
+}
diff --git a/springboot-web/src/main/java/com/tiesheng/core/service/CoreConfigService.java b/springboot-web/src/main/java/com/tiesheng/core/service/CoreConfigService.java
index d33f405..1cf03d2 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/service/CoreConfigService.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/service/CoreConfigService.java
@@ -5,6 +5,7 @@ import com.tiesheng.core.mapper.CoreConfigFuncMapper;
import com.tiesheng.core.mapper.CoreConfigSystemMapper;
import com.tiesheng.core.pojos.dao.CoreConfigFunc;
import com.tiesheng.core.pojos.dao.CoreConfigSystem;
+import com.tiesheng.util.service.TsServiceBase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/service/CoreJobService.java b/springboot-web/src/main/java/com/tiesheng/core/service/CoreJobService.java
index 28582a1..c2ab906 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/service/CoreJobService.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/service/CoreJobService.java
@@ -9,6 +9,7 @@ import com.tiesheng.core.mapper.CoreJobUserMapper;
import com.tiesheng.core.pojos.dao.CoreJob;
import com.tiesheng.core.pojos.dao.CoreJobUser;
import com.tiesheng.util.pojos.IdName;
+import com.tiesheng.util.service.TsServiceBase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/service/CoreLogService.java b/springboot-web/src/main/java/com/tiesheng/core/service/CoreLogService.java
index 38f8591..d58faee 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/service/CoreLogService.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/service/CoreLogService.java
@@ -24,6 +24,7 @@ import com.tiesheng.login.config.token.bean.TokenBean;
import com.tiesheng.util.ServletKit;
import com.tiesheng.util.config.Ip2regionConfig;
import com.tiesheng.util.exception.ApiException;
+import com.tiesheng.util.service.TsServiceBase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/springboot-web/src/main/java/com/tiesheng/core/service/CorePlatformUniqueService.java b/springboot-web/src/main/java/com/tiesheng/core/service/CorePlatformUniqueService.java
index c4cf1dd..0e05cb5 100644
--- a/springboot-web/src/main/java/com/tiesheng/core/service/CorePlatformUniqueService.java
+++ b/springboot-web/src/main/java/com/tiesheng/core/service/CorePlatformUniqueService.java
@@ -6,6 +6,7 @@ import com.tiesheng.core.pojos.dao.CorePlatformUnique;
import com.tiesheng.login.config.token.bean.TokenBean;
import com.tiesheng.login.pojos.DoLoginInfo;
import com.tiesheng.login.service.TieshengLoginConfigurer;
+import com.tiesheng.util.service.TsServiceBase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;