roleIds;
/**
* 登录类型 1:用户名密码登录 2:手机号登录 3:社交登录
diff --git a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysMenu.java b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysMenu.java
index 6ca5398f..c3283ec9 100644
--- a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysMenu.java
+++ b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysMenu.java
@@ -40,6 +40,11 @@ public class SysMenu extends BaseEntity {
*/
@ApiModelProperty(value = "路径")
private String path;
+ /**
+ * 组件
+ */
+ @ApiModelProperty(value = "组件")
+ private String component;
/**
* 父菜单ID
*/
diff --git a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysRole.java b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysRole.java
index b5e5704d..f9d86ee5 100644
--- a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysRole.java
+++ b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysRole.java
@@ -1,5 +1,6 @@
package vip.mate.system.entity;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -8,6 +9,8 @@
import lombok.experimental.Accessors;
import vip.mate.core.database.entity.BaseEntity;
+import java.util.List;
+
/**
*
* 角色表
@@ -35,6 +38,16 @@ public class SysRole extends BaseEntity {
*/
@ApiModelProperty(value = "角色编码")
private String roleCode;
+ /**
+ * 排序
+ */
+ @ApiModelProperty(value = "排序")
+ private int sort;
+ /**
+ * 状态
+ */
+ @ApiModelProperty(value = "状态")
+ private String status;
/**
* 描述
*/
@@ -51,4 +64,11 @@ public class SysRole extends BaseEntity {
*/
@ApiModelProperty(value = "租户ID")
private Integer tenantId;
+
+ /**
+ * 菜单列表
+ */
+ @TableField(exist = false)
+ @ApiModelProperty(value = "菜单列表")
+ private List menu;
}
diff --git a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysUser.java b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysUser.java
index 0a7b7805..2873920d 100644
--- a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysUser.java
+++ b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysUser.java
@@ -92,7 +92,7 @@ public class SysUser extends BaseEntity {
* 角色id
*/
@ApiModelProperty(value = "角色id")
- private Long roleId;
+ private String roleId;
/**
* 部门id
@@ -112,6 +112,12 @@ public class SysUser extends BaseEntity {
@ApiModelProperty(value = "删除标识")
private String isDeleted;
+ /**
+ * 备注
+ */
+ @ApiModelProperty(value = "备注")
+ private String remark;
+
/**
* 部门名称
*/
diff --git a/mate-platform/mate-system-api/src/main/java/vip/mate/system/vo/SysMenuVO.java b/mate-platform/mate-system-api/src/main/java/vip/mate/system/vo/SysMenuVO.java
index 4f962243..36327043 100644
--- a/mate-platform/mate-system-api/src/main/java/vip/mate/system/vo/SysMenuVO.java
+++ b/mate-platform/mate-system-api/src/main/java/vip/mate/system/vo/SysMenuVO.java
@@ -8,6 +8,7 @@
import vip.mate.core.web.tree.INode;
import vip.mate.system.entity.MenuMeta;
+import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -78,6 +79,8 @@ public class SysMenuVO implements INode {
private String typeName;
+ private LocalDateTime createTime;
+
/**
* 子孙节点
*/
diff --git a/mate-platform/mate-system/pom.xml b/mate-platform/mate-system/pom.xml
index 8877af42..26f6c769 100644
--- a/mate-platform/mate-system/pom.xml
+++ b/mate-platform/mate-system/pom.xml
@@ -5,7 +5,7 @@
mate-platform
vip.mate
- 3.8.8
+ 4.0.9
4.0.0
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysBlacklistController.java b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysBlacklistController.java
index 3cebcd06..09515637 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysBlacklistController.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysBlacklistController.java
@@ -43,7 +43,6 @@ public class SysBlacklistController extends BaseController {
/**
* 黑名单分页
- * @param page 分页参数
* @param search 关键词
* @return Result
*/
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysLogController.java b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysLogController.java
index b72f07c4..9d7d3a49 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysLogController.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysLogController.java
@@ -1,6 +1,7 @@
package vip.mate.system.controller;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -69,5 +70,13 @@ public Result> del(@RequestParam String ids) {
return Result.condition(sysLogService.removeByIds(CollectionUtil.stringToCollection(ids)));
}
+ @PreAuth()
+ @Log(value = "日志清空")
+ @PostMapping("/empty")
+ @ApiOperation(value = "日志清空")
+ public Result> empty() {
+ return Result.condition(sysLogService.remove(Wrappers.emptyWrapper()));
+ }
+
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysMenuController.java b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysMenuController.java
index 3d578854..0a206ce3 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysMenuController.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysMenuController.java
@@ -1,6 +1,5 @@
package vip.mate.system.controller;
-
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.annotations.Api;
@@ -47,142 +46,153 @@
@Api(tags = "菜单管理")
public class SysMenuController extends BaseController {
- private final ISysMenuService sysMenuService;
+ private final ISysMenuService sysMenuService;
+
+ /**
+ * 菜单树
+ *
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "菜单树", exception = "菜单树请求异常")
+ @GetMapping("/tree")
+ @ApiOperation(value = "菜单树", notes = "根据roleId查询菜单树")
+ public Result> tree(@ApiIgnore @EnableUser LoginUser user) {
+ return Result.data(sysMenuService.routes(user.getRoleId()));
+ }
- /**
- * 菜单树
- *
- * @return Result
- */
- @PreAuth
- @Log(value = "菜单树", exception = "菜单树请求异常")
- @GetMapping("/tree")
- @ApiOperation(value = "菜单树", notes = "根据roleId查询菜单树")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "roleId", required = false, value = "可不填,根据token获取", paramType = "form"),
- })
- public Result> tree(@ApiIgnore @EnableUser LoginUser user) {
- return Result.data(sysMenuService.routes(user.getRoleId()));
- }
+ /**
+ * 菜单列表
+ *
+ * @param search 搜索关键词
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "菜单列表", exception = "菜单列表请求异常")
+ @GetMapping("/list")
+ @ApiOperation(value = "菜单列表", notes = "菜单列表,根据关键词查询")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "keyword", required = true, value = "模糊查询关键词", paramType = "form"),
+ @ApiImplicitParam(name = "startDate", required = true, value = "创建开始日期", paramType = "form"),
+ @ApiImplicitParam(name = "endDate", required = true, value = "创建结束日期", paramType = "form"),
+ })
+ public Result> list(@ApiIgnore Search search) {
+ return Result.data(ForestNodeMerger.merge(TreeUtil.buildTree(sysMenuService.searchList(search))));
+ }
- /**
- * 菜单列表
- *
- * @param search 搜索关键词
- * @return Result
- */
- @PreAuth
- @Log(value = "菜单列表", exception = "菜单列表请求异常")
- @GetMapping("/list")
- @ApiOperation(value = "菜单列表", notes = "菜单列表,根据关键词查询")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "keyword", required = true, value = "模糊查询关键词", paramType = "form"),
- @ApiImplicitParam(name = "startDate", required = true, value = "创建开始日期", paramType = "form"),
- @ApiImplicitParam(name = "endDate", required = true, value = "创建结束日期", paramType = "form"),
- })
- public Result> list(@ApiIgnore Search search) {
- return Result.data(ForestNodeMerger.merge(TreeUtil.buildTree(sysMenuService.searchList(search))));
- }
+ /**
+ * 菜单分级列表,用于前端下拉框使用
+ *
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "菜单分级列表", exception = "菜单分级列表请求异常")
+ @GetMapping("/grade")
+ @ApiOperation(value = "菜单分级列表", notes = "菜单分级列表")
+ public Result> grade() {
+ LambdaQueryWrapper lsm = Wrappers.query().lambda().orderByAsc(SysMenu::getSort);
+ List sysMenus = sysMenuService.list(lsm);
+ return Result.data(ForestNodeMerger.merge(
+ sysMenus.stream().map(sysMenu -> SysMenuDTO.builder()
+ .id(sysMenu.getId())
+ .label(sysMenu.getName())
+ .parentId(sysMenu.getParentId()).build()).collect(Collectors.toList())));
+ }
- /**
- * 菜单分级列表,用于前端下拉框使用
- *
- * @return Result
- */
- @PreAuth
- @Log(value = "菜单分级列表", exception = "菜单分级列表请求异常")
- @GetMapping("/grade")
- @ApiOperation(value = "菜单分级列表", notes = "菜单分级列表")
- public Result> grade() {
- LambdaQueryWrapper lsm = Wrappers.query().lambda().orderByAsc(SysMenu::getSort);
- List sysMenus = sysMenuService.list(lsm);
- return Result.data(ForestNodeMerger.merge(
- sysMenus.stream().map(sysMenu -> SysMenuDTO.builder()
- .id(sysMenu.getId())
- .label(sysMenu.getName())
- .parentId(sysMenu.getParentId()).build()).collect(Collectors.toList())));
- }
+ /**
+ * 菜单设置
+ *
+ * @param sysMenu 菜单
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "菜单设置", exception = "菜单设置请求异常")
+ @PostMapping("/set")
+ @ApiOperation(value = "菜单设置", notes = "菜单设置,支持新增或修改")
+ public Result> set(@Valid @RequestBody SysMenu sysMenu) {
+ return Result.condition(sysMenuService.saveAll(sysMenu));
+ }
- /**
- * 菜单设置
- *
- * @param sysMenu 菜单
- * @return Result
- */
- @PreAuth
- @Log(value = "菜单设置", exception = "菜单设置请求异常")
- @PostMapping("/set")
- @ApiOperation(value = "菜单设置", notes = "菜单设置,支持新增或修改")
- public Result> set(@Valid @RequestBody SysMenu sysMenu) {
- return Result.condition(sysMenuService.saveAll(sysMenu));
- }
+ /**
+ * 查询菜单信息
+ *
+ * @param id id
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "菜单信息", exception = "菜单信息请求异常")
+ @GetMapping("/get")
+ @ApiOperation(value = "菜单信息", notes = "根据ID查询")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id", required = true, value = "菜单ID", paramType = "form"),
+ })
+ public Result> get(@RequestParam String id) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.in(SysMenu::getId, id);
+ return Result.data(sysMenuService.getOne(queryWrapper));
+ }
- /**
- * 查询菜单信息
- *
- * @param id id
- * @return Result
- */
- @PreAuth
- @Log(value = "菜单信息", exception = "菜单信息请求异常")
- @GetMapping("/get")
- @ApiOperation(value = "菜单信息", notes = "根据ID查询")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "id", required = true, value = "菜单ID", paramType = "form"),
- })
- public Result> get(@RequestParam String id) {
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(SysMenu::getId, id);
- return Result.data(sysMenuService.getOne(queryWrapper));
- }
+ /**
+ * 批量删除查询
+ *
+ * @param ids 多个Id,用,号分隔
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "菜单删除", exception = "菜单删除请求异常")
+ @PostMapping("/del")
+ @ApiOperation(value = "菜单删除", notes = "菜单删除")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form")
+ })
+ public Result> del(@RequestParam String ids) {
+ return Result.condition(sysMenuService.removeByIds(CollectionUtil.stringToCollection(ids)));
+ }
- /**
- * 批量删除查询
- *
- * @param ids 多个Id,用,号分隔
- * @return Result
- */
- @PreAuth
- @Log(value = "菜单删除", exception = "菜单删除请求异常")
- @PostMapping("/del")
- @ApiOperation(value = "菜单删除", notes = "菜单删除")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form")
- })
- public Result> del(@RequestParam String ids) {
- return Result.condition(sysMenuService.removeByIds(CollectionUtil.stringToCollection(ids)));
- }
+ /**
+ * 菜单状态
+ *
+ * @param ids 多个Id,用,号分隔
+ * @param status 状态:启用、禁用
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "菜单状态", exception = "菜单状态请求异常")
+ @PostMapping("/set-status")
+ @ApiOperation(value = "菜单状态", notes = "状态包括:启用、禁用")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "ids", required = true, value = "多个id用,号隔开", paramType = "form"),
+ @ApiImplicitParam(name = "status", required = true, value = "状态", paramType = "form")
+ })
+ public Result> setStatus(@RequestParam String ids, @RequestParam String status) {
+ return Result.condition(sysMenuService.status(ids, status));
+ }
- /**
- * 菜单状态
- *
- * @param ids 多个Id,用,号分隔
- * @param status 状态:启用、禁用
- * @return Result
- */
- @PreAuth
- @Log(value = "菜单状态", exception = "菜单状态请求异常")
- @PostMapping("/set-status")
- @ApiOperation(value = "菜单状态", notes = "状态包括:启用、禁用")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "ids", required = true, value = "多个id用,号隔开", paramType = "form"),
- @ApiImplicitParam(name = "status", required = true, value = "状态", paramType = "form")
- })
- public Result> setStatus(@RequestParam String ids, @RequestParam String status) {
- return Result.condition(sysMenuService.status(ids, status));
- }
+ /**
+ * 菜单是否包含子菜单
+ *
+ * @param sysMenu 菜单对象
+ * @return boolean
+ */
+ @PreAuth
+ @Log(value = "菜单是否包含子菜单")
+ @GetMapping("/check-child")
+ @ApiOperation(value = "菜单是否包含子菜单")
+ public Result> checkChild(SysMenu sysMenu) {
+ return Result.data(sysMenuService.checkChild(sysMenu.getId()));
+ }
- /**
- * 菜单导出
- */
- @PreAuth
- @Log(value = "菜单导出", exception = "菜单导出请求异常")
- @PostMapping("/export")
- @ApiOperation(value = "菜单导出", notes = "菜单导出")
- public void export(@ApiIgnore HttpServletResponse response) {
- List sysMenuPOIS = sysMenuService.export();
- //使用工具类导出excel
- ExcelUtil.exportExcel(sysMenuPOIS, null, "菜单", SysMenuPOI.class, "menu", response);
- }
+ /**
+ * 菜单导出
+ */
+ @PreAuth
+ @Log(value = "菜单导出", exception = "菜单导出请求异常")
+ @PostMapping("/export")
+ @ApiOperation(value = "菜单导出", notes = "菜单导出")
+ public void export(@ApiIgnore HttpServletResponse response) {
+ List sysMenuPOIS = sysMenuService.export();
+ //使用工具类导出excel
+ ExcelUtil.exportExcel(sysMenuPOIS, null, "菜单", SysMenuPOI.class, "menu", response);
+ }
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysRoleController.java b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysRoleController.java
index 818b0aec..4b59e9cc 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysRoleController.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysRoleController.java
@@ -1,7 +1,9 @@
package vip.mate.system.controller;
+import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -11,8 +13,8 @@
import springfox.documentation.annotations.ApiIgnore;
import vip.mate.core.auth.annotation.PreAuth;
import vip.mate.core.common.api.Result;
-import vip.mate.core.common.constant.MateConstant;
-import vip.mate.core.common.constant.Oauth2Constant;
+import vip.mate.core.common.constant.SystemConstant;
+import vip.mate.core.database.entity.Search;
import vip.mate.core.file.util.ExcelUtil;
import vip.mate.core.log.annotation.Log;
import vip.mate.core.redis.core.RedisService;
@@ -49,6 +51,21 @@ public class SysRoleController extends BaseController {
private final ISysRolePermissionService sysRolePermissionService;
private final RedisService redisService;
+ @PreAuth
+ @Log(value = "角色分页")
+ @GetMapping("/page")
+ @ApiOperation(value = "角色分页")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "current", required = true, value = "当前页", paramType = "form"),
+ @ApiImplicitParam(name = "size", required = true, value = "每页显示数据", paramType = "form"),
+ @ApiImplicitParam(name = "keyword", required = true, value = "模糊查询关键词", paramType = "form"),
+ @ApiImplicitParam(name = "startDate", required = true, value = "创建开始日期", paramType = "form"),
+ @ApiImplicitParam(name = "endDate", required = true, value = "创建结束日期", paramType = "form"),
+ })
+ public Result> page(Search search) {
+ return Result.data(sysRoleService.listPage(search));
+ }
+
/**
* 角色列表
*
@@ -68,6 +85,28 @@ public Result> list(@RequestParam Map query) {
return Result.data(sysRoleService.listSearch(query));
}
+ /**
+ * 所有角色列表
+ *
+ * @return List
+ */
+ @PreAuth
+ @Log(value = "所有角色列表")
+ @GetMapping("/all-list")
+ @ApiOperation(value = "所有角色列表")
+ public Result> allList() {
+ // 设置一个未授权的角色信息,提供给前端使用
+ SysRole sysRole = new SysRole();
+ sysRole.setId(NumberUtil.parseLong(SystemConstant.ROLE_DEFAULT_ID));
+ sysRole.setRoleName(SystemConstant.ROLE_DEFAULT_VALUE);
+ // 查询所有角色列表
+ List list = sysRoleService.list();
+ // 增加未授权角色信息
+ list.add(sysRole);
+ // 业务返回
+ return Result.data(list);
+ }
+
/**
* 角色设置
*
@@ -79,7 +118,23 @@ public Result> list(@RequestParam Map query) {
@PostMapping("/set")
@ApiOperation(value = "角色设置", notes = "角色设置,支持新增或修改")
public Result> set(@Valid @RequestBody SysRole sysRole) {
- return Result.condition(sysRoleService.saveOrUpdate(sysRole));
+ return Result.condition(sysRoleService.set(sysRole));
+ }
+
+ /**
+ * 角色状态变更
+ *
+ * @param sysRole
+ * @return
+ */
+ @PreAuth
+ @Log(value = "角色状态变更")
+ @PostMapping("/set-status")
+ @ApiOperation(value = "角色状态变更")
+ public Result> setStatus(@Valid @RequestBody SysRole sysRole) {
+ return Result.condition(sysRoleService.update(Wrappers.lambdaUpdate().
+ set(SysRole::getStatus, sysRole.getStatus())
+ .eq(SysRole::getId, sysRole.getId())));
}
/**
@@ -115,7 +170,7 @@ public Result> get(@RequestParam String id) {
@ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form")
})
public Result> delete(@RequestParam String ids) {
- return Result.condition(sysRoleService.removeByIds(CollectionUtil.stringToCollection(ids)));
+ return Result.condition(sysRoleService.batchDeleteByIds(ids));
}
/**
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysUserController.java b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysUserController.java
index a06588eb..bff9521e 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysUserController.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/controller/SysUserController.java
@@ -12,6 +12,7 @@
import vip.mate.core.auth.annotation.PreAuth;
import vip.mate.core.cloud.util.CryptoUtil;
import vip.mate.core.common.api.Result;
+import vip.mate.core.common.exception.BaseException;
import vip.mate.core.database.entity.Search;
import vip.mate.core.file.util.ExcelUtil;
import vip.mate.core.log.annotation.Log;
@@ -40,142 +41,142 @@
@Api(tags = "用户管理")
public class SysUserController extends BaseController {
- private final ISysUserService sysUserService;
+ private final ISysUserService sysUserService;
- private final PasswordEncoder passwordEncoder;
+ private final PasswordEncoder passwordEncoder;
- /**
- * 用户列表
- *
- * @param search 搜索关键词
- * @return Result
- */
- @PreAuth
- @Log(value = "用户列表", exception = "用户列表请求异常")
- @GetMapping("/page")
- @ApiOperation(value = "用户列表", notes = "分页查询")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "current", required = true, value = "当前页", paramType = "form"),
- @ApiImplicitParam(name = "size", required = true, value = "每页显示数据", paramType = "form"),
- @ApiImplicitParam(name = "keyword", required = true, value = "模糊查询关键词", paramType = "form"),
- @ApiImplicitParam(name = "startDate", required = true, value = "创建开始日期", paramType = "form"),
- @ApiImplicitParam(name = "endDate", required = true, value = "创建结束日期", paramType = "form"),
- @ApiImplicitParam(name = "prop", required = true, value = "排序属性", paramType = "form"),
- @ApiImplicitParam(name = "order", required = true, value = "排序方式", paramType = "form"),
- })
- public Result> page(Search search) {
- return Result.data(sysUserService.listPage(search));
- }
+ /**
+ * 用户列表
+ *
+ * @param search 搜索关键词
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "用户列表", exception = "用户列表请求异常")
+ @GetMapping("/page")
+ @ApiOperation(value = "用户列表", notes = "分页查询")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "current", required = true, value = "当前页", paramType = "form"),
+ @ApiImplicitParam(name = "size", required = true, value = "每页显示数据", paramType = "form"),
+ @ApiImplicitParam(name = "keyword", required = true, value = "模糊查询关键词", paramType = "form"),
+ @ApiImplicitParam(name = "startDate", required = true, value = "创建开始日期", paramType = "form"),
+ @ApiImplicitParam(name = "endDate", required = true, value = "创建结束日期", paramType = "form"),
+ @ApiImplicitParam(name = "prop", required = true, value = "排序属性", paramType = "form"),
+ @ApiImplicitParam(name = "order", required = true, value = "排序方式", paramType = "form"),
+ })
+ public Result> page(Search search, SysUser sysUser) {
+ return Result.data(sysUserService.listPage(search, sysUser));
+ }
- /**
- * 设置用户,支持新增或修改
- *
- * @param sysUser 用户信息
- * @return Result
- */
- @PreAuth
- @Log(value = "用户设置", exception = "设置用户请求异常")
- @PostMapping("/set")
- @ApiOperation(value = "设置用户", notes = "新增或修改用户")
- public Result> set(@Valid @RequestBody SysUser sysUser) {
- String password = sysUser.getPassword();
- if (StringUtils.isNotBlank(password) && sysUser.getId() == null) {
- password = passwordEncoder.encode(CryptoUtil.encodeMD5(password));
- sysUser.setPassword(password);
- }
- return Result.condition(sysUserService.saveOrUpdate(sysUser));
- }
+ /**
+ * 设置用户,支持新增或修改
+ *
+ * @param sysUser 用户信息
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "用户设置", exception = "设置用户请求异常")
+ @PostMapping("/set")
+ @ApiOperation(value = "设置用户", notes = "新增或修改用户")
+ public Result> set(@Valid @RequestBody SysUser sysUser) {
+ String password = sysUser.getPassword();
+ if (StringUtils.isNotBlank(password) && sysUser.getId() == null) {
+ password = passwordEncoder.encode(CryptoUtil.encodeMD5(password));
+ sysUser.setPassword(password);
+ }
+ return Result.condition(sysUserService.saveOrUpdate(sysUser));
+ }
- /**
- * 用户信息
- *
- * @param id Id信息
- * @return Result
- */
- @PreAuth
- @Log(value = "用户信息", exception = "用户信息请求异常")
- @GetMapping("/get")
- @ApiOperation(value = "用户信息", notes = "根据ID查询")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "id", required = true, value = "用户ID", paramType = "form"),
- })
- public Result> get(@RequestParam String id) {
- return Result.data(sysUserService.getById(id));
- }
+ /**
+ * 用户信息
+ *
+ * @param id Id信息
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "用户信息", exception = "用户信息请求异常")
+ @GetMapping("/get")
+ @ApiOperation(value = "用户信息", notes = "根据ID查询")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id", required = true, value = "用户ID", paramType = "form"),
+ })
+ public Result> get(@RequestParam String id) {
+ return Result.data(sysUserService.getById(id));
+ }
- /**
- * 用户删除
- *
- * @param ids id字符串,根据,号分隔
- * @return Result
- */
- @PreAuth
- @Log(value = "用户删除", exception = "用户删除请求异常")
- @PostMapping("/del")
- @ApiOperation(value = "用户删除", notes = "用户删除")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form")
- })
- public Result> del(@RequestParam String ids) {
- return Result.condition(sysUserService.removeByIds(CollectionUtil.stringToCollection(ids)));
- }
+ /**
+ * 用户删除
+ *
+ * @param ids id字符串,根据,号分隔
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "用户删除", exception = "用户删除请求异常")
+ @PostMapping("/del")
+ @ApiOperation(value = "用户删除", notes = "用户删除")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form")
+ })
+ public Result> del(@RequestParam String ids) {
+ return Result.condition(sysUserService.removeByIds(CollectionUtil.stringToCollection(ids)));
+ }
- /**
- * 设置用户状态
- *
- * @param ids id字符串,根据,号分隔
- * @param status 状态标识,启用或禁用
- * @return Result
- */
- @PreAuth
- @Log(value = "用户状态", exception = "用户状态请求异常")
- @PostMapping("/set-status")
- @ApiOperation(value = "用户状态", notes = "状态包括:启用、禁用")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form"),
- @ApiImplicitParam(name = "status", required = true, value = "状态", paramType = "form")
- })
- public Result> setStatus(@RequestParam String ids, @RequestParam String status) {
- return Result.condition(sysUserService.status(ids, status));
- }
+ /**
+ * 设置用户状态
+ *
+ * @param ids id字符串,根据,号分隔
+ * @param status 状态标识,启用或禁用
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "用户状态", exception = "用户状态请求异常")
+ @PostMapping("/set-status")
+ @ApiOperation(value = "用户状态", notes = "状态包括:启用、禁用")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "ids", required = true, value = "多个用,号隔开", paramType = "form"),
+ @ApiImplicitParam(name = "status", required = true, value = "状态", paramType = "form")
+ })
+ public Result> setStatus(@RequestParam String ids, @RequestParam String status) {
+ return Result.condition(sysUserService.status(ids, status));
+ }
- /**
- * 设置用户密码
- *
- * @param id id
- * @param password 密码
- * @return Result
- */
- @PreAuth
- @Log(value = "用户密码设置", exception = "用户密码设置请求异常")
- @PostMapping("/set-password")
- @ApiOperation(value = "用户密码设置", notes = "用户密码设置")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "id", required = true, value = "用户ID", paramType = "form"),
- @ApiImplicitParam(name = "password", required = true, value = "密码", paramType = "form")
- })
- public Result> setPassword(@RequestParam String id, @RequestParam String password) {
- String pwd = null;
- if (StringUtils.isNotBlank(password)) {
- pwd = passwordEncoder.encode(CryptoUtil.encodeMD5(password));
- }
- SysUser sysUser = new SysUser();
- sysUser.setId(CollectionUtil.strToLong(id, 0L));
- sysUser.setPassword(pwd);
- return Result.condition(sysUserService.updateById(sysUser));
- }
+ /**
+ * 设置用户密码
+ *
+ * @param user 用户信息
+ * @return Result
+ */
+ @PreAuth
+ @Log(value = "用户密码设置", exception = "用户密码设置请求异常")
+ @PostMapping("/set-password")
+ @ApiOperation(value = "用户密码设置", notes = "用户密码设置")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id", required = true, value = "用户ID", paramType = "form"),
+ @ApiImplicitParam(name = "password", required = true, value = "密码", paramType = "form")
+ })
+ public Result> setPassword(@RequestBody SysUser user) {
+ String pwd = null;
+ if (StringUtils.isNotBlank(user.getPassword())) {
+ pwd = passwordEncoder.encode(CryptoUtil.encodeMD5(user.getPassword()));
+ }
+ user.setPassword(pwd);
+ if (user.getId() == null) {
+ throw new BaseException("请求ID不能为空");
+ }
+ return Result.condition(sysUserService.updateById(user));
+ }
- /**
- * 用户信息导出
- */
- @PreAuth
- @Log(value = "用户导出", exception = "导出用户请求异常")
- @PostMapping("/export")
- @ApiOperation(value = "导出用户", notes = "导出用户")
- public void export(@ApiIgnore HttpServletResponse response) {
- List sysUserPOIS = sysUserService.export();
- //使用工具类导出excel
- ExcelUtil.exportExcel(sysUserPOIS, null, "用户", SysUserPOI.class, "user", response);
- }
+ /**
+ * 用户信息导出
+ */
+ @PreAuth
+ @Log(value = "用户导出", exception = "导出用户请求异常")
+ @PostMapping("/export")
+ @ApiOperation(value = "导出用户", notes = "导出用户")
+ public void export(@ApiIgnore HttpServletResponse response) {
+ List sysUserPOIS = sysUserService.export();
+ //使用工具类导出excel
+ ExcelUtil.exportExcel(sysUserPOIS, null, "用户", SysUserPOI.class, "user", response);
+ }
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/feign/SysUserProvider.java b/mate-platform/mate-system/src/main/java/vip/mate/system/feign/SysUserProvider.java
index f34cb2bb..8b323762 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/feign/SysUserProvider.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/feign/SysUserProvider.java
@@ -1,7 +1,7 @@
package vip.mate.system.feign;
+import cn.hutool.core.collection.ListUtil;
import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -17,11 +17,9 @@
import vip.mate.system.service.ISysRolePermissionService;
import vip.mate.system.service.ISysUserService;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* 远程调用获取用户信息
+ *
* @author xuzhanfu
*/
@Slf4j
@@ -70,10 +68,8 @@ public UserInfo getUserInfo(SysUser sysUser) {
}
UserInfo userInfo = new UserInfo();
userInfo.setSysUser(sysUser);
- userInfo.setPermissions(sysRolePermissionService.getMenuIdByRoleId(sysUser.getRoleId().toString()));
- List longs = new ArrayList<>();
- longs.add(sysUser.getRoleId());
- userInfo.setRoleIds(longs);
+ userInfo.setPermissions(sysRolePermissionService.getMenuIdByRoleId(sysUser.getRoleId()));
+ userInfo.setRoleIds(ListUtil.toList(sysUser.getRoleId()));
userInfo.setTenantId(sysUser.getTenantId());
log.debug("feign调用:userInfo:{}", userInfo);
return userInfo;
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysDictService.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysDictService.java
index c9d1f0fe..cd1ca0ae 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysDictService.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysDictService.java
@@ -21,12 +21,32 @@
*/
public interface ISysDictService extends IService {
- @Cached(name= SystemConstant.SYS_DICT_CACHE, expire = 3600)
+ /**
+ * 根据编码和键获取值
+ *
+ * @param code
+ * @param dictKey
+ * @return
+ */
+ @Cached(name = SystemConstant.SYS_DICT_CACHE, expire = 3600)
Result getValue(String code, String dictKey);
- @Cached(name= SystemConstant.SYS_DICT_CACHE, key="#code", expire = 3600)
+ /**
+ * 根据编码查询字典列表
+ *
+ * @param code
+ * @return
+ */
+ @Cached(name = SystemConstant.SYS_DICT_CACHE, key = "#code", expire = 3600)
Result> getList(String code);
+ /**
+ * 字典分页查询
+ *
+ * @param page
+ * @param search
+ * @return
+ */
IPage listPage(Page page, Search search);
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysMenuService.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysMenuService.java
index 59d52673..1c7ac093 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysMenuService.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysMenuService.java
@@ -18,44 +18,60 @@
*/
public interface ISysMenuService extends IService {
- /**
- * 菜单路由
- *
- * @param roleId 角色ID
- * @return List
- */
- List routes(String roleId);
-
- /**
- * 查询列表
- *
- * @param search 检索对象
- * @return List
- */
- List searchList(Search search);
-
- /**
- * 保存全部
- *
- * @param sysMenu 菜单对象
- * @return boolean
- */
- boolean saveAll(SysMenu sysMenu);
-
- /**
- * 状态设置
- *
- * @param ids id列表
- * @param status 状态
- * @return boolean
- */
- boolean status(String ids, String status);
-
- /**
- * 菜单导出
- *
- * @return 菜单导出
- */
- List export();
+ /**
+ * 菜单路由
+ *
+ * @param roleId 角色ID
+ * @return List
+ */
+ List routes(String roleId);
+
+ /**
+ * 查询列表
+ *
+ * @param search 检索对象
+ * @return List
+ */
+ List searchList(Search search);
+
+ /**
+ * 保存全部
+ *
+ * @param sysMenu 菜单对象
+ * @return boolean
+ */
+ boolean saveAll(SysMenu sysMenu);
+
+ /**
+ * 状态设置
+ *
+ * @param ids id列表
+ * @param status 状态
+ * @return boolean
+ */
+ boolean status(String ids, String status);
+
+ /**
+ * 菜单导出
+ *
+ * @return 菜单导出
+ */
+ List export();
+
+ /**
+ * 检查是否存在菜单子节点
+ *
+ * @param id 菜单ID
+ * @return 是否
+ */
+ boolean checkChild(Long id);
+
+ /**
+ * 根据菜单ID查询父类ID
+ *
+ * @param menuId 菜单ID
+ * @return parentId
+ */
+ int getMenuChild(Long menuId);
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysRolePermissionService.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysRolePermissionService.java
index bf0b5f5c..35ba523e 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysRolePermissionService.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysRolePermissionService.java
@@ -15,6 +15,12 @@
*/
public interface ISysRolePermissionService extends IService {
+ /**
+ * 根据角色查询菜单ID列表
+ *
+ * @param roleId 角色ID
+ * @return 菜单ID列表
+ */
List getMenuIdByRoleId(String roleId);
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysRoleService.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysRoleService.java
index a5e96b86..6814a038 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysRoleService.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysRoleService.java
@@ -1,7 +1,9 @@
package vip.mate.system.service;
-import vip.mate.system.entity.SysRole;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
+import vip.mate.core.database.entity.Search;
+import vip.mate.system.entity.SysRole;
import vip.mate.system.poi.SysRolePOI;
import vip.mate.system.vo.SysRoleVO;
@@ -18,12 +20,57 @@
*/
public interface ISysRoleService extends IService {
+ /**
+ * 角色树
+ *
+ * @return
+ */
List tree();
+ /**
+ * 查询角色列表
+ *
+ * @param search
+ * @return
+ */
List listSearch(Map search);
+ /**
+ * 查询权限集
+ *
+ * @param id
+ * @return
+ */
List getPermission(String id);
+ /**
+ * 角色导出
+ *
+ * @return
+ */
List export();
+ /**
+ * 分页列表
+ *
+ * @param search
+ * @return
+ */
+ IPage listPage(Search search);
+
+ /**
+ * 设置角色
+ *
+ * @param sysRole 角色对象
+ * @return 布尔
+ */
+ boolean set(SysRole sysRole);
+
+ /**
+ * 根据ids批量删除角色
+ *
+ * @param ids ID列表
+ * @return boolean
+ */
+ boolean batchDeleteByIds(String ids);
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysUserService.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysUserService.java
index c0afd8d6..37354f7a 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysUserService.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/ISysUserService.java
@@ -18,28 +18,38 @@
*/
public interface ISysUserService extends IService {
- boolean status(String ids, String status);
-
- /**
- * 分页业务方法
- *
- * @param search 搜索参数
- * @return IPage
- */
- IPage listPage(Search search);
-
-
- /**
- * 忽略租户查询用户信息
- * @return
- */
- SysUser getOneIgnoreTenant(SysUser sysUser);
-
- /**
- * 导出列表
- *
- * @return 导出POI数据
- */
- List export();
+ /**
+ * 用户状态设置
+ *
+ * @param ids id列表串
+ * @param status 状态
+ * @return boolean
+ */
+ boolean status(String ids, String status);
+
+ /**
+ * 业务分页
+ *
+ * @param search 分页搜索
+ * @param sysUser 部门参数
+ * @return 分页列表
+ */
+ IPage listPage(Search search, SysUser sysUser);
+
+
+ /**
+ * 忽略租户查询用户信息
+ *
+ * @param sysUser 用户对象
+ * @return 用户对象
+ */
+ SysUser getOneIgnoreTenant(SysUser sysUser);
+
+ /**
+ * 导出列表
+ *
+ * @return 导出POI数据
+ */
+ List export();
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysApiServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysApiServiceImpl.java
index e171d031..4bc7256e 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysApiServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysApiServiceImpl.java
@@ -16,12 +16,12 @@
*/
package vip.mate.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
-import vip.mate.core.common.util.StringUtil;
import vip.mate.core.database.entity.Search;
import vip.mate.core.web.util.CollectionUtil;
import vip.mate.system.entity.SysApi;
@@ -45,13 +45,13 @@ public class SysApiServiceImpl extends ServiceImpl impleme
@Override
public IPage listPage(Page page, Search search, String serviceId) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- if (StringUtil.isNotBlank(search.getStartDate())) {
+ if (StrUtil.isNotBlank(search.getStartDate())) {
queryWrapper.between(SysApi::getCreateTime, search.getStartDate(), search.getEndDate());
}
- if (StringUtil.isNotBlank(search.getKeyword())) {
- queryWrapper.like(SysApi::getCode, search.getKeyword())
- .or()
- .like(SysApi::getPath, search.getKeyword());
+ if (StrUtil.isNotBlank(search.getKeyword())) {
+ queryWrapper.and(i -> i
+ .or().like(SysApi::getCode, search.getKeyword())
+ .or().like(SysApi::getPath, search.getKeyword()));
}
if (!serviceId.equals("-1")) {
queryWrapper.eq(SysApi::getServiceId, serviceId);
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysBlacklistServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysBlacklistServiceImpl.java
index c76b50c5..7b4a29f9 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysBlacklistServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysBlacklistServiceImpl.java
@@ -32,33 +32,34 @@
@AllArgsConstructor
public class SysBlacklistServiceImpl extends ServiceImpl implements ISysBlacklistService {
- private final IRuleCacheService ruleCacheService;
+ private final IRuleCacheService ruleCacheService;
- @Override
- public IPage listPage(Search search) {
- LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery()
- .between(StrUtil.isNotBlank(search.getStartDate()), SysBlacklist::getCreateTime, search.getStartDate(), search.getEndDate());
- boolean isKeyword = StrUtil.isNotBlank(search.getKeyword());
- queryWrapper.like(isKeyword, SysBlacklist::getId, search.getKeyword());
- queryWrapper.or(isKeyword);
- queryWrapper.like(SysBlacklist::getRequestUri, search.getKeyword());
- return this.baseMapper.selectPage(PageUtil.getPage(search), queryWrapper);
- }
+ @Override
+ public IPage listPage(Search search) {
+ LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery()
+ .between(StrUtil.isNotBlank(search.getStartDate()), SysBlacklist::getCreateTime, search.getStartDate(), search.getEndDate());
+ if (StrUtil.isNotBlank(search.getKeyword())) {
+ queryWrapper.and(i -> i
+ .or().like(SysBlacklist::getId, search.getKeyword())
+ .or().like(SysBlacklist::getRequestUri, search.getKeyword()));
+ }
+ return this.baseMapper.selectPage(PageUtil.getPage(search), queryWrapper);
+ }
- @Override
- public boolean status(String ids, String status) {
- Collection extends Serializable> collection = CollectionUtil.stringToCollection(ids);
+ @Override
+ public boolean status(String ids, String status) {
+ Collection extends Serializable> collection = CollectionUtil.stringToCollection(ids);
- for (Object id : collection) {
- SysBlacklist sysBlacklist = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L));
- sysBlacklist.setStatus(status);
- this.baseMapper.updateById(sysBlacklist);
- //缓存操作-----start
- BlackList blackList = new BlackList();
- BeanUtils.copyProperties(sysBlacklist, blackList);
- ruleCacheService.setBlackList(blackList);
- //缓存操作----end
- }
- return true;
- }
+ for (Object id : collection) {
+ SysBlacklist sysBlacklist = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L));
+ sysBlacklist.setStatus(status);
+ this.baseMapper.updateById(sysBlacklist);
+ //缓存操作-----start
+ BlackList blackList = new BlackList();
+ BeanUtils.copyProperties(sysBlacklist, blackList);
+ ruleCacheService.setBlackList(blackList);
+ //缓存操作----end
+ }
+ return true;
+ }
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysClientServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysClientServiceImpl.java
index d8395e02..86d0bf52 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysClientServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysClientServiceImpl.java
@@ -1,12 +1,12 @@
package vip.mate.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
-import vip.mate.core.common.util.StringUtil;
import vip.mate.core.database.entity.Search;
import vip.mate.core.database.util.PageUtil;
import vip.mate.core.web.util.CollectionUtil;
@@ -31,38 +31,39 @@
@Service
public class SysClientServiceImpl extends ServiceImpl implements ISysClientService {
- @Override
- public IPage listPage(Search search) {
- LambdaQueryWrapper queryWrapper = Wrappers.query().lambda()
- .between(StringUtil.isNotBlank(search.getStartDate()), SysClient::getCreateTime, search.getStartDate(), search.getEndDate());
- boolean isKeyword = StringUtil.isNotBlank(search.getKeyword());
- queryWrapper.like(isKeyword, SysClient::getClientId, search.getKeyword());
- queryWrapper.or(isKeyword);
- queryWrapper.like(isKeyword, SysClient::getId, search.getKeyword());
- return this.baseMapper.selectPage(PageUtil.getPage(search), queryWrapper);
- }
+ @Override
+ public IPage listPage(Search search) {
+ LambdaQueryWrapper queryWrapper = Wrappers.query().lambda()
+ .between(StrUtil.isNotBlank(search.getStartDate()), SysClient::getCreateTime, search.getStartDate(), search.getEndDate());
+ if (StrUtil.isNotBlank(search.getKeyword())) {
+ queryWrapper.and(i -> i
+ .or().like(SysClient::getClientId, search.getKeyword())
+ .or().like(SysClient::getId, search.getKeyword()));
+ }
+ return this.baseMapper.selectPage(PageUtil.getPage(search), queryWrapper);
+ }
- @Override
- public boolean status(String ids, String status) {
- Collection extends Serializable> collection = CollectionUtil.stringToCollection(ids);
+ @Override
+ public boolean status(String ids, String status) {
+ Collection extends Serializable> collection = CollectionUtil.stringToCollection(ids);
- for (Object id : collection) {
- SysClient sysClient = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L));
- sysClient.setStatus(status);
- this.baseMapper.updateById(sysClient);
- }
- return true;
- }
+ for (Object id : collection) {
+ SysClient sysClient = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L));
+ sysClient.setStatus(status);
+ this.baseMapper.updateById(sysClient);
+ }
+ return true;
+ }
- @Override
- public List export() {
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(SysClient::getIsDeleted, 0);
- List sysClients = this.baseMapper.selectList(queryWrapper);
- return sysClients.stream().map(sysClient -> {
- SysClientPOI sysClientPOI = new SysClientPOI();
- BeanUtils.copyProperties(sysClient, sysClientPOI);
- return sysClientPOI;
- }).collect(Collectors.toList());
- }
+ @Override
+ public List export() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(SysClient::getIsDeleted, 0);
+ List sysClients = this.baseMapper.selectList(queryWrapper);
+ return sysClients.stream().map(sysClient -> {
+ SysClientPOI sysClientPOI = new SysClientPOI();
+ BeanUtils.copyProperties(sysClient, sysClientPOI);
+ return sysClientPOI;
+ }).collect(Collectors.toList());
+ }
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysDepartServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysDepartServiceImpl.java
index ebe58ff1..c2266896 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysDepartServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysDepartServiceImpl.java
@@ -30,88 +30,89 @@
@Service
public class SysDepartServiceImpl extends ServiceImpl implements ISysDepartService {
- @Override
- public List tree() {
- return baseMapper.tree();
- }
+ private final static String NULL = "null";
+ @Override
+ public List tree() {
+ return baseMapper.tree();
+ }
- @Override
- public List searchList(Map search) {
- String keyword = String.valueOf(search.get("keyword"));
- String startDate = String.valueOf(search.get("startDate"));
- String endDate = String.valueOf(search.get("endDate"));
- LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
- if (StrUtil.isNotBlank(startDate) && !startDate.equals("null")) {
- lambdaQueryWrapper.between(SysDepart::getCreateTime, startDate, endDate);
- }
- if (StrUtil.isNotBlank(keyword) && !keyword.equals("null")) {
- lambdaQueryWrapper.like(SysDepart::getName, keyword);
- lambdaQueryWrapper.or();
- lambdaQueryWrapper.like(SysDepart::getId, keyword);
- }
- List sysDeparts = this.baseMapper.selectList(lambdaQueryWrapper);
- List sysDepartVOS = sysDeparts.stream().map(sysDepart -> {
- SysDepartVO sysDepartVO = new SysDepartVO();
- BeanUtils.copyProperties(sysDepart, sysDepartVO);
- return sysDepartVO;
- }).collect(Collectors.toList());
- return ForestNodeMerger.merge(sysDepartVOS);
- }
+ @Override
+ public List searchList(Map search) {
+ String keyword = String.valueOf(search.get("keyword"));
+ String startDate = String.valueOf(search.get("startDate"));
+ String endDate = String.valueOf(search.get("endDate"));
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ if (StrUtil.isNotBlank(startDate) && !startDate.equals(NULL)) {
+ lambdaQueryWrapper.between(SysDepart::getCreateTime, startDate, endDate);
+ }
+ if (StrUtil.isNotBlank(keyword) && !keyword.equals(NULL)) {
+ lambdaQueryWrapper.and(i -> i
+ .or().like(SysDepart::getName, keyword)
+ .or().like(SysDepart::getId, keyword));
+ }
+ List sysDeparts = this.baseMapper.selectList(lambdaQueryWrapper);
+ List sysDepartVOS = sysDeparts.stream().map(sysDepart -> {
+ SysDepartVO sysDepartVO = new SysDepartVO();
+ BeanUtils.copyProperties(sysDepart, sysDepartVO);
+ return sysDepartVO;
+ }).collect(Collectors.toList());
+ return ForestNodeMerger.merge(sysDepartVOS);
+ }
- @Override
- public List export() {
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(SysDepart::getIsDeleted, 0);
- List sysDeparts = this.baseMapper.selectList(queryWrapper);
- return sysDeparts.stream().map(sysDepart -> {
- SysDepartPOI sysDepartPOI = new SysDepartPOI();
- BeanUtils.copyProperties(sysDepart, sysDepartPOI);
- return sysDepartPOI;
- }).collect(Collectors.toList());
- }
+ @Override
+ public List export() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(SysDepart::getIsDeleted, 0);
+ List sysDeparts = this.baseMapper.selectList(queryWrapper);
+ return sysDeparts.stream().map(sysDepart -> {
+ SysDepartPOI sysDepartPOI = new SysDepartPOI();
+ BeanUtils.copyProperties(sysDepart, sysDepartPOI);
+ return sysDepartPOI;
+ }).collect(Collectors.toList());
+ }
- @Override
- public List selectDeptIds(Long deptId) {
- DepartDTO depart = this.getDepart(deptId);
- List departIdList = new ArrayList<>();
- if (depart != null) {
- departIdList.add(depart.getId());
- addDeptIdList(departIdList, depart);
- }
- return departIdList;
- }
+ @Override
+ public List selectDeptIds(Long deptId) {
+ DepartDTO depart = this.getDepart(deptId);
+ List departIdList = new ArrayList<>();
+ if (depart != null) {
+ departIdList.add(depart.getId());
+ addDeptIdList(departIdList, depart);
+ }
+ return departIdList;
+ }
- private DepartDTO getDepart(Long id) {
- List departs = this.list(Wrappers.query().lambda()
- .select(SysDepart::getId, SysDepart::getName, SysDepart::getParentId,
- SysDepart::getSort, SysDepart::getCreateTime));
+ private DepartDTO getDepart(Long id) {
+ List departs = this.list(Wrappers.query().lambda()
+ .select(SysDepart::getId, SysDepart::getName, SysDepart::getParentId,
+ SysDepart::getSort, SysDepart::getCreateTime));
- List sysDeparts = departs.stream().map(sysDepart -> {
- DepartDTO departDTO = new DepartDTO();
- BeanUtils.copyProperties(sysDepart, departDTO);
- return departDTO;
- }).collect(Collectors.toList());
+ List sysDeparts = departs.stream().map(sysDepart -> {
+ DepartDTO departDTO = new DepartDTO();
+ BeanUtils.copyProperties(sysDepart, departDTO);
+ return departDTO;
+ }).collect(Collectors.toList());
- Map map = sysDeparts.stream().collect(
- Collectors.toMap(SysDepart::getId, department -> department));
- for (DepartDTO dept : map.values()) {
- DepartDTO parent = map.get(dept.getParentId());
- if (parent != null) {
- List children = parent.getChildren() == null ? new ArrayList<>() : parent.getChildren();
- children.add(dept);
- parent.setChildren(children);
- }
- }
- return map.get(id);
- }
+ Map map = sysDeparts.stream().collect(
+ Collectors.toMap(SysDepart::getId, department -> department));
+ for (DepartDTO dept : map.values()) {
+ DepartDTO parent = map.get(dept.getParentId());
+ if (parent != null) {
+ List children = parent.getChildren() == null ? new ArrayList<>() : parent.getChildren();
+ children.add(dept);
+ parent.setChildren(children);
+ }
+ }
+ return map.get(id);
+ }
- private void addDeptIdList(List deptIdList, DepartDTO department) {
- List children = department.getChildren();
- if (children != null) {
- for (DepartDTO d : children) {
- deptIdList.add(d.getId());
- addDeptIdList(deptIdList, d);
- }
- }
- }
+ private void addDeptIdList(List deptIdList, DepartDTO department) {
+ List children = department.getChildren();
+ if (children != null) {
+ for (DepartDTO d : children) {
+ deptIdList.add(d.getId());
+ addDeptIdList(deptIdList, d);
+ }
+ }
+ }
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysDictServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysDictServiceImpl.java
index 95649e80..ccb30527 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysDictServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysDictServiceImpl.java
@@ -1,16 +1,17 @@
package vip.mate.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
import vip.mate.core.common.api.Result;
-import vip.mate.core.common.util.StringUtil;
import vip.mate.core.database.entity.Search;
+import vip.mate.system.entity.SysBlacklist;
import vip.mate.system.entity.SysDict;
import vip.mate.system.mapper.SysDictMapper;
import vip.mate.system.service.ISysDictService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
import java.util.List;
@@ -43,13 +44,13 @@ public Result> getList(String code) {
@Override
public IPage listPage(Page page, Search search) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- if (StringUtil.isNotBlank(search.getStartDate())) {
+ if (StrUtil.isNotBlank(search.getStartDate())) {
queryWrapper.between(SysDict::getCreateTime, search.getStartDate(), search.getEndDate());
}
- if (StringUtil.isNotBlank(search.getKeyword())) {
- queryWrapper.like(SysDict::getId,search.getKeyword());
- queryWrapper.or();
- queryWrapper.like(SysDict::getCode,search.getKeyword());
+ if (StrUtil.isNotBlank(search.getKeyword())) {
+ queryWrapper.and(i -> i
+ .or().like(SysDict::getId, search.getKeyword())
+ .or().like(SysDict::getCode, search.getKeyword()));
}
queryWrapper.eq(SysDict::getParentId, 0);
return this.page(page, queryWrapper);
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysLogServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysLogServiceImpl.java
index 856febe8..140d81b4 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysLogServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysLogServiceImpl.java
@@ -1,11 +1,11 @@
package vip.mate.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
-import vip.mate.core.common.util.StringUtil;
import vip.mate.core.database.entity.Search;
import vip.mate.core.database.util.PageUtil;
import vip.mate.system.entity.SysLog;
@@ -25,12 +25,15 @@ public class SysLogServiceImpl extends ServiceImpl impleme
@Override
public IPage listPage(Search search) {
- boolean isKeyword = StringUtil.isNotBlank(search.getKeyword());
LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery();
// 查询开始日期和结束日期
- queryWrapper.between(StringUtil.isNotBlank(search.getStartDate()), SysLog::getCreateTime, search.getStartDate(), search.getEndDate());
+ queryWrapper.between(StrUtil.isNotBlank(search.getStartDate()), SysLog::getCreateTime, search.getStartDate(), search.getEndDate());
// 关键词查询
- queryWrapper.like(isKeyword, SysLog::getTitle, search.getKeyword()).or(isKeyword).like(isKeyword, SysLog::getTraceId, search.getKeyword());
+ if (StrUtil.isNotBlank(search.getKeyword())) {
+ queryWrapper.and(i -> i
+ .or().like(SysLog::getTitle, search.getKeyword())
+ .or().like(SysLog::getTraceId, search.getKeyword()));
+ }
// 字段排序
queryWrapper.orderByDesc(SysLog::getCreateTime);
return this.baseMapper.selectPage(PageUtil.getPage(search), queryWrapper);
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysMenuServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysMenuServiceImpl.java
index 11ca537c..8c35a8b5 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysMenuServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysMenuServiceImpl.java
@@ -1,11 +1,11 @@
package vip.mate.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
-import vip.mate.core.common.util.StringUtil;
import vip.mate.core.database.entity.Search;
import vip.mate.core.web.tree.ForestNodeMerger;
import vip.mate.core.web.util.CollectionUtil;
@@ -43,10 +43,10 @@ public List routes(String roleId) {
@Override
public List searchList(Search search) {
LambdaQueryWrapper lambda = Wrappers.query().lambda();
- if (StringUtil.isNotBlank(search.getStartDate())) {
+ if (StrUtil.isNotBlank(search.getStartDate())) {
lambda.between(SysMenu::getCreateTime, search.getStartDate(), search.getEndDate());
}
- if (StringUtil.isNotBlank(search.getKeyword())) {
+ if (StrUtil.isNotBlank(search.getKeyword())) {
lambda.like(SysMenu::getName, search.getKeyword()).or().like(SysMenu::getId, search.getKeyword());
}
lambda.orderByAsc(SysMenu::getSort);
@@ -60,14 +60,16 @@ public boolean saveAll(SysMenu sysMenu) {
@Override
public boolean status(String ids, String status) {
+ if (StrUtil.isNotBlank(ids)) {
+ return false;
+ }
Collection extends Serializable> collection = CollectionUtil.stringToCollection(ids);
-
- for (Object id: collection){
+ for (Object id : collection) {
SysMenu sysMenu = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L));
sysMenu.setStatus(status);
this.baseMapper.updateById(sysMenu);
}
- return true;
+ return Boolean.TRUE;
}
@Override
@@ -82,4 +84,14 @@ public List export() {
return sysMenuPOI;
}).collect(Collectors.toList());
}
+
+ @Override
+ public boolean checkChild(Long id) {
+ return this.getMenuChild(id) > 0 ? Boolean.TRUE : Boolean.FALSE;
+ }
+
+ @Override
+ public int getMenuChild(Long menuId) {
+ return this.baseMapper.selectCount(Wrappers.lambdaQuery().select(SysMenu::getId).eq(SysMenu::getParentId, menuId));
+ }
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleDepartServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleDepartServiceImpl.java
index d6183cdc..2b84424f 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleDepartServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleDepartServiceImpl.java
@@ -16,16 +16,16 @@
*/
package vip.mate.system.service.impl;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
import vip.mate.core.database.entity.Search;
+import vip.mate.core.database.util.PageUtil;
import vip.mate.system.entity.SysRoleDepart;
import vip.mate.system.mapper.SysRoleDepartMapper;
import vip.mate.system.service.ISysRoleDepartService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import vip.mate.core.common.util.StringUtil;
-import vip.mate.core.database.util.PageUtil;
/**
*
@@ -41,10 +41,10 @@ public class SysRoleDepartServiceImpl extends ServiceImpl listPage(Search search) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- if (StringUtil.isNotBlank(search.getStartDate())) {
+ if (StrUtil.isNotBlank(search.getStartDate())) {
queryWrapper.between(SysRoleDepart::getCreateTime, search.getStartDate(), search.getEndDate());
}
- if (StringUtil.isNotBlank(search.getKeyword())) {
+ if (StrUtil.isNotBlank(search.getKeyword())) {
queryWrapper.like(SysRoleDepart::getId, search.getKeyword());
}
queryWrapper.orderByDesc(SysRoleDepart::getCreateTime);
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleServiceImpl.java
index b8bf482a..00738dab 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRoleServiceImpl.java
@@ -1,19 +1,28 @@
package vip.mate.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.mate.core.database.entity.Search;
+import vip.mate.core.database.util.PageUtil;
import vip.mate.system.entity.SysRole;
import vip.mate.system.entity.SysRolePermission;
+import vip.mate.system.entity.SysUser;
import vip.mate.system.mapper.SysRoleMapper;
import vip.mate.system.poi.SysRolePOI;
import vip.mate.system.service.ISysRolePermissionService;
import vip.mate.system.service.ISysRoleService;
+import vip.mate.system.service.ISysUserService;
import vip.mate.system.vo.SysRoleVO;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -29,52 +38,115 @@
@Service
public class SysRoleServiceImpl extends ServiceImpl implements ISysRoleService {
- @Autowired
- private ISysRolePermissionService sysRolePermissionService;
+ private final static String NULL = "null";
+ @Autowired
+ private ISysRolePermissionService sysRolePermissionService;
- @Override
- public List tree() {
- return this.baseMapper.tree();
- }
+ @Autowired
+ private ISysUserService sysUserService;
- @Override
- public List listSearch(Map search) {
- String keyword = String.valueOf(search.get("keyword"));
- String startDate = String.valueOf(search.get("startDate"));
- String endDate = String.valueOf(search.get("endDate"));
- LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
- if (StrUtil.isNotBlank(startDate) && !startDate.equals("null")) {
- lambdaQueryWrapper.between(SysRole::getCreateTime, startDate, endDate);
- }
- if (StrUtil.isNotBlank(keyword) && !keyword.equals("null")) {
- lambdaQueryWrapper.like(SysRole::getRoleName, keyword);
- lambdaQueryWrapper.or();
- lambdaQueryWrapper.like(SysRole::getId, keyword);
- }
- return this.baseMapper.selectList(lambdaQueryWrapper);
- }
+ @Override
+ public List tree() {
+ return this.baseMapper.tree();
+ }
+
+ @Override
+ public IPage listPage(Search search) {
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ if (StrUtil.isNotBlank(search.getStartDate()) && !search.getStartDate().equals(NULL)) {
+ lambdaQueryWrapper.between(SysRole::getCreateTime, search.getStartDate(), search.getEndDate());
+ }
+ if (StrUtil.isNotEmpty(search.getKeyword())) {
+ lambdaQueryWrapper.and(i -> i
+ .or().like(SysRole::getRoleName, search.getKeyword())
+ .or().like(SysRole::getId, search.getKeyword()));
+ }
+ IPage sysRolePage = this.baseMapper.selectPage(PageUtil.getPage(search), lambdaQueryWrapper);
+ List records = sysRolePage.getRecords();
+ // 将权限列表添加到分页列表中
+ List collect = records.stream().map(sysRole -> sysRole.setMenu(this.getPermission(sysRole.getId().toString())))
+ .collect(Collectors.toList());
+ // 用新的List赋值分页对象
+ sysRolePage.setRecords(collect);
+ return sysRolePage;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean set(SysRole sysRole) {
+ this.saveOrUpdate(sysRole);
+ if (ObjectUtil.isNotEmpty(sysRole.getMenu())) {
+ List collect = sysRole.getMenu().stream().map(s -> {
+ SysRolePermission sysRolePermission = new SysRolePermission();
+ sysRolePermission.setMenuId(Long.valueOf(s));
+ sysRolePermission.setRoleId(sysRole.getId());
+ return sysRolePermission;
+ }).collect(Collectors.toList());
+ // 根据角色ID删除所有菜单值
+ sysRolePermissionService.remove(Wrappers.lambdaQuery().eq(SysRolePermission::getRoleId, sysRole.getId()));
+ // 重新写入角色对应的权限值
+ sysRolePermissionService.saveBatch(collect);
+ }
+ return Boolean.TRUE;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean batchDeleteByIds(String ids) {
+ String[] idArray = null;
+ if (StrUtil.isNotBlank(ids)) {
+ idArray = ids.split(",");
+ Arrays.stream(idArray).forEach(s -> {
+ // 根据roleId清理掉此角色下面的所有菜单信息
+ sysRolePermissionService.remove(Wrappers.lambdaQuery().eq(SysRolePermission::getRoleId, s));
+ // 根据roleId清理掉用户里的角色信息,需要下次重新授权
+ sysUserService.update(Wrappers.lambdaUpdate().set(SysUser::getRoleId, 0).eq(SysUser::getRoleId, s));
+ this.removeById(s);
+ });
+ }
+ return Boolean.TRUE;
+ }
+
+ @Override
+ public List listSearch(Map search) {
+ String keyword = String.valueOf(search.get("keyword"));
+ String startDate = String.valueOf(search.get("startDate"));
+ String endDate = String.valueOf(search.get("endDate"));
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ if (StrUtil.isNotBlank(startDate) && !startDate.equals(NULL)) {
+ lambdaQueryWrapper.between(SysRole::getCreateTime, startDate, endDate);
+ }
+ if (StrUtil.isNotEmpty(keyword) && !keyword.equals(NULL)) {
+ lambdaQueryWrapper.and(i -> i
+ .or().like(SysRole::getRoleName, keyword)
+ .or().like(SysRole::getId, keyword));
+ }
+ return this.baseMapper.selectList(lambdaQueryWrapper);
+ }
+
+ @Override
+ public List getPermission(String id) {
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(SysRolePermission::getRoleId, id);
+ List sysRolePermissions = sysRolePermissionService.list(lambdaQueryWrapper);
+ List list = sysRolePermissions.stream().map(sysRolePermission -> {
+ String menuId = sysRolePermission.getMenuId().toString();
+ return menuId;
+ }).collect(Collectors.toList());
+ return list;
+ }
+
+ @Override
+ public List export() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(SysRole::getIsDeleted, 0);
+ List sysRoles = this.baseMapper.selectList(queryWrapper);
+ return sysRoles.stream().map(sysRole -> {
+ SysRolePOI sysRolePOI = new SysRolePOI();
+ BeanUtils.copyProperties(sysRole, sysRolePOI);
+ return sysRolePOI;
+ }).collect(Collectors.toList());
+ }
- @Override
- public List getPermission(String id) {
- LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
- lambdaQueryWrapper.eq(SysRolePermission::getRoleId, id);
- List sysRolePermissions = sysRolePermissionService.list(lambdaQueryWrapper);
- List list = sysRolePermissions.stream().map(sysRolePermission -> {
- String menuId = sysRolePermission.getMenuId().toString();
- return menuId;
- }).collect(Collectors.toList());
- return list;
- }
- @Override
- public List export() {
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(SysRole::getIsDeleted, 0);
- List sysRoles = this.baseMapper.selectList(queryWrapper);
- return sysRoles.stream().map(sysRole -> {
- SysRolePOI sysRolePOI = new SysRolePOI();
- BeanUtils.copyProperties(sysRole, sysRolePOI);
- return sysRolePOI;
- }).collect(Collectors.toList());
- }
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRouteServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRouteServiceImpl.java
index ef366310..b4f4fc9f 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRouteServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysRouteServiceImpl.java
@@ -16,12 +16,12 @@
*/
package vip.mate.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
-import vip.mate.core.common.util.StringUtil;
import vip.mate.core.database.entity.Search;
import vip.mate.core.database.util.PageUtil;
import vip.mate.system.entity.SysRoute;
@@ -45,8 +45,8 @@ public class SysRouteServiceImpl extends ServiceImpl i
@Override
public IPage listPage(Search search) {
LambdaQueryWrapper queryWrapper = Wrappers.query().lambda()
- .between(StringUtil.isNotBlank(search.getStartDate()), SysRoute::getCreateTime, search.getStartDate(), search.getEndDate());
- boolean isKeyword = StringUtil.isNotBlank(search.getKeyword());
+ .between(StrUtil.isNotBlank(search.getStartDate()), SysRoute::getCreateTime, search.getStartDate(), search.getEndDate());
+ boolean isKeyword = StrUtil.isNotBlank(search.getKeyword());
queryWrapper.like(isKeyword, SysRoute::getServiceId, search.getKeyword())
.or(isKeyword)
.like(isKeyword, SysRoute::getName, search.getKeyword());
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysUserServiceImpl.java b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysUserServiceImpl.java
index ce356b61..8431d146 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysUserServiceImpl.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/service/impl/SysUserServiceImpl.java
@@ -1,16 +1,16 @@
package vip.mate.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import vip.mate.core.common.constant.SystemConstant;
import vip.mate.core.common.exception.BaseException;
-import vip.mate.core.common.util.StringUtil;
import vip.mate.core.database.entity.Search;
import vip.mate.core.database.enums.OrderTypeEnum;
import vip.mate.core.database.util.PageUtil;
@@ -40,73 +40,82 @@
@AllArgsConstructor
public class SysUserServiceImpl extends ServiceImpl implements ISysUserService {
- private final ISysDepartService sysDepartService;
- private final ISysDictService dictService;
- private final ISysRoleService sysRoleService;
-
- @Override
- public boolean status(String ids, String status) {
- Collection extends Serializable> collection = CollectionUtil.stringToCollection(ids);
-
- if (ObjectUtils.isEmpty(collection)) {
- throw new BaseException("传入的ID值不能为空!");
- }
-
- collection.forEach(id -> {
- SysUser sysUser = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L));
- sysUser.setStatus(status);
- this.baseMapper.updateById(sysUser);
- });
- return true;
- }
-
- @Override
- public IPage listPage(Search search) {
-
- LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.between(StringUtil.isNotBlank(search.getStartDate()), SysUser::getCreateTime, search.getStartDate(), search.getEndDate());
- boolean isKeyword = StringUtil.isNotBlank(search.getKeyword());
- queryWrapper.like(isKeyword, SysUser::getName, search.getKeyword()).or(isKeyword)
- .like(isKeyword, SysUser::getId, search.getKeyword());
-
- // 根据排序字段进行排序
- if (StringUtil.isNotBlank(search.getProp())) {
- if (OrderTypeEnum.ASC.getValue().equalsIgnoreCase(search.getOrder())) {
- queryWrapper.orderByAsc(SysUser::getId);
- } else {
- queryWrapper.orderByDesc(SysUser::getId);
- }
- }
- // 分页查询
- IPage sysUserPage = this.baseMapper.selectPage(PageUtil.getPage(search), queryWrapper);
-
- // 拼装转换为中文字段数据
- List sysUserList = sysUserPage.getRecords().stream().peek(sysUser -> {
- sysUser.setDepartName(sysDepartService.getById(sysUser.getDepartId()).getName());
- sysUser.setStatusName(dictService.getValue("status", sysUser.getStatus()).getData());
- sysUser.setRoleName(sysRoleService.getById(sysUser.getRoleId()).getRoleName());
- }).collect(Collectors.toList());
- sysUserPage.setRecords(sysUserList);
- return sysUserPage;
- }
-
- @Override
- public SysUser getOneIgnoreTenant(SysUser sysUser) {
- return this.baseMapper.selectOneIgnoreTenant(sysUser);
- }
-
- @Override
- public List export() {
- LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(SysUser::getIsDeleted, "0");
- List sysUsers = this.baseMapper.selectList(queryWrapper);
- return sysUsers.stream().map(sysUser -> {
- SysUserPOI sysUserPOI = new SysUserPOI();
- BeanUtils.copyProperties(sysUser, sysUserPOI);
- sysUserPOI.setDepartName(sysDepartService.getById(sysUser.getDepartId()).getName());
- sysUserPOI.setRoleName(sysRoleService.getById(sysUser.getRoleId()).getRoleName());
- sysUserPOI.setStatusName(dictService.getValue("status", sysUser.getStatus()).getData());
- return sysUserPOI;
- }).collect(Collectors.toList());
- }
+
+
+ private final ISysDepartService sysDepartService;
+ private final ISysDictService dictService;
+ private final ISysRoleService sysRoleService;
+
+ @Override
+ public boolean status(String ids, String status) {
+ Collection extends Serializable> collection = CollectionUtil.stringToCollection(ids);
+
+ if (ObjectUtils.isEmpty(collection)) {
+ throw new BaseException("传入的ID值不能为空!");
+ }
+
+ collection.forEach(id -> {
+ SysUser sysUser = this.baseMapper.selectById(CollectionUtil.objectToLong(id, 0L));
+ sysUser.setStatus(status);
+ this.baseMapper.updateById(sysUser);
+ });
+ return true;
+ }
+
+ @Override
+ public IPage listPage(Search search, SysUser user) {
+
+ LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery();
+ queryWrapper.between(StrUtil.isNotBlank(search.getStartDate()), SysUser::getCreateTime, search.getStartDate(), search.getEndDate());
+ boolean isKeyword = StrUtil.isNotBlank(search.getKeyword());
+ queryWrapper.like(isKeyword, SysUser::getName, search.getKeyword()).or(isKeyword)
+ .like(isKeyword, SysUser::getId, search.getKeyword());
+
+ queryWrapper.eq(user.getDepartId() != null, SysUser::getDepartId, user.getDepartId());
+
+ // 根据排序字段进行排序
+ if (StrUtil.isNotBlank(search.getProp())) {
+ if (OrderTypeEnum.ASC.getValue().equalsIgnoreCase(search.getOrder())) {
+ queryWrapper.orderByAsc(SysUser::getId);
+ } else {
+ queryWrapper.orderByDesc(SysUser::getId);
+ }
+ }
+ // 分页查询
+ IPage sysUserPage = this.baseMapper.selectPage(PageUtil.getPage(search), queryWrapper);
+
+ // 拼装转换为中文字段数据
+ List sysUserList = sysUserPage.getRecords().stream().peek(sysUser -> {
+ sysUser.setDepartName(sysDepartService.getById(sysUser.getDepartId()).getName());
+ sysUser.setStatusName(dictService.getValue("status", sysUser.getStatus()).getData());
+ // 判断如果roleId为0,则赋值一个默认值
+ if (SystemConstant.ROLE_DEFAULT_ID.equals(sysUser.getRoleId())) {
+ sysUser.setRoleName(SystemConstant.ROLE_DEFAULT_VALUE);
+ } else {
+ sysUser.setRoleName(sysRoleService.getById(sysUser.getRoleId()).getRoleName());
+ }
+ }).collect(Collectors.toList());
+ sysUserPage.setRecords(sysUserList);
+ return sysUserPage;
+ }
+
+ @Override
+ public SysUser getOneIgnoreTenant(SysUser sysUser) {
+ return this.baseMapper.selectOneIgnoreTenant(sysUser);
+ }
+
+ @Override
+ public List export() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(SysUser::getIsDeleted, "0");
+ List sysUsers = this.baseMapper.selectList(queryWrapper);
+ return sysUsers.stream().map(sysUser -> {
+ SysUserPOI sysUserPoi = new SysUserPOI();
+ BeanUtils.copyProperties(sysUser, sysUserPoi);
+ sysUserPoi.setDepartName(sysDepartService.getById(sysUser.getDepartId()).getName());
+ sysUserPoi.setRoleName(sysRoleService.getById(sysUser.getRoleId()).getRoleName());
+ sysUserPoi.setStatusName(dictService.getValue("status", sysUser.getStatus()).getData());
+ return sysUserPoi;
+ }).collect(Collectors.toList());
+ }
}
diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java b/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java
index 8e972f4e..012b8215 100644
--- a/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java
+++ b/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java
@@ -31,7 +31,6 @@ public static List buildTree(List sysMenus) {
MenuMeta meta = new MenuMeta();
meta.setIcon(sysMenu.getIcon());
meta.setTitle(sysMenu.getName());
- tree.setComponent(sysMenu.getPath());
if (sysMenu.getParentId() == -1L) {
tree.setComponent("Layout");
tree.setRedirect("noRedirect");
diff --git a/mate-platform/pom.xml b/mate-platform/pom.xml
index 946528c6..c48967d0 100644
--- a/mate-platform/pom.xml
+++ b/mate-platform/pom.xml
@@ -5,7 +5,7 @@
matecloud
vip.mate
- 3.8.8
+ 4.0.9
4.0.0
diff --git a/mate-support/mate-admin/pom.xml b/mate-support/mate-admin/pom.xml
index 3f3944d9..f70ca25e 100644
--- a/mate-support/mate-admin/pom.xml
+++ b/mate-support/mate-admin/pom.xml
@@ -5,7 +5,7 @@
mate-support
vip.mate
- 3.8.8
+ 4.0.9
4.0.0
diff --git a/mate-support/mate-admin/src/main/resources/application-dev.yml b/mate-support/mate-admin/src/main/resources/application-dev.yml
new file mode 100644
index 00000000..94cad5eb
--- /dev/null
+++ b/mate-support/mate-admin/src/main/resources/application-dev.yml
@@ -0,0 +1,31 @@
+server:
+ port: 30001
+spring:
+ application:
+ name: @artifactId@
+ boot:
+ admin:
+ ui:
+ title: @artifactId@-server
+ client:
+ instance:
+ metadata:
+ tags:
+ environment: local
+ notify:
+ dingding:
+ enabled: false
+ token: AA***************BB
+ security:
+ user:
+ name: admin
+ password: matecloud
+
+management:
+ endpoints:
+ web:
+ exposure:
+ include: "*"
+ endpoint:
+ health:
+ show-details: always
\ No newline at end of file
diff --git a/mate-support/mate-code/pom.xml b/mate-support/mate-code/pom.xml
index 9f320224..aeaff22d 100644
--- a/mate-support/mate-code/pom.xml
+++ b/mate-support/mate-code/pom.xml
@@ -5,7 +5,7 @@
mate-support
vip.mate
- 3.8.8
+ 4.0.9
4.0.0
diff --git a/mate-support/mate-job-admin/pom.xml b/mate-support/mate-job-admin/pom.xml
index a22692c6..e823968e 100644
--- a/mate-support/mate-job-admin/pom.xml
+++ b/mate-support/mate-job-admin/pom.xml
@@ -5,7 +5,7 @@
mate-support
vip.mate
- 3.8.8
+ 4.0.9
4.0.0
diff --git a/mate-support/mate-job/pom.xml b/mate-support/mate-job/pom.xml
index a3369e2c..cbefb5b0 100644
--- a/mate-support/mate-job/pom.xml
+++ b/mate-support/mate-job/pom.xml
@@ -5,7 +5,7 @@
mate-support
vip.mate
- 3.8.8
+ 4.0.9
4.0.0
diff --git a/mate-support/pom.xml b/mate-support/pom.xml
index 8c95818a..bacb0d51 100644
--- a/mate-support/pom.xml
+++ b/mate-support/pom.xml
@@ -5,7 +5,7 @@
matecloud
vip.mate
- 3.8.8
+ 4.0.9
4.0.0
diff --git a/mate-uaa/pom.xml b/mate-uaa/pom.xml
index bc44b17a..9f5eb626 100644
--- a/mate-uaa/pom.xml
+++ b/mate-uaa/pom.xml
@@ -5,7 +5,7 @@
matecloud
vip.mate
- 3.8.8
+ 4.0.9
4.0.0
diff --git a/mate-uaa/src/main/java/vip/mate/uaa/controller/AuthController.java b/mate-uaa/src/main/java/vip/mate/uaa/controller/AuthController.java
index dfcd8e54..b41c97e2 100644
--- a/mate-uaa/src/main/java/vip/mate/uaa/controller/AuthController.java
+++ b/mate-uaa/src/main/java/vip/mate/uaa/controller/AuthController.java
@@ -84,11 +84,13 @@ public Result> getUser(HttpServletRequest request) {
}
Map data = new HashMap<>(7);
- data.put("userName", loginUser.getAccount());
+ data.put("username", loginUser.getAccount());
data.put("avatar", userInfo.getSysUser().getAvatar());
data.put("roleId", userInfo.getSysUser().getRoleId());
data.put("departId", userInfo.getSysUser().getDepartId());
data.put("tenantId", userInfo.getSysUser().getTenantId());
+ data.put("realName", userInfo.getSysUser().getRealName());
+ data.put("nickName", userInfo.getSysUser().getName());
List stringList = sysRolePermissionProvider.getMenuIdByRoleId(String.valueOf(userInfo.getSysUser().getRoleId()));
data.put("permissions", stringList);
// 存入redis,以用于mate-starter-auth的PreAuthAspect查询权限使用
diff --git a/mate-uaa/src/main/java/vip/mate/uaa/controller/OauthController.java b/mate-uaa/src/main/java/vip/mate/uaa/controller/OauthController.java
index 473a5f99..a2b7f371 100644
--- a/mate-uaa/src/main/java/vip/mate/uaa/controller/OauthController.java
+++ b/mate-uaa/src/main/java/vip/mate/uaa/controller/OauthController.java
@@ -47,7 +47,7 @@ public Result> getAccessToken(Principal principal, @RequestParam Map postAccessToken(Principal principal, @RequestParam Map parameters) throws HttpRequestMethodNotSupportedException {
+ public Result> postAccessToken(Principal principal, @RequestBody Map parameters) throws HttpRequestMethodNotSupportedException {
return custom(tokenEndpoint.postAccessToken(principal, parameters).getBody());
}
diff --git a/mate-uaa/src/main/java/vip/mate/uaa/service/impl/UserDetailsServiceImpl.java b/mate-uaa/src/main/java/vip/mate/uaa/service/impl/UserDetailsServiceImpl.java
index ca303469..f96e366d 100644
--- a/mate-uaa/src/main/java/vip/mate/uaa/service/impl/UserDetailsServiceImpl.java
+++ b/mate-uaa/src/main/java/vip/mate/uaa/service/impl/UserDetailsServiceImpl.java
@@ -81,7 +81,7 @@ private UserDetails getUserDetails(UserInfo userInfo) {
SysUser user = userInfo.getSysUser();
log.info("用户名:{}", userInfo.getSysUser().getAccount());
Collection extends GrantedAuthority> authorities
- = AuthorityUtils.createAuthorityList(Convert.toStrArray(userInfo.getPermissions()));
+ = AuthorityUtils.createAuthorityList(Convert.toStrArray(userInfo.getRoleIds()));
log.info("authorities: {}", authorities);
return new MateUser(user.getId(), userInfo.getType(), user.getDepartId(), user.getRoleId(), user.getTelephone(), user.getAvatar(),
user.getTenantId(), userInfo.getUserName(), user.getPassword(), ENABLE.equals(user.getStatus()),
diff --git a/pom.xml b/pom.xml
index eb0de0ff..490ecae5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
vip.mate
matecloud
pom
- 3.8.8
+ 4.0.9
matecloud
MateCloud - 基于Spring Cloud Alibaba实现的微服务架构
@@ -24,12 +24,12 @@
- 3.8.8
+ 4.0.9
1.8
3.8.1
UTF-8
UTF-8
- 2.5.2
+ 2.5.4
UTF-8
3.6.2