提交 bea162cd 作者: obcy

添加对资讯单独授权接口

上级 d158d09a
......@@ -3,6 +3,7 @@ package com.zzsn.knowbase.controller;
import com.zzsn.knowbase.entity.KbAuthorizedUser;
import com.zzsn.knowbase.service.KbAuthorizedUserService;
import com.zzsn.knowbase.vo.AddUserPermissKnowsVo;
import com.zzsn.knowbase.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -41,6 +42,11 @@ public class KbAuthorizedUserController {
public Result<?> add(@RequestBody List<KbAuthorizedUser> authorizedUser){
return authorizedUserService.add(authorizedUser);
}
/**给某个用户授权分类节点下某些知识资讯*/
@PostMapping("/addUserPermissKnows")
public Result<?> addUserPermissKnows(@RequestBody AddUserPermissKnowsVo addUserPermissKnowsVo){
return authorizedUserService.addUserPermitsKnows(addUserPermissKnowsVo);
}
/**
* 编辑授权用户
......
......@@ -2,6 +2,7 @@ package com.zzsn.knowbase.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.knowbase.entity.KbAuthorizedUser;
import com.zzsn.knowbase.vo.AddUserPermissKnowsVo;
import com.zzsn.knowbase.vo.Result;
import java.util.List;
......@@ -33,4 +34,6 @@ public interface KbAuthorizedUserService extends IService<KbAuthorizedUser> {
Result<?> delById(String id, String knowledgeProjectId);
Result<?> addUserPermitsKnows(AddUserPermissKnowsVo addUserPermissKnowsVo);
}
......@@ -2,6 +2,7 @@ package com.zzsn.knowbase.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -12,6 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.knowbase.entity.*;
import com.zzsn.knowbase.mapper.KbAuthorizedUserMapper;
import com.zzsn.knowbase.service.*;
import com.zzsn.knowbase.vo.AddUserPermissKnowsVo;
import com.zzsn.knowbase.vo.Result;
import com.zzsn.knowbase.vo.UserInfoVo;
import org.apache.commons.lang3.StringUtils;
......@@ -48,6 +50,8 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
KbAuthuserKnowledgeprojectMapService authuserKnowledgeprojectMapService;
@Autowired
KbKnowledgeProjectService knowledgeProjectService;
@Autowired
KbAuthuserKnowMapService kbAuthuserKnowMapService;
/**
* 校验第三方用户接口地址
......@@ -94,6 +98,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
}
@Override
@Transactional
public Result<?> add(List<KbAuthorizedUser> authorizedUsers) {
if (CollectionUtil.isEmpty(authorizedUsers)){
......@@ -220,6 +225,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
}
@Override
@Transactional
public Result<?> delById(String id, String knowledgeProjectId) {
//移除知识库分类节点下所有的子节点下的这个用户
List<KbKnowledgeProject> knowPros = knowledgeProjectService.list(Wrappers.<KbKnowledgeProject>lambdaQuery()
......@@ -233,6 +239,54 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
authuserKnowledgeprojectMapService.remove(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery()
.eq(KbAuthuserKnowledgeprojectMap::getAuthUserId,id)
.in(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId,knowProIds));
kbAuthuserKnowMapService.remove(Wrappers.<KbAuthuserKnowMap>lambdaQuery()
.eq(KbAuthuserKnowMap::getAuthUserId,id)
.in(KbAuthuserKnowMap::getKnowledgeProjectId,knowProIds));
return Result.OK();
}
@Override
@Transactional
public Result<?> addUserPermitsKnows(AddUserPermissKnowsVo addUserPermissKnowsVo) {
String knowledgeProjectId = addUserPermissKnowsVo.getKnowledgeProjectId();
List<KbAuthorizedUser> authorizedUsers = addUserPermissKnowsVo.getAuthorizedUsers();
List<String> knowledgeIds = addUserPermissKnowsVo.getKnowledgeIds();
if (StrUtil.isBlank(knowledgeProjectId)||CollectionUtil.isEmpty(authorizedUsers)||CollectionUtil.isEmpty(knowledgeIds)){
return Result.error("请检查参数,授权节点、授权用户,授权资讯不能为空");
}
List<String> userIds = authorizedUsers.stream().map(KbAuthorizedUser::getId).collect(Collectors.toList());
List<KbAuthuserKnowledgeprojectMap> list = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery()
.in(KbAuthuserKnowledgeprojectMap::getAuthUserId, userIds)
.eq(KbAuthuserKnowledgeprojectMap::getKnowledgeProjectId, knowledgeProjectId)
.eq(KbAuthuserKnowledgeprojectMap::getSign, 0)
);
if (CollectionUtil.isNotEmpty(list)){
StringBuffer res = new StringBuffer();
list.forEach(e->{
res.append("用户"+e.getAuthUserId()+"在"+e.getKnowledgeProjectId()+"节点下已有完全权限。请先移除用户在此节点下的完全权限,再在此节点对用户进行单独资讯的授权\r\n");
});
return Result.error(res.toString());
}
List<KbAuthuserKnowMap> saves = new ArrayList<>();
List<KbAuthuserKnowledgeprojectMap> saves1 = new ArrayList<>();
authorizedUsers.forEach(user->{
KbAuthuserKnowledgeprojectMap kbAuthuserKnowledgeprojectMap = new KbAuthuserKnowledgeprojectMap();
kbAuthuserKnowledgeprojectMap.setAuthUserId(user.getId());
kbAuthuserKnowledgeprojectMap.setKnowledgeProjectId(knowledgeProjectId);
kbAuthuserKnowledgeprojectMap.setSign(1);
knowledgeIds.forEach(know->{
KbAuthuserKnowMap kbAuthuserKnowMap = new KbAuthuserKnowMap();
kbAuthuserKnowMap.setAuthUserId(user.getId());
kbAuthuserKnowMap.setCreateDate(new Date());
kbAuthuserKnowMap.setKnowledgeId(know);
kbAuthuserKnowMap.setKnowledgeProjectId(knowledgeProjectId);
});
});
kbAuthuserKnowMapService.saveBatch(saves);
authuserKnowledgeprojectMapService.saveBatch(saves1);
return Result.OK();
}
......
package com.zzsn.knowbase.vo;
import com.zzsn.knowbase.entity.KbAuthorizedUser;
import lombok.Data;
import java.util.List;
/**
* Description:
*
* @author: EDY
* @since: 2024/1/13
*/
@Data
public class AddUserPermissKnowsVo {
private String knowledgeProjectId;
private List<KbAuthorizedUser> authorizedUsers;
private List<String> knowledgeIds;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论