IndexController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace App\Http\Controllers\V1;
  3. use App\Models\Help;
  4. use App\Models\Region;
  5. use Illuminate\Http\Request;
  6. use App\Models\Advertise;
  7. use App\Models\Setting;
  8. use Illuminate\Support\Facades\Redis;
  9. class IndexController extends Controller
  10. {
  11. //隐私政策
  12. public function privacyPolice()
  13. {
  14. $info = Setting::where('key', 'privacy')->where('is_delete', 0)->select('title', 'key', 'value')->first();
  15. return $this->success($info);
  16. }
  17. //用户协议
  18. public function userAgreement()
  19. {
  20. $info = Setting::where('key', 'agreement')->where('is_delete', 0)->select('title', 'key', 'value')->first();
  21. return $this->success($info);
  22. }
  23. //帮助类型
  24. public function helpList()
  25. {
  26. $list = Help::query()->select('id', 'title')->get();
  27. if($list->isEmpty()){
  28. return [];
  29. }
  30. $list = $list->toArray();
  31. return $this->success($list);
  32. }
  33. //帮助类答案
  34. public function answer(Request $request)
  35. {
  36. $info = Help::query()->where('id', $request->id)->first();
  37. $info->look_num = $info->look_num +1;
  38. $info->save();
  39. return $this->success($info);
  40. }
  41. //全国地区
  42. public function allRegion()
  43. {
  44. $regionList = Redis::get('all_region');
  45. if(!empty($regionList)){
  46. return $this->success(json_decode($regionList, true));
  47. }
  48. $list = Region::query()
  49. ->where('type', 1)
  50. ->select('code', 'full_name')
  51. ->get()
  52. ->toArray();
  53. foreach ($list as $key => $val) {
  54. $cityList = Region::query()->where('parent_code', $val['code'])->select('code', 'full_name')->get()->toArray();
  55. foreach ($cityList as $k => $v) {
  56. $areaList = Region::query()->where('parent_code', $v['code'])->select('code', 'full_name')->get()->toArray();
  57. $v['area_list'] = $areaList;
  58. $cityList[$k] = $v;
  59. }
  60. $val['city_list'] = $cityList;
  61. $list[$key] = $val;
  62. }
  63. Redis::setex('all_region', 24*3600, json_encode($list));
  64. return $this->success($list);
  65. }
  66. }