添加英语2区分区,房间日流水机器人

This commit is contained in:
2025-03-31 11:06:37 +08:00
parent 67a2e4b163
commit 765b928be4
7 changed files with 92 additions and 9 deletions

View File

@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@ApiModel
@Data
@@ -46,4 +47,9 @@ public class RoomDayDiamondRewardRecordVo {
@ExcelProperty("操作人")
@ApiModelProperty("操作人")
private String operator;
@ExcelIgnore
private Date createTime;
@ApiModelProperty("发放时间")
@ExcelProperty("操作人")
private String sendTime;
}

View File

@@ -18,4 +18,6 @@ public interface RoomDayDiamondRewardRecordService extends IService<RoomDayDiamo
String startDate, String endDate, Integer status, Integer pageNo, Integer pageSize);
BusiResult send(Long id, Integer adminId);
void loadDayDataRobotSend(Integer partitionId, String startDate, String endDate);
}

View File

@@ -102,6 +102,9 @@ public class RoomDayDiamondRewardRecordServiceImpl extends ServiceImpl<RoomDayDi
collect.stream().distinct()
.forEach(x -> partitionTreeMap.put(x, roomDayDiamondRewardService.getRewardTreeMapByPartitionId(partitionId)));
for (RoomDayDiamondRewardRecordVo row : rows) {
if (row.getCreateTime() != null) {
row.setSendTime(DateUtil.formatDateTime(row.getCreateTime()));
}
if (row.getRewardGold() != null) {
continue;
}
@@ -168,27 +171,52 @@ public class RoomDayDiamondRewardRecordServiceImpl extends ServiceImpl<RoomDayDi
return BusiResult.success();
}
@Override
public void loadDayDataRobotSend(Integer partitionId, String startDate, String endDate) {
LambdaQueryWrapper<RoomDayDiamondRewardRecord> wrapper = Wrappers.lambdaQuery();
wrapper.eq(RoomDayDiamondRewardRecord::getPartitionId, partitionId)
.ge(RoomDayDiamondRewardRecord::getCreateTime, startDate).
le(RoomDayDiamondRewardRecord::getCreateTime, endDate);
List<RoomDayDiamondRewardRecord> rewardRecords = baseMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(rewardRecords)) {
log.info("loadDayDataRobotSend.empty.partitionId{}, startDate:{},endDate:{}", partitionId, startDate, endDate);
return;
}
Integer roomNum = 0;
BigDecimal diamondNum = BigDecimal.ZERO;
BigDecimal coins = BigDecimal.ZERO;
for (RoomDayDiamondRewardRecord rewardRecord : rewardRecords) {
roomNum ++;
diamondNum = diamondNum.add(rewardRecord.getDiamondNum());
coins = coins.add(rewardRecord.getRewardGold());
}
this.sendRobotMsg(partitionId, startDate, roomNum, diamondNum, coins);
}
private Boolean checkExist(Integer partitionId, Long roomUid, String statDate) {
LambdaQueryWrapper<RoomDayDiamondRewardRecord> wrapper = Wrappers.lambdaQuery();
wrapper.eq(RoomDayDiamondRewardRecord::getPartitionId, partitionId).eq(RoomDayDiamondRewardRecord::getRoomUid, roomUid).eq(RoomDayDiamondRewardRecord::getStatDate, statDate);
return baseMapper.selectCount(wrapper) > 0;
}
private void sendRobotMsg(Integer partitionId, Long agentErbanNo, Long erbanNo, Long coins) {
private void sendRobotMsg(Integer partitionId, String statDate, Integer roomNum, BigDecimal diamondNum, BigDecimal coins) {
String key;
if (envComponent.getDevOrNativeEnv()) {
key = "474c92e5-385d-4b6a-b606-b33769f59457";
key = "ce275432-117d-4016-9f24-3410f1d54e4d";
} else {
key = "37355bec-05c4-4168-8287-51c8fcfd1475";
}
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId);
String title = " WEB-API代理充值(" + partitionEnum.getDesc() + "区)";
String title = "每日钻石流水金币发放";
MarkdownMessage msg = new MarkdownMessage();
msg.add(MarkdownMessage.getHeaderText(3, title));
msg.add(MarkdownMessage.getReferenceText("充值用户ID " + erbanNo));
msg.add(MarkdownMessage.getReferenceText("充值使用的代理ID " + agentErbanNo));
msg.add(MarkdownMessage.getReferenceText("充值coins " + coins));
msg.add(MarkdownMessage.getReferenceText("充值时间GMT+8 " + DateUtil.formatDateTime(new Date())));
msg.add(MarkdownMessage.getReferenceText("区域 " + partitionEnum.getDesc()));
msg.add(MarkdownMessage.getReferenceText("发放日期(操作发放的时间) " + statDate));
msg.add(MarkdownMessage.getReferenceText("发放房间个数 " + roomNum));
msg.add(MarkdownMessage.getReferenceText("发放房间钻石流水总值 " + diamondNum));
msg.add(MarkdownMessage.getReferenceText("发放总金币数: " + coins));
messageRobotPushService.pushMessageByKey(key, msg, false);
}
}

