更新:代理商列表接口
parent
491703e67a
commit
d30a7ede93
|
@ -554,19 +554,31 @@ if (!function_exists('getFilesize')) {
|
||||||
|
|
||||||
if (!function_exists('arrayNullToString')) {
|
if (!function_exists('arrayNullToString')) {
|
||||||
/**
|
/**
|
||||||
* 数组中null值转为空字符串
|
* 数组|或数据集中null值转为空字符串,并以数组格式返回
|
||||||
|
* 通常用于api json 返回内容null转换
|
||||||
*
|
*
|
||||||
* @param array $data
|
* @param array $data 【array|collection】
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function arrayNullToString(array $data): array
|
function arrayNullToString($data)
|
||||||
{
|
{
|
||||||
foreach ($data as $key => $val) {
|
if ($data instanceof Collection) {
|
||||||
if (is_array($val)) {
|
$data = $data->toArray();
|
||||||
$data[$key] = arrayNullToString($val);
|
}
|
||||||
} elseif ($val === null) {
|
// 判断是否可以遍历
|
||||||
$data[$key] = '';
|
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;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace app\controller\api;
|
namespace app\controller\api;
|
||||||
|
|
||||||
use app\controller\BaseController;
|
use app\controller\BaseController;
|
||||||
|
use think\response\Json;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API控制器基础类
|
* API控制器基础类
|
||||||
|
@ -27,4 +28,24 @@ class Base extends BaseController
|
||||||
{
|
{
|
||||||
return $this->json(4004, 'error request!');
|
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 Exception;
|
||||||
use think\response\Json;
|
use think\response\Json;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户相关
|
||||||
|
*
|
||||||
|
* Class User
|
||||||
|
* @package app\controller\api
|
||||||
|
*/
|
||||||
class User extends Base
|
class User extends Base
|
||||||
{
|
{
|
||||||
protected $noNeedLogin = [
|
protected $noNeedLogin = [
|
||||||
|
|
|
@ -135,4 +135,13 @@ class BusinessRepository extends Repository
|
||||||
}
|
}
|
||||||
return $Flow;
|
return $Flow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有的商圈数据
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
public function getAllBusinessCircleList()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue