Update
parent
00501f43d5
commit
c2ad93ef57
|
|
@ -36,7 +36,9 @@ class PreIncomeJobCommand extends Command
|
|||
public function handle(DistributionPreIncomeJobService $jobService)
|
||||
{
|
||||
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) {
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
|
@ -74,9 +76,17 @@ class PreIncomeJobCommand extends Command
|
|||
report($e);
|
||||
}
|
||||
}
|
||||
|
||||
$page++;
|
||||
});
|
||||
|
||||
sleep(5);
|
||||
if ($page === 0) {
|
||||
sleep(60);
|
||||
} elseif ($page === 1) {
|
||||
sleep(30);
|
||||
} else {
|
||||
sleep(15);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,14 +33,17 @@ class PreIncomeSettleCommand extends Command
|
|||
*/
|
||||
public function handle(WalletService $walletService)
|
||||
{
|
||||
DistributionPreIncome::processing()->chunkById(200, function ($preIncomes) use ($walletService) {
|
||||
$preIncomes->load('user');
|
||||
while (true) {
|
||||
$page = 0;
|
||||
|
||||
foreach ($preIncomes as $preIncome) {
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
DistributionPreIncome::processing()->chunkById(200, function ($preIncomes) use ($walletService, &$page) {
|
||||
$preIncomes->load('user');
|
||||
|
||||
$walletService->changeBalance(
|
||||
foreach ($preIncomes as $preIncome) {
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
$walletService->changeBalance(
|
||||
$preIncome->user,
|
||||
bcmul($preIncome->total_revenue, 100),
|
||||
WalletLog::ACTION_DISTRIBUTION_PRE_INCOME,
|
||||
|
|
@ -48,34 +51,39 @@ class PreIncomeSettleCommand extends Command
|
|||
$preIncome
|
||||
);
|
||||
|
||||
// 计算配额
|
||||
$changeQuota = bcmul($preIncome->total_revenue, app_settings('distribution.quota_v2_rate', 0), 4);
|
||||
$changeQuota = round($changeQuota, 3);
|
||||
// 计算配额
|
||||
$changeQuota = bcmul($preIncome->total_revenue, app_settings('distribution.quota_v2_rate', 0), 4);
|
||||
$changeQuota = round($changeQuota, 3);
|
||||
|
||||
$preIncome->user->userInfo()->update([
|
||||
$preIncome->user->userInfo()->update([
|
||||
'quota_v2' => DB::raw("quota_v2+{$changeQuota}"),
|
||||
]);
|
||||
|
||||
$preIncome->user->quotaLogs()->create([
|
||||
$preIncome->user->quotaLogs()->create([
|
||||
'loggable_id' => $preIncome->id,
|
||||
'loggable_type' => $preIncome->getMorphClass(),
|
||||
'change_quota' => $changeQuota,
|
||||
'remarks' => $preIncome->type_text.'得配额',
|
||||
]);
|
||||
|
||||
// 将预收益标记为已结算
|
||||
$preIncome->update([
|
||||
// 将预收益标记为已结算
|
||||
$preIncome->update([
|
||||
'completed_at' => now(),
|
||||
'status' => DistributionPreIncome::STATUS_PROCESSED,
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
DB::commit();
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
|
||||
report($e);
|
||||
report($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$page++;
|
||||
});
|
||||
|
||||
sleep(60);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
64
worker.conf
64
worker.conf
|
|
@ -9,7 +9,9 @@ killasgroup=true
|
|||
user=deployer
|
||||
numprocs=1
|
||||
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
|
||||
|
||||
# 【批零】处理待结算的已付款订单
|
||||
|
|
@ -23,7 +25,9 @@ killasgroup=true
|
|||
user=deployer
|
||||
numprocs=1
|
||||
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
|
||||
|
||||
# 【批零】结算已完成的订单
|
||||
|
|
@ -37,7 +41,9 @@ killasgroup=true
|
|||
user=deployer
|
||||
numprocs=1
|
||||
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
|
||||
|
||||
# 【商城】关闭过期订单
|
||||
|
|
@ -51,7 +57,9 @@ killasgroup=true
|
|||
user=deployer
|
||||
numprocs=1
|
||||
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
|
||||
|
||||
# 【商城】订单自动完成
|
||||
|
|
@ -65,7 +73,9 @@ killasgroup=true
|
|||
user=deployer
|
||||
numprocs=1
|
||||
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
|
||||
|
||||
# 【商城】订单退款
|
||||
|
|
@ -79,7 +89,9 @@ killasgroup=true
|
|||
user=deployer
|
||||
numprocs=1
|
||||
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
|
||||
|
||||
# 【商城】订单结算
|
||||
|
|
@ -93,7 +105,9 @@ killasgroup=true
|
|||
user=deployer
|
||||
numprocs=1
|
||||
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
|
||||
|
||||
# 【商城】消息推送
|
||||
|
|
@ -107,5 +121,39 @@ killasgroup=true
|
|||
user=deployer
|
||||
numprocs=1
|
||||
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
|
||||
|
|
|
|||
Loading…
Reference in New Issue