功能:职务奖励金币发放系统

数据库:
- positions 新增 daily_reward_limit(单日累计上限)
- positions 新增 recipient_daily_limit(同一接收者每日次数上限)

后端:
- CurrencySource::POSITION_REWARD 新枚举值
- AdminCommandController::reward() 三层限额校验
  ① 单次上限 ② 单日累计上限 ③ 同一接收者每日次数
  写履职记录(PositionAuthorityLog)+ UserCurrencyService
  聊天室悄悄话通知接收者
- POST /command/reward 路由注册

前端(user-actions.blade.php):
- 名片按钮行 2+1 布局(加好友/送礼物/送金币)
- 送金币仅在 myMaxReward>0 时显示(职务持有者)
- 内联奖励金币面板:金额输入 + 确认发放 + 说明文字
- sendReward() 前端校验 + API 调用 + chatDialog 反馈

后台(positions/index):
- 编辑表单新增两个奖励限额字段
- PositionController 验证规则同步更新
This commit is contained in:
2026-03-01 11:09:29 +08:00
parent 476499832f
commit ff57afe388
9 changed files with 329 additions and 26 deletions

View File

@@ -32,6 +32,8 @@ class Position extends Model
'level',
'max_persons',
'max_reward',
'daily_reward_limit',
'recipient_daily_limit',
'sort_order',
];
@@ -45,6 +47,8 @@ class Position extends Model
'level' => 'integer',
'max_persons' => 'integer',
'max_reward' => 'integer',
'daily_reward_limit' => 'integer',
'recipient_daily_limit' => 'integer',
'sort_order' => 'integer',
];
}