Certification.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. namespace app\controller\api;
  3. use app\extra\basic\Base;
  4. use app\middleware\WxMiddleware;
  5. use app\model\blue\BlueExpert;
  6. use app\model\blue\BlueExpertGroup;
  7. use app\validate\blue\ExpertGroupValidate;
  8. use app\validate\blue\ExpertValidate;
  9. use DI\Attribute\Inject;
  10. use LinFly\Annotation\Route\Controller;
  11. use LinFly\Annotation\Route\Middleware;
  12. use LinFly\Annotation\Route\Route;
  13. use support\Request;
  14. use support\Response;
  15. #[Controller(prefix: "/wx_api/certification"),Middleware(WxMiddleware::class)]
  16. class Certification extends Base
  17. {
  18. #[Inject]
  19. protected ExpertValidate $validate;
  20. #[Inject]
  21. protected ExpertGroupValidate $groupValidate;
  22. #[Inject]
  23. protected BlueExpert $model;
  24. #[Inject]
  25. protected BlueExpertGroup $modelGroup;
  26. /**
  27. * @param Request $request
  28. * @return Response
  29. */
  30. #[Route(path: "user",methods: "post")]
  31. public function setUserCert(Request $request): Response
  32. {
  33. try {
  34. $param = $request->all();
  35. $param['openid'] = $request->user['openid'];
  36. $data = $this->model->where("openid",$param['openid'])->findOrEmpty();
  37. if (!$data->isEmpty()) {
  38. if ($data['status'] <> 1) return error("请勿重复提交");
  39. };
  40. if (!$this->validate->scene('add')->check($param)) return error($this->validate->getError());
  41. $state = $data->setAutoData($param);
  42. if (!$state) return errorTrans("error.data");
  43. return successTrans("success.data");
  44. } catch (\Throwable $throwable) {
  45. return error($throwable->getMessage());
  46. }
  47. }
  48. /**
  49. * 入驻检测
  50. * @param Request $request
  51. * @return Response
  52. */
  53. #[Route(path: "user/check",methods: "get")]
  54. public function checkUserCert(Request $request): Response
  55. {
  56. try {
  57. $data = $this->model->where("openid",$request->user['openid'])->findOrEmpty();
  58. if ($data->isEmpty()) return success("ok",['status' => 0]);
  59. if ($data['status'] == 2) return success("ok",['status' => 2,"remark" => $data['remark']]);
  60. return success("ok",['status' => 1]);
  61. } catch (\Throwable $throwable) {
  62. return error($throwable->getMessage());
  63. }
  64. }
  65. /**
  66. * @param Request $request
  67. * @return Response
  68. */
  69. #[Route(path: "group",methods: "post")]
  70. public function setGroupCert(Request $request): Response
  71. {
  72. try {
  73. $param = $request->all();
  74. $param['openid'] = $request->user['openid'];
  75. $data = $this->modelGroup->where("openid",$param['openid'])->findOrEmpty();
  76. if (!$data->isEmpty()) {
  77. if ($data['status'] <> 1) return error("请勿重复提交");
  78. };
  79. if (!$this->groupValidate->scene('add')->check($param)) return error($this->groupValidate->getError());
  80. $state = $data->setAutoData($param);
  81. if (!$state) return errorTrans("error.data");
  82. return successTrans("success.data");
  83. } catch (\Throwable $throwable) {
  84. return error($throwable->getMessage());
  85. }
  86. }
  87. /**
  88. * 入驻检测
  89. * @param Request $request
  90. * @return Response
  91. */
  92. #[Route(path: "group/check",methods: "get")]
  93. public function checkGroupCert(Request $request): Response
  94. {
  95. try {
  96. $data = $this->modelGroup->where("openid",$request->user['openid'])->findOrEmpty();
  97. if ($data->isEmpty()) return success("ok",['status' => 0]);
  98. if ($data['status'] == 2) return success("ok",['status' => 2,"remark" => $data['remark']]);
  99. return success("ok",['status' => 1]);
  100. } catch (\Throwable $throwable) {
  101. return error($throwable->getMessage());
  102. }
  103. }
  104. }