add:新增分组管理
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
DROP TABLE IF EXISTS `sys_group`;
|
||||
CREATE TABLE `sys_group` (
|
||||
`id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID',
|
||||
`group_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分组名称',
|
||||
`create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分组表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `sys_user_group`;
|
||||
CREATE TABLE `sys_user_group` (
|
||||
`id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id',
|
||||
`user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户id',
|
||||
`group_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分组id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户分组表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
+2
-1
@@ -137,6 +137,7 @@ public class SysUserController {
|
||||
|
||||
// 处理手机号和邮箱,进行对应加密
|
||||
Map<String, String[]> parameterMap = req.getParameterMap();
|
||||
String groupId = req.getParameter("groupId");
|
||||
this.sysUserService.encryptReqMapData(parameterMap);
|
||||
user.setEmail(this.sysUserService.proceedEmailEncrypt(user.getEmail()));
|
||||
user.setPhone(this.sysUserService.proceedPhoneEncrypt(user.getPhone()));
|
||||
@@ -155,7 +156,7 @@ public class SysUserController {
|
||||
queryWrapper.ne("username", "admin");
|
||||
IPage<SysUser> pageList;
|
||||
try {
|
||||
pageList = sysUserService.queryPage(page, subDepIds, roleId, queryWrapper);
|
||||
pageList = sysUserService.queryPage(page, subDepIds, roleId, groupId, queryWrapper);
|
||||
}catch (Exception e){
|
||||
return Result.error(MessageUtils.getMessage(ResultCommon.ERROR));
|
||||
}
|
||||
|
||||
@@ -30,7 +30,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||
* 分页查询用户,可支持组织机构检索
|
||||
* @return
|
||||
*/
|
||||
IPage<SysUser> queryPage(Page<SysUser> page, @Param("departIds") List<String> subDepIds , @Param("roleId") String roleId , @Param(Constants.WRAPPER) Wrapper<SysUser> wrapper);
|
||||
IPage<SysUser> queryPage(Page<SysUser> page, @Param("departIds") List<String> subDepIds , @Param("roleId") String roleId ,
|
||||
@Param("groupId") String groupId, @Param(Constants.WRAPPER) Wrapper<SysUser> wrapper);
|
||||
|
||||
/**
|
||||
* 通过用户账号查询用户信息
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="groupId != null and groupId !=' '">
|
||||
and id in (select user_id from sys_user_group where group_id = #{groupId}
|
||||
)
|
||||
</if>
|
||||
<if test="roleId!=null and roleId!=''">
|
||||
and id in (select user_id from sys_user_role where role_id = #{roleId}
|
||||
)
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
IPage<SysUser> queryPage(Page<SysUser> page, List<String> subDepIds, String roleId, QueryWrapper<SysUser> queryWrapper);
|
||||
IPage<SysUser> queryPage(Page<SysUser> page, List<String> subDepIds, String roleId, String groupId, QueryWrapper<SysUser> queryWrapper);
|
||||
|
||||
/**
|
||||
* 重置密码
|
||||
|
||||
+2
-2
@@ -79,8 +79,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
@Override
|
||||
public IPage<SysUser> queryPage(Page<SysUser> page, List<String> subDepIds, String roleId, QueryWrapper<SysUser> queryWrapper){
|
||||
IPage<SysUser> sysUserIPage = this.userMapper.queryPage(page, subDepIds, roleId, queryWrapper);
|
||||
public IPage<SysUser> queryPage(Page<SysUser> page, List<String> subDepIds, String roleId, String groupId, QueryWrapper<SysUser> queryWrapper){
|
||||
IPage<SysUser> sysUserIPage = this.userMapper.queryPage(page, subDepIds, roleId, groupId, queryWrapper);
|
||||
sysUserIPage.getRecords().forEach(user -> {
|
||||
// 对手机号、邮箱进行解密处理
|
||||
proceedUserInfoDecrypt(user);
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.jero.modules.sys.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.sys.entity.SysGroup;
|
||||
import com.jero.modules.sys.service.ISysGroupService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户分组表 前端控制器
|
||||
* </p>
|
||||
* @author sz
|
||||
*/
|
||||
@Api(tags = "分组管理")
|
||||
@RestController
|
||||
@RequestMapping("/sys/group")
|
||||
@Slf4j
|
||||
public class SysGroupController {
|
||||
|
||||
@Resource
|
||||
private ISysGroupService sysGroupService;
|
||||
|
||||
@RequiresPermissions("sys:groupManage:search")
|
||||
@ApiOperation(value = "分组管理-分页列表查询", notes = "分组管理-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<?> queryPageList(SysGroup sysGroup,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<SysGroup> pageList = sysGroupService.queryPageList(sysGroup, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分组管理-添加
|
||||
* @param sysGroup
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("sys:groupManage:add")
|
||||
@ApiOperation(value = "分组管理-添加", notes = "分组管理-添加")
|
||||
@PostMapping("/add")
|
||||
public Result<Object> add(@RequestBody SysGroup sysGroup) {
|
||||
return sysGroupService.add(sysGroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分组管理-编辑
|
||||
* @param sysGroup
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("sys:groupManage:edit")
|
||||
@PostMapping("/edit")
|
||||
@ApiOperation(value = "分组管理-编辑", notes = "分组管理-编辑")
|
||||
public Result<Object> edit(@RequestBody SysGroup sysGroup) {
|
||||
return sysGroupService.edit(sysGroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分组管理-根据id查询分组
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/queryOne")
|
||||
@ApiOperation(value = "分组管理-根据id查询分组", notes = "分组管理-根据id查询分组")
|
||||
public Result<Object> queryOne(@RequestParam(name="id") String id) {
|
||||
if (StringUtils.isBlank(id)) {
|
||||
return Result.error("分组的id不能为空");
|
||||
}
|
||||
SysGroup sysGroup = sysGroupService.queryOne(id);
|
||||
return Result.OK(sysGroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分组管理-删除
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("sys:groupManage:delete")
|
||||
@PostMapping("/delete")
|
||||
@ApiOperation(value = "分组管理-删除", notes = "分组管理-删除")
|
||||
public Result<Object> delete(@RequestBody JSONObject jsonObject) {
|
||||
String id = jsonObject.getString("id");
|
||||
return sysGroupService.delete(id);
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@ApiOperation(value = "分组管理-列表查询", notes = "分组管理-列表查询")
|
||||
public Result<Object> list() {
|
||||
LambdaQueryWrapper<SysGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
lambdaQueryWrapper.eq(SysGroup::getCreateBy, loginUser.getUsername());
|
||||
List<SysGroup> list = sysGroupService.list(lambdaQueryWrapper);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.jero.modules.sys.entity;
|
||||
|
||||
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 io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户分组表
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("sys_group")
|
||||
@ApiModel(value="SysGroup对象", description="用户分组表")
|
||||
public class SysGroup implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "分组名称")
|
||||
private String groupName;
|
||||
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "人数")
|
||||
private String count;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "多个用户id")
|
||||
private String ids;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("用户名或工号")
|
||||
private String userNameOrWorkId;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("多个用户名")
|
||||
private String userNames;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("当前登录用户的用户名")
|
||||
private String currentUserName;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("是否拥有管理员身份 0-否 1-是")
|
||||
private String isAdmin;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.jero.modules.sys.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("sys_user_group")
|
||||
@ApiModel(value="SysUserGroup对象", description="")
|
||||
public class SysUserGroup implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键id")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "分组id")
|
||||
private String groupId;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.jero.modules.sys.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.sys.entity.SysGroup;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户分组表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-18
|
||||
*/
|
||||
public interface SysGroupMapper extends BaseMapper<SysGroup> {
|
||||
|
||||
IPage<SysGroup> queryPageList(Page<SysGroup> page, SysGroup sysGroup);
|
||||
|
||||
SysGroup queryOne(String id);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.jero.modules.sys.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.sys.entity.SysUserGroup;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-18
|
||||
*/
|
||||
public interface SysUserGroupMapper extends BaseMapper<SysUserGroup> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.sys.mapper.SysGroupMapper">
|
||||
|
||||
<select id="queryPageList" resultType="com.jero.modules.sys.entity.SysGroup">
|
||||
select
|
||||
sg.id,
|
||||
sg.group_name,
|
||||
sg.create_by,
|
||||
sg.create_time,
|
||||
count(sug.id) as count,
|
||||
GROUP_CONCAT(sug.user_id) as ids,
|
||||
GROUP_CONCAT(CONCAT(su.realname, '(', su.username, ')') ORDER BY su.realname, su.username) as userNames
|
||||
from sys_group sg
|
||||
LEFT JOIN sys_user_group sug on sg.id = sug.group_id
|
||||
LEFT JOIN sys_user su on sug.user_id = su.id
|
||||
<where>
|
||||
<if test="sysGroup.groupName != null and sysGroup.groupName != ''">
|
||||
AND sg.group_name LIKE CONCAT('%',CONCAT(#{sysGroup.groupName},'%'))
|
||||
</if>
|
||||
<if test="sysGroup.isAdmin != 1">
|
||||
AND sg.create_by = #{sysGroup.currentUserName}
|
||||
</if>
|
||||
<if test="sysGroup.userNameOrWorkId != null and sysGroup.userNameOrWorkId != ''">
|
||||
AND sg.id IN (
|
||||
SELECT sg.id
|
||||
FROM sys_group sg
|
||||
LEFT JOIN sys_user_group sug on sg.id = sug.group_id
|
||||
LEFT JOIN sys_user su on sug.user_id = su.id
|
||||
WHERE su.realname LIKE CONCAT('%',CONCAT(#{sysGroup.userNameOrWorkId},'%'))
|
||||
OR su.username LIKE CONCAT('%',CONCAT(#{sysGroup.userNameOrWorkId},'%'))
|
||||
)
|
||||
</if>
|
||||
</where>
|
||||
group by sg.id,sg.group_name
|
||||
order by sg.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="queryOne" resultType="com.jero.modules.sys.entity.SysGroup">
|
||||
select
|
||||
sg.id,
|
||||
sg.group_name,
|
||||
sg.create_by,
|
||||
sg.create_time,
|
||||
count(sug.id) as count,
|
||||
GROUP_CONCAT(sug.user_id) as ids,
|
||||
GROUP_CONCAT(CONCAT(su.realname, '(', su.username, ')')) as userNames
|
||||
from sys_group sg
|
||||
LEFT JOIN sys_user_group sug on sg.id = sug.group_id
|
||||
LEFT JOIN sys_user su on sug.user_id = su.id
|
||||
where sg.id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.sys.mapper.SysUserGroupMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.jero.modules.sys.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.sys.entity.SysGroup;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户分组表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-18
|
||||
*/
|
||||
public interface ISysGroupService extends IService<SysGroup> {
|
||||
|
||||
Result<Object> add(SysGroup sysGroup);
|
||||
|
||||
Result<Object> edit(SysGroup sysGroup);
|
||||
|
||||
Result<Object> delete(String id);
|
||||
|
||||
IPage<SysGroup> queryPageList(SysGroup sysGroup, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
SysGroup queryOne(String id);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.jero.modules.sys.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.sys.entity.SysUserGroup;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-18
|
||||
*/
|
||||
public interface ISysUserGroupService extends IService<SysUserGroup> {
|
||||
|
||||
}
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
package com.jero.modules.sys.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.sys.entity.SysGroup;
|
||||
import com.jero.modules.sys.entity.SysUserGroup;
|
||||
import com.jero.modules.sys.mapper.SysGroupMapper;
|
||||
import com.jero.modules.sys.service.ISysGroupService;
|
||||
import com.jero.modules.sys.service.ISysUserGroupService;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户分组表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-18
|
||||
*/
|
||||
@Service
|
||||
public class SysGroupServiceImpl extends ServiceImpl<SysGroupMapper, SysGroup> implements ISysGroupService {
|
||||
|
||||
@Resource
|
||||
private ISysUserGroupService sysUserGroupService;
|
||||
@Resource
|
||||
private SysGroupMapper sysGroupMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<SysGroup> queryPageList(SysGroup sysGroup, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
||||
Page<SysGroup> page = new Page(pageNo, pageSize);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (loginUser.getRoleIds().contains("admin")){
|
||||
sysGroup.setIsAdmin("1");
|
||||
}else {
|
||||
sysGroup.setIsAdmin("0");
|
||||
}
|
||||
sysGroup.setCurrentUserName(loginUser.getUsername());
|
||||
return sysGroupMapper.queryPageList(page, sysGroup);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Result<Object> add(SysGroup sysGroup) {
|
||||
if (Objects.isNull(sysGroup) || StringUtils.isBlank(sysGroup.getGroupName())) {
|
||||
return Result.error("分组名称不能为空");
|
||||
}
|
||||
this.save(sysGroup);
|
||||
String groupId = sysGroup.getId(); // 新建分组的id
|
||||
String userIds = sysGroup.getIds(); // 要加入分组的用户ids
|
||||
if (StringUtils.isNotBlank(userIds)) {
|
||||
List<String> ids = Arrays.asList(userIds.split(","));
|
||||
// 将用户id和分组id的对应关系插入到关联表中
|
||||
for (String userId : ids) {
|
||||
SysUserGroup sysUserGroup = new SysUserGroup();
|
||||
sysUserGroup.setUserId(userId);
|
||||
sysUserGroup.setGroupId(groupId);
|
||||
sysUserGroupService.save(sysUserGroup);
|
||||
}
|
||||
}
|
||||
return Result.OK("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysGroup queryOne(String id) {
|
||||
SysGroup sysGroup = this.getById(id);
|
||||
if (Objects.isNull(sysGroup)) {
|
||||
throw new JeroBootException("该分组不存在");
|
||||
}
|
||||
return sysGroupMapper.queryOne(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<Object> edit(SysGroup sysGroup) {
|
||||
String groupId = sysGroup.getId();
|
||||
String userIds = sysGroup.getIds();
|
||||
if (Objects.isNull(sysGroup) || StringUtils.isBlank(groupId)) {
|
||||
return Result.error("分组的id不能为空");
|
||||
}
|
||||
LambdaUpdateWrapper<SysGroup> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(SysGroup::getId,sysGroup.getId());
|
||||
String groupName = sysGroup.getGroupName();
|
||||
if (StringUtils.isNotBlank(groupName)) {
|
||||
lambdaUpdateWrapper.set(SysGroup::getGroupName,groupName);
|
||||
}
|
||||
this.update(lambdaUpdateWrapper);
|
||||
// 删除掉关联表下该组下的所有用户
|
||||
LambdaQueryWrapper<SysUserGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SysUserGroup::getGroupId,groupId);
|
||||
sysUserGroupService.remove(lambdaQueryWrapper);
|
||||
if (StringUtils.isNotBlank(userIds)) {
|
||||
List<String> ids = Arrays.asList(userIds.split(","));
|
||||
// 在将新的用户ids添加
|
||||
for (String userId : ids) {
|
||||
SysUserGroup sysUserGroup = new SysUserGroup();
|
||||
sysUserGroup.setUserId(userId);
|
||||
sysUserGroup.setGroupId(groupId);
|
||||
sysUserGroupService.save(sysUserGroup);
|
||||
}
|
||||
}
|
||||
return Result.OK("修改成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<Object> delete(String id) {
|
||||
if (StringUtils.isBlank(id)) {
|
||||
return Result.error("分组的id不能为空");
|
||||
}
|
||||
// 删除掉关联表下该组下的所有用户
|
||||
LambdaQueryWrapper<SysUserGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SysUserGroup::getGroupId,id);
|
||||
sysUserGroupService.remove(lambdaQueryWrapper);
|
||||
// 删除掉分组表中的数据
|
||||
this.removeById(id);
|
||||
return Result.OK("操作成功");
|
||||
}
|
||||
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.jero.modules.sys.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.sys.entity.SysUserGroup;
|
||||
import com.jero.modules.sys.mapper.SysUserGroupMapper;
|
||||
import com.jero.modules.sys.service.ISysUserGroupService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-18
|
||||
*/
|
||||
@Service
|
||||
public class SysUserGroupServiceImpl extends ServiceImpl<SysUserGroupMapper, SysUserGroup> implements ISysUserGroupService {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user