ypsdf1
|
5912c6fd76
|
引导初始化:管理密码首次由部署者自设,解开占位符密码无法保存配置的死结
|
2026-10-02 17:10:39 +08:00 |
|
ypsdf1
|
6a74dfee91
|
修复单件附魔书结算时 web_transactions 唯一约束冲突
|
2026-07-21 16:43:18 +08:00 |
|
ypsdf1
|
1e97285459
|
PHP端:购物车发货前material验证 + 退款接收接口
- shop.php buy_cart: 扣款前验证每件商品material为Java可识别值(合法Material或附魔书id+ENCHANTED_BOOK组合)
- sync.php: 新增write_shop_refund action接收Java退款请求(恢复bond_cache+写refund交易)
|
2026-07-09 10:54:59 +08:00 |
|
ypsdf1
|
e076596b4d
|
修复收银台小票推送:settlement 误传中文标签导致重复发小票潜影盒
api/shop.php 推送 give_receipt_book 时误用 $modeName(中文:塞背包(环保单)/潜影盒打包)
而非原始代码,导致 Java 端 equals('backpack'/'shulker') 守卫不匹配、仍单独发小票潜影盒。
现改为推送原始 $settlement 代码;Java 端守卫已同步兼容中文标签做双保险。
|
2026-07-08 17:35:04 +08:00 |
|
ypsdf1
|
e9ecb0ae53
|
修复收银台:背包(环保单)模式尊重游戏内 green_discount
此前背包模式固定按 cart_backpack_rate(0.98=98折)结算,
忽略游戏内 /sdf1_login shop setgreen 设置的折扣。
现改为:green_discount<10 时以游戏折扣为准(如 setgreen 9 -> ×0.9),
覆盖默认98折;未设置(=10)时仍走 cart_backpack_rate 保持环保优惠。
前端预览 RATES.backpack 同步读取 green_discount,避免界面/实付不一致。
|
2026-07-08 16:35:04 +08:00 |
|
ypsdf1
|
77ee56cca4
|
修复收银台98折错误地叠加环保单折扣导致实付约95折
- api/shop.php: 塞背包模式不再额外叠加 green_discount,仅按 cart_backpack_rate(0.98=98折) 计费,ecoPct 置0
- cashier.php: 结算标签改为动态显示真实折扣率;前端 recalc 中 ecoPct 恒为0,与后端一致,消除显示与扣款不符
|
2026-07-08 13:53:01 +08:00 |
|
ypsdf1
|
28c7aa119e
|
修复: green_discount折扣率(折数)语义——前端/后端计算ecoAmt改为×折数/10,管理面板max=10默认值10,校验与文案全改
|
2026-07-08 00:18:47 +08:00 |
|
ypsdf1
|
ac79628076
|
修复: PHP端packmoney从(int)强转改为(float)支持小数(cashier/shop/sync三处)
|
2026-07-07 23:54:20 +08:00 |
|
ypsdf1
|
d0be292a78
|
修复: 收银台api()加25s超时兜底(解决结账卡死) + buy_cart小票推送容错 + 订单错误堆栈日志 + orders会话判定保护
|
2026-07-07 22:43:51 +08:00 |
|
ypsdf1
|
9c269cc184
|
重构: 收银台订单库彻底独立于web.db,根除订单加载卡死
根因:订单记录原写在 web.db,与 Java 经 sync.php 高频写入共享同一 SQLite 文件,
产生文件级锁竞争(database is locked)。原 62f5323 用 busy_timeout=15s + 重试 hack
缓解,但 Java 持续写入仍会顶住 PHP 订单读查询,导致订单页长期转圈。
改动:
- 新增独立 orders.db 常量(ORDERS_DB_PATH),Java 永不读写此库
- core.php 新增 getOrdersDB() 连接独立库(WAL + busy_timeout=5s),建表并幂等迁移 web.db 历史订单
- recordCashierOrder() 改写写入 orders.db,订单写失败仅记日志返回空单号,绝不阻断购买主流程
- shop.php 将订单记录移出 web.db 事务,放到 COMMIT 之后写独立库
- cashier.php cashierOrderList() 直接读 orders.db,去掉 busy_timeout 与 5 次重试兜底 hack
- web.db 内旧 cashier_orders 表保留为历史死表(仅作迁移源),不再被读写
效果:订单查询与 Java 写入完全解耦,订单页不再受 CF/Java 锁影响而卡死。
|
2026-07-07 15:25:25 +08:00 |
|
ypsdf1
|
7a4aad46c6
|
功能: 订单记录独立页+小票书+packmoney/green修复(??替代||)
1. 新增 orders.php 独立订单记录页面(搜索/筛选/详情弹窗)
2. 收银台底部订单区改为跳转链接(→orders.php)
3. buy_cart 成功后推送 give_receipt_book 到 Java 队列(发放 Written Book)
4. 修复 packmoney/green_discount 前端 JS || falsy 回退 bug(改用 ??)
5. 费率从后端 shop_config 动态读取(不再硬编码 RATES)
6. cashierGetConfig 扩展读取 cart_backpack_rate/cart_shulker_rate
|
2026-07-07 12:28:26 +08:00 |
|
ypsdf1
|
fdd8ccb340
|
优化: 收银台新增打包小票(小票弹窗+打印) + buy_cart返回order_no
|
2026-07-07 11:37:48 +08:00 |
|
ypsdf1
|
9456f787f8
|
优化: 收银台购物延迟压至15秒内(busy_timeout 60s→8s、移除热路径冗余DDL、合并配置批量读取)
|
2026-07-07 10:39:17 +08:00 |
|
ypsdf1
|
6634fdefa0
|
修复收银台SQLite3Stmt::fetch崩溃并应用环保单减免配置
|
2026-07-07 00:33:24 +08:00 |
|
ypsdf1
|
f32c7cfe86
|
收银台双模式收款与打包配置全链路实现
- 收银员新增 can_cash 现金收款权限字段(登录/列表/新增/编辑全链路)
- 购物车结算支持 pay_mode=cash/bond 双模式,现金模式跳过余额校验与扣债券
- 收银台前端读取可配置 packmoney 实时报价,修复此前硬编码+2元与实际收费不符
- 管理后台新增打包费(packmoney)与环保减免(green_discount)配置端口
- 同步接口新增 get/set_shop_config,Java端定时器拉取配置
- 购物小票书塞入首个潜影盒,免费潜影盒订正为原色(SHULKER_BOX)
|
2026-07-06 23:48:44 +08:00 |
|
ypsdf1
|
59701d1627
|
新增独立收银台页面与收银员账号体系:支持收银员/管理员登录、手动折扣(服务端强制上限)、订单记录;同步修复代购≥1000仍误报需玩家密码问题(#733 #734)
|
2026-07-06 19:27:14 +08:00 |
|
ypsdf1
|
dd425f4946
|
修复商城database is locked;购物车结算增强:≥1000元强制密码校验、潜影盒颜色可选收费(默认紫色免费);玩家端新增购物车模式与颜色选择器
|
2026-07-06 17:33:15 +08:00 |
|
ypsdf1
|
7a283ae4e0
|
商城购物车模式+收银台结算+后台折扣配置:前端购物车FAB/抽屉/结算弹窗,后端buy_cart接口事务批量购买,admin购物车配置卡片,cart_config/save_shop_config接口
|
2026-07-06 16:39:47 +08:00 |
|
ypsdf1
|
aa45bd5ca2
|
修复领地同步: 补全缺失字段迁移(deny_block_break等30+列)、修复重复deny_all_effects列、添加调试日志
|
2026-06-26 21:25:40 +08:00 |
|
ypsdf1
|
3ad96b1080
|
修复多个问题:库存无限+CDK逻辑简化
问题2修复: 库存无限商品数量限制
- player.php: 库存无限时最大数量从64改为999
- shop.php: 移除硬编码64上限,只检查stock>0时的库存
问题3修复: CDK兑换逻辑简化
- cdk.php: PHP不再更新bond_cache,只记录pending交易
- Java端负责拉取交易并处理加债券
- 返回给前端的balance_after改为当前余额(不预加)
|
2026-06-26 10:59:58 +08:00 |
|
ypsdf1
|
4c7ec7490f
|
fix: 修复库存不同步bug(item_id字段名不匹配); 新增库存高频轮询; 新增工单系统; 修复admin_stock竞态条件; 修复opcache_reset竞态
|
2026-06-22 16:54:13 +08:00 |
|
ypsdf1
|
885e70f0f5
|
添加Web前端代码
|
2026-06-19 16:02:14 +08:00 |
|
ypsdf1
|
9bae160ce0
|
Java:新增ip推送端口,后端可以查看玩家ip及归属
php:新增ip属地、实时在线数据,可以查看玩家ip、归属和实时在线情况
|
2026-06-18 12:35:22 +08:00 |
|
ypsdf1
|
0c9a5b0f53
|
feat: Web后台功能增强 - 即时通知机制、移动端适配、在线用户管理、主题切换
|
2026-06-14 17:02:39 +08:00 |
|
ypsdf1
|
54cd3c4f59
|
feat: 初始提交 Web 管理后台源码 (PHP)
|
2026-06-14 16:35:07 +08:00 |
|