From 8d3c3b36df5cad1247553d893ddd9637171b4c4c Mon Sep 17 00:00:00 2001 From: sion Date: Fri, 10 Apr 2026 01:22:25 +0800 Subject: [PATCH] 111 --- monisuo-admin/src/composables/use-sidebar.ts | 3 +- .../src/pages/monisuo/finance-orders.vue | 28 +++++++++++-------- monisuo-admin/src/pages/monisuo/orders.vue | 19 +++++++++++-- .../it/rattan/monisuo/entity/ColdWallet.java | 2 ++ .../rattan/monisuo/service/AssetService.java | 8 ++++-- src/main/resources/application-dev.yml | 2 +- src/main/resources/application-prd.yml | 2 +- 7 files changed, 46 insertions(+), 18 deletions(-) diff --git a/monisuo-admin/src/composables/use-sidebar.ts b/monisuo-admin/src/composables/use-sidebar.ts index 14d2fc1..eda74f8 100644 --- a/monisuo-admin/src/composables/use-sidebar.ts +++ b/monisuo-admin/src/composables/use-sidebar.ts @@ -1,4 +1,4 @@ -import { CircleDollarSign, Coins, DollarSign, Palette, Receipt, Settings, ShieldCheck, TrendingUp, Users } from 'lucide-vue-next' +import { CircleDollarSign, Coins, DollarSign, Palette, Receipt, Settings, ShieldCheck, TrendingUp, Users, Wallet } from 'lucide-vue-next' import type { NavGroup } from '@/components/app-sidebar/types' import { useAuthStore } from '@/stores/auth' @@ -19,6 +19,7 @@ export function useSidebar() { { title: '数据看板', url: '/monisuo/dashboard', icon: DollarSign, roles: [1] }, { title: '用户管理', url: '/monisuo/users', icon: Users, roles: [1] }, { title: '币种管理', url: '/monisuo/coins', icon: Coins, roles: [1] }, + { title: '钱包管理', url: '/monisuo/wallets', icon: Wallet, roles: [1] }, { title: '订单审批', url: '/monisuo/orders', icon: Receipt, roles: [1, 2] }, { title: '财务审批', url: '/monisuo/finance-orders', icon: CircleDollarSign, roles: [1, 3] }, { title: '业务分析', url: '/monisuo/analytics', icon: TrendingUp, roles: [1] }, diff --git a/monisuo-admin/src/pages/monisuo/finance-orders.vue b/monisuo-admin/src/pages/monisuo/finance-orders.vue index abae680..be281b8 100644 --- a/monisuo-admin/src/pages/monisuo/finance-orders.vue +++ b/monisuo-admin/src/pages/monisuo/finance-orders.vue @@ -40,6 +40,11 @@ function formatVal(val: number | string | undefined | null): string { return n.toFixed(2) } +function tradeTotalValue(userStats: any): number { + if (!userStats?.tradeAccounts) return 0 + return userStats.tradeAccounts.reduce((sum: number, t: any) => sum + (Number(t.value) || 0), 0) +} + function daysAgo(time: string | undefined | null): number { if (!time) return 0 const d = new Date(time.replace('T', ' ')) @@ -132,7 +137,6 @@ function copyToClipboard(text: string) { 应出款 - 审批人 @@ -143,12 +147,12 @@ function copyToClipboard(text: string) { - + - +

暂无待审核订单

@@ -167,9 +171,6 @@ function copyToClipboard(text: string) { {{ formatAmount(order.receivableAmount || 0) }} - - {{ order.approveAdminName || '-' }} - @@ -227,9 +228,6 @@ function copyToClipboard(text: string) {
手续费: -{{ formatAmount(order.fee || 0) }} | 实际到账: {{ formatAmount(order.receivableAmount || 0) }}
-
- 审批人: {{ order.approveAdminName || '-' }} -
提现地址:
@@ -342,7 +340,7 @@ function copyToClipboard(text: string) {
-
+
冻结金额 @@ -351,6 +349,14 @@ function copyToClipboard(text: string) { {{ formatVal(userStats.fundAccount?.frozen) }}
+
+
+ 交易账户 +
+
+ {{ formatVal(tradeTotalValue(userStats)) }} +
+
推广人数 @@ -527,7 +533,7 @@ function copyToClipboard(text: string) {
- 冻结: {{ formatVal(userStats.fundAccount?.frozen) }} | 推广: {{ userStats.referralStats?.directCount || 0 }}人 | 注册: {{ userStats.user?.createTime?.substring(0, 10) || '-' }} + 冻结: {{ formatVal(userStats.fundAccount?.frozen) }} | 交易账户: {{ formatVal(tradeTotalValue(userStats)) }} | 推广: {{ userStats.referralStats?.directCount || 0 }}人 | 注册: {{ userStats.user?.createTime?.substring(0, 10) || '-' }}
diff --git a/monisuo-admin/src/pages/monisuo/orders.vue b/monisuo-admin/src/pages/monisuo/orders.vue index 340408b..14b0dc7 100644 --- a/monisuo-admin/src/pages/monisuo/orders.vue +++ b/monisuo-admin/src/pages/monisuo/orders.vue @@ -155,6 +155,12 @@ function formatVal(val: number | string | undefined | null): string { return n.toFixed(2) } +function tradeTotalValue(userStats: any): number { + if (!userStats?.tradeAccounts) return 0 + return userStats.tradeAccounts.reduce((sum: number, t: any) => sum + (Number(t.value) || 0), 0) +} + + function daysAgo(time: string | undefined | null): number { if (!time) return 0 const d = new Date(time.replace('T', ' ')) @@ -204,6 +210,7 @@ function getStatusText(order: OrderFund): string { case 2: return '已出款' case 3: return '已驳回' case 4: return '已取消' + case 5: return '待财务审核' default: return '未知' } } @@ -747,7 +754,7 @@ function copyToClipboard(text: string) {
-
+
冻结金额 @@ -756,6 +763,14 @@ function copyToClipboard(text: string) { {{ formatVal(userStats.fundAccount?.frozen) }}
+
+
+ 交易账户 +
+
+ {{ formatVal(tradeTotalValue(userStats)) }} +
+
推广人数 @@ -1050,7 +1065,7 @@ function copyToClipboard(text: string) {
- 冻结: {{ formatVal(userStats.fundAccount?.frozen) }} | 推广: {{ userStats.referralStats?.directCount || 0 }}人 | 注册: {{ userStats.user?.createTime?.substring(0, 10) || '-' }} + 冻结: {{ formatVal(userStats.fundAccount?.frozen) }} | 交易账户: {{ formatVal(tradeTotalValue(userStats)) }} | 推广: {{ userStats.referralStats?.directCount || 0 }}人 | 注册: {{ userStats.user?.createTime?.substring(0, 10) || '-' }}
diff --git a/src/main/java/com/it/rattan/monisuo/entity/ColdWallet.java b/src/main/java/com/it/rattan/monisuo/entity/ColdWallet.java index 13363bc..f9acd9e 100644 --- a/src/main/java/com/it/rattan/monisuo/entity/ColdWallet.java +++ b/src/main/java/com/it/rattan/monisuo/entity/ColdWallet.java @@ -1,6 +1,7 @@ package com.it.rattan.monisuo.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; import java.time.LocalDateTime; @@ -26,6 +27,7 @@ public class ColdWallet { private String network; /** 是否默认: false-否 true-是 */ + @JsonProperty("isDefault") private Boolean isDefault; /** 状态: 0-禁用 1-启用 */ diff --git a/src/main/java/com/it/rattan/monisuo/service/AssetService.java b/src/main/java/com/it/rattan/monisuo/service/AssetService.java index da91bea..76536a3 100644 --- a/src/main/java/com/it/rattan/monisuo/service/AssetService.java +++ b/src/main/java/com/it/rattan/monisuo/service/AssetService.java @@ -477,10 +477,14 @@ public class AssetService { referralStats.put("referrals", referralList); result.put("referralStats", referralStats); - // 6. 福利统计(从 account_flow 查询福利类型记录) + // 6. 福利统计(从 account_flow 按 remark 匹配福利记录:新人首充/邀请奖励/间接推广) LambdaQueryWrapper bonusWrapper = new LambdaQueryWrapper<>(); bonusWrapper.eq(AccountFlow::getUserId, userId) - .eq(AccountFlow::getFlowType, 7) + .eq(AccountFlow::getFlowType, 1) + .and(w -> w + .like(AccountFlow::getRemark, "新人首充") + .or().like(AccountFlow::getRemark, "邀请奖励") + .or().like(AccountFlow::getRemark, "间接推广")) .orderByDesc(AccountFlow::getCreateTime); List bonusFlows = accountFlowMapper.selectList(bonusWrapper); BigDecimal totalBonusClaimed = bonusFlows.stream() diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 5a82c80..c872ab2 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -10,7 +10,7 @@ spring: datasource: username: monisuo password: JPJ8wYicSGC8aRnk - url: jdbc:mysql://8.155.172.147:3306/monisuo?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 + url: jdbc:mysql://8.155.172.147:3306/monisuo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 driver-class-name: com.mysql.cj.jdbc.Driver hikari: minimum-idle: 5 diff --git a/src/main/resources/application-prd.yml b/src/main/resources/application-prd.yml index c3f8643..6dcbffb 100644 --- a/src/main/resources/application-prd.yml +++ b/src/main/resources/application-prd.yml @@ -10,7 +10,7 @@ spring: datasource: username: root password: 897admin$$ - url: jdbc:mysql://47.97.10.240:3306/spccloud?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 + url: jdbc:mysql://47.97.10.240:3306/spccloud?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver initialSize: 1