hailin
b1525bdfa6
feat(mining-app): improve UX with non-blocking splash and skeleton loading
...
- Optimize splash page: reduce wait to 500ms, refresh token in background
- Cache SharedPreferences instance to avoid blocking API requests
- Add global 401 handler to auto-redirect to login page
- Create shimmer loading components (ShimmerLoading, ShimmerBox, skeletons)
- Replace CircularProgressIndicator with skeleton screens across all pages
- Add keepAlive + auto-invalidation (5min) to providers to reduce API calls
- Fix trading page: invalidate globalStateProvider after trade for data sync
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 21:48:31 -08:00
hailin
e981e622d4
chore: remove misplaced Android drawable files from admin-web
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 21:20:56 -08:00
hailin
5447545486
fix(contribution): move calculateForAdoption out of CDC transaction
...
Root cause: calculateForAdoption uses separate DB connections, which
cannot see uncommitted data in Serializable isolation level, causing
"Adoption not found" errors.
Solution (following Kafka Idempotent Consumer best practice):
- Add TransactionalCDCHandlerWithResult<T> type for handlers with return
- Add withIdempotencyAndCallback() wrapper for post-commit callbacks
- Add registerTransactionalHandlerWithCallback() registration method
- AdoptionSyncedHandler.handle() now returns AdoptionSyncResult
- Contribution calculation runs AFTER transaction commits via callback
Reference: Lydtech Consulting - Kafka Idempotent Consumer Pattern
https://www.lydtechconsulting.com/blog/kafka-idempotent-consumer-transactional-outbox
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 21:18:21 -08:00
hailin
849fa77df0
fix(auth-service): 允许synced_legacy_users的phone和password_hash为空
...
- 修改schema让phone和passwordHash字段可为空
- 添加migration: 20260111083500_allow_nullable_phone_password
- CDC consumer使用null替代空字符串
- 支持同步没有手机号/密码的系统账户
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 08:37:02 -08:00
hailin
ca1bc74b2a
feat(admin-web): 用户钱包分类账明细添加备注列
...
在用户管理页面的钱包分类账明细表格中添加"备注"列,
用于显示转账对象信息,如"转账至 D25XXXXXX"或"来自 D25XXXXXX 的转账"。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 07:20:21 -08:00
hailin
00264a721e
fix(admin-web): 优化授权页面错误提示,显示后端真实错误信息
...
问题:创建授权失败时只显示"Request failed with status code 400"
用户无法了解失败的真实原因(如用户未种树、授权冲突等)
修复:
- handleCreate和handleRevoke的catch块优先从err.response.data.message提取后端错误
- 后端已有完善的错误提示如"用户尚未认种任何树,无法授权"
- 前端现在能正确显示这些提示帮助管理员了解真实情况
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 21:38:00 -08:00
hailin
c65d02ebea
fix(admin-web): 仅在没有上级时显示总部节点
...
- 有上级时显示祖先节点列表
- 没有上级时才显示"总部"节点
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 05:31:07 -08:00
hailin
9050a4adca
fix(admin-web): 引荐关系树总部节点始终显示在顶端
...
- 总部节点始终显示在引荐人链最顶端
- 总部节点不可点击(cursor: default)
- 连接符方向改为向下(↓)表示引荐关系
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 05:19:01 -08:00
hailin
e2b2c17d38
feat(admin-web): 用户详情页引荐关系树优化
...
- 引荐关系节点显示团队认种量:本人认种 / 团队认种
- 无上级引荐人时显示"总部"节点
- 角色标签优化:社区权益→部门权益,区域→部门名称/城市名称
- 后端 ReferralNode 添加 teamAdoptionCount 字段
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 05:12:28 -08:00
hailin
f55ac7e9cb
feat(admin-web): 用户详情页显示权益考核记录
...
- 后端 admin-service 添加 getBenefitAssessments 查询方法
- 更新 AuthorizationDetailResponseDto 包含 benefitAssessments
- 前端用户详情页授权信息 Tab 新增权益考核记录表格
- 显示字段:考核月份、角色、区域、完成/需求、权益操作、
权益状态变化、有效期至、结果
- 添加权益操作类型样式:已激活(绿)、已续期(蓝)、已停用(红)、无变化(灰)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 04:42:51 -08:00
hailin
53bc39b65b
refactor(admin-web): 更新授权角色类型标签
...
- COMMUNITY -> 社区权益
- AUTH_PROVINCE_COMPANY -> 省区域
- PROVINCE_COMPANY -> 省团队
- AUTH_CITY_COMPANY -> 市区域
- CITY_COMPANY -> 市团队
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 01:42:22 -08:00
hailin
6a58a55997
fix(admin-web): 月度考核按授权ID过滤并显示区域名称
...
- 改用 authorization_id 匹配考核记录,而非 roleType
- 同类型但已撤销的角色考核不再显示
- 新增"区域"列显示角色对应的区域名称(如胜门、广州)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 23:19:09 -08:00
hailin
c9626ac82b
fix(admin-web): 月度考核排除已撤销角色
...
只显示 status !== 'REVOKED' 的角色对应的考核记录
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 23:11:34 -08:00
hailin
1ebfee7228
fix(admin-web): 月度考核只显示用户实际拥有角色的记录
...
根据 authData.roles 中的角色类型过滤 assessments,
避免显示用户没有的角色(如只有市授权但显示省考核)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 23:10:25 -08:00
hailin
8298f2e371
chore(admin-web): 移除用户列表页团队总注册地址量列
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 23:00:04 -08:00
hailin
58e3e34373
fix(admin-web): 引荐关系树初始加载时自动展开直推下级
...
问题:改为递归组件后,当前用户的直推下级不再显示
解决:
- 添加 useEffect 监听 referralTree 数据
- 数据加载完成后自动将直推下级放入 expandedNodes
- 这样页面初始加载时就会显示直推下级
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 22:32:08 -08:00
hailin
3ed72499a0
feat(admin-web): 引荐关系树支持递归展开每个节点
...
- 创建 ReferralNodeItem 递归组件
- 每个有下级的节点都显示"+"按钮
- 点击"+"异步加载并展开该节点的下级
- 展开后按钮变为"-",点击收起
- 加载中显示"..."
- 子节点也支持递归展开,可无限层级
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 22:24:21 -08:00
hailin
fff386c000
feat(admin-web): 优化引荐关系树展示
...
- "认种"改名为"本人认种"
- 直推下级默认收起状态
- 有直推下级时在当前用户节点下方显示"+"按钮
- 点击"+"展开显示直推下级,按钮变为"-"
- 点击"-"收起直推下级
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 22:14:39 -08:00
hailin
f0bf4d8c5d
fix(admin-web): 认种明细省市列显示真实名称
...
- 导出 CITY_CODE_NAMES 常量供外部使用
- 添加 getRegionName 函数转换区域代码为名称
- 认种分类账明细中省市列使用真实名称替代数字代码
例如:450000/451200 -> 广西壮族自治区/柳州市
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 22:09:42 -08:00
hailin
a39ee76e9a
fix(admin-web): 用户详情页移除无用字段
...
- 钱包汇总:移除 DST 可用、算力 字段
- 认种分类账明细:移除 状态 列
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 22:06:11 -08:00
hailin
7176bbd5c2
feat(admin-service): 用户详情页统计数据改用真实数据
...
- 移除前端"活跃引荐"统计卡片
- 添加 getPersonalAdoptionCount 方法从 PlantingPositionQueryView 获取个人认种量
- 添加 getTeamStats 方法计算团队地址数和团队认种量
- 修改 getFullDetail 使用新方法获取真实统计数据
- 团队地址数通过 ancestorPath 查询所有下级用户
- 团队认种量汇总所有团队成员的 effectiveTreeCount
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 21:23:18 -08:00
hailin
59469055c7
refactor(admin-web): 用户详情页术语统一为"引荐"
...
- "直推" → "引荐"
- "推荐人" → "引荐人"
- "推荐关系" → "引荐关系"
涉及修改:
- 统计卡片:直推人数 → 引荐人数,活跃直推 → 活跃引荐
- 引荐人信息区域标签
- Tab 标签名称
- 引荐关系树标题和节点标签
- 空状态提示文案
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:56:32 -08:00
hailin
5f6ecf9670
fix(admin): 用户详情页 USDT 改为绿积分 + 添加调试日志
...
前端修改:
- 钱包汇总: USDT 可用/冻结 → 绿积分 可用/冻结
- 认种汇总: 总金额 (USDT) → 总金额 (绿积分)
- 资产类型标签: USDT → 绿积分
后端修改:
- UserDetailController: 添加认种/钱包查询日志
- UserDetailQueryRepositoryImpl: 添加数据库查询日志
- 日志包含 accountSequence、查询结果、数据条数等信息
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:53:30 -08:00
hailin
3d31e8beb9
feat(admin): 实现用户详情页面
...
前端 (admin-web):
- 新增用户详情页面 /users/[id]
- 实现推荐关系树可视化,支持点击节点切换视角
- 添加认种分类账Tab,显示汇总和订单明细
- 添加钱包分类账Tab,显示余额汇总和流水明细
- 添加授权信息Tab,显示角色、月度考核和系统账户流水
- 用户列表"查看详情"改为 Link 导航到详情页
后端 (admin-service):
- 新增 UserDetailController 提供详情页API
- 新增 UserDetailQueryRepository 查询CDC同步的数据
- API: GET /admin/users/:seq/full-detail
- API: GET /admin/users/:seq/referral-tree
- API: GET /admin/users/:seq/planting-ledger
- API: GET /admin/users/:seq/wallet-ledger
- API: GET /admin/users/:seq/authorization-detail
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:10:01 -08:00
hailin
d293ec10e4
fix(admin-web): 移除用户管理中的编辑功能
...
系统设计原则:用户数据只能由用户本人修改,管理员不能编辑
移除的功能:
- 页面顶部的"批量编辑"按钮
- 表格行操作中的"编辑"按钮
- handleBatchEdit 事件处理函数
- API 端点: UPDATE, DELETE, BATCH_UPDATE
保留的功能:
- 查看用户列表
- 查看用户详情
- 导出 Excel
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 19:39:04 -08:00
hailin
cc17f6a38e
fix(admin-web): 修复系统账户余额统计不一致问题
...
- 账户余额改为 usdtAvailable + settleableUsdt,与累计收入统计保持一致
- 解决社区权益进入 settleableUsdt 导致的余额与累计收入不匹配问题
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 07:19:35 -08:00
hailin
667b240915
fix(admin-web): 重命名热钱包余额标签
...
- 公共账户 → 网络因子
- 因子 → 加速因子
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 07:04:25 -08:00
hailin
38fa1f807d
fix(admin-web): 修复 React hooks 规则违规问题
...
- 将所有 useCallback hooks 移动到条件返回之前
- React 要求所有 hooks 必须在任何条件返回之前调用
- 解决客户端异常 "a client-side exception has occurred" 错误
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 06:13:09 -08:00
hailin
603f41f9ca
fix(admin-web): 修复固定账户组件空值检查和 hooks 顺序
...
- 添加 data 空值检查防止 undefined 错误
- 将 useState hooks 移到条件返回之前(React hooks 规则)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 06:05:42 -08:00
hailin
02fa87f6c8
fix(admin-web): 过滤掉不存在的固定系统账户
...
- 添加 filter 过滤掉 data 为 null 的账户
- 修复空白卡片显示问题(账户数据不存在时不显示卡片)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:41:58 -08:00
hailin
04a23a30a4
fix(admin-web): 修复系统划转服务响应解析路径
...
- 所有方法改为使用 .data.data 解析响应数据
- API响应结构为 { success, data: { code, message, data } }
- 修复 "e.map is not a function" 错误
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:32:48 -08:00
hailin
28f1e26400
fix(admin-web): 修复系统账户划转API调用问题
...
问题分析:
1. ACCOUNT_NAME endpoint 使用路径参数,但后端使用 query 参数
2. apiClient 响应拦截器已解包 response.data,service 解析路径多一层
3. SystemAccount 接口 name 字段与后端 accountName 不匹配
修复内容:
- endpoints.ts: ACCOUNT_NAME 改为基础路径,通过 params 传参
- systemWithdrawalService.ts:
- getAccounts() 解析路径从 data.data 改为 data
- getAccountName() 使用 query 参数方式调用
- request() 解析路径修正
- system-withdrawal.types.ts: SystemAccount.name -> accountName
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:55:20 -08:00
hailin
6350b36e1a
feat(reporting, admin-web): 添加省/市区域账户累计转出统计
...
- 后端 reporting-service: RegionAccountInfo 和汇总接口添加 totalTransferred 字段
- 后端 wallet-service client: 更新 AllSystemAccountsResponse 类型定义
- 前端 admin-web: SystemAccountsTab 组件显示累计转出列
- 前端类型: RegionAccountsSummary 添加 totalTransferred 字段
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:45:56 -08:00
hailin
07fe3e3140
fix(admin-web): 修复划转记录API响应解析
...
- apiClient 响应拦截器已解包 response.data
- 修正取值路径为 response.data 而非 response.data.data
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:29:02 -08:00
hailin
06fc8aa5d9
fix(admin-web): 修复划转记录页面报错问题
...
- 适配后端返回格式:orders -> items, pageSize -> limit
- 解决 Cannot read properties of undefined (reading 'length') 错误
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:28:07 -08:00
hailin
230e0d98b6
chore(admin-web): 隐藏分类账明细Tab
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:21:15 -08:00
hailin
fa7b45ec2f
fix(wallet-service, admin-web): 修复系统账户划转金额类型问题
...
- wallet-service: 支持 amount 为字符串或数字类型,添加类型转换
- admin-web: 改进错误处理,正确提取 Axios 错误消息
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 03:01:52 -08:00
hailin
efb428ef31
fix(admin-web): 调换运营1和运营2名称
...
S0000000002 → 运营1
S0000000003 → 运营2
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:42:47 -08:00
hailin
6f52956c42
fix(admin-web): 修正系统账户显示名称映射
...
S0000000001 → 总部储蓄 (原运营1)
S0000000003 → 运营1 (原总部储蓄)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:37:45 -08:00
hailin
9a4c984bd2
fix(admin-web): 添加 SystemAccountDTO.accountSequence 类型字段
...
后端 wallet-service 返回的固定账户数据包含 accountSequence 字段,
前端类型定义缺少该字段导致编译失败。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:27:36 -08:00
hailin
1354055f09
fix(admin-web): 修复固定账户明细显示错误
...
问题:点击某账户卡片时显示其他账户的明细
原因:前端硬编码了 accountSequence 与字段名的对应关系,与后端映射不一致
修复:从后端返回数据中读取真实的 accountSequence,而不是硬编码
- accounts 数组现在从 data.xxx.accountSequence 动态获取序列号
- 更新类型定义注释,说明序列号由后端分配
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:24:09 -08:00
hailin
d28723f141
fix(wallet-service): 修正固定账户类型映射顺序
...
修复 getAllSystemAccounts 中 fixedAccountTypes 映射错误:
- S0000000001 应为 COST_ACCOUNT (运营1),而非 HQ_COMMUNITY
- S0000000002 应为 OPERATION_ACCOUNT (运营2),而非 COST_ACCOUNT
- S0000000003 应为 HQ_COMMUNITY (总部储蓄),而非 OPERATION_ACCOUNT
此修复确保固定账户的余额、收入和分类账明细正确对应。
同时移除前端调试日志。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:20:41 -08:00
hailin
7766a9caba
style(admin-web): 隐藏仪表板热钱包余额的单位标签
...
移除公共账户和因子卡片的 dUSDT 和 KAVA 单位显示,保持界面简洁一致。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:19:19 -08:00
hailin
fa0fd3adb3
debug(admin-web): 添加分类账数据匹配调试日志
...
添加 console.log 输出,用于调试固定账户明细数据匹配问题。
请在浏览器开发者工具控制台查看输出,确认后端返回的数据格式。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:13:00 -08:00
hailin
8dba325499
feat(dashboard): 添加热钱包余额实时显示(公共账户/因子)
...
- blockchain-service: 扩展调度器同时缓存 dUSDT 和 KAVA 原生代币余额到 Redis
- Redis Key: hot_wallet:dusdt_balance:KAVA, hot_wallet:native_balance:KAVA
- 每5秒更新,TTL 30秒
- reporting-service: 添加热钱包余额读取服务和 API
- 新增 HotWalletBalanceCacheService 从 Redis 读取缓存
- 新增 GET /v1/dashboard/hot-wallet-balance 接口
- admin-web: 仪表板添加热钱包余额显示
- 公共账户显示 dUSDT 余额
- 因子显示 KAVA 原生代币余额
- 每15秒自动刷新
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:04:21 -08:00
hailin
e1aec6c2c3
refactor(admin-web): 固定账户明细改为在公共区域显示
...
将固定系统账户的分类账明细从每个卡片内部展开改为在卡片网格下方
的公共区域显示。点击任一账户的"查看明细"按钮,明细表格在下方
完整展示,提供更好的阅读体验。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 22:58:30 -08:00
hailin
d6b3f04612
feat(admin-web): 固定系统账户卡片添加查看分类账明细按钮
...
在固定系统账户卡片下方添加"查看明细"按钮,点击后展开显示
该账户的分类账流水记录,包括时间、类型、金额、余额和备注。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 22:50:03 -08:00
hailin
d53b1c7499
fix(admin-web): 修复 ExpiredRewardsSection 中 ApiResponse 类型使用错误
...
ApiResponse<T> 类型只有 code, message, data 属性,没有 success
将 response.success && response.data 改为 response.data
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 22:44:37 -08:00
hailin
e9c0196d68
feat(admin-web): 添加过期收益明细查询功能
...
- reward-service: 添加 getExpiredRewardsEntries API 查询过期收益明细
- reporting-service: 添加过期收益明细转发接口和类型定义
- admin-web: 过期收益统计区域新增"查看明细"按钮
- 支持分页浏览过期收益记录
- 支持按权益类型筛选
- 显示过期时间、用户ID、账户、权益类型、金额、订单号
回滚方式:删除各服务中标注 [2026-01-07] 的代码块
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 22:36:31 -08:00
hailin
90ca62b594
fix(admin-web): 修正系统账户名称映射
...
- S0000000001: 运营1
- S0000000002: 运营2
- S0000000003: 总部储蓄
- S0000000004: 积分股池
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 22:14:24 -08:00