活动新增历史查询功能
This commit is contained in:
parent
3e97b989c7
commit
04d3b818a0
@ -1,5 +1,6 @@
|
||||
package com.red.circle.other.app.command.activity.query;
|
||||
|
||||
import com.red.circle.framework.core.asserts.ResponseAssert;
|
||||
import com.red.circle.other.app.convertor.user.RankingActivityConvertor;
|
||||
import com.red.circle.other.app.convertor.user.UserProfileAppConvertor;
|
||||
import com.red.circle.other.app.dto.clientobject.activity.RankingActivityRecordCO;
|
||||
@ -14,6 +15,8 @@ import com.red.circle.other.domain.ranking.RankingDimension;
|
||||
import com.red.circle.other.infra.database.mongo.entity.activity.RankingActivityRecord;
|
||||
import com.red.circle.other.infra.database.mongo.entity.activity.WeekKingQueenCount;
|
||||
import com.red.circle.other.infra.gateway.RankingActivityGateway;
|
||||
import com.red.circle.other.inner.endpoint.sys.SysActivityConfigClient;
|
||||
import com.red.circle.other.inner.model.dto.sys.ActivityConfigDTO;
|
||||
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
|
||||
import com.red.circle.tool.core.date.ZonedDateTimeAsiaRiyadhUtils;
|
||||
import com.red.circle.tool.core.num.NumUtils;
|
||||
@ -42,12 +45,18 @@ public class RankingListQryExe {
|
||||
private final RankingActivityConvertor convertor;
|
||||
private final UserProfileGateway userProfileGateway;
|
||||
private final UserProfileAppConvertor userProfileAppConvertor;
|
||||
private final SysActivityConfigClient sysActivityConfigClient;
|
||||
|
||||
public RankingListCO execute(RankingListQueryCmd cmd) {
|
||||
// 获取枚举
|
||||
RankingActivityType activityType = RankingActivityType.getByCode(cmd.getActivityType());
|
||||
RankingCycleType cycleType = cmd.getCycleType() != null ? RankingCycleType.getByCode(cmd.getCycleType()) : RankingCycleType.WEEKLY;
|
||||
|
||||
ActivityConfigDTO activityConfigDTO = ResponseAssert.requiredSuccess(sysActivityConfigClient.effectiveActivityByTemplate(-1L, activityType.name()));
|
||||
if (activityConfigDTO != null && cycleType == RankingCycleType.WEEKLY && activityConfigDTO.status() == 2) {
|
||||
cmd.setCycleKey( ZonedDateTimeAsiaRiyadhUtils.getLastWeekMonday().format(DateTimeFormatter.ofPattern("yyyyMMdd")) );
|
||||
}
|
||||
|
||||
// 查询排行榜列表
|
||||
List<RankingActivityRecord> records = rankingActivityGateway.getRankingList(
|
||||
cmd.getReqSysOrigin().getOrigin(),
|
||||
|
||||
@ -43,7 +43,7 @@ public class WeekKingQueenActivityExe {
|
||||
query.setTemplateId(Long.parseLong(templateId));
|
||||
}
|
||||
|
||||
ActivityConfigDTO activityConfigDTO = ResponseAssert.requiredSuccess(sysActivityConfigClient.effectiveActivityConf(query));
|
||||
ActivityConfigDTO activityConfigDTO = ResponseAssert.requiredSuccess(sysActivityConfigClient.effectiveActivityByTemplate(query.getTemplateId(), ""));
|
||||
|
||||
if (activityConfigDTO == null) {
|
||||
return null;
|
||||
|
||||
@ -240,9 +240,17 @@ public class ActivityConfigServiceImpl implements ActivityConfigService {
|
||||
}
|
||||
|
||||
public ActivityConfig getShowcaseActivityConf(Long templateId, String activityType) {
|
||||
if (activityType.isBlank() && (templateId == null || templateId <= 0)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Criteria criteria = Criteria.where("showcase").is(true);
|
||||
criteria.and("templateId").is(templateId);
|
||||
criteria.and("activityType").is(activityType);
|
||||
if (templateId != null && templateId > 0) {
|
||||
criteria.and("templateId").is(templateId);
|
||||
}
|
||||
if (!activityType.isBlank()) {
|
||||
criteria.and("activityType").is(activityType);
|
||||
}
|
||||
|
||||
return mongoTemplate.findOne(Query.query(criteria)
|
||||
.with(Sort.by(Sort.Order.desc("id")))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user