Jelajahi Sumber

fix(管理平台): 发卡成功后更新缓存

autumnal_wind 10 bulan lalu
induk
melakukan
3fe9373dd1

+ 6 - 7
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/business/card/CardBusiness.java

@@ -199,13 +199,12 @@ public class CardBusiness {
         if (ObjectUtil.isNotEmpty(vo)) {
             // 回收成功,将回收后的卡片信息发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);
-            }
-
+            // 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)));

+ 7 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/controller/CardApiController.java

@@ -58,6 +58,11 @@ public class CardApiController extends BaseController {
         return getReturnResult(initParam);
     }
 
+    /**
+     * 初始化卡片
+     * @param initParam 初始化参数
+     * @return 初始化后信息
+     */
     @PostMapping("/api/v1/init")
     public ReturnResult initSefNewCard(@RequestBody Map<String, Object> initParam) {
         PtCardBo bo = getInitInfo(initParam);
@@ -90,6 +95,7 @@ public class CardApiController extends BaseController {
         }
         return ReturnResult.failure(ResultCodeEnum.SPECIFIED_QUESTIONED_USER_NOT_EXIST);
     }
+
     @PostMapping("/api/v1/write/failure")
     public ReturnResult writeCardFailure(@RequestBody Map<String, Object> initParam) {
         return ReturnResult.success();
@@ -145,6 +151,7 @@ public class CardApiController extends BaseController {
     public void createCardNo(){
         cardNoBusiness.setCardNo();
     }
+
     @RequestMapping("/api/v1/getNo")
     public Long getCardNo(){
         return cardNoBusiness.getCardNo();

+ 16 - 6
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/service/impl/PtCardServiceImpl.java

@@ -179,8 +179,6 @@ public class PtCardServiceImpl implements IPtCardService {
                 bo.setCardId(add.getCardId());
             }
         }
-        PtCardVo vo = baseMapper.selectVoById(bo.getCardId());
-        //kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.CARD, EventSenderEnum.BACKSTAGE.code(), vo);
         return flag;
     }
 
@@ -195,9 +193,11 @@ public class PtCardServiceImpl implements IPtCardService {
         PtCard update = MapstructUtils.convert(bo, PtCard.class);
         validEntityBeforeSave(update);
         int count = baseMapper.updateById(update);
-        PtCardVo vo = baseMapper.selectVoById(bo.getCardId());
-        //kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.CARD, EventSenderEnum.BACKSTAGE.code(), vo);
-        return count > 0;
+        if (count > 0) {
+            resetCardCache(bo.getCardId());
+            return true;
+        }
+        return false;
     }
 
     /**
@@ -457,6 +457,9 @@ public class PtCardServiceImpl implements IPtCardService {
                 PtCardVo vo = baseMapper.selectVoById(entity.getCardId());
                 PtCardtypeVo cardTypeVo = cardTypeService.queryByCode(vo.getCardType());
                 vo.setCardTypeName(cardTypeVo.getTypeName());
+
+                //更新缓存
+                resetCardCache(entity.getCardId());
                 return vo;
             }
         }
@@ -505,7 +508,14 @@ public class PtCardServiceImpl implements IPtCardService {
         lpw.eq(bo.getFactoryId() != null, PtCard::getFactoryId, bo.getFactoryId());
         lpw.eq(bo.getCardNo() != null, PtCard::getCardNo, bo.getCardNo());
 
-        return baseMapper.update(null, lpw) > 0;
+        int iCount =  baseMapper.update(null, lpw);
+        if (iCount > 0) {
+            List<PtCardVo> list = getList(bo);
+            // 回收后需要更新缓存
+            resetCardCache(list.get(0).getCardId());
+            return true;
+        }
+        return false;
     }
 
     /**