问题:
先提交代码; 商店商品-列表,增加加'消耗组详情,奖励组详情'列,展示消耗组内容/奖励组内容 修改后浏览器后进行查看,确认显示正常才可以完成任务 本系统没有任何Api,你写的Api是干嘛的; shop_items 的 $max_buy 最大购买数量(0表示无限制)是否已经被完全替代,期望是被新的限购替代; shop_items 的 $max_buy 确认被替代后移除,使用mcp执行sql
看日志,修复问题,使用下面命令进行验证 php artisan debug:reproduce-error 68991486 请求 request_1749722768045 cd /data/wwwroot/urs/kku_laravel
php artisan debug:reproduce-error 68994830 68994830 用户10004登陆
php artisan debug:reproduce-error 68994846 68994846 用户10003登陆
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 数据变更的同步
完善 资金/物品的流向 的内容,增加图表到文档,不修改带代码
用户买入物品撮合算法 修正
Fund 模块的 小数 适配还未完成 ,比如 \App\Module\Fund\Services\FundService::balance 返回还是 int ,应该是 float 检查 Fund模块其他位置的小数适配问题
在非Fund模块外,不应该自行处理资金数值问题,从Fund模块服务层返回的资金数值是可信的;
需要增加1个‘开放平台’的模块,用于处理第三方应用的接入 处理第三方应用的接入信息 和 处理接入第三方应用的信息 ,适合一个模块么? OpenAPI模块 - 专门处理对外开放API的需求 OpenAPI模块 加入到后台菜单(数据库,而不是硬编码),创建新的顶级菜单‘外接管理’
ThirdParty模块 - 专门处理接入第三方服务的需求
URS团队收益记录表 扩展,增加 :‘产生收益的农场用户id’字段 目前处于开发阶段,直接修改,修改代码,修改文档,不处理旧数据
农场模块,增加农场配置,先规划文档到 农场模块/Docs
返回数据 ResponsePromotionInfo 增加了 star_level ,修改handler
App\Module\Game\Services\ConsumeService::executeConsume(): Argument #4 ($sourceId) must be of type int, string given, called in /www/wwwroot/kku.wooyo.cc/kku_laravel/app/Module/Farm/Logics/LandLogic.php on line 207",