diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/gift/Lucky24MessageService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/gift/Lucky24MessageService.java index 98d08b1bb..5bde427c3 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/gift/Lucky24MessageService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/gift/Lucky24MessageService.java @@ -28,6 +28,7 @@ import org.springframework.util.CollectionUtils; import java.util.Collections; import java.util.Date; +import java.util.Optional; @Slf4j @Service @@ -96,7 +97,12 @@ public class Lucky24MessageService extends BaseService implements InitializingBe Gift gift = giftService.getGiftById(giftMessage.getGiftId()); Date createTime = new Date(giftMessage.getCreateTime()); - Lucky24Record record = insertRecordV2(giftMessage); + Optional 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)); @@ -159,7 +165,12 @@ public class Lucky24MessageService extends BaseService implements InitializingBe return record; } - private Lucky24Record insertRecordV2(Lucky24Message giftMessage) { + private Optional insertRecordIgnore(Lucky24Message giftMessage) { + + long startTime = System.currentTimeMillis(); + long getPoolTime = 0; + long insertTime = 0; + Lucky24Record record = new Lucky24Record(); if (null == giftMessage.getId()){ @@ -183,6 +194,7 @@ public class Lucky24MessageService extends BaseService implements InitializingBe if (null != pool){ record.setPoolType(pool.getType()); } + getPoolTime = System.currentTimeMillis(); } record.setIsSupplement(giftMessage.getIsSupplement()); @@ -192,9 +204,16 @@ public class Lucky24MessageService extends BaseService implements InitializingBe record.setCreateTime(new Date(giftMessage.getCreateTime())); record.setStockResult(giftMessage.getStockResult()); - recordService.insertRecordIgnore(record); + int insertRow = recordService.insertRecordIgnore(record); + long endTime = System.currentTimeMillis(); - return record; + log.info("insertLucky24RecordIgnore row {} performance - getPool: {}ms, insert: {}ms, total: {}ms", + insertRow, + getPoolTime - startTime, + insertTime - getPoolTime, + endTime - startTime); + + return Optional.ofNullable(insertRow > 0 ? record : null); } @Override diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/Lucky24RecordService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/Lucky24RecordService.java index cee703da7..819d1aaed 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/Lucky24RecordService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/Lucky24RecordService.java @@ -65,16 +65,8 @@ public class Lucky24RecordService extends ServiceImpl> messageList = lucky24Messages.stream() .map(giftMessage -> MessageBuilder.withPayload(JSON.toJSONString(giftMessage)).build()) .collect(Collectors.toList()); - mqMessageProducer.send(MqConstant.LUCKY_24_TOPIC, messageList, + mqMessageProducer.send(MqConstant.LUCKY_24_V2_TOPIC, messageList, sendResult -> log.info("sendLucky24Message success result: {} message: {}", JSON.toJSONString(sendResult), messageList), throwable -> log.error("sendLucky24Message fail message: {}", messageList, throwable)); }