Black.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <?php
  2. namespace app\controller\merchant;
  3. use app\extra\basic\Base;
  4. use app\middleware\AuthMiddleware;
  5. use app\model\saas\SaasOrderArea;
  6. use app\model\saas\SaasUserOpen;
  7. use app\service\saas\OrderAreaService;
  8. use app\service\saas\UserOpenService;
  9. use DI\Attribute\Inject;
  10. use LinFly\Annotation\Attributes\Route\Controller;
  11. use LinFly\Annotation\Attributes\Route\GetMapping;
  12. use LinFly\Annotation\Attributes\Route\Middleware;
  13. use LinFly\Annotation\Attributes\Route\PostMapping;
  14. use support\Request;
  15. use support\Response;
  16. #[Controller("/api/merchant/black"),Middleware(AuthMiddleware::class)]
  17. class Black extends Base
  18. {
  19. #[Inject]
  20. protected UserOpenService $service;
  21. #[Inject]
  22. protected SaasUserOpen $model;
  23. #[Inject]
  24. protected OrderAreaService $serviceArea;
  25. #[Inject]
  26. protected SaasOrderArea $modelArea;
  27. #[GetMapping('list')]
  28. public function getDataList(Request $request): Response
  29. {
  30. try {
  31. $param = $request->all();
  32. $param['poi_id'] = $request->user['store_id'];
  33. $param['black'] = 1;
  34. $data = $this->service->setModel()->getList($param);
  35. return successTrans(100010,pageFormat($data),200);
  36. } catch (\Throwable $th) {
  37. return error($th->getMessage());
  38. }
  39. }
  40. #[PostMapping('undel')]
  41. public function setUserBlack(Request $request): Response
  42. {
  43. try {
  44. $param = $this->_valid([
  45. "id.require" => trans("empty.require"),
  46. ],$request->method());
  47. if (!is_array($param)) return error($param);
  48. $user = $this->model->where("id",$param["id"])->findOrEmpty();
  49. if ($user->isEmpty()) return errorTrans("error.data");
  50. $user->is_black = 0;
  51. $user->poi_id = 0;
  52. $state = $user->save();
  53. if (!$state) return errorTrans("error.data");
  54. return successTrans("success.data");
  55. } catch (\Throwable $th) {
  56. return error($th->getMessage());
  57. }
  58. }
  59. #[GetMapping('area')]
  60. public function getBlackArea(Request $request): Response
  61. {
  62. try {
  63. $param = $request->all();
  64. $param['poi_id'] = $request->user['store_id'];
  65. $data = $this->serviceArea->setModel()->getList($param);
  66. return successTrans(100010,pageFormat($data),200);
  67. } catch (\Throwable $th) {
  68. return error($th->getMessage());
  69. }
  70. }
  71. #[PostMapping('area/save')]
  72. public function setBlackArea(Request $request): Response
  73. {
  74. try {
  75. $param = $this->_valid([
  76. "name.require" => trans("empty.name.require"),
  77. ],$request->method());
  78. if (!is_array($param)) return error($param);
  79. $param['poi_id'] = $request->user['store_id'];
  80. $data = $this->modelArea->where($param)->findOrEmpty();
  81. if (!$data->isEmpty()) return error("请勿重复添加");
  82. $state = $data->insertGetId($param);
  83. if (!$state) return errorTrans("error.data");
  84. return successTrans("success.data");
  85. } catch (\Throwable $throwable) {
  86. return error($throwable->getMessage());
  87. }
  88. }
  89. #[PostMapping('area/del')]
  90. public function delBlackArea(Request $request): Response
  91. {
  92. try {
  93. $param = $this->_valid([
  94. "id.require" => trans("empty.name.require"),
  95. ],$request->method());
  96. if (!is_array($param)) return error($param);
  97. $data = $this->modelArea->where($param)->findOrEmpty();
  98. if ($data->isEmpty()) return errorTrans("error.data");
  99. $state = $data->delete();
  100. if (!$state) return errorTrans("error.data");
  101. return successTrans("success.data");
  102. } catch (\Throwable $throwable) {
  103. return error($throwable->getMessage());
  104. }
  105. }
  106. /**
  107. * 三级城市信息
  108. * @param Request $request
  109. * @return Response
  110. */
  111. #[GetMapping("city")]
  112. public function getCityJson(Request $request): Response
  113. {
  114. try {
  115. $data = json_decode(file_get_contents(base_path()."/city.json"),true);
  116. $cityData = [];
  117. foreach ($data as $key=>$item){
  118. $cityData[$key]['text'] = $item['text'];
  119. $cityData[$key]['value'] = $item['value'];
  120. $children = [];
  121. foreach ($item['children'] as $ckey=>$child){
  122. $children[$ckey]['text'] = $child['text'];
  123. $children[$ckey]['value'] = $child['value'];
  124. $children[$ckey]['children'] = [];
  125. }
  126. $cityData[$key]['children'] = $children;
  127. }
  128. return successTrans("success.data",$cityData);
  129. } catch (\Throwable $throwable) {
  130. return error($throwable->getMessage());
  131. }
  132. }
  133. }