64 lines
2.4 KiB
PHP
64 lines
2.4 KiB
PHP
<?php
|
|
|
|
|
|
|
|
|
|
namespace app\common\dao\user;
|
|
|
|
|
|
use app\common\dao\BaseDao;
|
|
use app\common\model\user\ExchangeQuotaRecord;
|
|
|
|
class ExchangeQuotaRecordDao extends BaseDao{
|
|
|
|
protected function getModel(): string{
|
|
return ExchangeQuotaRecord::class;
|
|
}
|
|
/**
|
|
* Common: 公共搜索模型
|
|
* Author: wu-hui
|
|
* Time: 2024/02/03 10:39
|
|
* @param array $params
|
|
* @return ExchangeQuotaRecord
|
|
*/
|
|
public function searchModel(array $params){
|
|
$quotaType = $params['quota_type'] ?? 1;// 存在指定类型则使用指定类型,否则使用默认类型(默认酒卡)
|
|
|
|
return (new ExchangeQuotaRecord())
|
|
->where('quota_type', $quotaType)
|
|
->when(isset($params['id']) && $params['id'] !== '',function($query) use ($params){
|
|
$query->where('id', (int)$params['id']);
|
|
})
|
|
->when(isset($params['uid']) && $params['uid'] !== '',function($query) use ($params){
|
|
$query->where('uid', (int)$params['uid']);
|
|
})
|
|
->when(isset($params['order_id']) && $params['order_id'] !== '',function($query) use ($params){
|
|
$query->where('order_id', (int)$params['order_id']);
|
|
})
|
|
->when(isset($params['change_type']) && $params['change_type'] !== '',function($query) use ($params){
|
|
$query->where('change_type', (int)$params['change_type']);
|
|
})
|
|
->when(isset($params['source']) && $params['source'] !== '',function($query) use ($params){
|
|
$query->where('source', (int)$params['source']);
|
|
})
|
|
->when(isset($params['order_product_id']) && $params['order_product_id'] !== '',function($query) use ($params){
|
|
$query->where('order_product_id', (int)$params['order_product_id']);
|
|
})
|
|
->when(isset($params['mer_id']) && $params['mer_id'] !== '',function($query) use ($params){
|
|
$query->where('mer_id', (int)$params['mer_id']);
|
|
})
|
|
->with([
|
|
'user' => function($query){
|
|
$query->field('uid,nickname,avatar')->bind(['nickname','avatar']);
|
|
},
|
|
'mer' => function($query){
|
|
$query->field('mer_id,mer_name,mer_avatar');
|
|
},
|
|
])
|
|
->order('create_time DESC,id DESC');
|
|
}
|
|
|
|
|
|
|
|
}
|