日常任务-优化代码
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -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()) {
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user