6
0
Fork 0
release
李静 2022-01-20 20:32:40 +08:00
parent 00501f43d5
commit c2ad93ef57
3 changed files with 95 additions and 29 deletions

View File

@ -36,7 +36,9 @@ class PreIncomeJobCommand extends Command
public function handle(DistributionPreIncomeJobService $jobService) public function handle(DistributionPreIncomeJobService $jobService)
{ {
while (true) { while (true) {
DistributionPreIncomeJob::with('jobable')->pending()->chunkById(200, function ($jobs) use ($jobService) { $page = 0;
DistributionPreIncomeJob::with('jobable')->pending()->chunkById(200, function ($jobs) use ($jobService, &$page) {
foreach ($jobs as $job) { foreach ($jobs as $job) {
try { try {
DB::beginTransaction(); DB::beginTransaction();
@ -74,9 +76,17 @@ class PreIncomeJobCommand extends Command
report($e); report($e);
} }
} }
$page++;
}); });
sleep(5); if ($page === 0) {
sleep(60);
} elseif ($page === 1) {
sleep(30);
} else {
sleep(15);
}
} }
} }
} }

View File

@ -33,14 +33,17 @@ class PreIncomeSettleCommand extends Command
*/ */
public function handle(WalletService $walletService) public function handle(WalletService $walletService)
{ {
DistributionPreIncome::processing()->chunkById(200, function ($preIncomes) use ($walletService) { while (true) {
$preIncomes->load('user'); $page = 0;
foreach ($preIncomes as $preIncome) { DistributionPreIncome::processing()->chunkById(200, function ($preIncomes) use ($walletService, &$page) {
try { $preIncomes->load('user');
DB::beginTransaction();
$walletService->changeBalance( foreach ($preIncomes as $preIncome) {
try {
DB::beginTransaction();
$walletService->changeBalance(
$preIncome->user, $preIncome->user,
bcmul($preIncome->total_revenue, 100), bcmul($preIncome->total_revenue, 100),
WalletLog::ACTION_DISTRIBUTION_PRE_INCOME, WalletLog::ACTION_DISTRIBUTION_PRE_INCOME,
@ -48,34 +51,39 @@ class PreIncomeSettleCommand extends Command
$preIncome $preIncome
); );
// 计算配额 // 计算配额
$changeQuota = bcmul($preIncome->total_revenue, app_settings('distribution.quota_v2_rate', 0), 4); $changeQuota = bcmul($preIncome->total_revenue, app_settings('distribution.quota_v2_rate', 0), 4);
$changeQuota = round($changeQuota, 3); $changeQuota = round($changeQuota, 3);
$preIncome->user->userInfo()->update([ $preIncome->user->userInfo()->update([
'quota_v2' => DB::raw("quota_v2+{$changeQuota}"), 'quota_v2' => DB::raw("quota_v2+{$changeQuota}"),
]); ]);
$preIncome->user->quotaLogs()->create([ $preIncome->user->quotaLogs()->create([
'loggable_id' => $preIncome->id, 'loggable_id' => $preIncome->id,
'loggable_type' => $preIncome->getMorphClass(), 'loggable_type' => $preIncome->getMorphClass(),
'change_quota' => $changeQuota, 'change_quota' => $changeQuota,
'remarks' => $preIncome->type_text.'得配额', 'remarks' => $preIncome->type_text.'得配额',
]); ]);
// 将预收益标记为已结算 // 将预收益标记为已结算
$preIncome->update([ $preIncome->update([
'completed_at' => now(), 'completed_at' => now(),
'status' => DistributionPreIncome::STATUS_PROCESSED, 'status' => DistributionPreIncome::STATUS_PROCESSED,
]); ]);
DB::commit(); DB::commit();
} catch (Throwable $e) { } catch (Throwable $e) {
DB::rollBack(); DB::rollBack();
report($e); report($e);
}
} }
}
}); $page++;
});
sleep(60);
}
} }
} }

View File

@ -9,7 +9,9 @@ killasgroup=true
user=deployer user=deployer
numprocs=1 numprocs=1
redirect_stderr=true redirect_stderr=true
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/dealer-order-allocate.log stdout_logfile_maxbytes=10MB
stdout_logfile_backups=1
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-dealer-order-allocate.log
stopwaitsecs=600 stopwaitsecs=600
# 【批零】处理待结算的已付款订单 # 【批零】处理待结算的已付款订单
@ -23,7 +25,9 @@ killasgroup=true
user=deployer user=deployer
numprocs=1 numprocs=1
redirect_stderr=true redirect_stderr=true
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/dealer-order-process.log stdout_logfile_maxbytes=10MB
stdout_logfile_backups=10
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-dealer-order-process.log
stopwaitsecs=900 stopwaitsecs=900
# 【批零】结算已完成的订单 # 【批零】结算已完成的订单
@ -37,7 +41,9 @@ killasgroup=true
user=deployer user=deployer
numprocs=1 numprocs=1
redirect_stderr=true redirect_stderr=true
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/dealer-order-settle.log stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-dealer-order-settle.log
stopwaitsecs=300 stopwaitsecs=300
# 【商城】关闭过期订单 # 【商城】关闭过期订单
@ -51,7 +57,9 @@ killasgroup=true
user=deployer user=deployer
numprocs=1 numprocs=1
redirect_stderr=true redirect_stderr=true
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/order-close.log stdout_logfile_maxbytes=10MB
stdout_logfile_backups=1
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-order-close.log
stopwaitsecs=300 stopwaitsecs=300
# 【商城】订单自动完成 # 【商城】订单自动完成
@ -65,7 +73,9 @@ killasgroup=true
user=deployer user=deployer
numprocs=1 numprocs=1
redirect_stderr=true redirect_stderr=true
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/order-complete.log stdout_logfile_maxbytes=10MB
stdout_logfile_backups=1
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-order-complete.log
stopwaitsecs=300 stopwaitsecs=300
# 【商城】订单退款 # 【商城】订单退款
@ -79,7 +89,9 @@ killasgroup=true
user=deployer user=deployer
numprocs=1 numprocs=1
redirect_stderr=true redirect_stderr=true
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/order-refund.log stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-order-refund.log
stopwaitsecs=300 stopwaitsecs=300
# 【商城】订单结算 # 【商城】订单结算
@ -93,7 +105,9 @@ killasgroup=true
user=deployer user=deployer
numprocs=1 numprocs=1
redirect_stderr=true redirect_stderr=true
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/order-settle.log stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-order-settle.log
stopwaitsecs=300 stopwaitsecs=300
# 【商城】消息推送 # 【商城】消息推送
@ -107,5 +121,39 @@ killasgroup=true
user=deployer user=deployer
numprocs=1 numprocs=1
redirect_stderr=true redirect_stderr=true
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/message-push.log stdout_logfile_maxbytes=10MB
stdout_logfile_backups=1
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-message-push.log
stopwaitsecs=300
# 【商城】预收益任务
[program:zcs-pre-income-job]
process_name=%(program_name)s_%(process_num)02d
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan distribution:pre-income-job
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=deployer
numprocs=1
redirect_stderr=true
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-pre-income-job.log
stopwaitsecs=300
# 【商城】预收益结算
[program:zcs-pre-income-settle]
process_name=%(program_name)s_%(process_num)02d
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan distribution:pre-income-settle
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=deployer
numprocs=1
redirect_stderr=true
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/worker-pre-income-settle.log
stopwaitsecs=300 stopwaitsecs=300