CitiesController.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\City;
  4. use App\Http\Requests\ForeignHaiRobotic_taskUpdateRequest;
  5. use App\Http\Requests\TestAaRequest;
  6. use App\Province;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Auth;
  9. use Illuminate\Support\Facades\Gate;
  10. use Illuminate\Support\Facades\Validator;
  11. class CitiesController extends Controller
  12. {
  13. public function index(ForeignHaiRobotic_taskUpdateRequest $request)
  14. {
  15. if(!Gate::allows('城市-查询')){ return redirect(url('/')); }
  16. $cities=City::orderBy('id', 'DESC')->paginate(50);
  17. return view('maintenance.city.index',['cities'=>$cities]);
  18. }
  19. public function create()
  20. {
  21. if(!Gate::allows('城市-录入')){ return redirect(url('/')); }
  22. $provinces=Province::get();
  23. return view('maintenance.city.create',['provinces'=>$provinces]);
  24. }
  25. public function store(Request $request)
  26. {
  27. if(!Gate::allows('城市-录入')){ return redirect(url('/')); }
  28. $id=false;
  29. $this->validatorCities($request,$id)->validate();
  30. $cities=$request->input('City');
  31. if(City::create($cities)){
  32. app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
  33. return redirect('maintenance/city')->with('successTip','新城市“'.$request->input('City.name').'”添加成功');
  34. };
  35. }
  36. public function edit($id)
  37. {
  38. if(!Gate::allows('城市-编辑')){ return redirect(url('/')); }
  39. $city=City::find($id);
  40. $provinces=Province::get();
  41. return view('maintenance.city.edit',['city'=>$city,'provinces'=>$provinces]);
  42. }
  43. public function update(Request $request, $id)
  44. {
  45. if(!Gate::allows('城市-编辑')){ return redirect(url('/')); }
  46. $this->validatorCities($request,$id)->validate();
  47. $data=$request->input('City');
  48. $city=City::find($id);
  49. $city->fill($data);
  50. if ($city->save()){
  51. app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
  52. return redirect('maintenance/city')->with('successTip','城市“'.$request->input('City.name').'”修改成功');
  53. }
  54. }
  55. public function destroy($id)
  56. {
  57. if(!Gate::allows('城市-删除')){ return redirect(url('/')); }
  58. $city=City::find($id);
  59. app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($city),Auth::user()['id']);
  60. $result=$city->delete();
  61. return ['success'=>$result];
  62. }
  63. public function validatorCities(Request $request,$id){
  64. if ($id){$name=$id;}
  65. $validator=Validator::make($request->input(),[
  66. 'City.name'=>['required','max:50',isset($name)?"unique:cities,name,$name":'unique:cities,name'],
  67. ],[
  68. 'required'=>':attribute 为必填项',
  69. 'unique'=>':attribute 已存在',
  70. ],[
  71. 'City.name'=>'城市名称',
  72. ]);
  73. return $validator;
  74. }
  75. public function get(){
  76. return ["success"=>true,"data"=>City::query()->select("id","name","province_id")->with("province")->get()];
  77. }
  78. }