// +---------------------------------------------------------------------- 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')); } }