Commit a0760ee7 by zhangkb

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

parent 8d2a90d8
...@@ -114,7 +114,7 @@ public class TagCtrl { ...@@ -114,7 +114,7 @@ public class TagCtrl {
@RequestParam(required = false , value = "path") String path, @RequestParam(required = false , value = "path") String path,
@RequestParam(required = false , value = "deptIdPath") String deptIdPath, @RequestParam(required = false , value = "deptIdPath") String deptIdPath,
@RequestParam("pageNo") Integer pageNo, @RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize) { @RequestParam("pageSize") Integer pageSize) throws TagNotExistException{
String userName = UserInfoUtils.getUserId(); String userName = UserInfoUtils.getUserId();
deptIdPath = UserInfoUtils.getDataRoleOrg(); deptIdPath = UserInfoUtils.getDataRoleOrg();
return tagService.searchPersonalTagByPage(userName, deptIdPath, keyword, path, domain, new Page(pageSize, pageNo)); return tagService.searchPersonalTagByPage(userName, deptIdPath, keyword, path, domain, new Page(pageSize, pageNo));
...@@ -148,15 +148,15 @@ public class TagCtrl { ...@@ -148,15 +148,15 @@ public class TagCtrl {
return tagService.queryPersonalTagExcludeOpenTypeAsTree(parentId, userName, deptIdPath); return tagService.queryPersonalTagExcludeOpenTypeAsTree(parentId, userName, deptIdPath);
} }
@ApiOperation(value = "分享标签", notes = "分享标签") @ApiOperation(value = "分享/取消分享标签(0:取消分享 1:分享)", notes = "分享/取消分享标签(0:取消分享 1:分享)")
@PostMapping(value = "/shareTags") @PostMapping(value = "/shareTags")
public void shareTags(@RequestBody List<String> tagIds) throws Exception { public void shareTags(@RequestBody List<String> tagIds,
tagService.shareTags(tagIds); @RequestParam String tagOpenStatus) throws Exception {
tagService.shareTags(tagIds,tagOpenStatus);
} }
//---------------以下为导入系统的时候用到------------------ //---------------以下为导入系统的时候用到------------------
@ApiOperation(value = "查询系统标签", notes = "查询系统标签") @ApiOperation(value = "查询系统标签", notes = "查询系统标签")
@GetMapping(value = "/listSystems") @GetMapping(value = "/listSystems")
......
...@@ -217,7 +217,8 @@ public class TagService { ...@@ -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); Criteria andCriterias = createPersonalTagCriteria(userName, dept, path);
if (StringUtils.isNotBlank(keyword) && !"*".equals(keyword)) { if (StringUtils.isNotBlank(keyword) && !"*".equals(keyword)) {
andCriterias.andOperator(createKeywordRegexQuery(Arrays.asList("name", "nameEn", "desc"), keyword)); andCriterias.andOperator(createKeywordRegexQuery(Arrays.asList("name", "nameEn", "desc"), keyword));
...@@ -300,23 +301,11 @@ public class TagService { ...@@ -300,23 +301,11 @@ public class TagService {
} }
} }
//获取分享个人标签 //分享/取消分享个人标签
public List<Tag> getShareTags(String deptId) { public void shareTags(List<String> tagIds,String tagOpenStatus) {
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) {
Iterable<Tag> tags = tagRepository.findAllById(tagIds); Iterable<Tag> tags = tagRepository.findAllById(tagIds);
tags.forEach(t -> { tags.forEach(t -> {
t.setIsOpen(Constants.TAG_OPEN_STATUS); t.setIsOpen(tagOpenStatus);
}); });
tagRepository.saveAll(tags); tagRepository.saveAll(tags);
} }
...@@ -386,9 +375,10 @@ public class TagService { ...@@ -386,9 +375,10 @@ public class TagService {
criteria.orOperator( criteria.orOperator(
Criteria.where("dept").is(companyId) Criteria.where("dept").is(companyId)
.and("dimensionType").is(Constants.TAG_DIMENSION_TRUE),//标签是维度管理员机构的 .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("path").regex("^"+companyPath + Constants.TAG_PATH_SEPARATOR) Criteria.where("proDept").is(companyId)
.and("isOpen").is(Constants.TAG_OPEN_STATUS)*/);//标签是维度标签路径下的 .and("isOpen").is(Constants.TAG_OPEN_STATUS)//公司机构id是companyId和是共享状态的
);
return Query.query(criteria) return Query.query(criteria)
.with(Sort.by(getDefaultTagOrders())); .with(Sort.by(getDefaultTagOrders()));
} }
...@@ -401,7 +391,9 @@ public class TagService { ...@@ -401,7 +391,9 @@ public class TagService {
.orOperator( .orOperator(
Criteria.where("dept").is(companyId) Criteria.where("dept").is(companyId)
.and("dimensionType").is(Constants.TAG_DIMENSION_TRUE),//标签是维度管理员机构的 .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); )).with(Sort.by(getDefaultTagOrders())), Tag.class);
dirs.add(parentTag); dirs.add(parentTag);
return dirs; return dirs;
...@@ -442,16 +434,17 @@ public class TagService { ...@@ -442,16 +434,17 @@ public class TagService {
}).collect(Collectors.toList()); }).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) Criteria criteria = Criteria.where("tagType").is(Constants.TAG_PERSONAL_TYPE)
.and("dept").is(dept).and("tagUser").is(userName); .and("dept").is(dept).and("tagUser").is(userName);
if (StringUtils.isNotBlank(path)) { if (StringUtils.isNotBlank(path)) {
criteria = criteria.and("path").regex("^"+path); criteria = criteria.and("path").regex("^"+path);
} }
return criteria/**.orOperator( return criteria.orOperator(
Criteria.where("dimensionType").is(Constants.TAG_DIMENSION_TRUE), //查询共享个人标签
Criteria.where("isOpen").is(Constants.TAG_OPEN_STATUS), Criteria.where("proDept").is(companyOrgId).and("isOpen").is(Constants.TAG_OPEN_STATUS));
Criteria.where("creator").is(userName))*/;
} }
//拼接查询当前系统标签子标签条件 //拼接查询当前系统标签子标签条件
private List<Tag> getSystemSubTag(Tag parentTag) { private List<Tag> getSystemSubTag(Tag parentTag) {
...@@ -498,7 +491,7 @@ public class TagService { ...@@ -498,7 +491,7 @@ public class TagService {
// return new JsonNode[] {}; // 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( return Query.query(
createPersonalTagCriteria(userName, dept, null)) createPersonalTagCriteria(userName, dept, null))
.with(Sort.by(getDefaultTagOrders())); .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