Update
parent
00501f43d5
commit
c2ad93ef57
|
|
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
64
worker.conf
64
worker.conf
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue