日常任务-优化代码

This commit is contained in:
2025-09-05 18:41:55 +08:00
parent c018c64d6a
commit 0e67b34133
4 changed files with 28 additions and 28 deletions

View File

@@ -26,7 +26,6 @@ import org.redisson.api.RBucket;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.redisson.client.codec.IntegerCodec;
import org.redisson.client.codec.LongCodec;
import org.redisson.codec.TypedJsonJacksonCodec;
import org.springframework.beans.factory.annotation.Autowired;
@@ -222,7 +221,8 @@ public abstract class AbstractDailyTaskHandler implements DailyTaskHandler {
}
protected RMap<Long, Long> sendGiftNum(DailyTaskTypeEnum dailyTaskTypeEnum, Integer partitionId, String todayDate) {
return redissonClient.getMap(send_gift_num.getKey(partitionId.toString(), dailyTaskTypeEnum.name(), todayDate), LongCodec.INSTANCE);
return redissonClient.getMap(send_gift_num.getKey(partitionId.toString(), dailyTaskTypeEnum.name(), todayDate),
new TypedJsonJacksonCodec(Long.class, Long.class));
}

View File

@@ -68,9 +68,13 @@ public class DailyTaskService {
* @param dailyProgressContext
*/
public void executeProgress(DailyTaskTypeEnum taskType, DailyProgressContext dailyProgressContext) {
dailyProgressContext.setTaskType(taskType);
DailyTaskHandler handler = taskHandlerRegistry.getHandler(taskType.getHandlerType());
handler.executeProgress(dailyProgressContext);
try {
dailyProgressContext.setTaskType(taskType);
DailyTaskHandler handler = taskHandlerRegistry.getHandler(taskType.getHandlerType());
handler.executeProgress(dailyProgressContext);
} catch (Exception e) {
log.error("DailyTaskService:executeProgress.error:{}", e.getMessage(), e);
}
}
/**

View File

@@ -34,7 +34,7 @@ public class RoomSendBravoNumHandler extends AbstractDailyTaskHandler {
return;
}
RMap<Long, Long> sendGoldNum = sendGiftNum(ROOM_SEND_BRAVO_NUM, partitionId, todayDate);
Long addAndGet = sendGoldNum.addAndGet(uid, progressContext.getGiftNum());
Long addAndGet = sendGoldNum.addAndGet(uid, progressContext.getGiftNum().longValue());
sendGoldNum.expire(Duration.ofDays(EXPIRE_DAY));
DailyTaskConfig dailyTaskConfig = dailyTaskConfigService.getByPartTaskKey(partitionId, ROOM_SEND_BRAVO_NUM.name());
if (dailyTaskConfig != null && addAndGet != null && addAndGet >= dailyTaskConfig.getReachNum()) {

View File

@@ -23,27 +23,23 @@ public class DailyTaskGiftListener implements ApplicationListener<GiftMessageEve
@Async
@Override
public void onApplicationEvent(GiftMessageEvent event) {
try {
GiftMessage giftMessage = (GiftMessage) event.getSource();
DailyProgressContext dailyProgressContext = DailyProgressContext.builder()
.roomUid(giftMessage.getRoomUid())
.uid(giftMessage.getSendUid())
.recvUid(giftMessage.getRecvUid())
.giftType(giftMessage.getGiftType())
.giftNum(giftMessage.getGiftNum())
.recvGoldNum(giftMessage.getRealGoldNum())
.createTime(new Date(giftMessage.getMessTime()))
.partitionId(giftMessage.getPartitionId())
.build();
dailyTaskService.executeProgress(DailyTaskTypeEnum.RECV_LUCKY_GIFT, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.RECV_NOMAL_GIFT_GOLD, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.RECV_NOMAL_GIFT, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.ROOM_SEND_GIFT, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.ROOM_SEND_NOMAL_GIFT_GOLD, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.ROOM_SEND_LUCKY_NUM, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.ROOM_SEND_BRAVO_NUM, dailyProgressContext);
} catch (Exception e) {
log.error("DailyTaskGiftListener:e.getMessage:{}", e.getMessage(), e);
}
GiftMessage giftMessage = (GiftMessage) event.getSource();
DailyProgressContext dailyProgressContext = DailyProgressContext.builder()
.roomUid(giftMessage.getRoomUid())
.uid(giftMessage.getSendUid())
.recvUid(giftMessage.getRecvUid())
.giftType(giftMessage.getGiftType())
.giftNum(giftMessage.getGiftNum())
.recvGoldNum(giftMessage.getRealGoldNum())
.createTime(new Date(giftMessage.getMessTime()))
.partitionId(giftMessage.getPartitionId())
.build();
dailyTaskService.executeProgress(DailyTaskTypeEnum.RECV_LUCKY_GIFT, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.RECV_NOMAL_GIFT_GOLD, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.RECV_NOMAL_GIFT, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.ROOM_SEND_GIFT, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.ROOM_SEND_NOMAL_GIFT_GOLD, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.ROOM_SEND_LUCKY_NUM, dailyProgressContext);
dailyTaskService.executeProgress(DailyTaskTypeEnum.ROOM_SEND_BRAVO_NUM, dailyProgressContext);
}
}