幸运24-雪花主键-mq-取消根据insertRow跳出机制,依赖mq消费重试保证简单事务最终一致性
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user