192 lines
6.1 KiB
PHP
192 lines
6.1 KiB
PHP
<?php
|
|
/**
|
|
* Author:
|
|
* Date: 2018/9/19
|
|
* Time: 下午3:37
|
|
*/
|
|
|
|
namespace app\Jobs;
|
|
|
|
use app\backend\modules\charts\models\OrderIncomeCount;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Bus\Queueable;
|
|
use Illuminate\Queue\SerializesModels;
|
|
use Illuminate\Queue\InteractsWithQueue;
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Schema;
|
|
|
|
class OrderCountContentJob implements ShouldQueue
|
|
{
|
|
use InteractsWithQueue, Queueable, SerializesModels;
|
|
|
|
protected $orderModel;
|
|
protected $countModel;
|
|
|
|
public function __construct($orderModel)
|
|
{
|
|
$this->orderModel = $orderModel;
|
|
}
|
|
|
|
public function handle()
|
|
{
|
|
$data = [
|
|
'uniacid' => $this->orderModel->uniacid,
|
|
'price' => $this->orderModel->price,
|
|
'uid' => $this->orderModel->uid,
|
|
'order_sn' => $this->orderModel->order_sn,
|
|
'order_id' => $this->orderModel->id,
|
|
'status' => $this->orderModel->status,
|
|
'plugin_id' => $this->orderModel->plugin_id,
|
|
'dispatch_price' => $this->orderModel->dispatch_price,
|
|
'shop_name' => $this->orderModel->shop_name,
|
|
'cost_price' => $this->costPrice(),
|
|
//'day_time' => Carbon::today()->getTimestamp(),/
|
|
'day_time' => strtotime(date('Ymd',$this->orderModel->created_at)),//应该以订单创建时间为准,而不是以队列执行的时间
|
|
];
|
|
$data['address'] = $this->address();
|
|
$data['buy_name'] = $this->buyName();
|
|
$parent = $this->referrerName();
|
|
$data['parent_id'] = $parent['parent_id'];
|
|
$data['parent_name'] = $parent['nickname'];
|
|
|
|
// $build = OrderIncomeCount::where('order_id',$this->orderModel->id)->first();
|
|
// if ($build) {
|
|
// return $build;
|
|
// } else {
|
|
$build = OrderIncomeCount::create($data);
|
|
// }
|
|
return $build;
|
|
}
|
|
|
|
|
|
|
|
public function address()
|
|
{
|
|
$build = DB::table('yz_order_address')
|
|
->select()
|
|
->where('order_id', $this->orderModel->id);
|
|
$content = $build->first()['address'];
|
|
if (empty($content)) {
|
|
return '';
|
|
}
|
|
|
|
return $content;
|
|
}
|
|
|
|
public function buyName()
|
|
{
|
|
$build = DB::table('mc_members')
|
|
->select()
|
|
->where('uid', $this->orderModel->uid);
|
|
$content = $build->first()['nickname'];
|
|
if (empty($content)) {
|
|
return '';
|
|
}
|
|
return $content;
|
|
}
|
|
|
|
public function referrerName()
|
|
{
|
|
$referrerTable = DB::table('yz_member')
|
|
->select()
|
|
->where('member_id', $this->orderModel->uid);
|
|
$parent_id = $referrerTable->first()['parent_id'];
|
|
if ($parent_id) {
|
|
$build = DB::table('mc_members')
|
|
->select()
|
|
->where('uid', $parent_id);
|
|
$content['nickname'] = $build->first()['nickname'];
|
|
$content['parent_id'] = $parent_id;
|
|
} else {
|
|
$content['nickname'] = '总店';
|
|
$content['parent_id'] = 0;
|
|
}
|
|
return $content;
|
|
}
|
|
|
|
//记录商家名称
|
|
// public function shopName()
|
|
// {
|
|
// if ($this->orderModel->is_plugin) {
|
|
// $supplierTable = DB::table('yz_supplier_order')
|
|
// ->select()
|
|
// ->where('order_id', $this->orderModel->id);
|
|
// $supplier_id = $supplierTable->first()['supplier_id'];
|
|
// $build = DB::table('yz_supplier')
|
|
// ->select()
|
|
// ->where('id', $supplier_id);
|
|
// $content = $build->first()['username'];
|
|
// if (empty($content)) {
|
|
// $content = '供应商';
|
|
// }
|
|
//
|
|
// } elseif ($this->orderModel->plugin_id == 31) {
|
|
// $cashierTable = DB::table('yz_plugin_cashier_order')
|
|
// ->select()
|
|
// ->where('order_id', $this->orderModel->id);
|
|
// $cashier_id = $cashierTable->first()['cashier_id'];
|
|
// $build = DB::table('yz_store')
|
|
// ->select()
|
|
// ->where('cashier_id', $cashier_id);
|
|
// $content = $build->first()['store_name'];
|
|
// if (empty($content)) {
|
|
// $content = '收银台';
|
|
// }
|
|
//
|
|
// } elseif ($this->orderModel->plugin_id == 32) {
|
|
// $storeTable = DB::table('yz_plugin_store_order')
|
|
// ->select()
|
|
// ->where('order_id', $this->orderModel->id);
|
|
// $store_id = $storeTable->first()['store_id'];
|
|
// $build = DB::table('yz_store')
|
|
// ->select()
|
|
// ->where('id', $store_id);
|
|
// $content = $build->first()['store_name'];
|
|
// if (empty($content)) {
|
|
// return '门店';
|
|
// }
|
|
//
|
|
// } else {
|
|
// $content = '平台自营';
|
|
// }
|
|
// return $content;
|
|
// }
|
|
|
|
//记录成本价
|
|
public function costPrice()
|
|
{
|
|
if ($this->orderModel->plugin_id == 32) {
|
|
|
|
$order = DB::table('yz_plugin_store_order')
|
|
->select()
|
|
->where('order_id', $this->orderModel->id)
|
|
->first();
|
|
$cost_price = $order['amount'];
|
|
} else if ($this->orderModel->plugin_id == 31) {
|
|
|
|
$order = DB::table('yz_plugin_cashier_order')
|
|
->select()
|
|
->where('order_id', $this->orderModel->id)
|
|
->first();
|
|
$cost_price = $order['amount'];
|
|
} else if ($this->orderModel->plugin_id == 33) {
|
|
|
|
$order = DB::table('yz_plugin_hotel_order')
|
|
->select()
|
|
->where('order_id', $this->orderModel->id)
|
|
->first();
|
|
$cost_price = $order['amount'];
|
|
} else if ($this->orderModel->plugin_id == 36) {
|
|
|
|
$order = DB::table('yz_plugin_hotel_cashier_order')
|
|
->select()
|
|
->where('order_id', $this->orderModel->id)
|
|
->first();
|
|
$cost_price = $order['amount'];
|
|
} else {
|
|
$cost_price = $this->orderModel->cost_amount;
|
|
}
|
|
return $cost_price;
|
|
}
|
|
} |