Pārlūkot izejas kodu

feature: 支付管理平台->账户管理模块
1.增加了账户发卡情况并提供前端显示

luoyb 1 gadu atpakaļ
vecāks
revīzija
b76ae91455

+ 21 - 0
ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/RemoteCardService.java

@@ -0,0 +1,21 @@
+package org.dromara.backstage.api;
+
+/**
+ * name: RemoteBagService
+ * package: org.dromara.backstage.api
+ * description: 账户卡片服务
+ * date: 2024-08-08 10:40:43 10:40
+ *
+ * @author luoyibo
+ * @version 0.1
+ * @since JDK 1.8
+ */
+public interface RemoteCardService {
+    /**
+     * 根据Id获取账户发卡信息
+     *
+     * @param userIds 人员Id串,英文逗号分隔
+     * @return 发卡信息串,英文逗号分隔
+     */
+    String selectAccountCardByIds(String userIds);
+}

+ 5 - 0
ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/constant/TransConstant.java

@@ -42,4 +42,9 @@ public interface TransConstant {
      * 账户余额计算
      */
     String USER_ID_TO_BALANCE = "user_id_to_balance";
+
+    /**
+     * 账户发卡情况
+     */
+    String USER_ID_TO_CARD_INFO = "user_id_to_card_info";
 }

+ 31 - 0
ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/CardInfoTranslationImpl.java

@@ -0,0 +1,31 @@
+package org.dromara.common.translation.core.impl;
+
+import lombok.AllArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.backstage.api.RemoteBagService;
+import org.dromara.backstage.api.RemoteCardService;
+import org.dromara.common.translation.annotation.TranslationType;
+import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.common.translation.core.TranslationInterface;
+
+/**
+ * name: BagBalanceTranslationImpl
+ * package: org.dromara.common.translation.core.impl
+ * description: 账户发卡情况翻译实现
+ * date: 2024-08-08 10:58:10 10:58
+ *
+ * @author luoyibo
+ * @version 0.1
+ * @since JDK 1.8
+ */
+@AllArgsConstructor
+@TranslationType(type = TransConstant.USER_ID_TO_CARD_INFO)
+public class CardInfoTranslationImpl implements TranslationInterface<String> {
+    @DubboReference
+    private RemoteCardService remoteCardService;
+
+    @Override
+    public String translation(Object key, String other) {
+        return remoteCardService.selectAccountCardByIds(key.toString());
+    }
+}

+ 1 - 0
ruoyi-common/ruoyi-common-translation/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -6,3 +6,4 @@ org.dromara.common.translation.core.impl.UserNameTranslationImpl
 org.dromara.common.translation.core.impl.NicknameTranslationImpl
 org.dromara.common.translation.core.impl.CardTypeNameTranslationImpl
 org.dromara.common.translation.core.impl.BagBalanceTranslationImpl
+org.dromara.common.translation.core.impl.CardInfoTranslationImpl

+ 8 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/service/IPtCardService.java

@@ -87,4 +87,12 @@ public interface IPtCardService {
      * @return 受影响的记录数据
      */
     int resetCardType(Long[] userIds, String cardType);
+
+    /**
+     * 根据Id获取账户发信息
+     *
+     * @param userIds     id串,英文逗号隔开
+     * @return 发卡信息串,英文逗号隔开
+     */
+    String selectAccountCardByIds(String userIds);
 }

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

@@ -1,10 +1,14 @@
 package org.dromara.backstage.cardCenter.service.impl;
 
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.dromara.backstage.payment.domain.PtUserAccount;
+import org.dromara.backstage.payment.domain.bo.PtBagBo;
+import org.dromara.backstage.payment.domain.vo.PtBagVo;
 import org.dromara.common.core.utils.DateUtils;
 import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.core.page.PageQuery;
@@ -19,9 +23,8 @@ import org.dromara.backstage.cardCenter.domain.PtCard;
 import org.dromara.backstage.cardCenter.mapper.PtCardMapper;
 import org.dromara.backstage.cardCenter.service.IPtCardService;
 
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
+import java.math.BigDecimal;
+import java.util.*;
 
 /**
  * 账户卡片Service业务层处理
@@ -185,4 +188,29 @@ public class PtCardServiceImpl implements IPtCardService {
         }
         return userIds.length;
     }
+
+    /**
+     * 根据Id获取账户发信息
+     *
+     * @param userIds     id串,英文逗号隔开
+     * @return 发卡信息串,英文逗号隔开
+     */
+    @Override
+    public String selectAccountCardByIds(String userIds) {
+        List<String> list = new ArrayList<>();
+        for (Long id : StringUtils.splitTo(userIds, Convert::toLong)) {
+            PtCardBo bo = new PtCardBo();
+            bo.setStatus("1");
+            bo.setUserId(id);
+
+            List<PtCardVo> listVo = SpringUtils.getAopProxy(this).queryList(bo);
+            if(listVo.isEmpty()){
+                list.add("未发卡");
+            } else {
+                 String cardInfo = listVo.stream().anyMatch(p -> p.getFactoryId() == 0) ? "虚拟卡" : "实体卡";
+                list.add(cardInfo);
+            }
+        }
+        return String.join(StringUtils.SEPARATOR, list);
+    }
 }

+ 30 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/dubbo/RemoteCardServiceImpl.java

@@ -0,0 +1,30 @@
+package org.dromara.backstage.dubbo;
+
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.dromara.backstage.api.RemoteBagService;
+import org.dromara.backstage.api.RemoteCardService;
+import org.dromara.backstage.cardCenter.service.IPtCardService;
+import org.dromara.backstage.payment.service.IPtBagService;
+import org.springframework.stereotype.Service;
+
+/**
+ * name: RemoteBagServiceImpl
+ * package: org.dromara.backstage.dubbo
+ * description: 账户卡片服务实现
+ * date: 2024-08-08 10:53:41 10:53
+ *
+ * @author luoyibo
+ * @version 0.1
+ * @since JDK 1.8
+ */
+@RequiredArgsConstructor
+@Service
+@DubboService
+public class RemoteCardServiceImpl implements RemoteCardService {
+    private final IPtCardService cardService;
+    @Override
+    public String selectAccountCardByIds(String userIds) {
+        return cardService.selectAccountCardByIds(userIds);
+    }
+}

+ 6 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/domain/vo/PtUserAccountVo.java

@@ -235,4 +235,10 @@ public class PtUserAccountVo implements Serializable {
      */
     @Translation(type = TransConstant.USER_ID_TO_BALANCE, mapper = "userId")
     private String accountBalance;
+
+    /**
+     * 账户发卡信息
+     */
+    @Translation(type = TransConstant.USER_ID_TO_CARD_INFO, mapper = "userId")
+    private String accountCard;
 }