| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- namespace App\Http\Controllers\Manager;
- use App\Http\Controllers\Controller;
- use App\Http\Requests\Manager\Citys as Request;
- use App\Models\Manager\Citys as CitysModel;
- use App\Models\Manager\citysZoning as citysZoningModel;
- use App\Servers\Tenxunyun\TextTranslate;
- /**
- * 城市管理
- * @author 唐远望
- * @version 1.0
- * @date 2025-12-04
- */
- class Citys extends Controller
- {
- /**
- * 获取城市列表
- * @author 唐远望
- * @version 1.0
- * @date 2025-12-04
- * @param Request $request
- */
- public function list(CitysModel $CitysModel)
- {
- $result = $CitysModel->getCityList();
- return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
- }
- /**
- * 获取大区城市列表
- * @author 唐远望
- * @version 1.0
- * @date 2026-03-18
- * @param Request $request
- */
- public function list_zoning(citysZoningModel $citysZoningModel, CitysModel $CitysModel)
- {
- $zoning_result = $citysZoningModel->getList();
- if (empty($zoning_result)) return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => '']);
- $city_result = $CitysModel->getCityList();
- if (empty($city_result)) return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => '']);
- foreach ($zoning_result as $key => $value) {
- $province_ids = explode(',', $value['province_ids']);
- $zoning_result[$key]['city_list'] = [];
- foreach ($city_result as $k => $v) {
- if (in_array($v['id'], $province_ids)) {
- $zoning_result[$key]['city_list'][] = $v;
- }
- }
- }
- return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $zoning_result]);
- }
- /**
- * 翻译省份城市信息
- * @author 唐远望
- * @version 1.0
- * @date 2025-12-04
- * @param Request $request
- */
- public function translate(CitysModel $CitysModel, TextTranslate $TextTranslate)
- {
- $result = $CitysModel->where([['status', '=', 0], ['level', '<', 3]])->get(['id', 'name', 'pid'])->toarray();
- if (!empty($result)) {
- foreach ($result as $key => $value) {
- $result = $TextTranslate->translateText($value['name'], 'zh', 'en');
- if ($result['success']) {
- $target_text = $result['target_text'] ?? '';
- //更新本地数据为英文
- $CitysModel->where(['id' => $value['id']])->update(['name' => $target_text]);
- $result[$key]['name'] = $target_text;
- }
- }
-
- }
- return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
- }
- }
|