add totalNumberValue for rank
This commit is contained in:
+17
-1
@@ -282,13 +282,29 @@ public class GaoEventRecordServiceImplement extends AbstractEntityService<GaoEve
|
||||
@Override
|
||||
public PageResult<GaoCustomerEventRankView> pageRankByRange(GaoEventRecordRankPage page) {
|
||||
TimiException.required(page.getStoreId(), "not found page.storeId");
|
||||
page.setTodayDateValue(dateValue(Time.now()));
|
||||
validateRankPage(page);
|
||||
if (page.getRankType() == GaoEventRecordRankPage.RankType.CONTINUOUS_DAYS) {
|
||||
page.setTodayDateValue(dateValue(Time.now()));
|
||||
}
|
||||
PageResult<GaoCustomerEventRankView> result = new PageResult<>();
|
||||
result.setTotal(mapper.countRankByRange(page));
|
||||
result.setList(mapper.selectRankByRange(page));
|
||||
return result;
|
||||
}
|
||||
|
||||
/// 校验登记数值排行的事件范围
|
||||
///
|
||||
/// @param page 排行榜查询请求
|
||||
private void validateRankPage(GaoEventRecordRankPage page) {
|
||||
if (page.getRankType() != GaoEventRecordRankPage.RankType.TOTAL_NUMBER_VALUE) {
|
||||
return;
|
||||
}
|
||||
List<String> eventIdList = page.getEventIdList();
|
||||
TimiException.requiredTrue(eventIdList != null && eventIdList.size() == 1, "按登记数值排行必须选择单个事件");
|
||||
GaoEvent event = eventService.mapByIdList(eventIdList).get(eventIdList.get(0));
|
||||
TimiException.requiredTrue(event != null && event.getValueType() == GaoEvent.ValueType.NUMBER, "按登记数值排行只能选择 NUMBER 事件");
|
||||
}
|
||||
|
||||
private void checkEventPermission(GaoEvent event) {
|
||||
List<String> roleCodeList = eventService.listRoleCode(event.getId());
|
||||
TimiException.requiredTrue(roleCodeList != null && !roleCodeList.isEmpty(), "登记事件未配置可登记角色");
|
||||
|
||||
@@ -29,6 +29,9 @@ public class GaoCustomerEventRankView {
|
||||
/// 最近连续登记天数
|
||||
private Long recentContinuousEventDays;
|
||||
|
||||
/// 登记数值合计
|
||||
private Long totalNumberValue;
|
||||
|
||||
/// 最后登记时间
|
||||
private Long latestRegisteredAt;
|
||||
}
|
||||
|
||||
@@ -41,6 +41,8 @@ public class GaoEventRecordRankPage extends BasePage {
|
||||
/// 按累计登记次数
|
||||
TOTAL_COUNT,
|
||||
/// 按最近连续登记天数
|
||||
CONTINUOUS_DAYS
|
||||
CONTINUOUS_DAYS,
|
||||
/// 按登记数值合计
|
||||
TOTAL_NUMBER_VALUE
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user