|
|
@@ -14,6 +14,7 @@ import org.dromara.backstage.cardCenter.domain.bo.PtCardBo;
|
|
|
import org.dromara.backstage.cardCenter.service.IPtCardService;
|
|
|
import org.dromara.backstage.domain.vo.card.InitCardVo;
|
|
|
import org.dromara.backstage.domain.vo.card.PtCardVo;
|
|
|
+import org.dromara.backstage.mq.PushKafkaData;
|
|
|
import org.dromara.backstage.payment.domain.bo.PtBagBo;
|
|
|
import org.dromara.backstage.payment.domain.vo.PtBagVo;
|
|
|
import org.dromara.backstage.payment.domain.vo.PtUserAccountVo;
|
|
|
@@ -23,6 +24,9 @@ import org.dromara.common.core.config.DefaultConfig;
|
|
|
import org.dromara.common.core.domain.R;
|
|
|
import org.dromara.common.core.domain.model.ResultInfo;
|
|
|
import org.dromara.common.core.enums.*;
|
|
|
+import org.dromara.common.message.kafka.constant.EventTypeConstants;
|
|
|
+import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
|
|
|
+import org.dromara.common.message.kafka.enums.EventSenderEnum;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.text.MessageFormat;
|
|
|
@@ -49,6 +53,7 @@ public class CardBusiness {
|
|
|
private final IPtWorkstationService workstationService;
|
|
|
private final IPtParameterService ptParameterService;
|
|
|
private final DefaultConfig defaultConfig;
|
|
|
+ private final PushKafkaData kafkaNormalProducer;
|
|
|
|
|
|
public R<String> openVirtualCard(PtCardBo cardBo) {
|
|
|
String resultMsg;
|
|
|
@@ -196,7 +201,15 @@ public class CardBusiness {
|
|
|
public R<Void> recycleCard(PtCardBo cardBo) {
|
|
|
PtCardVo vo = ptCardService.selectOneByBo(cardBo);
|
|
|
if (ObjectUtil.isNotEmpty(vo)) {
|
|
|
- return ptCardService.recycleCardByBo(cardBo) ? R.ok() : R.fail();
|
|
|
+ // 回收成功,将回收后的卡片信息发kafka
|
|
|
+ boolean result = ptCardService.recycleCardByBo(cardBo);
|
|
|
+ if (result) {
|
|
|
+ // 回收成功,将回收后的卡片信息发kafka
|
|
|
+ PtCardVo recycleVo = ptCardService.selectOneByBo(cardBo);
|
|
|
+ kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.CARD, EventSenderEnum.BACKSTAGE.code(),
|
|
|
+ recycleVo);
|
|
|
+ }
|
|
|
+ return result ? R.ok() : R.fail();
|
|
|
} else {
|
|
|
return R.fail(MessageFormat.format("[卡片回收]-[没有对应的卡片]-[{0}]", JSONUtil.toJsonStr(cardBo)));
|
|
|
}
|