浏览代码

【admin】用户列表新增冻结余额展示

skyline 2 年之前
父节点
当前提交
d2cc168ec5

+ 2 - 1
admin-web/src/views/admin/account/index.vue

@@ -88,7 +88,7 @@
             :show-overflow-tooltip="!field.fixed&&field.width>150"
         >
           <template #default="{row}">
-            <template v-if="['rechargeAmount','totalMoney','refundAmount','balance','payAmount','discountAmount','refundDiscountAmount'].includes(field.prop)">
+            <template v-if="['rechargeAmount','totalMoney','refundAmount','balance','frozenAmount','payAmount','discountAmount','refundDiscountAmount'].includes(field.prop)">
               {{ u.fmt.fmtMoney(row[field.prop]) }}
             </template>
             <template v-else-if="'status'===field.prop">
@@ -155,6 +155,7 @@ const state = reactive({
       // {label: '用户名',width: 150,  prop: 'userName', resizable: true, fixed: 'left'},
       {label: '手机号', width: 120, prop: 'mobilePhone', resizable: true, fixed: 'left'},
       {label: '余额', width: 80, prop: 'balance', resizable: true, fixed: 'left'},
+      {label: '冻结余额', width: 80, prop: 'frozenAmount', resizable: true, fixed: 'left'},
       {label: '状态', width: 80, prop: 'status', align: 'center'},
       {label: '注册时间', width: 160, prop: 'registerTime', resizable: true},
       {label: '充值次数', width: 90, prop: 'rechargeTimes', resizable: true},

+ 1 - 0
entity/src/main/java/com/kym/entity/admin/vo/CustomUserVo.java

@@ -28,6 +28,7 @@ public class CustomUserVo {
     private int payAmount;
     private int discountAmount;
     private int balance;
+    private int frozenAmount;
     private Long refundTimes;
     private int refundAmount;
     /**

+ 2 - 0
service/src/main/java/com/kym/service/miniapp/impl/UserServiceImpl.java

@@ -254,6 +254,7 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
         // 用户余额,退款次数,退款金额
         var account = accountService.lambdaQuery().in(Account::getUserId, result.stream().map(CustomUserVo::getUserId).toList()).list();
         var user2Balance = account.stream().collect(Collectors.groupingBy(Account::getUserId, Collectors.summingInt(Account::getBalance)));
+        var user2FrozenAmount = account.stream().collect(Collectors.groupingBy(Account::getUserId, Collectors.summingInt(Account::getFrozenAmount)));
         var refund = refundLogService.lambdaQuery().in(RefundLog::getUserId, result.stream().map(CustomUserVo::getUserId).toList()).list();
         // refund按照用户维度计算退款次数和退款总金额
         var user2RefundAmount = refund.stream().collect(Collectors.groupingBy(RefundLog::getUserId, Collectors.summingInt(RefundLog::getRefund)));
@@ -263,6 +264,7 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
         // 将用户余额,退款次数,退款金额放入result中
         var res = result.stream().peek(vo-> {
             vo.setBalance(user2Balance.getOrDefault(vo.getUserId(), 0));
+            vo.setFrozenAmount(user2FrozenAmount.getOrDefault(vo.getUserId(), 0));
             vo.setRefundTimes(user2RefundTimes.getOrDefault(vo.getUserId(), 0L));
             vo.setRefundAmount(user2RefundAmount.getOrDefault(vo.getUserId(), 0));
             vo.setRefundDiscountAmount(user2RefundDiscountAmount.getOrDefault(vo.getUserId(), 0));