feat(fsgx): HJF queue merge, brokerage timing, cycle commission, points release
- Add HJF jobs, services, DAOs, models, admin/API controllers, release command - Respect brokerage_timing (on_pay vs confirm); dispatch HjfOrderPayJob for queue goods - Queue-only cycle commission and position index fix in StoreOrderCreateServices - UserBill income types: frozen_points_brokerage, frozen_points_release - Timer: fsgx_release_frozen_points -> PointsReleaseServices - Agent tasks: no_assess filtering for direct/umbrella counts - Migrations: queue_pool, points_release_log, fsgx_v1 checklist updates - Admin/uniapp: crontab preset, membership level, user list, finance routes, docs Made-with: Cursor
This commit is contained in:
@@ -106,6 +106,22 @@ class SystemTimer extends AuthController
|
||||
return $this->success('添加定时器成功!');
|
||||
}
|
||||
|
||||
/**
|
||||
* 手动立即触发一个定时任务
|
||||
* @param $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function run_now($id)
|
||||
{
|
||||
$timer = $this->services->getOneTimer($id);
|
||||
$mark = $timer['mark'] ?? '';
|
||||
if (!$mark) {
|
||||
return $this->fail('定时任务标识不存在');
|
||||
}
|
||||
$this->services->runNow($mark);
|
||||
return $this->success('任务已触发');
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新定时任务
|
||||
* @param $id
|
||||
|
||||
@@ -421,7 +421,13 @@ class SystemConfig extends AuthController
|
||||
|
||||
$is_store_stock = isset($post['store_stock']) && $post['store_stock'] != sys_config('store_stock');
|
||||
|
||||
// radio 类型字段:若历史 bug 导致 value 为单元素数组,自动展开为标量
|
||||
$radioScalarFields = ['brokerage_scope', 'brokerage_timing'];
|
||||
foreach ($post as $k => $v) {
|
||||
if (in_array($k, $radioScalarFields) && is_array($v) && count($v) === 1) {
|
||||
$v = $v[0];
|
||||
$post[$k] = $v;
|
||||
}
|
||||
$config_one = $this->services->getOne(['menu_name' => $k]);
|
||||
if ($config_one) {
|
||||
$config_one['value'] = $v;
|
||||
|
||||
Reference in New Issue
Block a user