幸运24-雪花主键-mq-取消根据insertRow跳出机制,依赖mq消费重试保证简单事务最终一致性

This commit is contained in:
2025-09-12 13:35:23 +08:00
parent e027c783e6
commit 158c9786e4

View File

@@ -13,7 +13,6 @@ import com.accompany.business.service.lucky.rank.Lucky24SendWeekRankService;
import com.accompany.business.service.room.RoomService;
import com.accompany.common.redis.RedisKey;
import com.accompany.core.model.Room;
import com.accompany.core.service.base.BaseService;
import com.accompany.sharding.model.Lucky24Record;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
@@ -28,7 +27,6 @@ import org.springframework.util.CollectionUtils;
import java.util.Collections;
import java.util.Date;
import java.util.Optional;
@Slf4j
@Service
@@ -66,15 +64,7 @@ public class Lucky24MessageService implements InitializingBean {
Gift gift = giftService.getGiftById(giftMessage.getGiftId());
Date createTime = new Date(giftMessage.getCreateTime());
Optional<Lucky24Record> recordOptional = insertRecordIgnore(giftMessage);
if (recordOptional.isEmpty()){
return;
}
Lucky24Record record = recordOptional.get();
log.info("【处理lucky24 mq】 record 插入成功 messId:{} recordId:{} record:{}",
giftMessage.getMessId(), record.getId(), JSON.toJSONString(record));
Lucky24Record record = insertRecordIgnore(giftMessage);
// 收礼者收益
Lucky24GiftConfig config = sendService.getConfig();
@@ -96,7 +86,7 @@ public class Lucky24MessageService implements InitializingBean {
recordMessMap.fastRemove(giftMessage.getMessId());
}
private Optional<Lucky24Record> insertRecordIgnore(Lucky24Message giftMessage) {
private Lucky24Record insertRecordIgnore(Lucky24Message giftMessage) {
long startTime = System.currentTimeMillis();
long getPoolTime = 0;
@@ -144,7 +134,12 @@ public class Lucky24MessageService implements InitializingBean {
insertTime - getPoolTime,
endTime - startTime);
return Optional.ofNullable(insertRow > 0 ? record : null);
if (insertRow > 0){
log.info("【处理lucky24 mq】 record 插入成功 messId:{} recordId:{} record:{}",
giftMessage.getMessId(), record.getId(), JSON.toJSONString(record));
}
return record;
}
@Override