86 lines
3.5 KiB
PHP
86 lines
3.5 KiB
PHP
<?php
|
|
namespace app\common\dao\marketing;
|
|
|
|
|
|
use app\common\dao\BaseDao;
|
|
use app\common\model\marketing\AgentBrokerage;
|
|
|
|
class AgentBrokerageDao extends BaseDao{
|
|
|
|
protected function getModel(): string{
|
|
return AgentBrokerage::class;
|
|
}
|
|
|
|
// 公共搜索查询
|
|
public function searchList(array $params){
|
|
return (new AgentBrokerage())
|
|
->when(isset($params['id']) && $params['id'] !== '',function($query) use ($params){
|
|
$query->where('id', (int)$params['id']);
|
|
})
|
|
->when(isset($params['staff_uid']) && $params['staff_uid'] !== '',function($query) use ($params){
|
|
$query->where('staff_uid', (int)$params['staff_uid']);
|
|
})
|
|
->when(isset($params['store_uid']) && $params['store_uid'] !== '',function($query) use ($params){
|
|
$query->where('store_uid', (int)$params['store_uid']);
|
|
})
|
|
->when(isset($params['store_uid']) && $params['store_uid'] !== '',function($query) use ($params){
|
|
$query->where('store_uid', (int)$params['store_uid']);
|
|
})
|
|
->when(isset($params['area_store_uid']) && $params['area_store_uid'] !== '',function($query) use ($params){
|
|
$query->where('area_store_uid', (int)$params['area_store_uid']);
|
|
})
|
|
->when(isset($params['delivery_uid']) && $params['delivery_uid'] !== '',function($query) use ($params){
|
|
$query->where('delivery_uid', (int)$params['delivery_uid']);
|
|
})
|
|
->when(isset($params['province_uid']) && $params['province_uid'] !== '',function($query) use ($params){
|
|
$query->where('province_uid', (int)$params['province_uid']);
|
|
})
|
|
->when(isset($params['initiator_uid']) && $params['initiator_uid'] !== '',function($query) use ($params){
|
|
$query->where('initiator_uid', (int)$params['initiator_uid']);
|
|
})
|
|
->when(isset($params['field_staff_uid']) && $params['field_staff_uid'] !== '',function($query) use ($params){
|
|
$query->where('field_staff_uid', (int)$params['field_staff_uid']);
|
|
})
|
|
->with([
|
|
'userOrder' => function($query){
|
|
$query->field('order_id,order_sn,create_time,title');
|
|
},
|
|
'storeOrder' => function($query){
|
|
$query->field('order_id,order_sn,create_time');
|
|
},
|
|
'staff' => function($query){
|
|
$query->field('uid,nickname,avatar');
|
|
},
|
|
'store' => function($query){
|
|
$query->field('uid,nickname,avatar');
|
|
},
|
|
'area' => function($query){
|
|
$query->field('uid,nickname,avatar');
|
|
},
|
|
'areaStore' => function($query){
|
|
$query->field('uid,nickname,avatar');
|
|
},
|
|
'delivery' => function($query){
|
|
$query->field('uid,nickname,avatar');
|
|
},
|
|
'province' => function($query){
|
|
$query->field('uid,nickname,avatar');
|
|
},
|
|
'initiator' => function($query){
|
|
$query->field('uid,nickname,avatar');
|
|
},
|
|
'fieldStaff' => function($query){
|
|
$query->field('uid,nickname,avatar');
|
|
},
|
|
])
|
|
->order('create_time DESC,id DESC');
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|