diff --git a/FlyCube/MpApi/Controller/PlaneController.class.php b/FlyCube/MpApi/Controller/PlaneController.class.php index 02103ad..b14156d 100644 --- a/FlyCube/MpApi/Controller/PlaneController.class.php +++ b/FlyCube/MpApi/Controller/PlaneController.class.php @@ -542,6 +542,37 @@ class PlaneController extends PublicController echo json_encode(array('status' => 0, 'msg' => '参数有误')); } } + /** + * @description: 获取禁飞区数据(如果没有就插入空记录) + */ + public function getNofly() + { + if ($this->tokenShop_id != C('powerId')) { // 非总管理员 + $where['shop_id'] = $this->tokenShop_id; + } else { + $where['shop_id'] = $_REQUEST['shopId']; // 总管理员可指定 shop_id + } + + $noflyDb = D('nofly'); + $field = array('id', 'shop_id', 'nofly_data', 'restrictfly_data'); + $noflyData = $noflyDb->where($where)->field($field)->find(); + + if ($noflyData) { + echo json_encode(array('status' => 1, 'msg' => '访问成功', "noflyData" => $noflyData)); + } else { + // 如果没有记录,插入一条空记录 账号首次表里没有对应商铺的记录 顺便为商铺创建一条记录 + $data['shop_id'] = $where['shop_id']; + $data['nofly_data'] = json_encode([]); + $data['restrictfly_data'] = json_encode([]); + $insertId = $noflyDb->add($data); + if ($insertId) { + $newData = $noflyDb->where(['id' => $insertId])->field($field)->find(); + echo json_encode(array('status' => 1, 'msg' => '首次创建禁飞区记录成功', "noflyData" => $newData)); + } else { + echo json_encode(array('status' => 0, 'msg' => '创建禁飞区记录失败')); + } + } + } /** * @description: 飞机在站点上注册航线或注销航线 并处理对应的订单 ps:用处理事务 保证两表同步 */