61 lines
2.4 KiB
PHP
61 lines
2.4 KiB
PHP
<?php
|
|
namespace app\common\dao\marketing\agent;
|
|
|
|
|
|
use app\common\dao\BaseDao;
|
|
use app\common\model\marketing\agent\AgentDelivery;
|
|
|
|
class AgentDeliveryDao extends BaseDao{
|
|
|
|
protected function getModel(): string{
|
|
return AgentDelivery::class;
|
|
}
|
|
/**
|
|
* Common: 公共搜索查询
|
|
* Author: wu-hui
|
|
* Time: 2024/06/17 17:31
|
|
* @param array $params
|
|
* @return AgentDelivery
|
|
*/
|
|
public function searchList(array $params){
|
|
return (new AgentDelivery())->when(isset($params['id']) && $params['id'] !== '',function($query) use ($params){
|
|
$query->where('id',(int)$params['id']);
|
|
})
|
|
->when(isset($params['agent_id']) && $params['agent_id'] !== '',function($query) use ($params){
|
|
$query->where('agent_id',(int)$params['agent_id']);
|
|
})
|
|
->when(isset($params['mer_id']) && $params['mer_id'] !== '',function($query) use ($params){
|
|
$query->where('mer_id',(int)$params['mer_id']);
|
|
})
|
|
->when(isset($params['status']) && $params['status'] !== '',function($query) use ($params){
|
|
$query->where('status',$params['status']);
|
|
})
|
|
->when(isset($params['order_id']) && $params['order_id'] !== '',function($query) use ($params){
|
|
$query->where('order_id',$params['order_id']);
|
|
})
|
|
->when(isset($params['is_bind']) && $params['is_bind'] !== '',function($query) use ($params){
|
|
// 判断:缴费记录是否绑定商户
|
|
$query->where('mer_id', $params['is_bind'] == 'bind' ? '>' : '<=' , 0);
|
|
})
|
|
->with([
|
|
'agent' => function($query){
|
|
$query->field('id,uid,contact_name,contact_phone')
|
|
->with([
|
|
'user' => function($query){
|
|
$query->field('uid,nickname,avatar,phone')->bind(['nickname','avatar','phone']);
|
|
}
|
|
]);
|
|
},
|
|
'mer' => function($query){
|
|
$query->field('mer_id,mer_name,mer_avatar');
|
|
},
|
|
'store_order' => function($query){
|
|
$query->field('order_id,order_sn,pay_price,group_order_id,status');
|
|
},
|
|
])
|
|
->order('create_time DESC,id DESC');
|
|
}
|
|
|
|
|
|
}
|