更新:代理商列表接口
parent
491703e67a
commit
d30a7ede93
|
@ -554,19 +554,31 @@ if (!function_exists('getFilesize')) {
|
|||
|
||||
if (!function_exists('arrayNullToString')) {
|
||||
/**
|
||||
* 数组中null值转为空字符串
|
||||
* 数组|或数据集中null值转为空字符串,并以数组格式返回
|
||||
* 通常用于api json 返回内容null转换
|
||||
*
|
||||
* @param array $data
|
||||
* @param array $data 【array|collection】
|
||||
* @return array
|
||||
*/
|
||||
function arrayNullToString(array $data): array
|
||||
function arrayNullToString($data)
|
||||
{
|
||||
foreach ($data as $key => $val) {
|
||||
if (is_array($val)) {
|
||||
$data[$key] = arrayNullToString($val);
|
||||
} elseif ($val === null) {
|
||||
$data[$key] = '';
|
||||
if ($data instanceof Collection) {
|
||||
$data = $data->toArray();
|
||||
}
|
||||
// 判断是否可以遍历
|
||||
if (is_iterable($data)) {
|
||||
foreach ($data as $key => $val) {
|
||||
if ($val instanceof Collection) {
|
||||
$val = $val->toArray();
|
||||
}
|
||||
if (is_iterable($val)) {
|
||||
$data[$key] = arrayNullToString($val);
|
||||
} elseif ($val === null) {
|
||||
$data[$key] = '';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$data = [];
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
namespace app\controller\api;
|
||||
|
||||
use app\controller\BaseController;
|
||||
use think\response\Json;
|
||||
|
||||
/**
|
||||
* API控制器基础类
|
||||
|
@ -27,4 +28,24 @@ class Base extends BaseController
|
|||
{
|
||||
return $this->json(4004, 'error request!');
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回封装后的API数据到客户端(对返回内容进行null转空字符串过滤)
|
||||
* 以json格式抛出异常
|
||||
* @access protected
|
||||
* @param integer $code 返回的code
|
||||
* @param mixed $msg 提示信息
|
||||
* @param mixed $data 要返回的数据
|
||||
* @return Json
|
||||
*/
|
||||
protected function json(int $code = 0, $msg = '操作成功', $data = []): Json
|
||||
{
|
||||
$result = [
|
||||
'code' => $code,
|
||||
'msg' => $msg,
|
||||
'data' => arrayNullToString($data)
|
||||
];
|
||||
return json($result);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
<?php
|
||||
namespace app\controller\api;
|
||||
|
||||
use app\exception\RepositoryException;
|
||||
use app\repository\BusinessRepository;
|
||||
use think\response\Json;
|
||||
use app\model\{
|
||||
Business as BusinessModel
|
||||
};
|
||||
|
||||
/**
|
||||
* APP 数据字典
|
||||
*
|
||||
* Class Dictionary
|
||||
* @package app\controller\api
|
||||
*/
|
||||
class Dictionary extends Base
|
||||
{
|
||||
protected $noNeedLogin = [
|
||||
'getDistanceList',
|
||||
'getAgencyList',
|
||||
];
|
||||
|
||||
/**
|
||||
* 获取距离(distance)列表
|
||||
* @return Json
|
||||
*/
|
||||
public function getDisList(): Json
|
||||
{
|
||||
$list = [
|
||||
['id' => 1, 'name'=> "1km", 'value' => 1],
|
||||
['id' => 3, 'name'=> "3km", 'value' => 3],
|
||||
['id' => 5, 'name'=> "5km", 'value' => 5],
|
||||
['id' => 10, 'name'=> "10km", 'value' => 10],
|
||||
];
|
||||
|
||||
return $this->json(0, 'success', $list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取商圈列表
|
||||
* TODO 待确认是否需要这个接口
|
||||
*/
|
||||
public function getBusinessCircle()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取代理机构(渠道代理商)列表
|
||||
* (来源商家表中的渠道代理商)
|
||||
*
|
||||
* $size 0 表示不分页,获取所有数据
|
||||
*
|
||||
*/
|
||||
public function getAgencyList(): Json
|
||||
{
|
||||
try {
|
||||
$page = $this->request->param('page/d', 1);
|
||||
$size = $this->request->param('size/d', 10);
|
||||
|
||||
$whereMap = [];
|
||||
$whereMap[] = ['is_agency', '=', self::BOOL_TRUE];
|
||||
$whereMap[] = ['is_delete', '=', self::BOOL_FALSE];
|
||||
$whereMap[] = ['state', '=', BusinessModel::state_on];
|
||||
$whereMap[] = ['enable', '=', self::BOOL_FALSE];
|
||||
|
||||
$sortOrder = ['id'=>"asc"];
|
||||
$fields = ['id', 'code', 'business_name', 'business_subtitle', 'business_license',
|
||||
'lat', 'lng', 'business_address', 'contact_name', 'contact_phone',
|
||||
'create_time', 'type', 'type_name', 'characteristic', 'intro',
|
||||
'business_circle', 'business_circle_id', 'background', 'score'
|
||||
];
|
||||
|
||||
$repo = BusinessRepository::getInstance();
|
||||
$res = $repo->findList($whereMap, $fields, $page, $size, null, $sortOrder);
|
||||
|
||||
return $this->json(0 , 'success', $res);
|
||||
} catch (RepositoryException | \Exception $e) {
|
||||
|
||||
return $this->json(0 , 'success', []);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -12,6 +12,12 @@ use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
|
|||
use Exception;
|
||||
use think\response\Json;
|
||||
|
||||
/**
|
||||
* 用户相关
|
||||
*
|
||||
* Class User
|
||||
* @package app\controller\api
|
||||
*/
|
||||
class User extends Base
|
||||
{
|
||||
protected $noNeedLogin = [
|
||||
|
|
|
@ -135,4 +135,13 @@ class BusinessRepository extends Repository
|
|||
}
|
||||
return $Flow;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有的商圈数据
|
||||
* TODO
|
||||
*/
|
||||
public function getAllBusinessCircleList()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue