提交 60eebfed authored 作者: lizhuo's avatar lizhuo

--no commit message

上级 066d4fee
......@@ -3,6 +3,7 @@ package com.zrqx.works.bg.controller.advancedsearch;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.apache.solr.client.solrj.SolrClient;
......@@ -22,7 +23,9 @@ import com.zrqx.core.form.works.bg.solr.AdvancedQueryForm;
import com.zrqx.core.util.CallBack;
import com.zrqx.core.util.PageInfo;
import com.zrqx.core.util.PageParam;
import com.zrqx.core.vo.sysuser.bg.user.UserVO;
import com.zrqx.core.vo.works.solr.SolrListVo;
import com.zrqx.works.bg.client.sysuser.SysuserClient;
import com.zrqx.works.bg.service.apply.ApplyService;
import com.zrqx.works.commons.Redis;
......@@ -45,17 +48,24 @@ public class AdvancedSearchController {
@Autowired
private SolrClient client;
@Autowired
private ApplyService applyService;
private SysuserClient sysuserClient;
@ApiOperation(value = "分页查询", notes = "查询列表")
@GetMapping(value = BaseRequestPath.PAGE)
public CallBack<PageInfo<SolrListVo>> page(AdvancedQueryForm form, PageParam pageParam) {
// 获取用户部门
String userid = redis.getUser().getUserId();
CallBack<UserVO> userVo = sysuserClient.getUserById(userid);
List<Integer> deptIdList = userVo.getData().getDeptList().stream().map(a -> {
return a.getDeptId();
}).collect(Collectors.toList());
StringBuffer sb = new StringBuffer();
SolrQuery sq = new SolrQuery();
if (form.getKeyword() == null) {
sb.append("*:*");
}else{
sb.append("("+form.getKeyword()+")");
} else {
sb.append("(" + form.getKeyword() + ")");
}
if (StringUtils.isNotBlank(form.getResourceType())) {
sb.append(" && resourceType:" + form.getResourceType());
......@@ -63,7 +73,7 @@ public class AdvancedSearchController {
if (StringUtils.isNotBlank(form.getCode())) {
sb.append(" && code:" + form.getCode());
}
if (form.getDataSources()!=null) {
if (form.getDataSources() != null) {
sb.append(" && dataSources:" + form.getDataSources());
}
if (StringUtils.isNotBlank(form.getStartTime())) {
......@@ -91,10 +101,7 @@ public class AdvancedSearchController {
for (SolrDocument result : results) {
SolrListVo slv = new SolrListVo();
String id = (String) result.get("id");
String userid = redis.getUser().getUserId();
Integer download = applyService.examine((String) result.get("id"), userid);
slv.setId(id);
slv.setDownload(download);
slv.setName((String) result.get("name"));
slv.setAuthor((String) result.get("author"));
slv.setPublishTime((String) result.get("publishTime"));
......@@ -106,9 +113,27 @@ public class AdvancedSearchController {
slv.setResourceType((Integer) result.get("resourceType"));
slv.setCover((String) result.get("cover"));
slv.setCode((String) result.get("code"));
if(result.get("departmentId")!=null){
if (result.get("departmentId") != null) {
slv.setDepartment((Integer) result.get("departmentId"));
}
List<String> applyUserIds = (List) result.get("userId");
if (applyUserIds != null) {
for (int i = 0; i < applyUserIds.size(); i++) {
if (userid.equals(applyUserIds.get(i))) {
// 判断是否能下载
slv.setDownload(Integer.parseInt(((List<String>) result.get("download")).get(i)));
}
}
}
// 判断是否能下载
if (slv.getDownload() == null || slv.getDownload() != 1) {
if (deptIdList.contains(slv.getDepartment())) {
slv.setDownload(1);
} else {
slv.setDownload(0);
}
}
list.add(slv);
}
PageInfo<SolrListVo> page = new PageInfo<SolrListVo>();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论