桌球争霸赛-上榜条件-对局时长
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package com.accompany.business.constant;
|
||||
package com.accompany.business.snooker.constant;
|
||||
|
||||
public class SnookerActConstant {
|
||||
|
@@ -0,0 +1,11 @@
|
||||
package com.accompany.business.snooker.dto;
|
||||
|
||||
import com.accompany.business.common.dto.RoundRankActConfigDto;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SnookerActConfigDto extends RoundRankActConfigDto {
|
||||
|
||||
private Integer durationCondition;
|
||||
|
||||
}
|
@@ -7,6 +7,7 @@ import com.accompany.business.dto.miniGame.PlayerResultDto;
|
||||
import com.accompany.business.event.MiniGameSettlementEvent;
|
||||
import com.accompany.business.model.miniGame.MiniGame;
|
||||
import com.accompany.business.service.miniGame.MiniGameService;
|
||||
import com.accompany.business.snooker.dto.SnookerActConfigDto;
|
||||
import com.accompany.business.snooker.service.SnookerRankService;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -39,7 +40,7 @@ public class SnookerRankMiniGameListener implements ApplicationListener<MiniGame
|
||||
Date gameEndTime = new Date((gameEndDto.getBattle_end_at().longValue() * 1000L));
|
||||
LocalDateTime gameEndLocalDateTime = DateTimeUtil.converDateToLocalDateTime(gameEndTime);
|
||||
|
||||
RoundRankActConfigDto config = service.getConfig();
|
||||
SnookerActConfigDto config = service.getConfig();
|
||||
if (!config.inActTimeRange(gameEndLocalDateTime)){
|
||||
return;
|
||||
}
|
||||
@@ -62,6 +63,11 @@ public class SnookerRankMiniGameListener implements ApplicationListener<MiniGame
|
||||
}
|
||||
|
||||
Integer duration = gameEndDto.getBattle_duration();
|
||||
if (null != config.getDurationCondition()
|
||||
&& config.getDurationCondition().compareTo(duration) > 0){
|
||||
return;
|
||||
}
|
||||
|
||||
Optional<PlayerResultDto> winner = gameEndDto.getResults().stream()
|
||||
.filter(playerResult-> winnerStatus == playerResult.getIs_win())
|
||||
.findAny();
|
||||
|
@@ -1,12 +1,12 @@
|
||||
package com.accompany.business.snooker.service;
|
||||
|
||||
import com.accompany.business.annual.dto.AnnualRoomConfigDto;
|
||||
import com.accompany.business.base.rankobj.UsersRankObjectProvider;
|
||||
import com.accompany.business.base.service.BaseRoundRankActService;
|
||||
import com.accompany.business.common.constant.RankRoundEnum;
|
||||
import com.accompany.business.common.dto.RoundRankActConfigDto;
|
||||
|
||||
import com.accompany.business.constant.SnookerActConstant;
|
||||
import com.accompany.business.snooker.constant.SnookerActConstant;
|
||||
import com.accompany.business.snooker.dto.SnookerActConfigDto;
|
||||
import com.accompany.common.constant.AppEnum;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
@@ -47,12 +47,12 @@ public class SnookerRankService extends BaseRoundRankActService<UsersRankObjectP
|
||||
return getConfig();
|
||||
}
|
||||
|
||||
public RoundRankActConfigDto getConfig(){
|
||||
public SnookerActConfigDto getConfig(){
|
||||
String configStr = sysConfService.getSysConfValueById(SnookerActConstant.SysConfId.ACT_RANK_CONFIG);
|
||||
if (!StringUtils.hasText(configStr)){
|
||||
throw new ServiceException(BusiStatus.ALREADY_NOTEXISTS_CONFIG);
|
||||
}
|
||||
return JSON.parseObject(configStr, AnnualRoomConfigDto.class);
|
||||
return JSON.parseObject(configStr, SnookerActConfigDto.class);
|
||||
}
|
||||
|
||||
public void updateRank(Long uid, RankRoundEnum curRound, Integer duration) {
|
||||
|
Reference in New Issue
Block a user