WORK2.md 4.3 KB

问题:

  1. 目前代码中没有 is_random /random_count 的使用,代表该功能未实现 (查实,无需修改)
  2. 这个和奖励项中的数量有什么关系

先提交代码; 商店商品-列表,增加加'消耗组详情,奖励组详情'列,展示消耗组内容/奖励组内容 修改后浏览器后进行查看,确认显示正常才可以完成任务 本系统没有任何Api,你写的Api是干嘛的; shop_items 的 $max_buy 最大购买数量(0表示无限制)是否已经被完全替代,期望是被新的限购替代; shop_items 的 $max_buy 确认被替代后移除,使用mcp执行sql

看日志,修复问题,使用下面命令进行验证 php artisan debug:reproduce-error request_1749719916298 请求 request_1749207804951 cd /data/wwwroot/nusuus/kknongchang/kku_laravel

Fund模块扩展,资金数储存 从bigint 改用 DECIMAL(30,10);依旧沿用 硬编码的精度设置,精度设置是为了处理php的运算精度,不同的币种采用的精度不同,与数据库精度兼容

挂单没有价格限制,挂单要冻结资金(买入) /物品(卖出);冻结到 用户的 冻结账户 资金 流转方向 : 用户自己的基本账户 -》用户自己的这个货币的冻结账户 -》 成交 -》
维护文档

目前的GameItem模块,遇到了一个问题;在实现匹配交易的过程中,卖出物品,需要冻结该物品,但是物品的冻结,没有实现;给一个思路,总结到物品模块的 ‘冻结实现’ 文档中;不进行代码开发,只处理文档

ItemInstance 的扩展没有意义,因为ItemInstance是物品实例表,记录的是物品信息,而不存在物品归属的概念 维护文档,不进行开发

冻结记录表,order_id 替换为 source_id 操作方记录ID 和 source_type 操作类型 ;自动解冻 逻辑不存在;解冻是由冻结发起方处理的; 同样 ItemUser扩展也不需要‘冻结过期时间‘、‘冻结数量’、’冻结原因‘、‘冻结时间’;‘关联的订单ID(如果是因订单冻结)’ 替换为 ‘冻结日志ID’

交易日志,不记录冻结相关信息,冻结信息由冻结表记录,冻结本质没有改变物品归属,所以交易日志中不记录 ItemUser 的扩展,让我们采用冻结即拆‘堆’的模式实现,对于 1000个的堆叠,冻结200个,则拆分为两个堆,一个200个 (冻结),一个800个可用;增加 是否冻结 字段;冻结的堆,不能使用

Protobuf的 DataItem 已经更新(堆id 是 item_user表的id),完成适配,包括:DataHanlder的查询,Lastdata 数据变更的同步

完善 资金/物品的流向 的内容,增加图表到文档,不修改带代码

  1. 用户买入物品
    • 挂单: 资金从 本用户的.可用账户 =》 用户的.冻结账户(用户总资金不变)
    • 取消挂单 资金从 用户的.冻结账户 =》用户的.可用账户 (用户总资金不变)
    • 挂单成交
      • 资金从 用户的.冻结账户 =》仓库账号.可用账户 (用户总资金减少)
      • 物品从 仓库账号 =》 用户.可用状态 (用户物品总数增加)
  2. 用户卖出物品
    • 挂单: 物品从 用户物品.可用状态 =》 用户物品.冻结状态(用户物品总数不变)
    • 取消挂单 物品从 用户物品.冻结状态 =》用户物品.可用状态 (用户物品总数不变)
    • 挂单成交
      • 资金从 仓库账号.可用账户 =》 用户的.可用账户(用户总资金增加)
      • 物品从 用户物品.可用状态 =》 仓库账号(用户物品总数减少)

用户买入物品撮合算法 修正

  • 获取待撮合,价格符合,且不超量的用户买入物品订单
  • 二级排序(mysql获取时就排序):价格 和 时间
  • 遇到库存不足,不再跳过处理下一个订单,而是结束本次处理(被大数额挂单卡单)

✅ 看日志,修复问题,使用下面命令进行验证 php artisan debug:reproduce-error request_1749719916298

  • 已完成:修复Matchexchange AddHandler的direction字段验证错误
  • 问题:protobuf枚举字段在JSON序列化时变成字符串,但验证规则期望整数
  • 修复:添加beforeValidate方法进行数据类型转换,修复price验证器类型问题
  • 文档:AiWork/2025年06月/12日1732-修复Matchexchange AddHandler验证错误.md