Forráskód Böngészése

fix(基础平台之微信服务): 修复微信端不显示总余额的问题

autumnal_wind 10 hónapja
szülő
commit
6842fc039e

+ 2 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/IPtBagService.java

@@ -109,4 +109,6 @@ public interface IPtBagService {
     PtBagVo queryByUserBagCode(Long userId,String bagCode);
 
     Map<Long, BigDecimal> queryUserBalance();
+
+    BigDecimal queryBalanceByUserId(Long userId);
 }

+ 14 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/impl/PtBagServiceImpl.java

@@ -297,6 +297,20 @@ public class PtBagServiceImpl implements IPtBagService {
         return sumMap;
     }
 
+    @Override
+    public BigDecimal queryBalanceByUserId(Long userId) {
+        LambdaQueryWrapper<PtBag> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(PtBag::getUserId, userId);
+        queryWrapper.in(PtBag::getBagCode, Arrays.asList("1", "3"));
+        queryWrapper.select(PtBag::getBalance,PtBag::getUserId);
+        List<PtBagVo> listVo = baseMapper.selectVoList(queryWrapper);
+        BigDecimal amount = BigDecimal.ZERO;
+        for (int i = 0,j=listVo.size(); i < j; i++) {
+            amount = amount.add(listVo.get(i).getBalance());
+        }
+        return amount;
+    }
+
     /**
      * 组装充值钱包数据
      * 1.设置充值后余额=账户原余额+充值金额

+ 3 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/wx/service/impl/WxServiceImpl.java

@@ -18,6 +18,7 @@ import org.dromara.backstage.cardCenter.mapper.PtCardMapper;
 import org.dromara.backstage.consumption.mapper.XfCreditAccountMapper;
 import org.dromara.backstage.payment.domain.vo.PtUserAccountVo;
 import org.dromara.backstage.payment.mapper.PtUserAccountMapper;
+import org.dromara.backstage.payment.service.IPtBagService;
 import org.dromara.backstage.wx.domain.vo.WxCreditAccountVo;
 import org.dromara.backstage.wx.service.IWxService;
 import org.dromara.common.core.config.DefaultConfig;
@@ -50,6 +51,7 @@ public class WxServiceImpl implements IWxService {
     private final RemoteDictService dictService;
     private final DefaultConfig defaultConfig;
     private final UserFaceBusiness userFaceBusiness;
+    private final IPtBagService bagService;
 
     @Value("${dzbp.sync-img.url}/")     // 电子班牌照片推送接口
     private String syncImgToDzbpUrl;
@@ -119,6 +121,7 @@ public class WxServiceImpl implements IWxService {
                                               Collectors.toMap(RemoteDictDataVo::getDictValue, RemoteDictDataVo::getDictLabel));
         PtUserAccountVo vo = accountMapper.selectVoById(userId);
         vo.setAccountStatus(dictMap.getOrDefault(vo.getAccountStatus(), ""));
+        vo.setAccountBalance(bagService.queryBalanceByUserId(vo.getUserId()).toString());
         // 根据userId查询卡片信息
         PtCard card = cardMapper.selectOne(new LambdaUpdateWrapper<PtCard>()
                                                .eq(PtCard::getUserId, userId)