View File

@@ -15,7 +15,8 @@
reward.reward_gold rewardGold,
au.username operator,
pi.`desc` partitionIdDesc,
if(reward.id is null, 0, 1) `status`
if(reward.id is null, 0, 1) `status`,
reward.create_time createTime
FROM
room_day_diamond_num rn
LEFT JOIN room_day_diamond_reward_record reward ON rn.partition_id = reward.partition_id

View File

@@ -3,6 +3,7 @@ package com.accompany.business.controller.guild;
import cn.hutool.core.date.DateUtil;
import com.accompany.business.service.guild.AgencyMonthSettleService;
import com.accompany.business.service.guild.GuildMessageService;
import com.accompany.business.service.room.RoomDayDiamondRewardRecordService;
import com.accompany.common.annotation.Authorization;
import com.accompany.common.result.BusiResult;
import com.accompany.core.base.UidContextHolder;
@@ -52,4 +53,12 @@ public class GuildTestController {
agencyMonthSettleService.monthRankTaskDetail(PartitionEnum.ARAB.getId(), DateUtil.parseDate(beginDate), DateUtil.parseDate(endDate));
}
@Autowired
public RoomDayDiamondRewardRecordService roomDayDiamondRewardRecordService;
@Authorization
@RequestMapping(value = "loadDayDataRobotSend")
public void loadDayDataRobotSend(Integer partitionId, String startDate, String endDate) {
roomDayDiamondRewardRecordService.loadDayDataRobotSend(partitionId, startDate, endDate);
}
}

View File

@@ -0,0 +1,37 @@
package com.accompany.scheduler.task.room;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.accompany.business.service.room.RoomDayDiamondRewardRecordService;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.enumeration.PartitionEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.time.ZonedDateTime;
import java.util.Date;
@Slf4j
@Component
public class RoomDayDiamondTask {
@Autowired
private RoomDayDiamondRewardRecordService roomDayDiamondRewardRecordService;
/**
* 英语2区的数据
*/
@Scheduled(cron = "0 13 0 * * ?")
public void roomLevelDayExpTask() {
Date date = new Date();
PartitionEnum partitionEnum = PartitionEnum.ENGLISH2;
ZonedDateTime zonedDateTime = DateTimeUtil.convertWithZoneId(date, partitionEnum.getZoneId());
String startDate = zonedDateTime.withHour(0).withMinute(0).withSecond(0).format(DateTimeUtil.datetimeFormatter);
String endDate = zonedDateTime.withHour(23).withMinute(59).withSecond(59).format(DateTimeUtil.datetimeFormatter);
log.info("RoomDayDiamondTask start,startDate:{},endDate:{},date:{}==============", startDate, endDate, DateUtil.formatDateTime(date));
roomDayDiamondRewardRecordService.loadDayDataRobotSend(partitionEnum.getId(), startDate, endDate);
log.info("RoomDayDiamondTask end,startDate:{},endDate:{},date:{}==============", startDate, endDate, DateUtil.formatDateTime(date));
}
}

View File

@@ -21,7 +21,7 @@ public class RoomLevelDayExpTask {
/**
* 加载东三区的数据
*/
@Scheduled(cron = "0 13 4 * * ?")
@Scheduled(cron = "0 13 5 * * ?")
public void roomLevelDayExpTask() {
Date date = new Date();
String dateStr = DateUtil.format(DateUtil.offsetDay(date, -1), DatePattern.PURE_DATE_PATTERN);