ConfigCityManagementRepository.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace App\Repositories;
  3. use App\Models\ConfigCityManagement;
  4. use Symfony\Component\HttpKernel\Exception\HttpException;
  5. use Dingo\Api\Http\Response;
  6. use Illuminate\Support\Facades\DB;
  7. use Illuminate\Database\QueryException;
  8. class ConfigCityManagementRepository {
  9. public function __construct(ConfigCityManagement $configCityManagement) {
  10. $this->configCityManagement = $configCityManagement;
  11. }
  12. //列表
  13. public function index($request)
  14. {
  15. $where = [];
  16. if(isset($request['id'])){
  17. $where[] = ['id', '=', $request['id']];
  18. }
  19. return $this->configCityManagement->where($where)->orderBy('id', 'asc')->paginate(20);
  20. }
  21. public function edit($request)
  22. {
  23. $configCity = $this->configCityManagement->where('id', $request['id'])->first();
  24. $configCity->province_id = $request['province_id'];
  25. $configCity->province_name = $request['province_name'];
  26. $configCity->city_id = $request['city_id'];
  27. $configCity->city_name = $request['city_name'];
  28. $configCity->express_type = $request['express_type'];
  29. $configCity->status = 0;
  30. DB::beginTransaction();
  31. try {
  32. $res = $configCity->save();
  33. if ($res) {
  34. DB::commit();
  35. return Response::create();
  36. }
  37. DB::rollBack();
  38. return Response::create([
  39. 'message' => '编辑失败,请重试',
  40. 'status_code' => 500
  41. ]);
  42. } catch (QueryException $exception) {
  43. DB::rollBack();
  44. return Response::create([
  45. 'message' => '编辑失败,请重试',
  46. 'error' => $exception->getMessage(),
  47. 'status_code' => 500
  48. ]);
  49. }
  50. }
  51. public function delete($request)
  52. {
  53. $configCity = $this->configCityManagement->where('id', $request['id'])->first();
  54. DB::beginTransaction();
  55. try{
  56. $res = $configCity->delete();
  57. if($res){
  58. DB::commit();
  59. return Response::create();
  60. }
  61. DB::rollBack();
  62. return Response::create([
  63. 'message' => '删除失败,请重试',
  64. 'status_code' => 500
  65. ]);
  66. }catch (QueryException $exception){
  67. DB::rollBack();
  68. return Response::create([
  69. 'message' => '删除失败,请重试',
  70. 'error' => $exception->getMessage(),
  71. 'status_code' => 500
  72. ]);
  73. }
  74. }
  75. }