123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?php
- namespace app\adminapi\controller\v1\setting;
- use app\adminapi\controller\AuthController;
- use think\Request;
- use think\facade\Route as Url;
- use crmeb\services\{CacheService, FormBuilder as Form, UtilService as Util};
- use app\models\system\SystemCity as CityModel;
- class SystemCity extends AuthController
- {
-
- public function index()
- {
- $params = Util::getMore([
- [['parent_id','d'], 0]
- ], $this->request);
- return $this->success(CityModel::getList($params));
- }
-
- public function add()
- {
- $data = Util::getMore([
- [['parent_id','d'], 0]
- ]);
- if ($data['parent_id'] != 0) {
- $info = CityModel::where('city_id', $data['parent_id'])->find()->toArray();
- } else {
- $info = [
- "level" => 0,
- "city_id" => 0,
- "name" => '中国'
- ];
- }
- $field[] = Form::hidden('level', $info['level']);
- $field[] = Form::hidden('parent_id', $info['city_id']);
- $field[] = Form::input('parent_name', '上级名称', $info['name'])->readonly(true);
- $field[] = Form::input('name', '名称')->required('请填写城市名称');
- return $this->makePostForm('添加城市', $field, Url::buildUrl('/setting/city/save')->suffix(false));
- }
-
- public function save()
- {
- $data = Util::postMore([
- [['id','d'], 0],
- [['name','s'], ''],
- [['merger_name','s'], ''],
- [['area_code','s'], ''],
- [['lng','s'], ''],
- [['lat','s'], ''],
- [['level','d'], 0],
- [['parent_id','d'], 0],
- ]);
- $this->validate($data, \app\adminapi\validates\setting\SystemCityValidate::class, 'save');
- if($data['parent_id'] == 0){
- $data['merger_name'] = $data['name'];
- } else {
- $data['merger_name'] = CityModel::where('id',$data['parent_id'])->value('name').','.$data['name'];
- }
- if ($data['id'] == 0) {
- unset($data['id']);
- $data['level'] = $data['level'] + 1;
- $data['city_id'] = intval(CityModel::max('city_id') + 1);
- CityModel::create($data);
- return $this->success('添加城市成功!');
- } else {
- unset($data['level']);
- unset($data['parent_id']);
- CityModel::where('id', $data['id'])->update($data);
- return $this->success('修改城市成功!');
- }
- }
-
- public function edit()
- {
- $data = Util::getMore([
- [['id','d'], 0]
- ]);
- $info = CityModel::get($data['id'])->toArray();
- $info['parent_name'] = CityModel::where('city_id', $info['parent_id'])->value('name') ?: '中国';
- $field[] = Form::hidden('id', $info['id']);
- $field[] = Form::hidden('level', $info['level']);
- $field[] = Form::hidden('parent_id', $info['parent_id']);
- $field[] = Form::input('parent_name', '上级名称', $info['parent_name'])->readonly(true);
- $field[] = Form::input('name', '名称', $info['name'])->required('请填写城市名称');
- $field[] = Form::input('merger_name', '合并名称', $info['merger_name'])->placeholder('格式:陕西,西安,雁塔')->required('请填写合并名称');
- return $this->makePostForm('修改城市', $field, Url::buildUrl('/setting/city/save')->suffix(false));
- }
-
- public function delete()
- {
- $data = Util::getMore([
- [['city_id','d'], 0]
- ]);
- CityModel::where('city_id', $data['city_id'])->whereOr('parent_id', $data['city_id'])->delete();
- return $this->success('删除成功!');
- }
-
-
- public function clean_cache()
- {
- $res = CacheService::delete('CITY_LIST');
- if ($res) {
- return $this->success('清除成功!');
- } else {
- return $this->fail('清除失败或缓存未生成!');
- }
- }
- }
|