<?php
|
|
namespace app\operations\model\plus\team;
|
|
use app\common\model\plus\team\Order as OrderModel;
|
use app\common\service\order\OrderService;
|
/**
|
* 队长订单模型
|
*/
|
class Order extends OrderModel
|
{
|
/**
|
* 获取队长订单列表
|
*/
|
public function getList($user_id = null, $is_settled = -1)
|
{
|
$model = $this;
|
// 检索查询条件
|
if ($user_id > 1) {
|
$model = $model->where('heads_id', '=', $user_id);
|
}
|
if ($is_settled > -1) {
|
$model = $model->where('is_settled', '=', $is_settled);
|
}
|
// 获取队长订单列表
|
$data = $model->with([
|
'team_heads'
|
])
|
->order(['create_time' => 'desc'])
|
->paginate(15);
|
if ($data->isEmpty()) {
|
return $data;
|
}
|
// 获取订单的主信息
|
$with = ['product' => ['image', 'refund'], 'address', 'user'];
|
return OrderService::getOrderList($data, 'order_master', $with);
|
}
|
|
/**
|
* 获取队长订单列表
|
*/
|
public function getOrderData($user_id, $startDate, $endDate, $type = 'order_total_price')
|
{
|
$model = $this;
|
!is_null($user_id) && $model = $model->where('heads_id', '=', $user_id);
|
!is_null($startDate) && $model = $model->where('create_time', '>=', strtotime($startDate));
|
if (is_null($endDate)) {
|
!is_null($startDate) && $model = $model->where('create_time', '<', strtotime($startDate) + 86400);
|
} else {
|
$model = $model->where('create_time', '<', strtotime($endDate) + 86400);
|
}
|
$model = $model->where('is_invalid', '=', 0)
|
->where('bonus_type', '=', 10);
|
|
if ($type == 'order_total') {
|
// 订单数量
|
return $model->count();
|
} else if ($type == 'order_total_price') {
|
// 订单总金额
|
return $model->sum('order_price');
|
} else if ($type == 'order_user_total') {
|
// 支付用户数
|
return count($model->distinct(true)->column('user_id'));
|
}
|
return 0;
|
}
|
|
}
|