Merge pull request 'fix:显示可疑文件列表新增提报时间排序和阈值排序' (#76) from fix/Suspicious_folder_list_sort into test

Reviewed-on: #76
pull/77/head
cuihaojie 1 year ago
commit 8ed963d3ce

@ -67,7 +67,8 @@ public class OcrTaskchildDubiousFileController {
public ResultVo<Page<OcrTaskChildPictureVo>> dubiousfilelist(HttpServletRequest request,
@RequestParam(value = "pageNo", required = false, defaultValue = "0") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize,
@RequestParam(value = "orderbyname", required = true, defaultValue = "asc") String orderbyname) {
@RequestParam(value = "orderByUptime",required = false) String orderByUptime,
@RequestParam(value = "orderBysimilarity",required = false) String orderBysimilarity) {
String tenantId = request.getHeader("X-Tenant-Id");
@ -97,7 +98,7 @@ public class OcrTaskchildDubiousFileController {
//
// //IPage<OcrPicture> page = ocrpictureservice.page(iPage, wrapper);
Page<OcrTaskChildPictureVo> page = ocrTaskchildDubiousFileService.dubiousfilelist(pageNo,pageSize,orderbyname,userToken,tenantId);
Page<OcrTaskChildPictureVo> page = ocrTaskchildDubiousFileService.dubiousfilelist(pageNo,pageSize,orderByUptime,orderBysimilarity,userToken,tenantId);
return ResultVoUtil.success(page);
}

@ -17,6 +17,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IOcrTaskchildDubiousFileService extends IService<OcrTaskchildDubiousFile> {
Page<OcrTaskChildPictureVo> dubiousfilelist(Integer pageNo, Integer pageSize, String orderbyname, UserToken userToken, String tenantId);
Page<OcrTaskChildPictureVo> dubiousfilelist(Integer pageNo, Integer pageSize,String orderByUptime,String orderBysimilarity,UserToken userToken, String tenantId);
}

@ -2,6 +2,7 @@ package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.jyjz.flowable.common.ProcessConstant;
import cn.jyjz.xiaoyao.common.base.util.StringUtils;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildDubiousFileMapper;
@ -47,13 +48,14 @@ public class OcrTaskchildDubiousFileServiceImpl extends ServiceImpl<OcrTaskchild
*
* @param pageNo
* @param pageSize
* @param orderbyname
* @param orderByUptime
* @param orderBysimilarity
* @param userToken
* @param tenantId
* @return
*/
@Override
public Page<OcrTaskChildPictureVo> dubiousfilelist(Integer pageNo, Integer pageSize, String orderbyname, UserToken userToken, String tenantId) {
public Page<OcrTaskChildPictureVo> dubiousfilelist(Integer pageNo, Integer pageSize,String orderByUptime,String orderBysimilarity,UserToken userToken, String tenantId) {
Page<OcrTaskChildPictureVo> objectPage = new Page<>(Integer.valueOf(pageNo), Integer.valueOf(pageSize));
@ -74,13 +76,41 @@ public class OcrTaskchildDubiousFileServiceImpl extends ServiceImpl<OcrTaskchild
List<OcrTaskChildPictureVo> taskChildPictures = ocrTaskchildPictureService.getDubiousfileList(new ArrayList<>(pictureIdList), userNodeType);
if (CollUtil.isNotEmpty(taskChildPictures)) {
//按时间字段排序
if ("desc".equals(orderbyname)) {
taskChildPictures.sort(Comparator.comparing(OcrTaskChildPictureVo::getSubmitDateTimestamp).reversed());
Comparator<OcrTaskChildPictureVo> comparator = null;
// 判断 orderByUptime 是否不为空
if (orderByUptime != null && StringUtils.isNotEmpty(orderByUptime)) {
if ("asc".equals(orderByUptime)) {
comparator = Comparator.comparing(OcrTaskChildPictureVo::getSubmitDateTimestamp);
} else if ("desc".equals(orderByUptime)) {
comparator = Comparator.comparing(OcrTaskChildPictureVo::getSubmitDateTimestamp).reversed();
}
}
// 判断 orderBysimilarity 是否不为空
if (orderBysimilarity != null && StringUtils.isNotEmpty(orderBysimilarity)) {
Comparator<OcrTaskChildPictureVo> similarityComparator = null;
if ("asc".equals(orderBysimilarity)) {
similarityComparator = Comparator.comparing(OcrTaskChildPictureVo::getSimilarityScore);
} else if ("desc".equals(orderBysimilarity)) {
similarityComparator = Comparator.comparing(OcrTaskChildPictureVo::getSimilarityScore).reversed();
}
// 如果 orderByUptime 和 orderBysimilarity 都不为空,则先按照 orderBysimilarity 排序
if (comparator != null) {
comparator = comparator.thenComparing(similarityComparator);
} else {
taskChildPictures.sort(Comparator.comparing(OcrTaskChildPictureVo::getSubmitDateTimestamp));
comparator = similarityComparator;
}
}
// 进行排序
if (comparator != null) {
taskChildPictures.sort(comparator);
}
List<OcrTaskChildPictureVo> records = taskChildPictures.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
objectPage.setRecords(records);
objectPage.setTotal(taskChildPictures.size());

Loading…
Cancel
Save