diff --git a/yudao-framework/yudao-common/pom.xml b/yudao-framework/yudao-common/pom.xml index 10c1f05..8196583 100644 --- a/yudao-framework/yudao-common/pom.xml +++ b/yudao-framework/yudao-common/pom.xml @@ -159,6 +159,18 @@ spring-boot-starter-test test + + io.swagger + swagger-annotations + 1.6.2 + compile + + + io.swagger + swagger-annotations + 1.6.2 + compile + diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/BaseSaveVo.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/BaseSaveVo.java deleted file mode 100644 index ff46754..0000000 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/BaseSaveVo.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.iocoder.yudao.framework.common.util.elasticsearch; - -public interface BaseSaveVo { - Long getId(); -} diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/EsearchUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/EsearchUtils.java index 48268b3..607ef28 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/EsearchUtils.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/EsearchUtils.java @@ -92,7 +92,7 @@ public class EsearchUtils { } return delete.status().toString(); } - public static List selectForEs(T1 kmsSearchDto,T2 KmsMainVo, String indexName ) { + public static List selectForEs(KmsSearchDto kmsSearchDto,T KmsMainVo, String indexName ,Class clazz) { // 1.创建并设置SearchSourceBuilder对象 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); // 2.创建BoolQueryBuilder对象 @@ -122,23 +122,22 @@ public class EsearchUtils { SearchRequest searchRequest = new SearchRequest(indexName); searchRequest.source(searchSourceBuilder); - List rsList = Lists.newArrayList(); //返回信息 -// List rsList = Lists.newArrayList(); -// try { -// SearchResponse response = esClient.search(searchRequest, RequestOptions.DEFAULT); -// //解析搜索结果 -// for (SearchHit sh : response.getHits()) { -// Map sourceAsMap = sh.getSourceAsMap(); -// /*for (Map.Entry stringObjectEntry : sourceAsMap.entrySet()) { -// System.out.println(sourceAsMap.get(stringObjectEntry.getKey())); -// }*/ -// KmsMainVo main = JSON.parseObject(JSON.toJSONString(sourceAsMap), KmsMainVo.class); -// rsList.add(main); -// } -// } catch (IOException e) { -// e.printStackTrace(); -// } + List rsList = Lists.newArrayList(); + try { + SearchResponse response = esClient.search(searchRequest, RequestOptions.DEFAULT); + //解析搜索结果 + for (SearchHit sh : response.getHits()) { + Map sourceAsMap = sh.getSourceAsMap(); + /*for (Map.Entry stringObjectEntry : sourceAsMap.entrySet()) { + System.out.println(sourceAsMap.get(stringObjectEntry.getKey())); + }*/ + T main = JSON.parseObject(JSON.toJSONString(sourceAsMap), clazz); + rsList.add(main); + } + } catch (IOException e) { + e.printStackTrace(); + } return rsList; } } diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/KmsSearchDto.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/KmsSearchDto.java new file mode 100644 index 0000000..ac4fe03 --- /dev/null +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/KmsSearchDto.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.framework.common.util.elasticsearch; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class KmsSearchDto { + + private static final long serialVersionUID = 1L; + + /** + * 查询key + */ + @ApiModelProperty("查询key") + private String searchKey; + + /** + * 查询值 + */ + @ApiModelProperty("查询值") + private String searchValue; + + /** + * 查询每页显示 + */ + @ApiModelProperty("查询每页显示") + private Integer pageSize; + + /** + * 排序选项 + */ + @ApiModelProperty("排序选项") + private String sortBy; + + /** + * 排序方式 + */ + @ApiModelProperty("排序方式") + private String sortType; + + /** + * 查询方式 + */ + @ApiModelProperty("查询方式") + private String searchBy; + +// @Override +// public String getSearchBy() { +// return null; +// } +// +// @Override +// public Integer getPageSize() { +// return null; +// } +// +// @Override +// public String getSortBy() { +// return null; +// } +// +// @Override +// public String getSortType() { +// return null; +// } +// +// @Override +// public String getSearchKey() { +// return null; +// } +// +// @Override +// public String getSearchValue() { +// return null; +// } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/KnowledgeController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/KnowledgeController.java index b781b03..d702ac9 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/KnowledgeController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/KnowledgeController.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.bpm.controller.admin.knows; import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.elasticsearch.KmsSearchDto; import cn.iocoder.yudao.module.bpm.convert.knows.KnowledgeConvert; import cn.iocoder.yudao.module.bpm.dal.dataobject.knows.KnowtypeDO; import cn.iocoder.yudao.module.bpm.service.knows.KnowtypeService; @@ -34,6 +35,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.knows.vo.*; import cn.iocoder.yudao.module.bpm.dal.dataobject.knows.KnowledgeDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.knows.CommentDO; import cn.iocoder.yudao.module.bpm.service.knows.KnowledgeService; +import cn.iocoder.yudao.framework.common.util.elasticsearch.KmsSearchDto; @Tag(name = "管理后台 - 知识发布") @RestController @RequestMapping("/bpm/knowledge") @@ -104,6 +106,14 @@ public class KnowledgeController { // 转换并返回结果 return success(new PageResult<>(KnowledgeConvert.INSTANCE.convertList(pageResult.getList(), deptMap, knowTypeMap), pageResult.getTotal())); } + + @GetMapping("/listForEs") + @Operation(summary = "获得查询分页") + public CommonResult> getKnowsList(@Valid KmsSearchDto kmsSearchDto) { + //PageResult pageResult = knowledgeService.getKnowledgePage(pageReqVO); + List list = knowledgeService.getKnowsList(kmsSearchDto); + return success(BeanUtils.toBean(list, KnowledgeRespVO.class)); + } @GetMapping("/page-user") @Operation(summary = "获得知识发布分页") @PreAuthorize("@ss.hasPermission('bpm:knowledge:query')") diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/vo/KnowledgeSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/vo/KnowledgeSaveReqVO.java index 60ac750..da73207 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/vo/KnowledgeSaveReqVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/vo/KnowledgeSaveReqVO.java @@ -1,19 +1,12 @@ package cn.iocoder.yudao.module.bpm.controller.admin.knows.vo; -import com.alibaba.fastjson.JSONObject; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; import cn.iocoder.yudao.module.bpm.dal.dataobject.knows.CommentDO; import javax.validation.constraints.NotNull; import javax.validation.constraints.NotEmpty; -import cn.iocoder.yudao.framework.common.util.elasticsearch.BaseSaveVo; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import java.io.IOException; + @Schema(description = "管理后台 - 知识发布新增/修改 Request VO") @Data public class KnowledgeSaveReqVO { diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeService.java index 2e6772c..125d081 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeService.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeService.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.service.knows; import java.util.*; import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; +import cn.iocoder.yudao.framework.common.util.elasticsearch.KmsSearchDto; import cn.iocoder.yudao.module.bpm.controller.admin.knows.vo.*; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO; import cn.iocoder.yudao.module.bpm.dal.dataobject.knows.KnowledgeDO; @@ -60,6 +61,8 @@ public interface KnowledgeService { PageResult getKnowledgePage(KnowledgePageReqVO pageReqVO); PageResult getKnowledgePage(Long userId, KnowledgePageReqVO pageReqVO); + List getKnowsList(KmsSearchDto kmsSearchDto); + // ==================== 子表(评论) ==================== /** diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeServiceImpl.java index dfd9ae4..591acf6 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.bpm.service.knows; import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.elasticsearch.KmsSearchDto; import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi; import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum; @@ -121,6 +122,11 @@ public class KnowledgeServiceImpl implements KnowledgeService { return knowledgeMapper.selectPage(userId, pageReqVO); } + public List getKnowsList(KmsSearchDto kmsSearchDto) { + // return knowledgeMapper.selectPage(userId, pageReqVO); + KnowledgeDO knowledgeDo = new KnowledgeDO(); + return EsearchUtils.selectForEs(kmsSearchDto,knowledgeDo,indexName,KnowledgeDO.class); + } // ==================== 子表(评论) ==================== @Override @@ -167,19 +173,4 @@ public class KnowledgeServiceImpl implements KnowledgeService { knowledgeMapper.updateById(new KnowledgeDO().setId(id).setFlowStatus(status)); } -// private void saveIndex(KnowledgeSaveReqVO createReqVO) throws IOException { -// String indexStatus = null; -// Long kId = createReqVO.getId(); -// String knowStr = JSON.toJSONString(createReqVO); -// JSONObject knowObj = JSONObject.parseObject(knowStr); -// knowObj.put("id", String.valueOf(kId)); -// IndexRequest esRequest = new IndexRequest("knows_index"); -// esRequest.id(String.valueOf(kId)); -// esRequest.source(knowObj.toJSONString(), XContentType.JSON); -// System.out.println("========保存数据:" + knowObj.toJSONString()); -// esRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.WAIT_UNTIL); -// IndexResponse indexResult = esClient.index(esRequest, RequestOptions.DEFAULT); -// indexStatus = indexResult.status().toString(); -// System.out.println("========保存结果:" + indexResult); -// } }