Update
parent
176dd172b8
commit
7164b2e311
|
|
@ -50,6 +50,7 @@ class AdminSendCoupon extends Command
|
||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
|
while (true) {
|
||||||
//获取需要执行的任务数据包
|
//获取需要执行的任务数据包
|
||||||
$logs = CouponTaskLog::where('status', '0')->where('num', '>', 0)->orderBy('id')->limit($this->limit)->get();
|
$logs = CouponTaskLog::where('status', '0')->where('num', '>', 0)->orderBy('id')->limit($this->limit)->get();
|
||||||
$logs = $logs->groupBy('task_id');
|
$logs = $logs->groupBy('task_id');
|
||||||
|
|
@ -96,6 +97,8 @@ class AdminSendCoupon extends Command
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->info('执行成功');
|
$this->info('执行成功');
|
||||||
return Command::SUCCESS;
|
|
||||||
|
sleep(60);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ class OrderSettleCommand extends Command
|
||||||
DealerOrder::where([
|
DealerOrder::where([
|
||||||
'status' => DealerOrderStatus::Completed,
|
'status' => DealerOrderStatus::Completed,
|
||||||
'settle_state' => DealerOrderSettleState::Processed,
|
'settle_state' => DealerOrderSettleState::Processed,
|
||||||
])->whereNotNull('shippinged_time')->chunkById(200, function ($orders, &$page) {
|
])->whereNotNull('shippinged_time')->chunkById(200, function ($orders) use (&$page) {
|
||||||
$orders->load('dealer.userInfo');
|
$orders->load('dealer.userInfo');
|
||||||
|
|
||||||
foreach ($orders as $order) {
|
foreach ($orders as $order) {
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ class OrderCloseExpiredCommand extends Command
|
||||||
while (true) {
|
while (true) {
|
||||||
$page = 0;
|
$page = 0;
|
||||||
|
|
||||||
Order::select('id')->expired()->chunkById(1000, function ($orders, &$page) {
|
Order::select('id')->expired()->chunkById(1000, function ($orders) use (&$page) {
|
||||||
Order::whereIn('id', $orders->pluck('id')->all())->where('status', Order::STATUS_PENDING)->update([
|
Order::whereIn('id', $orders->pluck('id')->all())->where('status', Order::STATUS_PENDING)->update([
|
||||||
'status' => Order::STATUS_CANCELLED,
|
'status' => Order::STATUS_CANCELLED,
|
||||||
]);
|
]);
|
||||||
|
|
@ -44,7 +44,7 @@ class OrderCloseExpiredCommand extends Command
|
||||||
} elseif ($page === 1) {
|
} elseif ($page === 1) {
|
||||||
sleep(30);
|
sleep(30);
|
||||||
} else {
|
} else {
|
||||||
sleep(60);
|
sleep(15);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,10 +29,24 @@ class OrderCompleteCommand extends Command
|
||||||
*/
|
*/
|
||||||
public function handle(OrderService $orderService)
|
public function handle(OrderService $orderService)
|
||||||
{
|
{
|
||||||
Order::with('packages')->completable()->chunkById(200, function ($orders) use ($orderService) {
|
while (true) {
|
||||||
|
$page = 0;
|
||||||
|
|
||||||
|
Order::with('packages')->completable()->chunkById(200, function ($orders) use ($orderService, &$page) {
|
||||||
foreach ($orders as $order) {
|
foreach ($orders as $order) {
|
||||||
$orderService->confirm($order);
|
$orderService->confirm($order);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$page++;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if ($page === 0) {
|
||||||
|
sleep(60);
|
||||||
|
} elseif ($page === 1) {
|
||||||
|
sleep(30);
|
||||||
|
} else {
|
||||||
|
sleep(15);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,10 @@ class OrderRefundCommand extends Command
|
||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
OrderRefundLog::pending()->chunkById(200, function ($logs) {
|
while (true) {
|
||||||
|
$page = 0;
|
||||||
|
|
||||||
|
OrderRefundLog::pending()->chunkById(200, function ($logs) use (&$page) {
|
||||||
foreach ($logs as $log) {
|
foreach ($logs as $log) {
|
||||||
try {
|
try {
|
||||||
$method = 'refundBy'.Str::studly($log->order->pay_way);
|
$method = 'refundBy'.Str::studly($log->order->pay_way);
|
||||||
|
|
@ -56,9 +59,18 @@ class OrderRefundCommand extends Command
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$page++;
|
||||||
});
|
});
|
||||||
|
|
||||||
return 0;
|
if ($page === 0) {
|
||||||
|
sleep(60);
|
||||||
|
} elseif ($page === 1) {
|
||||||
|
sleep(30);
|
||||||
|
} else {
|
||||||
|
sleep(15);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -33,13 +33,16 @@ class OrderSettleCommand extends Command
|
||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
|
while (true) {
|
||||||
|
$page = 0;
|
||||||
|
|
||||||
// 只查询可结算的订单,并且没有处理中的售后单
|
// 只查询可结算的订单,并且没有处理中的售后单
|
||||||
// 检查订单是否有未执行的分销任务
|
// 检查订单是否有未执行的分销任务
|
||||||
Order::whereDoesntHave('afterSales', function ($query) {
|
Order::whereDoesntHave('afterSales', function ($query) {
|
||||||
return $query->processing();
|
return $query->processing();
|
||||||
})->whereDoesntHave('distributionPreIncomeJobs', function ($query) {
|
})->whereDoesntHave('distributionPreIncomeJobs', function ($query) {
|
||||||
return $query->pending();
|
return $query->pending();
|
||||||
})->settlable()->chunkById(200, function ($orders) {
|
})->settlable()->chunkById(200, function ($orders) use (&$page) {
|
||||||
$orders->load(['user', 'afterSales']);
|
$orders->load(['user', 'afterSales']);
|
||||||
|
|
||||||
foreach ($orders as $order) {
|
foreach ($orders as $order) {
|
||||||
|
|
@ -55,9 +58,18 @@ class OrderSettleCommand extends Command
|
||||||
report($e);
|
report($e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$page++;
|
||||||
});
|
});
|
||||||
|
|
||||||
return 0;
|
if ($page === 0) {
|
||||||
|
sleep(60);
|
||||||
|
} elseif ($page === 1) {
|
||||||
|
sleep(30);
|
||||||
|
} else {
|
||||||
|
sleep(15);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,10 @@ class PushMessageCommand extends Command
|
||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
PushMessageTask::with('message')->where('is_pushed', 0)->chunkById(100, function ($tasks) {
|
while (true) {
|
||||||
|
$page = 0;
|
||||||
|
|
||||||
|
PushMessageTask::with('message')->where('is_pushed', 0)->chunkById(100, function ($tasks) use (&$page) {
|
||||||
$mallPushService = new MallUnipushService();
|
$mallPushService = new MallUnipushService();
|
||||||
$merchantPushService = new MerchantUnipushService();
|
$merchantPushService = new MerchantUnipushService();
|
||||||
foreach ($tasks as $task) {
|
foreach ($tasks as $task) {
|
||||||
|
|
@ -63,7 +66,17 @@ class PushMessageCommand extends Command
|
||||||
report($th);
|
report($th);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$page++;
|
||||||
});
|
});
|
||||||
return Command::SUCCESS;
|
|
||||||
|
if ($page === 0) {
|
||||||
|
sleep(60);
|
||||||
|
} elseif ($page === 1) {
|
||||||
|
sleep(30);
|
||||||
|
} else {
|
||||||
|
sleep(15);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,111 @@
|
||||||
|
# 【批零】自动分配订单
|
||||||
|
[program:zcs-dealer-order-allocate]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan dealer:order-auto-allocate
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
user=deployer
|
||||||
|
numprocs=1
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/dealer-order-allocate.log
|
||||||
|
stopwaitsecs=600
|
||||||
|
|
||||||
|
# 【批零】处理待结算的已付款订单
|
||||||
|
[program:zcs-dealer-order-process]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan dealer:order-process
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
user=deployer
|
||||||
|
numprocs=1
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/dealer-order-process.log
|
||||||
|
stopwaitsecs=900
|
||||||
|
|
||||||
|
# 【批零】结算已完成的订单
|
||||||
|
[program:zcs-dealer-order-settle]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan dealer:order-settle
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
user=deployer
|
||||||
|
numprocs=1
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/dealer-order-settle.log
|
||||||
|
stopwaitsecs=300
|
||||||
|
|
||||||
|
# 【商城】关闭过期订单
|
||||||
|
[program:order-close-expired]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan order:close-expired
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
user=deployer
|
||||||
|
numprocs=1
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/order-close.log
|
||||||
|
stopwaitsecs=300
|
||||||
|
|
||||||
|
# 【商城】订单自动完成
|
||||||
|
[program:order-complete]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan order:complete
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
user=deployer
|
||||||
|
numprocs=1
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/order-complete.log
|
||||||
|
stopwaitsecs=300
|
||||||
|
|
||||||
|
# 【商城】订单退款
|
||||||
|
[program:order-refund]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan order:refund
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
user=deployer
|
||||||
|
numprocs=1
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/order-refund.log
|
||||||
|
stopwaitsecs=300
|
||||||
|
|
||||||
|
# 【商城】订单结算
|
||||||
|
[program:order-settle]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan order:settle
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
user=deployer
|
||||||
|
numprocs=1
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/order-settle.log
|
||||||
|
stopwaitsecs=300
|
||||||
|
|
||||||
|
# 【商城】消息推送
|
||||||
|
[program:message-push]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php /www/wwwroot/admin.zichunsheng.cn/current/artisan message:push
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
user=deployer
|
||||||
|
numprocs=1
|
||||||
|
redirect_stderr=true
|
||||||
|
stdout_logfile=/www/wwwroot/admin.zichunsheng.cn/current/storage/logs/message-push.log
|
||||||
|
stopwaitsecs=300
|
||||||
Loading…
Reference in New Issue