Auth.php 4.3 KB

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