diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java index 7a78e8be..907fd0a9 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java @@ -72,10 +72,11 @@ public class CasesRecommendApi extends ApiBaseController { PageList page = iCasesRecommendService.page(casesRecommendVo.getPageIndex(), casesRecommendVo.getPageSize(), casesRecommendVo); // 组装查看率 page.getList().forEach(it -> { - List recordList = iCasesRecommendPushRecordService.findReadByRecommendId(it.getId()); + List recordList = iCasesRecommendPushRecordService.findAllByRecommendId(it.getId()); if (CollectionUtil.isNotEmpty(recordList)) { + List collect = recordList.stream().filter(casesRecommendPushRecord -> casesRecommendPushRecord.getReadFlag().equals(1)).collect(Collectors.toList()); // 查看率:查看率=案例查看人数(各案例查看人数之合)/(当条推荐记录包含的案例 × 用户数) - it.setViewRate(String.valueOf(recordList.size() * 100 / recordList.size()).concat("%")); + it.setViewRate(String.valueOf(collect.size() * 100 / recordList.size()).concat("%")); } }); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/AsyncSendCasesRecommendService.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/AsyncSendCasesRecommendService.java index c2f235eb..a0f0bcff 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/AsyncSendCasesRecommendService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/AsyncSendCasesRecommendService.java @@ -64,7 +64,7 @@ public class AsyncSendCasesRecommendService { } //修改为推送中 updateProcessStatus(casesRecommend.getId(), CasesPushStatusEnum.PUSH_ING.getStatus()); - List caseIds = casesRecommendPushRecords.stream().map(CasesRecommendPushRecord::getCaseId).collect(Collectors.toList()); + List caseIds = casesRecommendPushRecords.stream().map(CasesRecommendPushRecord::getCaseId).distinct().collect(Collectors.toList()); if (caseIds.size() > 1) { sendMixCaseRecommend(casesRecommendPushRecords); } else { diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendLaunchImportServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendLaunchImportServiceImpl.java index 047c599f..1d963fc6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendLaunchImportServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendLaunchImportServiceImpl.java @@ -38,6 +38,12 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau if (CollectionUtil.isEmpty(dataList) || dataList.size() < 1) { throw new RuntimeException("导入数据为空"); } + if (dataList.size() == 1) { + String caseTitle = dataList.get(0).get(0).toString(); + if (!"标题".equals(caseTitle)) { + throw new RuntimeException("导入模版错误"); + } + } int totalNum = dataList.size() - 1; int successNum = 0; int failNum = 0;