任务时间: 2025年06月12日 14:25:38 CST
任务内容: Fund模块增加一个钻石冻结账户,同属于钻石币种;小数点精度10位
用户需要在Fund模块中增加一个钻石冻结账户,用于存储被冻结的钻石资金。该账户与现有的钻石账户同属于钻石币种,但用途不同:
同时需要将钻石币种的小数精度从6位调整为10位。
更新 FUND_CURRENCY_TYPE 枚举中钻石的精度配置:
在 FUND_TYPE 枚举中添加:
FUND3 = 3 作为钻石冻结账户在 fund_config 表中添加钻石冻结账户的配置记录:
// 修改前
self::ZUANSHI => 6, // 钻石:6位小数
// 修改后
self::ZUANSHI => 10, // 钻石:10位小数
// 新增钻石冻结账户
/**
* 钻石冻结账户
*
* 对应币种:钻石(OWG)
* 用于存储用户被冻结的钻石资金,冻结期间不可使用
*/
case FUND3 = 3;
INSERT INTO kku_fund_config (id, name, currency_id, type, display_attributes, create_time, update_time)
VALUES (3, '钻石冻结', 2, 3, '{"icon": "icon/item/999_0_png", "badge": "冻结", "color": "#ff6b6b", "animation": "", "background": "", "description": "被冻结的钻石资金,冻结期间不可使用"}', UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
AccountService::getFundsDesc() 方法自动获取账户描述FundService 类支持对钻石冻结账户的所有操作FundIdCheckValidator 自动支持新的账户类型// 从钻石账户转移到钻石冻结账户
$fundService = new FundService($userId, FUND_TYPE::FUND2->value);
$result = $fundService->circulation(
FUND_TYPE::FUND3,
$amount,
$orderId,
'FREEZE',
'交易冻结'
);
// 从钻石冻结账户转移回钻石账户
$fundService = new FundService($userId, FUND_TYPE::FUND3->value);
$result = $fundService->circulation(
FUND_TYPE::FUND2,
$amount,
$orderId,
'UNFREEZE',
'解除冻结'
);
✓ php -l app/Module/Fund/Enums/FUND_TYPE.php
✓ php -l app/Module/Fund/Enums/FUND_CURRENCY_TYPE.php
-- 验证配置记录已正确插入
SELECT * FROM kku_fund_config WHERE id = 3;
-- 结果:钻石冻结账户配置正确
app/Module/Fund/Enums/FUND_CURRENCY_TYPE.php - 钻石精度调整app/Module/Fund/Enums/FUND_TYPE.php - 添加钻石冻结账户kku_fund_config 表 - 新增钻石冻结账户配置记录✅ 已完成: Fund模块钻石冻结账户添加
✅ 已完成: 钻石币种精度调整为10位小数
✅ 已完成: 数据库配置更新
✅ 已完成: 代码提交和推送
✅ 已完成: 语法和功能验证
提交信息: Fund模块:增加钻石冻结账户,钻石精度调整为10位小数