new-admin-api/app/common/dao/marketing/AgentBrokerageDao.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');
}
}