feat: 添加代理商分页/导出/企业规模列表接口

This commit is contained in:
2025-03-13 18:01:36 +08:00
parent ced7db61b5
commit 7785661837
11 changed files with 350 additions and 12 deletions

View File

@@ -0,0 +1,19 @@
<?php
declare (strict_types = 1);
namespace app\admin\model\v1;
use app\common\model\AgentBusinessTypeBaseModel;
/**
* 代理商业务类型模型
* @mixin \think\Model
*/
class AgentBusinessTypeModel extends AgentBusinessTypeBaseModel
{
// 按语言查询
public function scopeLanguage($query, $value)
{
$query->where('language_id', '=', $value);
}
}

View File

@@ -0,0 +1,19 @@
<?php
declare (strict_types = 1);
namespace app\admin\model\v1;
use app\common\model\AgentEnterpriseSizeTypeBaseModel;
/**
* 代理商企业规模类型模型
* @mixin \think\Model
*/
class AgentEnterpriseSizeTypeModel extends AgentEnterpriseSizeTypeBaseModel
{
// 按语言查询
public function scopeLanguage($query, $value)
{
$query->where('language_id', '=', $value);
}
}

View File

@@ -0,0 +1,58 @@
<?php
declare (strict_types = 1);
namespace app\admin\model\v1;
use app\common\model\AgentBaseModel;
/**
* 代理商数据模型
* @mixin \think\Model
*/
class AgentModel extends AgentBaseModel
{
// 关联业务类型
public function businessType()
{
return $this->belongsTo(AgentBusinessTypeModel::class, 'business_type', 'value');
}
// 关联企业规模类型
public function enterpriseSizeType()
{
return $this->belongsTo(AgentEnterpriseSizeTypeModel::class, 'enterprise_size', 'value');
}
// 按放言查询
public function scopeLanguage($query, $value)
{
$query->where('language_id', '=', $value);
}
// 按企业规模查询
public function scopeEnterpriseSize($query, $value)
{
if (is_null($value)) return;
$query->where('enterprise_size', '=', $value);
}
// 根据公司名称搜索
public function searchCorpNameAttr($query, $value)
{
if (is_null($value)) return;
$query->where('corp_name', 'like', "%{$value}%");
}
// 根据提交时间搜索
public function searchCreatedAtAttr($query, $value)
{
if (is_null($value)) return;
if (is_array($value)) {
if (count($value) > 1) {
$query->whereBetweenTime('created_at', $value[0], $value[1]);
} else {
$query->whereTime('created_at', '>=', $value[0]);
}
}
}
}