Files
oil/server-tp6/app/api/controller/Station.php
T
2026-09-01 22:15:50 +08:00

78 lines
3.1 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2023 https://www.yiovo.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
// +----------------------------------------------------------------------
// | Author: 萤火科技 <admin@yiovo.com>
// +----------------------------------------------------------------------
declare (strict_types=1);
namespace app\api\controller;
use app\api\model\Company as CompanyModel;
use think\facade\Db;
use think\response\Json;
use app\common\service\SybOil;
/**
* 站点列表
* Class Station
* @package app\api\controller
*/
class Station extends Controller
{
/**
* 余额账单明细列表
* @return Json
* @throws \cores\exception\BaseException
* @throws \think\db\exception\DbException
*/
public function list(): Json
{
$SybOil = new SybOil();
$company = CompanyModel::detail('2');
$param = $this->request->param();
$province = Db::name('area')->where(array(
['name', '=', $param['province']],
['level', '=', 1],
))->find();
$city = Db::name('area')->where(array(
['name', '=', $param['city']],
['pid', '=', $province['code']],
['level', '=', 2],
))->find();
$goods = Db::name('goods')->where(array(
['oilCardType', '=', 'zsy_ticket'],
['province', '=', $param['province']],
['status', '=', 10],
))->order('stock_total', 'desc')
->find();
$list = [];
if($goods) {
// 对接平台接口
$res = $SybOil->baseGasStationList(['goodsNo' => $goods['goods_no'], 'longitude' => $param['longitude'], 'latitude' => $param['latitude'], 'province' => $province['code'], 'city' => $city['code']], $company);
if (isset($res['data']['zsyResp']['count']) && $res['data']['zsyResp']['count'] > 0) {
$lists = $res['data']['zsyResp']['lists'];
foreach ($lists as $k => $array) {
$list[] = [
'id' => $k + 1,
'name' => $array['name'],
'brand' => $array['brand'] == 1 ? '中国石油' : '中国BP',
'latitude' => $array['lat'],
'longitude' => $array['lng'],
'address' => '',
'distance' => $array['nearBy'],
'width' => 30,
'height' => 30,
'iconPath' => '/static/marker.png',
'stationCode' => $array['stationCode'],
];
}
}
}
return $this->renderSuccess(compact('list'));
}
}