|
@@ -13,25 +13,43 @@
|
|
|
package vip.xiaonuo.disk.controller;
|
|
package vip.xiaonuo.disk.controller;
|
|
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
|
|
+import cn.hutool.core.collection.CollStreamUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
|
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
+import vip.xiaonuo.auth.core.enums.SysUserStatusEnum;
|
|
|
|
|
+import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
|
|
import vip.xiaonuo.common.annotation.CommonLog;
|
|
import vip.xiaonuo.common.annotation.CommonLog;
|
|
|
import vip.xiaonuo.common.pojo.CommonResult;
|
|
import vip.xiaonuo.common.pojo.CommonResult;
|
|
|
import vip.xiaonuo.common.pojo.CommonValidList;
|
|
import vip.xiaonuo.common.pojo.CommonValidList;
|
|
|
|
|
+import vip.xiaonuo.common.util.CommonAvatarUtil;
|
|
|
|
|
+import vip.xiaonuo.common.util.CommonCryptogramUtil;
|
|
|
|
|
+import vip.xiaonuo.common.util.PinyinUtils;
|
|
|
|
|
+import vip.xiaonuo.dev.api.DevConfigApi;
|
|
|
import vip.xiaonuo.disk.dto.ShareGroupuser.*;
|
|
import vip.xiaonuo.disk.dto.ShareGroupuser.*;
|
|
|
import vip.xiaonuo.disk.service.ShareGroupUserService;
|
|
import vip.xiaonuo.disk.service.ShareGroupUserService;
|
|
|
|
|
+import vip.xiaonuo.sys.modular.relation.enums.SysRelationCategoryEnum;
|
|
|
|
|
+import vip.xiaonuo.sys.modular.relation.service.SysRelationService;
|
|
|
|
|
+import vip.xiaonuo.sys.modular.user.entity.SysUser;
|
|
|
|
|
+import vip.xiaonuo.sys.modular.user.param.SysUserIdParam;
|
|
|
|
|
+import vip.xiaonuo.sys.modular.user.service.SysUserService;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
|
import javax.validation.constraints.NotEmpty;
|
|
import javax.validation.constraints.NotEmpty;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.HashMap;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 资源共享-群组控制器
|
|
* 资源共享-群组控制器
|
|
@@ -47,19 +65,33 @@ public class ShareGroupController {
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
private ShareGroupUserService shareGroupUserService;
|
|
private ShareGroupUserService shareGroupUserService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private DevConfigApi devConfigApi;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private PinyinUtils pinyinUtils;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private SysUserService sysUserService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private SysRelationService sysRelationService;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ private static final String SNOWY_SYS_DEFAULT_PASSWORD_KEY = "SNOWY_SYS_DEFAULT_PASSWORD";
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 获取资源共享-群组人员关联表分页
|
|
|
|
|
|
|
+ * 资源共享-群组-分页列表
|
|
|
*
|
|
*
|
|
|
* @author honorfire
|
|
* @author honorfire
|
|
|
* @date 2025/06/18 14:16
|
|
* @date 2025/06/18 14:16
|
|
|
*/
|
|
*/
|
|
|
@ApiOperationSupport(order = 1)
|
|
@ApiOperationSupport(order = 1)
|
|
|
- @ApiOperation("获取资源共享-群组人员关联表分页")
|
|
|
|
|
- @SaCheckPermission("/disk/sharegroupuser/page")
|
|
|
|
|
- @GetMapping("/disk/sharegroupuser/page")
|
|
|
|
|
- public CommonResult<Page<ShareGroupUser>> page(ShareGroupUserPageParam shareGroupUserPageParam) {
|
|
|
|
|
- return CommonResult.data(shareGroupUserService.page(shareGroupUserPageParam));
|
|
|
|
|
|
|
+ @ApiOperation("资源共享-群组-分页列表")
|
|
|
|
|
+ @SaCheckPermission("/disk/sharegroup/page")
|
|
|
|
|
+ @GetMapping("/disk/sharegroup/page")
|
|
|
|
|
+ public CommonResult<Page<Map<String,Object>>> page(ShareGroupUserPageParam shareGroupUserPageParam, HttpServletRequest req) {
|
|
|
|
|
+ Map param =new HashMap();
|
|
|
|
|
+ param.put("userId", StpLoginUserUtil.getLoginUser().getId());
|
|
|
|
|
+ Page<Map<String,Object>> groupList=sysUserService.getGroupList(param);
|
|
|
|
|
+ return CommonResult.data(groupList);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -74,25 +106,111 @@ public class ShareGroupController {
|
|
|
@SaCheckPermission("/disk/sharegroup/add")
|
|
@SaCheckPermission("/disk/sharegroup/add")
|
|
|
@PostMapping("/disk/sharegroup/add")
|
|
@PostMapping("/disk/sharegroup/add")
|
|
|
public CommonResult<String> add(@RequestBody @Valid ShareGroupAddParam shareGroupAddParam) {
|
|
public CommonResult<String> add(@RequestBody @Valid ShareGroupAddParam shareGroupAddParam) {
|
|
|
- //先创建一个角色为群组的用户
|
|
|
|
|
|
|
+ //1.先创建一个角色为群组的用户
|
|
|
|
|
+ SysUser groupUser = new SysUser();
|
|
|
|
|
+ groupUser.setName(shareGroupAddParam.getName());
|
|
|
|
|
+ //设置账号,账号采取文字拼音加时间戳
|
|
|
|
|
+ String groupUserAccount=pinyinUtils.toFirstLetters(shareGroupAddParam.getName())+System.currentTimeMillis();
|
|
|
|
|
+ groupUser.setAccount(groupUserAccount);
|
|
|
|
|
+ //设置群组默认组织、职位
|
|
|
|
|
+ groupUser.setOrgId("100");
|
|
|
|
|
+ groupUser.setPositionId("100");
|
|
|
|
|
+ //资源库专用账号
|
|
|
|
|
+ groupUser.setIsResourceaccount("1");
|
|
|
|
|
+ // 设置默认头像
|
|
|
|
|
+ groupUser.setAvatar(CommonAvatarUtil.generateImg(groupUser.getName()));
|
|
|
|
|
+ // 设置默认密码
|
|
|
|
|
+ groupUser.setPassword(CommonCryptogramUtil.doHashValue(devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_PASSWORD_KEY)));
|
|
|
|
|
+ // 设置状态
|
|
|
|
|
+ groupUser.setUserStatus(SysUserStatusEnum.ENABLE.getValue());
|
|
|
|
|
+ //先保存一下该群组”用户“
|
|
|
|
|
+ groupUser=sysUserService.editOne(groupUser);
|
|
|
|
|
+
|
|
|
|
|
+ //2.存入该群组”用户“特定职务
|
|
|
|
|
+ sysRelationService.saveRelationWithAppend(groupUser.getId(),"101",SysRelationCategoryEnum.SYS_USER_HAS_ROLE.getValue());
|
|
|
|
|
+
|
|
|
|
|
+ //3.存入群组关系
|
|
|
|
|
+ String userIdsStr=shareGroupAddParam.getUserIds();
|
|
|
|
|
+ String[] userIdList = userIdsStr.split(",");
|
|
|
|
|
+ List<ShareGroupUser> shareGroupUserList=new ArrayList<>();
|
|
|
|
|
+ //首先添加创建群组的人
|
|
|
|
|
+ ShareGroupUser ownGroupUser=new ShareGroupUser();
|
|
|
|
|
+ ownGroupUser.setUserId(StpLoginUserUtil.getLoginUser().getId());
|
|
|
|
|
+ ownGroupUser.setGroupId(groupUser.getId());
|
|
|
|
|
+ ownGroupUser.setIsCreater("1");
|
|
|
|
|
+ shareGroupUserList.add(ownGroupUser);
|
|
|
|
|
+ for(String userId:userIdList)
|
|
|
|
|
+ {
|
|
|
|
|
+ ShareGroupUser otherGroupUser=new ShareGroupUser();
|
|
|
|
|
+ otherGroupUser.setUserId(userId);
|
|
|
|
|
+ otherGroupUser.setGroupId(groupUser.getId());
|
|
|
|
|
+ otherGroupUser.setIsCreater("0");
|
|
|
|
|
+ shareGroupUserList.add(otherGroupUser);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
shareGroupUserService.add(shareGroupAddParam);
|
|
shareGroupUserService.add(shareGroupAddParam);
|
|
|
return CommonResult.ok();
|
|
return CommonResult.ok();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 编辑资源共享-群组人员关联表
|
|
|
|
|
|
|
+ * 资源共享-群组-编辑
|
|
|
*
|
|
*
|
|
|
* @author honorfire
|
|
* @author honorfire
|
|
|
* @date 2025/06/18 14:16
|
|
* @date 2025/06/18 14:16
|
|
|
*/
|
|
*/
|
|
|
@ApiOperationSupport(order = 3)
|
|
@ApiOperationSupport(order = 3)
|
|
|
- @ApiOperation("编辑资源共享-群组人员关联表")
|
|
|
|
|
- @CommonLog("编辑资源共享-群组人员关联表")
|
|
|
|
|
- @SaCheckPermission("/disk/sharegroupuser/edit")
|
|
|
|
|
- @PostMapping("/disk/sharegroupuser/edit")
|
|
|
|
|
|
|
+ @ApiOperation("资源共享-群组-编辑")
|
|
|
|
|
+ @CommonLog("资源共享-群组-编辑")
|
|
|
|
|
+ @SaCheckPermission("/disk/sharegroup/edit")
|
|
|
|
|
+ @PostMapping("/disk/sharegroup/edit")
|
|
|
public CommonResult<String> edit(@RequestBody @Valid ShareGroupEditParam shareGroupEditParam) {
|
|
public CommonResult<String> edit(@RequestBody @Valid ShareGroupEditParam shareGroupEditParam) {
|
|
|
- shareGroupUserService.edit(shareGroupEditParam);
|
|
|
|
|
|
|
+ //1.先创建一个角色为群组的用户
|
|
|
|
|
+ SysUser groupUser = new SysUser();
|
|
|
|
|
+ if(StringUtils.isNotEmpty(shareGroupEditParam.getName()))
|
|
|
|
|
+ {
|
|
|
|
|
+ groupUser.setName(shareGroupEditParam.getName());
|
|
|
|
|
+ //设置账号,账号采取文字拼音加时间戳
|
|
|
|
|
+ String groupUserAccount=pinyinUtils.toFirstLetters(shareGroupEditParam.getName())+System.currentTimeMillis();
|
|
|
|
|
+ }
|
|
|
|
|
+ //先保存一下该群组”用户“
|
|
|
|
|
+ groupUser=sysUserService.addOne(groupUser);
|
|
|
|
|
+
|
|
|
|
|
+ //2.群组用户id不为空的情况,重新存入群组关系
|
|
|
|
|
+ if(StringUtils.isNotEmpty(shareGroupEditParam.getUserIds()))
|
|
|
|
|
+ {
|
|
|
|
|
+ //删除旧群组id
|
|
|
|
|
+ //查询旧关联id
|
|
|
|
|
+ Map queryDeleteGroupUserMap=new HashMap();
|
|
|
|
|
+ queryDeleteGroupUserMap.put("groupId",groupUser.getId());
|
|
|
|
|
+ List<Map<String, Object>> groupUserList= shareGroupUserService.queryGroupUserList(queryDeleteGroupUserMap);
|
|
|
|
|
+ List<String> deleteGroupUserIdList=new ArrayList<>();
|
|
|
|
|
+ for(Map<String, Object> deleteGroupUser:groupUserList)
|
|
|
|
|
+ {
|
|
|
|
|
+ deleteGroupUserIdList.add(deleteGroupUser.get("groupUserId").toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ shareGroupUserService.deleteByIds(deleteGroupUserIdList);
|
|
|
|
|
+
|
|
|
|
|
+ //重新存入群组关系
|
|
|
|
|
+ String userIdsStr=shareGroupEditParam.getUserIds();
|
|
|
|
|
+ String[] userIdList = userIdsStr.split(",");
|
|
|
|
|
+ List<ShareGroupUser> shareGroupUserList=new ArrayList<>();
|
|
|
|
|
+ //首先添加创建群组的人
|
|
|
|
|
+ ShareGroupUser ownGroupUser=new ShareGroupUser();
|
|
|
|
|
+ ownGroupUser.setUserId(StpLoginUserUtil.getLoginUser().getId());
|
|
|
|
|
+ ownGroupUser.setGroupId(groupUser.getId());
|
|
|
|
|
+ ownGroupUser.setIsCreater("1");
|
|
|
|
|
+ shareGroupUserList.add(ownGroupUser);
|
|
|
|
|
+ for(String userId:userIdList)
|
|
|
|
|
+ {
|
|
|
|
|
+ ShareGroupUser otherGroupUser=new ShareGroupUser();
|
|
|
|
|
+ otherGroupUser.setUserId(userId);
|
|
|
|
|
+ otherGroupUser.setGroupId(groupUser.getId());
|
|
|
|
|
+ otherGroupUser.setIsCreater("0");
|
|
|
|
|
+ shareGroupUserList.add(otherGroupUser);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
return CommonResult.ok();
|
|
return CommonResult.ok();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -105,26 +223,40 @@ public class ShareGroupController {
|
|
|
@ApiOperationSupport(order = 4)
|
|
@ApiOperationSupport(order = 4)
|
|
|
@ApiOperation("删除资源共享-群组人员关联表")
|
|
@ApiOperation("删除资源共享-群组人员关联表")
|
|
|
@CommonLog("删除资源共享-群组人员关联表")
|
|
@CommonLog("删除资源共享-群组人员关联表")
|
|
|
- @SaCheckPermission("/disk/sharegroupuser/delete")
|
|
|
|
|
- @PostMapping("/disk/sharegroupuser/delete")
|
|
|
|
|
|
|
+ @SaCheckPermission("/disk/sharegroup/delete")
|
|
|
|
|
+ @PostMapping("/disk/sharegroup/delete")
|
|
|
public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
|
|
public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
|
|
|
- CommonValidList<ShareGroupUserIdParam> shareGroupUserIdParamList) {
|
|
|
|
|
- shareGroupUserService.delete(shareGroupUserIdParamList);
|
|
|
|
|
|
|
+ CommonValidList<ShareGroupIdParam> shareGroupIdParamList) {
|
|
|
|
|
+ List<String> groupIdList = CollStreamUtil.toList(shareGroupIdParamList, ShareGroupIdParam::getGroupId);
|
|
|
|
|
+ sysUserService.deleteByIds(groupIdList);
|
|
|
return CommonResult.ok();
|
|
return CommonResult.ok();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 获取资源共享-群组人员关联表详情
|
|
|
|
|
|
|
+ * 资源共享-群组-详情
|
|
|
*
|
|
*
|
|
|
* @author honorfire
|
|
* @author honorfire
|
|
|
* @date 2025/06/18 14:16
|
|
* @date 2025/06/18 14:16
|
|
|
*/
|
|
*/
|
|
|
@ApiOperationSupport(order = 5)
|
|
@ApiOperationSupport(order = 5)
|
|
|
- @ApiOperation("获取资源共享-群组人员关联表详情")
|
|
|
|
|
- @SaCheckPermission("/disk/sharegroupuser/detail")
|
|
|
|
|
- @GetMapping("/disk/sharegroupuser/detail")
|
|
|
|
|
- public CommonResult<ShareGroupUser> detail(@Valid ShareGroupUserIdParam shareGroupUserIdParam) {
|
|
|
|
|
- return CommonResult.data(shareGroupUserService.detail(shareGroupUserIdParam));
|
|
|
|
|
|
|
+ @ApiOperation("资源共享-群组-详情")
|
|
|
|
|
+ @SaCheckPermission("/disk/sharegroup/detail")
|
|
|
|
|
+ @GetMapping("/disk/sharegroup/detail")
|
|
|
|
|
+ public CommonResult<Map<String,Object>> detail(@Valid ShareGroupIdParam shareGroupIdParam) {
|
|
|
|
|
+ Map param=new HashMap();
|
|
|
|
|
+ Map<String,Object> result= new HashMap<>();
|
|
|
|
|
+ //查回群组基本信息
|
|
|
|
|
+ SysUser group=sysUserService.queryEntity(shareGroupIdParam.getGroupId());
|
|
|
|
|
+ result.put("groupId",group.getId());
|
|
|
|
|
+ result.put("groupName",group.getName());
|
|
|
|
|
+ result.put("groupAccount",group.getAccount());
|
|
|
|
|
+ //查回群组所有关联人员
|
|
|
|
|
+ Map queryGroupUserMap=new HashMap();
|
|
|
|
|
+ queryGroupUserMap.put("groupId",group);
|
|
|
|
|
+ List<Map<String, Object>> groupUserList= shareGroupUserService.queryGroupUserList(queryGroupUserMap);
|
|
|
|
|
+ result.put("groupUserList",groupUserList);
|
|
|
|
|
+
|
|
|
|
|
+ return CommonResult.data(result);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|