Просмотр исходного кода

fix: 卡片回收成功后将卡片数据发kafka

luo.yibo@datuai.com 1 год назад
Родитель
Сommit
3199dfd301

+ 8 - 0
pom.xml

@@ -432,6 +432,14 @@
                 <artifactId>core</artifactId>
                 <artifactId>core</artifactId>
                 <version>${qrcode.version}</version>
                 <version>${qrcode.version}</version>
             </dependency>
             </dependency>
+            <!-- 若在创建项目时未引⼊spring-boot-devtools依赖,则手动添加下列代码 -->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-devtools</artifactId>
+                <scope>runtime</scope>
+                <optional>true</optional>
+            </dependency>
+
         </dependencies>
         </dependencies>
     </dependencyManagement>
     </dependencyManagement>
 
 

+ 1 - 2
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/business/accouunt/UserFaceBusiness.java

@@ -138,7 +138,6 @@ public class UserFaceBusiness {
      * @param imageData 用户图片数据
      * @param imageData 用户图片数据
      * @return 成功时返回提取到的特征码数据,失败时返回相应错误
      * @return 成功时返回提取到的特征码数据,失败时返回相应错误
      */
      */
-
     public R<Void> extractUserFacesForCloud(Long userId, String imageData) {
     public R<Void> extractUserFacesForCloud(Long userId, String imageData) {
         Map<String, Object> map = new HashMap<>();
         Map<String, Object> map = new HashMap<>();
         map.put("userId", userId.toString());
         map.put("userId", userId.toString());
@@ -195,7 +194,7 @@ public class UserFaceBusiness {
         bo.setPhoto(photoUrl);
         bo.setPhoto(photoUrl);
         boolean update = userAccountService.updateByBo(bo);
         boolean update = userAccountService.updateByBo(bo);
         if (update) {
         if (update) {
-            return R.ok();
+            return R.ok("[更新账户照片地址成功]");
         } else {
         } else {
             return R.fail("[更新账户照片地址失败]");
             return R.fail("[更新账户照片地址失败]");
         }
         }

+ 14 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/business/card/CardBusiness.java

@@ -14,6 +14,7 @@ import org.dromara.backstage.cardCenter.domain.bo.PtCardBo;
 import org.dromara.backstage.cardCenter.service.IPtCardService;
 import org.dromara.backstage.cardCenter.service.IPtCardService;
 import org.dromara.backstage.domain.vo.card.InitCardVo;
 import org.dromara.backstage.domain.vo.card.InitCardVo;
 import org.dromara.backstage.domain.vo.card.PtCardVo;
 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.bo.PtBagBo;
 import org.dromara.backstage.payment.domain.vo.PtBagVo;
 import org.dromara.backstage.payment.domain.vo.PtBagVo;
 import org.dromara.backstage.payment.domain.vo.PtUserAccountVo;
 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.R;
 import org.dromara.common.core.domain.model.ResultInfo;
 import org.dromara.common.core.domain.model.ResultInfo;
 import org.dromara.common.core.enums.*;
 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 org.springframework.stereotype.Service;
 
 
 import java.text.MessageFormat;
 import java.text.MessageFormat;
@@ -49,6 +53,7 @@ public class CardBusiness {
     private final IPtWorkstationService workstationService;
     private final IPtWorkstationService workstationService;
     private final IPtParameterService ptParameterService;
     private final IPtParameterService ptParameterService;
     private final DefaultConfig defaultConfig;
     private final DefaultConfig defaultConfig;
+    private final PushKafkaData kafkaNormalProducer;
 
 
     public R<String> openVirtualCard(PtCardBo cardBo) {
     public R<String> openVirtualCard(PtCardBo cardBo) {
         String resultMsg;
         String resultMsg;
@@ -196,7 +201,15 @@ public class CardBusiness {
     public R<Void> recycleCard(PtCardBo cardBo) {
     public R<Void> recycleCard(PtCardBo cardBo) {
         PtCardVo vo = ptCardService.selectOneByBo(cardBo);
         PtCardVo vo = ptCardService.selectOneByBo(cardBo);
         if (ObjectUtil.isNotEmpty(vo)) {
         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 {
         } else {
             return R.fail(MessageFormat.format("[卡片回收]-[没有对应的卡片]-[{0}]", JSONUtil.toJsonStr(cardBo)));
             return R.fail(MessageFormat.format("[卡片回收]-[没有对应的卡片]-[{0}]", JSONUtil.toJsonStr(cardBo)));
         }
         }