From b3878c454fa4ee6b241435f22f1141f6dd097ad4 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Sun, 25 Sep 2022 22:16:44 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.2.5=E3=80=91=E3=80=90group=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=A8=E6=88=B7=E7=BB=84=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysUserGroupController.java | 101 +++++++++++++++++ .../modular/user/entity/SysUserGroup.java | 44 ++++++++ .../user/entity/SysUserGroupDetail.java | 58 ++++++++++ .../SysUserGroupDetailExceptionEnum.java | 36 ++++++ .../user/enums/SysUserGroupExceptionEnum.java | 36 ++++++ .../user/mapper/SysUserGroupDetailMapper.java | 14 +++ .../user/mapper/SysUserGroupMapper.java | 14 +++ .../mapping/SysUserGroupDetailMapper.xml | 5 + .../mapper/mapping/SysUserGroupMapper.xml | 5 + .../request/SysUserGroupDetailRequest.java | 51 +++++++++ .../pojo/request/SysUserGroupRequest.java | 39 +++++++ .../service/SysUserGroupDetailService.java | 74 ++++++++++++ .../user/service/SysUserGroupService.java | 74 ++++++++++++ .../impl/SysUserGroupDetailServiceImpl.java | 106 ++++++++++++++++++ .../service/impl/SysUserGroupServiceImpl.java | 102 +++++++++++++++++ 15 files changed, 759 insertions(+) create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserGroupController.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/entity/SysUserGroup.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/entity/SysUserGroupDetail.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/enums/SysUserGroupDetailExceptionEnum.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/enums/SysUserGroupExceptionEnum.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserGroupDetailMapper.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserGroupMapper.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserGroupDetailMapper.xml create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserGroupMapper.xml create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserGroupDetailRequest.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserGroupRequest.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserGroupDetailService.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserGroupService.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserGroupDetailServiceImpl.java create mode 100644 kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserGroupServiceImpl.java diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserGroupController.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserGroupController.java new file mode 100644 index 000000000..d595256f7 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserGroupController.java @@ -0,0 +1,101 @@ +package cn.stylefeng.roses.kernel.system.modular.user.controller; + +import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; +import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; +import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; +import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; +import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; +import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserGroup; +import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserGroupRequest; +import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserGroupService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 权限分组控制器 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@RestController +@ApiResource(name = "权限分组") +public class SysUserGroupController { + + @Resource + private SysUserGroupService sysUserGroupService; + + /** + * 添加 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + @PostResource(name = "添加", path = "/sysUserGroup/add") + public ResponseData add(@RequestBody @Validated(SysUserGroupRequest.add.class) SysUserGroupRequest sysUserGroupRequest) { + sysUserGroupService.add(sysUserGroupRequest); + return new SuccessResponseData<>(); + } + + /** + * 删除 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + @PostResource(name = "删除", path = "/sysUserGroup/delete") + public ResponseData delete(@RequestBody @Validated(SysUserGroupRequest.delete.class) SysUserGroupRequest sysUserGroupRequest) { + sysUserGroupService.del(sysUserGroupRequest); + return new SuccessResponseData<>(); + } + + /** + * 编辑 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + @PostResource(name = "编辑", path = "/sysUserGroup/edit") + public ResponseData edit(@RequestBody @Validated(SysUserGroupRequest.edit.class) SysUserGroupRequest sysUserGroupRequest) { + sysUserGroupService.edit(sysUserGroupRequest); + return new SuccessResponseData<>(); + } + + /** + * 查看详情 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + @GetResource(name = "查看详情", path = "/sysUserGroup/detail") + public ResponseData detail(@Validated(SysUserGroupRequest.detail.class) SysUserGroupRequest sysUserGroupRequest) { + return new SuccessResponseData<>(sysUserGroupService.detail(sysUserGroupRequest)); + } + + /** + * 获取列表 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + @GetResource(name = "获取列表", path = "/sysUserGroup/list") + public ResponseData> list(SysUserGroupRequest sysUserGroupRequest) { + return new SuccessResponseData<>(sysUserGroupService.findList(sysUserGroupRequest)); + } + + /** + * 获取列表(带分页) + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + @GetResource(name = "分页查询", path = "/sysUserGroup/page") + public ResponseData> page(SysUserGroupRequest sysUserGroupRequest) { + return new SuccessResponseData<>(sysUserGroupService.findPage(sysUserGroupRequest)); + } + +} diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/entity/SysUserGroup.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/entity/SysUserGroup.java new file mode 100644 index 000000000..c23b1a693 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/entity/SysUserGroup.java @@ -0,0 +1,44 @@ +package cn.stylefeng.roses.kernel.system.modular.user.entity; + +import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; +import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 权限分组实例类 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@TableName("sys_user_group") +@Data +@EqualsAndHashCode(callSuper = true) +public class SysUserGroup extends BaseEntity { + + /** + * 用户组id + */ + @TableId(value = "user_group_id", type = IdType.ASSIGN_ID) + @ChineseDescription("用户组id") + private Long userGroupId; + + /** + * 用户分组标题简称 + */ + @TableField("user_group_title") + @ChineseDescription("用户分组标题简称") + private String userGroupTitle; + + /** + * 组内选择项的合并 + */ + @TableField("user_group_detail_name") + @ChineseDescription("组内选择项的合并") + private String userGroupDetailName; + +} diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/entity/SysUserGroupDetail.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/entity/SysUserGroupDetail.java new file mode 100644 index 000000000..e98f55238 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/entity/SysUserGroupDetail.java @@ -0,0 +1,58 @@ +package cn.stylefeng.roses.kernel.system.modular.user.entity; + +import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; +import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 权限分组详情实例类 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@TableName("sys_user_group_detail") +@Data +@EqualsAndHashCode(callSuper = true) +public class SysUserGroupDetail extends BaseEntity { + + /** + * 详情id + */ + @TableId(value = "detail_id", type = IdType.ASSIGN_ID) + @ChineseDescription("详情id") + private Long detailId; + + /** + * 所属用户组id + */ + @TableField("user_group_id") + @ChineseDescription("所属用户组id") + private Long userGroupId; + + /** + * 授权对象类型:1-用户,2-部门,3-角色,4-职位,5-关系 + */ + @TableField("select_type") + @ChineseDescription("授权对象类型:1-用户,2-部门,3-角色,4-职位,5-关系") + private Integer selectType; + + /** + * 授权对象id值,例如:用户id,部门id + */ + @TableField("select_value") + @ChineseDescription("授权对象id值,例如:用户id,部门id") + private Long selectValue; + + /** + * 授权对象名称,例如:张三,研发部,管理员等 + */ + @TableField("select_value_name") + @ChineseDescription("授权对象名称,例如:张三,研发部,管理员等") + private String selectValueName; + +} diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/enums/SysUserGroupDetailExceptionEnum.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/enums/SysUserGroupDetailExceptionEnum.java new file mode 100644 index 000000000..439e1e4c1 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/enums/SysUserGroupDetailExceptionEnum.java @@ -0,0 +1,36 @@ +package cn.stylefeng.roses.kernel.system.modular.user.enums; + +import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; +import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; +import lombok.Getter; + +/** + * 权限分组详情异常相关枚举 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@Getter +public enum SysUserGroupDetailExceptionEnum implements AbstractExceptionEnum { + + /** + * 查询结果不存在 + */ + SYS_USER_GROUP_DETAIL_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在"); + + /** + * 错误编码 + */ + private final String errorCode; + + /** + * 提示用户信息 + */ + private final String userTip; + + SysUserGroupDetailExceptionEnum(String errorCode, String userTip) { + this.errorCode = errorCode; + this.userTip = userTip; + } + +} \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/enums/SysUserGroupExceptionEnum.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/enums/SysUserGroupExceptionEnum.java new file mode 100644 index 000000000..143138e65 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/enums/SysUserGroupExceptionEnum.java @@ -0,0 +1,36 @@ +package cn.stylefeng.roses.kernel.system.modular.user.enums; + +import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; +import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; +import lombok.Getter; + +/** + * 权限分组异常相关枚举 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@Getter +public enum SysUserGroupExceptionEnum implements AbstractExceptionEnum { + + /** + * 查询结果不存在 + */ + SYS_USER_GROUP_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在"); + + /** + * 错误编码 + */ + private final String errorCode; + + /** + * 提示用户信息 + */ + private final String userTip; + + SysUserGroupExceptionEnum(String errorCode, String userTip) { + this.errorCode = errorCode; + this.userTip = userTip; + } + +} \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserGroupDetailMapper.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserGroupDetailMapper.java new file mode 100644 index 000000000..dfc044be0 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserGroupDetailMapper.java @@ -0,0 +1,14 @@ +package cn.stylefeng.roses.kernel.system.modular.user.mapper; + +import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserGroupDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 权限分组详情 Mapper 接口 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +public interface SysUserGroupDetailMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserGroupMapper.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserGroupMapper.java new file mode 100644 index 000000000..6e2c73729 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserGroupMapper.java @@ -0,0 +1,14 @@ +package cn.stylefeng.roses.kernel.system.modular.user.mapper; + +import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserGroup; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 权限分组 Mapper 接口 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +public interface SysUserGroupMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserGroupDetailMapper.xml b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserGroupDetailMapper.xml new file mode 100644 index 000000000..417a18d05 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserGroupDetailMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserGroupMapper.xml b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserGroupMapper.xml new file mode 100644 index 000000000..94a0fae81 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserGroupMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserGroupDetailRequest.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserGroupDetailRequest.java new file mode 100644 index 000000000..8b7fb4021 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserGroupDetailRequest.java @@ -0,0 +1,51 @@ +package cn.stylefeng.roses.kernel.system.modular.user.pojo.request; + +import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; +import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * 权限分组详情封装类 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SysUserGroupDetailRequest extends BaseRequest { + + /** + * 详情id + */ + @NotNull(message = "详情id不能为空", groups = {edit.class, delete.class}) + @ChineseDescription("详情id") + private Long detailId; + + /** + * 所属用户组id + */ + @ChineseDescription("所属用户组id") + private Long userGroupId; + + /** + * 授权对象类型:1-用户,2-部门,3-角色,4-职位,5-关系 + */ + @ChineseDescription("授权对象类型:1-用户,2-部门,3-角色,4-职位,5-关系") + private Integer selectType; + + /** + * 授权对象id值,例如:用户id,部门id + */ + @ChineseDescription("授权对象id值,例如:用户id,部门id") + private Long selectValue; + + /** + * 授权对象名称,例如:张三,研发部,管理员等 + */ + @ChineseDescription("授权对象名称,例如:张三,研发部,管理员等") + private String selectValueName; + +} diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserGroupRequest.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserGroupRequest.java new file mode 100644 index 000000000..55f67f894 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserGroupRequest.java @@ -0,0 +1,39 @@ +package cn.stylefeng.roses.kernel.system.modular.user.pojo.request; + +import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; +import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * 权限分组封装类 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SysUserGroupRequest extends BaseRequest { + + /** + * 用户组id + */ + @NotNull(message = "用户组id不能为空", groups = {edit.class, delete.class}) + @ChineseDescription("用户组id") + private Long userGroupId; + + /** + * 用户分组标题简称 + */ + @ChineseDescription("用户分组标题简称") + private String userGroupTitle; + + /** + * 组内选择项的合并 + */ + @ChineseDescription("组内选择项的合并") + private String userGroupDetailName; + +} diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserGroupDetailService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserGroupDetailService.java new file mode 100644 index 000000000..8dc39d036 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserGroupDetailService.java @@ -0,0 +1,74 @@ +package cn.stylefeng.roses.kernel.system.modular.user.service; + +import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserGroupDetail; +import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserGroupDetailRequest; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 权限分组详情 服务类 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +public interface SysUserGroupDetailService extends IService { + + /** + * 新增 + * + * @param sysUserGroupDetailRequest 请求参数 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + void add(SysUserGroupDetailRequest sysUserGroupDetailRequest); + + /** + * 删除 + * + * @param sysUserGroupDetailRequest 请求参数 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + void del(SysUserGroupDetailRequest sysUserGroupDetailRequest); + + /** + * 编辑 + * + * @param sysUserGroupDetailRequest 请求参数 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + void edit(SysUserGroupDetailRequest sysUserGroupDetailRequest); + + /** + * 查询详情 + * + * @param sysUserGroupDetailRequest 请求参数 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + SysUserGroupDetail detail(SysUserGroupDetailRequest sysUserGroupDetailRequest); + + /** + * 获取列表 + * + * @param sysUserGroupDetailRequest 请求参数 + * @return List 返回结果 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + List findList(SysUserGroupDetailRequest sysUserGroupDetailRequest); + + /** + * 获取列表(带分页) + * + * @param sysUserGroupDetailRequest 请求参数 + * @return PageResult 返回结果 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + PageResult findPage(SysUserGroupDetailRequest sysUserGroupDetailRequest); + +} \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserGroupService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserGroupService.java new file mode 100644 index 000000000..4223a8282 --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserGroupService.java @@ -0,0 +1,74 @@ +package cn.stylefeng.roses.kernel.system.modular.user.service; + +import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserGroup; +import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserGroupRequest; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 权限分组 服务类 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +public interface SysUserGroupService extends IService { + + /** + * 新增 + * + * @param sysUserGroupRequest 请求参数 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + void add(SysUserGroupRequest sysUserGroupRequest); + + /** + * 删除 + * + * @param sysUserGroupRequest 请求参数 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + void del(SysUserGroupRequest sysUserGroupRequest); + + /** + * 编辑 + * + * @param sysUserGroupRequest 请求参数 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + void edit(SysUserGroupRequest sysUserGroupRequest); + + /** + * 查询详情 + * + * @param sysUserGroupRequest 请求参数 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + SysUserGroup detail(SysUserGroupRequest sysUserGroupRequest); + + /** + * 获取列表 + * + * @param sysUserGroupRequest 请求参数 + * @return List 返回结果 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + List findList(SysUserGroupRequest sysUserGroupRequest); + + /** + * 获取列表(带分页) + * + * @param sysUserGroupRequest 请求参数 + * @return PageResult 返回结果 + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + PageResult findPage(SysUserGroupRequest sysUserGroupRequest); + +} \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserGroupDetailServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserGroupDetailServiceImpl.java new file mode 100644 index 000000000..6fcb72d0e --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserGroupDetailServiceImpl.java @@ -0,0 +1,106 @@ +package cn.stylefeng.roses.kernel.system.modular.user.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; +import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; +import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; +import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserGroupDetail; +import cn.stylefeng.roses.kernel.system.modular.user.enums.SysUserGroupDetailExceptionEnum; +import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserGroupDetailMapper; +import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserGroupDetailRequest; +import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserGroupDetailService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 权限分组详情业务实现层 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@Service +public class SysUserGroupDetailServiceImpl extends ServiceImpl implements SysUserGroupDetailService { + + @Override + public void add(SysUserGroupDetailRequest sysUserGroupDetailRequest) { + SysUserGroupDetail sysUserGroupDetail = new SysUserGroupDetail(); + BeanUtil.copyProperties(sysUserGroupDetailRequest, sysUserGroupDetail); + this.save(sysUserGroupDetail); + } + + @Override + public void del(SysUserGroupDetailRequest sysUserGroupDetailRequest) { + SysUserGroupDetail sysUserGroupDetail = this.querySysUserGroupDetail(sysUserGroupDetailRequest); + this.removeById(sysUserGroupDetail.getDetailId()); + } + + @Override + public void edit(SysUserGroupDetailRequest sysUserGroupDetailRequest) { + SysUserGroupDetail sysUserGroupDetail = this.querySysUserGroupDetail(sysUserGroupDetailRequest); + BeanUtil.copyProperties(sysUserGroupDetailRequest, sysUserGroupDetail); + this.updateById(sysUserGroupDetail); + } + + @Override + public SysUserGroupDetail detail(SysUserGroupDetailRequest sysUserGroupDetailRequest) { + return this.querySysUserGroupDetail(sysUserGroupDetailRequest); + } + + @Override + public PageResult findPage(SysUserGroupDetailRequest sysUserGroupDetailRequest) { + LambdaQueryWrapper wrapper = createWrapper(sysUserGroupDetailRequest); + Page sysRolePage = this.page(PageFactory.defaultPage(), wrapper); + return PageResultFactory.createPageResult(sysRolePage); + } + + @Override + public List findList(SysUserGroupDetailRequest sysUserGroupDetailRequest) { + LambdaQueryWrapper wrapper = this.createWrapper(sysUserGroupDetailRequest); + return this.list(wrapper); + } + + /** + * 获取信息 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + private SysUserGroupDetail querySysUserGroupDetail(SysUserGroupDetailRequest sysUserGroupDetailRequest) { + SysUserGroupDetail sysUserGroupDetail = this.getById(sysUserGroupDetailRequest.getDetailId()); + if (ObjectUtil.isEmpty(sysUserGroupDetail)) { + throw new ServiceException(SysUserGroupDetailExceptionEnum.SYS_USER_GROUP_DETAIL_NOT_EXISTED); + } + return sysUserGroupDetail; + } + + /** + * 创建查询wrapper + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + private LambdaQueryWrapper createWrapper(SysUserGroupDetailRequest sysUserGroupDetailRequest) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + Long detailId = sysUserGroupDetailRequest.getDetailId(); + Long userGroupId = sysUserGroupDetailRequest.getUserGroupId(); + Integer selectType = sysUserGroupDetailRequest.getSelectType(); + Long selectValue = sysUserGroupDetailRequest.getSelectValue(); + String selectValueName = sysUserGroupDetailRequest.getSelectValueName(); + + queryWrapper.eq(ObjectUtil.isNotNull(detailId), SysUserGroupDetail::getDetailId, detailId); + queryWrapper.eq(ObjectUtil.isNotNull(userGroupId), SysUserGroupDetail::getUserGroupId, userGroupId); + queryWrapper.eq(ObjectUtil.isNotNull(selectType), SysUserGroupDetail::getSelectType, selectType); + queryWrapper.eq(ObjectUtil.isNotNull(selectValue), SysUserGroupDetail::getSelectValue, selectValue); + queryWrapper.like(ObjectUtil.isNotEmpty(selectValueName), SysUserGroupDetail::getSelectValueName, selectValueName); + + return queryWrapper; + } + +} \ No newline at end of file diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserGroupServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserGroupServiceImpl.java new file mode 100644 index 000000000..b857d96ef --- /dev/null +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserGroupServiceImpl.java @@ -0,0 +1,102 @@ +package cn.stylefeng.roses.kernel.system.modular.user.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; +import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; +import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; +import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserGroup; +import cn.stylefeng.roses.kernel.system.modular.user.enums.SysUserGroupExceptionEnum; +import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserGroupMapper; +import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserGroupRequest; +import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserGroupService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 权限分组业务实现层 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ +@Service +public class SysUserGroupServiceImpl extends ServiceImpl implements SysUserGroupService { + + @Override + public void add(SysUserGroupRequest sysUserGroupRequest) { + SysUserGroup sysUserGroup = new SysUserGroup(); + BeanUtil.copyProperties(sysUserGroupRequest, sysUserGroup); + this.save(sysUserGroup); + } + + @Override + public void del(SysUserGroupRequest sysUserGroupRequest) { + SysUserGroup sysUserGroup = this.querySysUserGroup(sysUserGroupRequest); + this.removeById(sysUserGroup.getUserGroupId()); + } + + @Override + public void edit(SysUserGroupRequest sysUserGroupRequest) { + SysUserGroup sysUserGroup = this.querySysUserGroup(sysUserGroupRequest); + BeanUtil.copyProperties(sysUserGroupRequest, sysUserGroup); + this.updateById(sysUserGroup); + } + + @Override + public SysUserGroup detail(SysUserGroupRequest sysUserGroupRequest) { + return this.querySysUserGroup(sysUserGroupRequest); + } + + @Override + public PageResult findPage(SysUserGroupRequest sysUserGroupRequest) { + LambdaQueryWrapper wrapper = createWrapper(sysUserGroupRequest); + Page sysRolePage = this.page(PageFactory.defaultPage(), wrapper); + return PageResultFactory.createPageResult(sysRolePage); + } + + @Override + public List findList(SysUserGroupRequest sysUserGroupRequest) { + LambdaQueryWrapper wrapper = this.createWrapper(sysUserGroupRequest); + return this.list(wrapper); + } + + /** + * 获取信息 + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + private SysUserGroup querySysUserGroup(SysUserGroupRequest sysUserGroupRequest) { + SysUserGroup sysUserGroup = this.getById(sysUserGroupRequest.getUserGroupId()); + if (ObjectUtil.isEmpty(sysUserGroup)) { + throw new ServiceException(SysUserGroupExceptionEnum.SYS_USER_GROUP_NOT_EXISTED); + } + return sysUserGroup; + } + + /** + * 创建查询wrapper + * + * @author fengshuonan + * @date 2022/09/25 22:11 + */ + private LambdaQueryWrapper createWrapper(SysUserGroupRequest sysUserGroupRequest) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + Long userGroupId = sysUserGroupRequest.getUserGroupId(); + String userGroupTitle = sysUserGroupRequest.getUserGroupTitle(); + String userGroupDetailName = sysUserGroupRequest.getUserGroupDetailName(); + + queryWrapper.eq(ObjectUtil.isNotNull(userGroupId), SysUserGroup::getUserGroupId, userGroupId); + queryWrapper.like(ObjectUtil.isNotEmpty(userGroupTitle), SysUserGroup::getUserGroupTitle, userGroupTitle); + queryWrapper.like(ObjectUtil.isNotEmpty(userGroupDetailName), SysUserGroup::getUserGroupDetailName, userGroupDetailName); + + return queryWrapper; + } + +} \ No newline at end of file