|
|
@ -0,0 +1,50 @@ |
|
|
|
|
|
<?php |
|
|
|
|
|
|
|
|
|
|
|
namespace App\Admin\Repositories; |
|
|
|
|
|
|
|
|
|
|
|
use App\Models\ImsCjdcOrderMain as Model; |
|
|
|
|
|
use Dcat\Admin\Grid; |
|
|
|
|
|
use Dcat\Admin\Repositories\EloquentRepository; |
|
|
|
|
|
|
|
|
|
|
|
class ImsCjdcOrderMain extends EloquentRepository |
|
|
|
|
|
{ |
|
|
|
|
|
/** |
|
|
|
|
|
* Model. |
|
|
|
|
|
* |
|
|
|
|
|
* @var string |
|
|
|
|
|
*/ |
|
|
|
|
|
protected $eloquentClass = Model::class; |
|
|
|
|
|
|
|
|
|
|
|
public function get(Grid\Model $model) |
|
|
|
|
|
{ |
|
|
|
|
|
$builder = new \App\Models\ImsCjdcOrderMain(); |
|
|
|
|
|
$builder = $builder::leftJoin('ims_cjdc_user','ims_cjdc_user.id','ims_cjdc_order_main.user_id') |
|
|
|
|
|
->with('market') |
|
|
|
|
|
->select('ims_cjdc_order_main.*','ims_cjdc_user.name as user_name') |
|
|
|
|
|
->where('type',1) |
|
|
|
|
|
->orderBy('ims_cjdc_order_main.id','desc');//只取线上订单数据
|
|
|
|
|
|
|
|
|
|
|
|
$this->setSort($model); |
|
|
|
|
|
$this->setPaginate($model); |
|
|
|
|
|
|
|
|
|
|
|
$query = $builder; |
|
|
|
|
|
$model->getQueries()->unique()->each(function ($value) use (&$query) { |
|
|
|
|
|
if ($value['method'] == 'paginate') { |
|
|
|
|
|
$value['arguments'][1] = $this->getGridColumns(); |
|
|
|
|
|
} elseif ($value['method'] == 'get') { |
|
|
|
|
|
$value['arguments'] = [$this->getGridColumns()]; |
|
|
|
|
|
} |
|
|
|
|
|
$query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
$query = $query->toArray(); |
|
|
|
|
|
foreach ($query['data'] as &$value){ |
|
|
|
|
|
if ($value['state']==3&&$value['order_shipping_code']==1){ |
|
|
|
|
|
$value['state'] = 31; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$query = $model->makePaginator($query['total'],$query['data']); |
|
|
|
|
|
return $query; |
|
|
|
|
|
} |
|
|
|
|
|
} |