mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-12 04:16:51 +08:00
优化查询
This commit is contained in:
@@ -72,11 +72,10 @@ public class CasesRecommendApi extends ApiBaseController {
|
|||||||
PageList<CasesRecommend> page = iCasesRecommendService.page(casesRecommendVo.getPageIndex(), casesRecommendVo.getPageSize(), casesRecommendVo);
|
PageList<CasesRecommend> page = iCasesRecommendService.page(casesRecommendVo.getPageIndex(), casesRecommendVo.getPageSize(), casesRecommendVo);
|
||||||
// 组装查看率
|
// 组装查看率
|
||||||
page.getList().forEach(it -> {
|
page.getList().forEach(it -> {
|
||||||
List<CasesRecommendPushRecord> recordList = iCasesRecommendPushRecordService.findAllByRecommendId(it.getId());
|
List<CasesRecommendPushRecord> recordList = iCasesRecommendPushRecordService.findReadByRecommendId(it.getId());
|
||||||
if (CollectionUtil.isNotEmpty(recordList)) {
|
if (CollectionUtil.isNotEmpty(recordList)) {
|
||||||
// 查看率:查看率=案例查看人数(各案例查看人数之合)/(当条推荐记录包含的案例 × 用户数)
|
// 查看率:查看率=案例查看人数(各案例查看人数之合)/(当条推荐记录包含的案例 × 用户数)
|
||||||
long viewCount = recordList.stream().filter(record -> record.getReadFlag().equals(1)).count();
|
it.setViewRate(String.valueOf(recordList.size() * 100 / recordList.size()).concat("%"));
|
||||||
it.setViewRate(String.valueOf(viewCount * 100 / recordList.size()).concat("%"));
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ public interface ICasesRecommendPushRecordService {
|
|||||||
*/
|
*/
|
||||||
List<CasesRecommendPushRecord> findAllByRecommendId(String recommendId);
|
List<CasesRecommendPushRecord> findAllByRecommendId(String recommendId);
|
||||||
|
|
||||||
|
|
||||||
|
List<CasesRecommendPushRecord> findReadByRecommendId(String recommendId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重新推送或撤回
|
* 重新推送或撤回
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -159,6 +159,11 @@ public class CasesRecommendPushRecordServiceImpl implements ICasesRecommendPushR
|
|||||||
return casesRecommendPushRecordDao.findList(FieldFilters.eq("recommendId", recommendId));
|
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
|
@Override
|
||||||
public void rePushOrWithdraw(boolean isWithdraw, CasesRecommend casesRecommend) {
|
public void rePushOrWithdraw(boolean isWithdraw, CasesRecommend casesRecommend) {
|
||||||
if (ObjectUtil.isEmpty(casesRecommend)) {
|
if (ObjectUtil.isEmpty(casesRecommend)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user