Commit e420cc1a authored by 韩桐桐's avatar 韩桐桐

fix(jg):新增查询证下设备的分页接口

parent 54986415
......@@ -180,26 +180,26 @@ public class JgUseRegistrationManageController extends BaseController {
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryEquByCertificateSeqList(collect));
}
// /**
// * 根据证的sequenceNbrs 批量查询证下面的所有设备
// * @param current 非必填,不填不分页,展示全部
// * @param size 非必填,不填不分页,展示全部
// * @param paramMap **仅仅支持** studio平台传参类似&certificateSeqs[0]=1809032149396975618&certificateSeqs[1]=1809032151141806081
// * 如需其他需求使用上面的接口查询
// * @return
// */
// @TycloudOperation(ApiLevel = UserType.AGENCY)
// @GetMapping(value = "/queryEquByCertificateSeqs")
// @ApiOperation(httpMethod = "GET",value = "根据证的sequenceNbr 批量查询证下面的所有设备", notes = "根据证的sequenceNbr 批量查询证下面的所有设备")
// public ResponseModel<List<JSONObject>> queryEquByCertificateSeqList( @RequestParam(value = "current",required = false) String current,
// @RequestParam(value = "size",required = false) String size,
// @RequestParam MultiValueMap<String, String> paramMap) {
// List<Long> certificateSeqs = new ArrayList<>();
// paramMap.forEach((key, value) -> {
// if (key.startsWith("certificateSeqs[")) {
// value.forEach(val -> certificateSeqs.add(Long.parseLong(val)));
// }
// });
// return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryEquByCertificateSeqList(certificateSeqs,current,size));
// }
/**
* 根据证的sequenceNbrs 批量查询证下面的所有设备
* @param current 非必填,不填不分页,展示全部
* @param size 非必填,不填不分页,展示全部
* @param paramMap **仅仅支持** studio平台传参类似&certificateSeqs[0]=1809032149396975618&certificateSeqs[1]=1809032151141806081
* 如需其他需求使用上面的接口查询
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryEquByCertificateSeqs")
@ApiOperation(httpMethod = "GET",value = "根据证的sequenceNbr 批量查询证下面的所有设备", notes = "根据证的sequenceNbr 批量查询证下面的所有设备")
public ResponseModel<Page<JSONObject>> queryEquByCertificateSeqList( @RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam MultiValueMap<String, String> paramMap) {
List<Long> certificateSeqs = new ArrayList<>();
paramMap.forEach((key, value) -> {
if (key.startsWith("certificateSeqs[")) {
value.forEach(val -> certificateSeqs.add(Long.parseLong(val)));
}
});
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryEquForPageByCertificateSeqList(certificateSeqs,current,size));
}
}
......@@ -243,4 +243,54 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
}
return result;
}
/**
* 根据证的sequenceNbr集合,批量查询证下面的所有设备
* @param sequenceNbrList 证的sequenceNbr集合
* @param current 分页-当前页
* @param size 分页-分页数
* @return 查询结果
*/
public Page<JSONObject> queryEquForPageByCertificateSeqList(List<Long> sequenceNbrList,int current,int size) {
List<JgUseRegistrationManage> jgUseRegistrationManageList = this.baseMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationManage>()
.in(JgUseRegistrationManage::getSequenceNbr, sequenceNbrList)
.eq(JgUseRegistrationManage::getIsDelete, 0));
if (ValidationUtil.isEmpty(jgUseRegistrationManageList)){
return new Page<>();
}
List<JSONObject> list = new LinkedList<>();
long totle = 0;
Page<JSONObject> result = new Page<>(Optional.of(current).orElse(1), Optional.of(size).orElse(10));
Set<String> useOrgCodes = jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getUseRegistrationCode).collect(Collectors.toSet());
// es中通过查询【使用登记证编号】所有设备
SearchRequest request = new SearchRequest("idx_biz_view_jg_all");
SearchSourceBuilder builder = new SearchSourceBuilder();
builder.trackTotalHits(true);
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery("USE_ORG_CODE", useOrgCodes);
boolQuery.must(termsQuery);
builder.query(boolQuery);
builder.from((current - 1) * size);
builder.size(size);
request.source(builder);
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (SearchHit hit : response.getHits().getHits()) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject dto = jsonObject.getJSONObject("sourceAsMap");
list.add(dto);
}
totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value;
}catch (Exception e){
e.printStackTrace();
}
result.setRecords(list);
result.setTotal(totle);
return result;
}
}
\ No newline at end of file
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