优化查询

This commit is contained in:
Guava
2023-07-05 11:27:43 +08:00
parent a947b48b1b
commit c38edadbac
3 changed files with 10 additions and 3 deletions

View File

@@ -72,11 +72,10 @@ public class CasesRecommendApi extends ApiBaseController {
PageList<CasesRecommend> page = iCasesRecommendService.page(casesRecommendVo.getPageIndex(), casesRecommendVo.getPageSize(), casesRecommendVo);
// 组装查看率
page.getList().forEach(it -> {
List<CasesRecommendPushRecord> recordList = iCasesRecommendPushRecordService.findAllByRecommendId(it.getId());
List<CasesRecommendPushRecord> recordList = iCasesRecommendPushRecordService.findReadByRecommendId(it.getId());
if (CollectionUtil.isNotEmpty(recordList)) {
// 查看率:查看率=案例查看人数(各案例查看人数之合)/(当条推荐记录包含的案例 × 用户数)
long viewCount = recordList.stream().filter(record -> record.getReadFlag().equals(1)).count();
it.setViewRate(String.valueOf(viewCount * 100 / recordList.size()).concat("%"));
it.setViewRate(String.valueOf(recordList.size() * 100 / recordList.size()).concat("%"));
}
});

View File

@@ -26,6 +26,9 @@ public interface ICasesRecommendPushRecordService {
*/
List<CasesRecommendPushRecord> findAllByRecommendId(String recommendId);
List<CasesRecommendPushRecord> findReadByRecommendId(String recommendId);
/**
* 重新推送或撤回
*

View File

@@ -159,6 +159,11 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR
return casesRecommendPushRecordDao.findList(FieldFilters.eq("recommendId", recommendId));
}
@Override
public List<CasesRecommendPushRecord> findReadByRecommendId(String recommendId) {
return casesRecommendPushRecordDao.findList(FieldFilters.eq("recommendId", recommendId), FieldFilters.eq("readFlag", 1));
}
@Override
public void rePushOrWithdraw(boolean isWithdraw, CasesRecommend casesRecommend) {
if (ObjectUtil.isEmpty(casesRecommend)) {