|
|
46b9555823
|
feat(fragment): 商品成本价 + 活动奖品单次产出数量
- products 表新增 cost_price 字段(成本价/分)
- activity_reward_settings 新增 drop_quantity(单次产出数量,默认1)
和 cost_snapshot_cents(成本价快照)
- 奖品创建/修改时自动快照成本价,drop_quantity 限制 1-100
- 抽奖发放逻辑按 drop_quantity 循环创建多个库存项
- 抽奖结果接口按 drop_quantity 返回多条 item,前端自动合并显示
- 抽奖记录接口返回 drop_quantity 字段
- 商品管理 API 全链路支持 cost_price
|
2026-03-23 22:26:06 +08:00 |
|
win
|
2a7b731484
|
feat(finance): implement Phase 1 core P&L service + wire into dashboard
- Add internal/service/finance/types.go: AssetType enum, param/result structs
- Add internal/service/finance/service.go: Service interface, read-only ctor
- Add internal/service/finance/query_user.go: QueryUserProfitLoss (4 fan-out scans)
- Add internal/service/finance/query_activity.go: QueryActivityProfitLoss (4 fan-out scans)
- Add internal/service/finance/service_test.go: 22 integration tests (all pass)
- Wire finance.Service into admin handler (admin.go)
- Replace dashboard_activity cost scan with finance.Service call (D-09: value_cents single source of truth)
- Revenue/gamepass/draw-count scans unchanged; response schema fully compatible
Co-Authored-By: claude-flow <ruv@ruv.net>
|
2026-03-21 18:38:33 +08:00 |
|
|
|
5b34972ee3
|
fix(dashboard): 盈亏分析CAST修复+视角改为平台视角(A-B)
1. CAST修复:
MySQL的 / 运算符返回DECIMAL类型,GORM无法将DECIMAL扫描进int64,
导致商品产出静默返回0。添加 CAST(... AS SIGNED) 与排行榜对齐。
2. 视角统一:
盈亏分析原为用户视角(B-A),排行榜为平台视角(A-B),同一用户
一个显示+¥12,130(用户赚了),一个显示-¥12,127(平台亏了),
造成管理员困惑。
修改:
- 净盈亏: Value-Cost → Cost-Value (A-B,平台盈利为正)
- 盈亏比: Value/Cost → Cost/Value (A/B,>1表示平台盈利)
- 趋势图每个数据点同步调整
|
2026-03-20 21:18:02 +08:00 |
|
|
|
fe3141e2b5
|
fix(dashboard): 盈亏分析商品产出对齐排行榜计算口径
问题:
盈亏分析(GetUserProfitLossTrend)和用户画像(GetUserProfile)中的
"商品产出"与玩家消费排行榜(DashboardPlayerSpendingLeaderboard)
计算口径不一致,导致同一用户的商品产出差异巨大。
排行榜显示用户9110商品产出¥16,913.40,盈亏分析显示¥0.00。
差异点:
1. status条件: 盈亏用 status=1(仅待发货),排行榜用 status IN (1,3)
2. 价格回退链: 盈亏缺少 price_snapshot_cents 回退层级
3. 道具卡倍率: 盈亏未计算 reward_multiplier_x1000
4. void排除: 盈亏未排除 remark 含 void 的作废项
修复:
- users_profit_loss.go: 商品产出查询完全对齐排行榜公式
- users_profile.go: 库存价值查询同步对齐
- 公式: COALESCE(value_cents, snapshot_cents, price, 0)
* GREATEST(COALESCE(multiplier, 1000), 1000) / 1000
- 条件: status IN (1,3) AND remark NOT LIKE '%void%'
|
2026-03-20 21:02:21 +08:00 |
|
|
|
ddd66bf4e9
|
fix(dashboard): 修复盈亏分析商品产出只统计待发货库存的bug
问题:
盈亏分析(GetUserProfitLossTrend)和用户画像(GetUserProfile)中的
"商品产出"查询条件为 `ui.status = 1`,只统计了待发货/库存中的商品,
已发货/已兑换(status=3)的商品被完全排除。
示例:用户9110实际累计获得874件商品(价值¥16,279.40),但因为大部分
已发货(status=3),盈亏分析只显示商品产出¥12.50,全资产产出严重偏低。
而 dashboard_user_spending.go 中的同类查询正确使用了
`status IN (1, 3)`,说明此处是遗漏。
修复:
- users_profit_loss.go: 当前资产快照查询改为 `status IN (1, 3)`
- users_profile.go: 库存统计查询改为 `status IN (1, 3)`
- 与 dashboard_user_spending.go 的计算口径对齐
|
2026-03-20 20:39:50 +08:00 |
|
|
|
9cb4aaa511
|
fix(admin): 修复订单列表source_type=4/5显示未知的问题
- source_type=4: 区分购买次卡/次卡抽奖/一番赏
- source_type=5: 区分运费订单/直播间抽奖
|
2026-03-20 17:45:19 +08:00 |
|
win
|
eaf4af4ba4
|
Merge remote-tracking branch 'origin/zuncle'
|
2026-03-19 22:37:56 +08:00 |
|
|
|
47c36b43cd
|
feat(fragment): add synthesis flow and fragment restrictions with tests
|
2026-03-19 16:26:36 +08:00 |
|
|
|
9f7a7d29fb
|
fix(admin): 管理端取消订单改为调用 userSvc.CancelOrder,补充优惠券和积分退还逻辑
|
2026-03-18 21:12:46 +08:00 |
|
|
|
0722e515c4
|
feat(shipping): 新增管理端撤销发货功能
- 新增 AdminCancelShipping handler,支持批量撤销待发货记录(status=1→5)
- 事务内同步恢复 user_inventory.status=1 并清空 shipping_no
- 在 remark 记录操作人 adminID,保证审计可追溯
- 注册路由 POST /api/admin/shipping/orders/cancel
|
2026-03-18 20:11:37 +08:00 |
|
|
|
d1ee319f0e
|
feat(dashboard): 平台有效资产增加优惠券和次卡价值统计
- 新增优惠券总价值统计(关联system_coupons表)
- 新增次卡总价值统计(关联activities表price_draw)
- 使用Raw SQL执行复杂JOIN查询
|
2026-03-17 19:17:56 +08:00 |
|
win
|
8d1eef2f7f
|
fix(channel): 修复渠道统计GMV重复计数和商城直购误计入
1. 排除商城直购(source_type=1):GMV和成本过滤条件从IN(1,2,3,4)改为IN(2,3,4)
2. 排除次卡免费使用订单(actual_amount=0):避免购买次卡和使用次卡双重计入GMV
- source_type=4 一番赏使用次卡:1578单 44032元重复
- source_type=3 对对碰使用次卡:422单 7042元重复
- 合计去除51074元虚增GMV(29.1%)
3. 成本过滤条件同步修正:source_type IN(2,3,4),total_amount>0
修正后:GMV从175600降至124527元,毛利率从37.4%回到真实的11.8%
|
2026-03-16 21:41:39 +08:00 |
|
|
|
2aa7cdbd61
|
fix(shipping): 使用资产价值快照价格确保发货与分解价格一致
修复改价后发货价格与分解价格不一致的问题:
- 发货时优先使用 user_inventory.value_cents 快照价格
- 后台发货列表使用 shipping_records.price 存储的快照价格
- 确保盈亏统计时价格数据准确一致
|
2026-03-05 17:54:58 +08:00 |
|
win
|
b3b63dcba2
|
admin
|
2026-03-05 12:50:06 +08:00 |
|
win
|
e0db8751f3
|
任务中心的问题
|
2026-02-27 16:07:12 +08:00 |
|
win
|
46a7253239
|
fix:订单同步
|
2026-02-27 00:08:02 +08:00 |
|
win
|
9972427cea
|
fix: treat livestream pass orders as ticket price
|
2026-02-24 10:02:11 +08:00 |
|
win
|
8b7af03400
|
feat(prize): freeze value snapshots across grant redeem refund and reports
|
2026-02-21 22:16:20 +08:00 |
|
win
|
7e8a2ebb52
|
feat: Add user spending dashboard, update database schema, and refine various API endpoints and service logic.
|
2026-02-21 21:33:19 +08:00 |
|
|
|
af1c16c7c5
|
优惠券bug
|
2026-02-18 23:23:34 +08:00 |
|
|
|
58baa11a98
|
fix:优惠券购买次卡bug
|
2026-02-10 01:17:15 +08:00 |
|
|
|
e124f8d4ff
|
优化钱
|
2026-02-08 17:19:27 +08:00 |
|
|
|
571cb2f4db
|
add: 仪表盘
|
2026-02-04 12:44:37 +08:00 |
|
|
|
9eea272d69
|
统计更新
|
2026-02-03 17:44:02 +08:00 |
|
|
|
55e22086e8
|
201
|
2026-02-01 00:27:38 +08:00 |
|
|
|
1a8f94d7b8
|
fix
|
2026-01-29 19:25:16 +08:00 |
|
|
|
021ab34c75
|
add:opencode
|
2026-01-28 21:36:36 +08:00 |
|
|
|
6d33cc7fd0
|
fix:盈亏计算
|
2026-01-27 01:33:32 +08:00 |
|
|
|
5ad2f4ace3
|
feat: 保存当前开发进度 - 直播抽奖验证功能
|
2026-01-18 01:55:54 +08:00 |
|
|
|
b21e2db8ef
|
feat: 添加抖音商品奖励功能,并增强后台用户列表统计数据、邀请人数及道具数量展示。
|
2026-01-08 10:13:29 +08:00 |
|
|
|
e3a96e68d8
|
fix: 修复退款时清理一番赏格位、积分兑换商品库存校验及抖音登录自邀问题。
|
2026-01-06 01:46:25 +08:00 |
|
|
|
359ca9121f
|
chore: 添加定时开奖和抖店同步的调试与信息日志
|
2026-01-04 22:58:38 +08:00 |
|
|
|
fb6dc1e434
|
feat: 新增抖音登录功能、管理端次数卡及套餐管理接口,并引入配置迁移工具。
|
2026-01-04 01:40:11 +08:00 |
|
|
|
e8bfff8261
|
feat: 新增抖音订单、游戏通行证、快照回滚、短信登录及管理后台功能,并优化支付、活动与用户服务模块,同时清理旧文档
|
2026-01-02 12:38:03 +08:00 |
|
|
|
4a582997d1
|
feat: 引入活动抽奖策略槽位选择功能,新增用户库存发货单号字段,并优化支付与活动服务集成。
|
2025-12-26 18:15:15 +08:00 |
|
|
|
6435226f6d
|
refactor: 优化订单时间字段处理及数据库模型结构调整
- 将订单的PaidAt和CancelledAt从指针类型改为值类型
- 统一时间字段的判空逻辑,使用IsZero()替代nil检查
- 调整多个数据库模型结构,添加新字段并优化字段顺序
- 为活动奖励设置、用户邀请等表添加新字段
- 更新对应的DAO层代码以匹配模型变更
|
2025-12-23 23:37:59 +08:00 |
|
|
|
9aeca5344f
|
feat: 新增取消发货功能并优化任务中心
fix: 修复微信通知字段截断导致的编码错误
feat: 添加有效邀请相关字段和任务中心常量
refactor: 重构一番赏奖品格位逻辑
perf: 优化道具卡列表聚合显示
docs: 更新项目说明文档和API文档
test: 添加字符串截断工具测试
|
2025-12-23 22:26:07 +08:00 |
|
|
|
4aad2ad07c
|
feat: 新增订单列表筛选条件与活动信息展示
refactor(orders): 重构订单列表查询逻辑,支持按消耗状态筛选
feat(orders): 订单列表返回新增活动分类与玩法类型信息
fix(orders): 修复订单支付时间空指针问题
docs(swagger): 更新订单相关接口文档
test(matching): 添加对对碰奖励匹配测试用例
chore: 清理无用脚本文件
|
2025-12-22 15:15:18 +08:00 |
|
|
|
9dbd37e07f
|
feat: 添加对对碰游戏功能与Redis支持
refactor: 重构抽奖逻辑以支持可验证凭据
feat(redis): 集成Redis客户端并添加配置支持
fix: 修复订单取消时的优惠券和库存处理逻辑
docs: 添加对对碰游戏前端对接指南和示例JSON
test: 添加对对碰游戏模拟测试和验证逻辑
|
2025-12-21 17:31:32 +08:00 |
|
|
|
d055f81b90
|
chore: 清理无用文件与优化代码结构
refactor(utils): 修复密码哈希比较逻辑错误
feat(user): 新增按状态筛选优惠券接口
docs: 添加虚拟发货与任务中心相关文档
fix(wechat): 修正Code2Session上下文传递问题
test: 补充订单折扣与积分转换测试用例
build: 更新配置文件与构建脚本
style: 清理多余的空行与注释
|
2025-12-18 17:35:55 +08:00 |
|
|
|
a29c8ead15
|
build: 更新前端构建产物和资源文件
更新了前端构建产物包括JavaScript、CSS和HTML文件,主要涉及以下变更:
1. 新增了多个组件和工具函数,包括异常页面组件、iframe组件等
2. 更新了活动管理、产品管理、优惠券管理等业务模块
3. 优化了构建配置和依赖管理
4. 修复了一些样式和功能问题
5. 更新了测试相关文件
同时更新了部分后端服务接口和测试用例。这些变更主要是为了支持新功能和改进现有功能的用户体验。
|
2025-11-21 01:24:13 +08:00 |
|
|
|
be91dbbfa0
|
feat(admin): 更新前端资源文件及修复相关功能
refactor(service): 修改banner和guild删除逻辑为软删除
fix(service): 修复删除操作使用软删除而非物理删除
build: 添加SQLite测试仓库实现
docs: 新增奖励管理字段拆分和批量抽奖UI改造文档
ci: 更新CI忽略文件
style: 清理无用资源文件
|
2025-11-19 01:35:55 +08:00 |
|
|
|
46977aef2a
|
feat: 新增支付测试小程序与微信支付集成
feat(pay): 添加支付API基础结构
feat(miniapp): 创建支付测试小程序页面与配置
feat(wechatpay): 配置微信支付参数与证书
fix(guild): 修复成员列表查询条件
docs: 更新代码规范文档与需求文档
style: 统一前后端枚举显示与注释格式
refactor(admin): 重构用户奖励发放接口参数处理
test(title): 添加称号效果参数验证测试
|
2025-11-17 00:42:08 +08:00 |
|
|
|
208b7cde8a
|
feat(工作台): 实现管理端工作台接口并优化数据展示
feat(抽奖动态): 修复抽奖动态未渲染问题并优化文案展示
fix(用户概览): 修复用户概览无数据显示问题
feat(新用户列表): 在新用户列表显示称号明细
refactor(待办事项): 移除代办模块并全宽展示实时动态
feat(批量操作): 限制为单用户操作并在批量时提醒
fix(称号分配): 防重复分配称号的改造计划
perf(接口性能): 优化新用户和抽奖动态接口性能
feat(订单漏斗): 优化订单转化漏斗指标计算
docs(测试计划): 完善盲盒运营API核查与闭环测试计划
|
2025-11-16 14:00:29 +08:00 |
|
|
|
0ae202166a
|
feat: 添加环境变量支持并增强系统标题效果验证
feat(security): 支持通过环境变量配置主密钥和JWT密钥
refactor(router): 移除开发便捷路由接口
feat(admin): 添加超级管理员权限检查
feat(titles): 增加系统标题效果参数验证逻辑
|
2025-11-16 11:51:47 +08:00 |
|
|
|
0b15f075b6
|
feat(称号系统): 新增称号管理功能与抽奖效果集成
- 新增系统称号模板与效果配置表及相关CRUD接口
- 实现用户称号分配与抽奖效果应用逻辑
- 优化抽奖接口支持用户ID参数以应用称号效果
- 新增称号管理前端页面与分配功能
- 修复Windows时区错误与JSON字段初始化问题
- 移除无用管理接口代码并更新文档说明
|
2025-11-16 11:37:40 +08:00 |
|
|
|
83d5faf46b
|
feat(activity): 实现抽奖随机承诺与验证功能
新增随机种子生成与验证逻辑,包括:
1. 添加随机承诺生成接口
2. 实现抽奖执行与验证流程
3. 新增批量用户创建与删除功能
4. 添加抽奖收据记录表
5. 完善配置管理与错误码
新增测试用例验证随机算法正确性
|
2025-11-15 20:39:13 +08:00 |
|
|
|
9106663083
|
feat(interceptor): 添加APP端token验证接口并实现用户私有数据鉴权
refactor(api/user): 重构用户相关接口使用token验证替代user_id路径参数
docs: 更新API文档规范,明确私有接口需携带token及返回字段要求
fix(service/user): 避免写入未使用字段的零值导致MySQL校验错误
style: 统一格式化部分代码缩进和导入顺序
chore: 更新DS_Store等IDE配置文件
|
2025-11-15 00:49:53 +08:00 |
|
|
|
5088eec733
|
refactor: 重构项目结构并重命名模块
feat(admin): 新增工会管理功能
feat(activity): 添加活动管理相关服务
feat(user): 实现用户道具卡和积分管理
feat(guild): 新增工会成员管理功能
fix: 修复数据库连接配置
fix: 修正jwtoken导入路径
fix: 解决端口冲突问题
style: 统一代码格式和注释风格
style: 更新项目常量命名
docs: 添加项目框架和开发规范文档
docs: 更新接口文档注释
chore: 移除无用代码和文件
chore: 更新Makefile和配置文件
chore: 清理日志文件
test: 添加道具卡测试脚本
|
2025-11-14 21:10:00 +08:00 |
|
summer
|
df01bfc96d
|
feat(1.0): 调整关联小程序
|
2025-11-06 11:33:02 +08:00 |
|