goCheck('download'); $result = GeneratorLogic::download($params['file']); if (false === $result) { return $this->fail(GeneratorLogic::getError() ?: '下载失败'); } return response()->download($result, 'webman-curd.zip'); } /** * @notes 获取app更新信息 */ public function app_update() { $find = Db::name('app_update')->where('type', 2)->order('id', 'desc')->findOrEmpty(); return $this->success('ok', $find); } /** * @notes 获取省列表 */ public function province() { $list = Db::name('geo_province')->select()->toArray(); return $this->success('ok', $list); } /** * @notes 获取市列表 */ public function city() { $province_code = $this->request->get('province_code'); $list = Db::name('geo_city')->where('province_code', $province_code)->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取区列表 */ public function area() { $city_code = $this->request->get('city_code'); $list = Db::name('geo_area')->where('city_code', $city_code)->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取街道列表 */ public function street() { $area_code = $this->request->get('area_code'); $list = Db::name('geo_street')->where('area_code', $area_code)->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取村列表 */ public function village() { $area_code = $this->request->get('street_code'); $list = Db::name('geo_village')->where('street_code', $area_code)->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取队列表 */ public function brigade() { $list = Db::name('geo_brigade')->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取队列表 */ public function config() { //处理返回最近的店铺 $params = $this->request->get(); if ((isset($params['lat']) && $params['lat'] != '') && (isset($params['long']) && $params['long'] != '')) { $latitude = $params['lat']; $longitude = $params['long']; // 计算距离的SQL表达式 $distanceExpr = "6371 * 2 * ASIN(SQRT(POWER(SIN(({$latitude} - abs(latitude)) * pi()/180 / 2), 2) + COS({$latitude} * pi()/180) * COS(abs(latitude) * pi()/180) * POWER(SIN(({$longitude} - longitude) * pi()/180 / 2), 2)))"; $find = SystemStore::field("id, name,abbreviation, {$distanceExpr} AS distance") ->where('is_show', '=', 1) ->where('latitude', '<>', '') ->where('longitude', '<>', '') ->order('distance', 'asc') // 根据距离排序 ->find(); if (!$find) { $store_id = getenv('STORE_ID') ?? 1; $find = SystemStore::where('id', $store_id)->find(); } } else { $store_id = getenv('STORE_ID') ?? 1; $find = SystemStore::where('id', $store_id)->find(); } $list = [ 'id' => $find['id'], 'store_name' => $find['name'], 'abbreviation' => $find['abbreviation'], ]; return $this->success('ok', $list); } public function push() { $name = $this->request->get('name'); //用户名 $uid = $this->request->get('uid'); //用户id $type = $this->request->get('type', 'INDUSTRYMEMBERS'); //类型 $a = PushService::push($name, $uid, ['type' => $type, 'msg' => '支付超时,订单已被取消,请重新提交订单', 'data' => ['id' => 5]]); return $this->success('ok', ['data' => $a]); } }