土耳其新政策添加上麦时长
This commit is contained in:
@@ -6,6 +6,7 @@ import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.service.guild.GuildAuthService;
|
||||
import com.accompany.business.service.guild.GuildMemberService;
|
||||
import com.accompany.business.service.guild.GuildService;
|
||||
import com.accompany.business.service.room.RoomMicService;
|
||||
import com.accompany.business.util.FullMonthCycleTimeUtil;
|
||||
import com.accompany.business.vo.guild.CycleDateVo;
|
||||
import com.accompany.business.vo.guildpolicy.GuildPolicy2PersonalVo;
|
||||
@@ -25,6 +26,8 @@ import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static com.accompany.common.constant.Constant.ClanMode.GUILD_POLICY2;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class GuildPolicy2Service {
|
||||
@@ -38,6 +41,8 @@ public class GuildPolicy2Service {
|
||||
private GuildMemberService guildMemberService;
|
||||
@Autowired
|
||||
private GuildAuthService guildAuthService;
|
||||
@Autowired
|
||||
private RoomMicService roomMicService;
|
||||
|
||||
public BusiResult<GuildPolicy2Vo> getGuildPolicy2(Long uid, String cycleBeginDate) {
|
||||
GuildPolicy2Vo guildPolicy2Vo = new GuildPolicy2Vo();
|
||||
@@ -113,4 +118,21 @@ public class GuildPolicy2Service {
|
||||
return BusiResult.success(cycleDateVos);
|
||||
|
||||
}
|
||||
|
||||
public void statMicSecond(GuildMember guildMember, Long entreTimestamp, Long timestamp) {
|
||||
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(guildMember.getPartitionId());
|
||||
if (!GUILD_POLICY2.equals(partitionEnum.getClanMode())) {
|
||||
return;
|
||||
}
|
||||
Map<String, Integer> durationMap = roomMicService.calUserUpMicDuration(entreTimestamp, timestamp, guildMember.getPartitionId());
|
||||
if (durationMap.size() > 0) {
|
||||
for (Map.Entry<String, Integer> entry : durationMap.entrySet()) {
|
||||
Integer second = entry.getValue() * 60;
|
||||
String statDate = entry.getKey();
|
||||
Date beginOfMonth = DateUtil.beginOfMonth(DateUtil.parseDate(statDate));
|
||||
String cycleDate = DateUtil.formatDate(beginOfMonth);
|
||||
guildDiamondStatisticsPolicy2Service.updateDayDiamondStatistics(cycleDate, statDate, guildMember, 0, second);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -4,6 +4,7 @@ import com.accompany.business.constant.family.FamilyConstant;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.param.MicQueueParam;
|
||||
import com.accompany.business.service.guild.GuildMemberService;
|
||||
import com.accompany.business.service.guildpolicy2.GuildPolicy2Service;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
@@ -23,10 +24,13 @@ import org.redisson.api.RSet;
|
||||
import org.redisson.api.RedissonClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.accompany.common.constant.Constant.ClanMode.GUILD_POLICY2;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoomMicRecordMapper, GuildMemberRoomMicRecord> {
|
||||
@@ -37,6 +41,8 @@ public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoom
|
||||
private RoomService roomService;
|
||||
@Autowired
|
||||
private GuildMemberService guildMemberService;
|
||||
@Autowired
|
||||
private GuildPolicy2Service guildPolicy2Service;
|
||||
|
||||
@SneakyThrows
|
||||
public void cacheRecordAndSave(MicQueueParam micQueueParam) {
|
||||
@@ -53,7 +59,11 @@ public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoom
|
||||
Long uid = null != micQueueParam.getBelongTo()? micQueueParam.getBelongTo(): micQueueParam.getOperator();
|
||||
|
||||
GuildMember guildMember = guildMemberService.getVaildGuildMemberByUid(uid);
|
||||
if (null == guildMember || guildMember.getPartitionId() == PartitionEnum.ARAB.getId()){
|
||||
if (null == guildMember){
|
||||
return;
|
||||
}
|
||||
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(guildMember.getPartitionId());
|
||||
if (!GUILD_POLICY2.equals(partitionEnum.getClanMode()) && guildMember.getPartitionId() == PartitionEnum.ARAB.getId()){
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -77,8 +87,12 @@ public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoom
|
||||
Long uid = entry.getValue();
|
||||
|
||||
GuildMember guildMember = guildMemberMap.get(uid);
|
||||
if (null == guildMember || guildMember.getPartitionId() == PartitionEnum.ARAB.getId()){
|
||||
continue;
|
||||
if (null == guildMember){
|
||||
return;
|
||||
}
|
||||
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(guildMember.getPartitionId());
|
||||
if (!GUILD_POLICY2.equals(partitionEnum.getClanMode()) && guildMember.getPartitionId() == PartitionEnum.ARAB.getId()){
|
||||
return;
|
||||
}
|
||||
|
||||
record(qEvent, timestamp, guildMember, roomUid, roomId, pos);
|
||||
@@ -118,7 +132,6 @@ public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoom
|
||||
long remainMillisecond = timestamp - entreTimestamp;
|
||||
log.info("[下麦结算计算时间] uid {} roomUid {} roomId {} pos {} entreTimestamp {} timestamp {} remainMillisecond {}",
|
||||
uid, roomUid, roomId, pos, entreTimestamp, timestamp, remainMillisecond);
|
||||
|
||||
//save
|
||||
GuildMemberRoomMicRecord record = new GuildMemberRoomMicRecord();
|
||||
record.setUid(uid);
|
||||
@@ -132,6 +145,8 @@ public class GuildMemberRoomMicRecordService extends ServiceImpl<GuildMemberRoom
|
||||
record.setDownTime(new Date(timestamp));
|
||||
record.setRemainTime(remainMillisecond);
|
||||
save(record);
|
||||
|
||||
guildPolicy2Service.statMicSecond(guildMember, entreTimestamp, timestamp);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user