Commit a0760ee7 by zhangkb

普通用户个人标签查询接口添加加载分享标签数据

parent 8d2a90d8
......@@ -114,7 +114,7 @@ public class TagCtrl {
@RequestParam(required = false , value = "path") String path,
@RequestParam(required = false , value = "deptIdPath") String deptIdPath,
@RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize) {
@RequestParam("pageSize") Integer pageSize) throws TagNotExistException{
String userName = UserInfoUtils.getUserId();
deptIdPath = UserInfoUtils.getDataRoleOrg();
return tagService.searchPersonalTagByPage(userName, deptIdPath, keyword, path, domain, new Page(pageSize, pageNo));
......@@ -148,15 +148,15 @@ public class TagCtrl {
return tagService.queryPersonalTagExcludeOpenTypeAsTree(parentId, userName, deptIdPath);
}
@ApiOperation(value = "分享标签", notes = "分享标签")
@ApiOperation(value = "分享/取消分享标签(0:取消分享 1:分享)", notes = "分享/取消分享标签(0:取消分享 1:分享)")
@PostMapping(value = "/shareTags")
public void shareTags(@RequestBody List<String> tagIds) throws Exception {
tagService.shareTags(tagIds);
public void shareTags(@RequestBody List<String> tagIds,
@RequestParam String tagOpenStatus) throws Exception {
tagService.shareTags(tagIds,tagOpenStatus);
}
//---------------以下为导入系统的时候用到------------------
@ApiOperation(value = "查询系统标签", notes = "查询系统标签")
@GetMapping(value = "/listSystems")
......
......@@ -217,7 +217,8 @@ public class TagService {
}
//根据关键字查找个人标签
public Page searchPersonalTagByPage(String userName, String dept, String keyword, String path, Integer domain, Page page) {
public Page searchPersonalTagByPage(String userName, String dept, String keyword, String path,
Integer domain, Page page) throws TagNotExistException{
Criteria andCriterias = createPersonalTagCriteria(userName, dept, path);
if (StringUtils.isNotBlank(keyword) && !"*".equals(keyword)) {
andCriterias.andOperator(createKeywordRegexQuery(Arrays.asList("name", "nameEn", "desc"), keyword));
......@@ -300,23 +301,11 @@ public class TagService {
}
}
//获取分享个人标签
public List<Tag> getShareTags(String deptId) {
List<Tag> tags = new ArrayList<>();
//获取机构下的维度标签第一层维度标签数据
Criteria criteria = Criteria.where("dept").is(deptId).and("level").is(1);
List<Tag> lvOneTags = mongoOperations.find(Query.query(criteria),Tag.class);
for(Tag tag : lvOneTags) {
//根据
}
return tags;
}
//分享个人标签
public void shareTags(List<String> tagIds) {
//分享/取消分享个人标签
public void shareTags(List<String> tagIds,String tagOpenStatus) {
Iterable<Tag> tags = tagRepository.findAllById(tagIds);
tags.forEach(t -> {
t.setIsOpen(Constants.TAG_OPEN_STATUS);
t.setIsOpen(tagOpenStatus);
});
tagRepository.saveAll(tags);
}
......@@ -386,9 +375,10 @@ public class TagService {
criteria.orOperator(
Criteria.where("dept").is(companyId)
.and("dimensionType").is(Constants.TAG_DIMENSION_TRUE),//标签是维度管理员机构的
Criteria.where("dept").is(deptId).and("tagUser").is(userId)//标签是普通用户结构且普通用户名创建
/**,Criteria.where("path").regex("^"+companyPath + Constants.TAG_PATH_SEPARATOR)
.and("isOpen").is(Constants.TAG_OPEN_STATUS)*/);//标签是维度标签路径下的
Criteria.where("dept").is(deptId).and("tagUser").is(userId),//标签是普通用户结构且普通用户名创建
Criteria.where("proDept").is(companyId)
.and("isOpen").is(Constants.TAG_OPEN_STATUS)//公司机构id是companyId和是共享状态的
);
return Query.query(criteria)
.with(Sort.by(getDefaultTagOrders()));
}
......@@ -401,7 +391,9 @@ public class TagService {
.orOperator(
Criteria.where("dept").is(companyId)
.and("dimensionType").is(Constants.TAG_DIMENSION_TRUE),//标签是维度管理员机构的
Criteria.where("dept").is(deptId).and("tagUser").is(userId)//标签是普通用户结构且普通用户名创建
Criteria.where("dept").is(deptId).and("tagUser").is(userId),//标签是普通用户结构且普通用户名创建
Criteria.where("proDept").is(companyId)
.and("isOpen").is(Constants.TAG_OPEN_STATUS)//公司机构id是companyId和是共享状态的
)).with(Sort.by(getDefaultTagOrders())), Tag.class);
dirs.add(parentTag);
return dirs;
......@@ -442,16 +434,17 @@ public class TagService {
}).collect(Collectors.toList());
}
//拼接个人标签查询条件
private Criteria createPersonalTagCriteria(String userName, String dept, String path) {
private Criteria createPersonalTagCriteria(String userName, String dept, String path) throws TagNotExistException{
//根据当前用户机构id获取所属公司机构id
String companyOrgId = this.getCompanyOrgIdByUserOrgId(dept);
Criteria criteria = Criteria.where("tagType").is(Constants.TAG_PERSONAL_TYPE)
.and("dept").is(dept).and("tagUser").is(userName);
if (StringUtils.isNotBlank(path)) {
criteria = criteria.and("path").regex("^"+path);
}
return criteria/**.orOperator(
Criteria.where("dimensionType").is(Constants.TAG_DIMENSION_TRUE),
Criteria.where("isOpen").is(Constants.TAG_OPEN_STATUS),
Criteria.where("creator").is(userName))*/;
return criteria.orOperator(
//查询共享个人标签
Criteria.where("proDept").is(companyOrgId).and("isOpen").is(Constants.TAG_OPEN_STATUS));
}
//拼接查询当前系统标签子标签条件
private List<Tag> getSystemSubTag(Tag parentTag) {
......@@ -498,7 +491,7 @@ public class TagService {
// return new JsonNode[] {};
// }
private Query createPersonalTagQuery(String userName, String dept, Criteria... serachCriterias) {
private Query createPersonalTagQuery(String userName, String dept, Criteria... serachCriterias)throws TagNotExistException {
return Query.query(
createPersonalTagCriteria(userName, dept, null))
.with(Sort.by(getDefaultTagOrders()));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment