123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace App\Console\Commands;
- use Illuminate\Console\Command;
- use DB;
- use App\Order;
- class SyncMjOrderStatus extends Command {
- protected $signature = 'SyncMjOrderStatus';
- /**
- * The console command description.
- *
- * @var string
- */
- protected $description = '同步订单状态';
- public function handle()
- {
- $this->SyncMjOrderStatus();
- }
- public function SyncMjOrderStatus(){
- $orders = Order::select('id', 'outerCode')->where('orderCode','>',0)->where('status', '<', 3)->where('warehouse', 3)->orderBy('id', 'desc')->get();
- $orders = json_decode(json_encode($orders), true);
- foreach($orders as $k=>$order){
- $result = $this->getMjOrder($order['id'], $order['outerCode']);
- if( !empty($result) ){
- $data = array();
- $status = $result['status'];
- if($status == '已发货' || $status == '已完成'){
- $data['status'] = 3;
- $data['logistics_id'] = $result['expressCode'];
- Order::where('id', $order['id'])->update($data);
- }elseif($status == '已取消'){
- $data['is_del'] = 1;
- Order::where('id', $order['id'])->update($data);
- }
- }
- }
- }
- /**
- * 获取订单信息,可用来判断订单是否存在,同步订单状态
- */
- public function getMjOrder($id, $outerCode=''){
- $order = array();
- $order['eshopCode'] = config('constants.ESHOP_CODE');
- if(!$outerCode){
- $outerCode = Order::where('id', $id)->pluck('outerCode');
- }
- $order['outerCode'] = $outerCode;
- $mjOrder = Order::mjOrderGet($order);
- if(!isset($mjOrder['order']['code'])){
- return false;
- }
- return $mjOrder['order'];
- }
- }
|