幸运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.business.service.room.RoomService;
|
||||||
import com.accompany.common.redis.RedisKey;
|
import com.accompany.common.redis.RedisKey;
|
||||||
import com.accompany.core.model.Room;
|
import com.accompany.core.model.Room;
|
||||||
import com.accompany.core.service.base.BaseService;
|
|
||||||
import com.accompany.sharding.model.Lucky24Record;
|
import com.accompany.sharding.model.Lucky24Record;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||||
@@ -28,7 +27,6 @@ import org.springframework.util.CollectionUtils;
|
|||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@@ -66,15 +64,7 @@ public class Lucky24MessageService implements InitializingBean {
|
|||||||
Gift gift = giftService.getGiftById(giftMessage.getGiftId());
|
Gift gift = giftService.getGiftById(giftMessage.getGiftId());
|
||||||
Date createTime = new Date(giftMessage.getCreateTime());
|
Date createTime = new Date(giftMessage.getCreateTime());
|
||||||
|
|
||||||
Optional<Lucky24Record> recordOptional = insertRecordIgnore(giftMessage);
|
Lucky24Record record = 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));
|
|
||||||
|
|
||||||
// 收礼者收益
|
// 收礼者收益
|
||||||
Lucky24GiftConfig config = sendService.getConfig();
|
Lucky24GiftConfig config = sendService.getConfig();
|
||||||
@@ -96,7 +86,7 @@ public class Lucky24MessageService implements InitializingBean {
|
|||||||
recordMessMap.fastRemove(giftMessage.getMessId());
|
recordMessMap.fastRemove(giftMessage.getMessId());
|
||||||
}
|
}
|
||||||
|
|
||||||
private Optional<Lucky24Record> insertRecordIgnore(Lucky24Message giftMessage) {
|
private Lucky24Record insertRecordIgnore(Lucky24Message giftMessage) {
|
||||||
|
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
long getPoolTime = 0;
|
long getPoolTime = 0;
|
||||||
@@ -144,7 +134,12 @@ public class Lucky24MessageService implements InitializingBean {
|
|||||||
insertTime - getPoolTime,
|
insertTime - getPoolTime,
|
||||||
endTime - startTime);
|
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
|
@Override
|
||||||
|
Reference in New Issue
Block a user