CertificationController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace api\modules\v1\controllers\member;
  3. use Yii;
  4. use yii\web\UnprocessableEntityHttpException;
  5. use api\controllers\OnAuthController;
  6. use common\helpers\ResultHelper;
  7. use common\enums\CertificationTypeEnum;
  8. use common\enums\MemberTypeEnum;
  9. use common\models\member\Member;
  10. /**
  11. * Class CertificationController
  12. * @package api\modules\v1\controllers\member
  13. */
  14. class CertificationController extends OnAuthController
  15. {
  16. /**
  17. * @var string
  18. */
  19. public $modelClass = '';
  20. /**
  21. * @return mixed|void|\yii\db\ActiveRecord
  22. * @throws \Exception
  23. */
  24. public function actionCreate()
  25. {
  26. $frontUrl = Yii::$app->request->post('identity_card_front');
  27. $backUrl = Yii::$app->request->post('identity_card_back');
  28. if (empty($frontUrl)) {
  29. return ResultHelper::json(422, '身份证正面不能为空');
  30. }
  31. if (empty($backUrl)) {
  32. return ResultHelper::json(422, '身份证背面不能为空');
  33. }
  34. try {
  35. $member_id = Yii::$app->user->identity->member_id;
  36. /** @var Member $member */
  37. $member = Yii::$app->services->member->findById($member_id);
  38. $model = Yii::$app->services->memberCertification->authentication($frontUrl, $backUrl);
  39. $model->member_id = $member_id;
  40. $model->member_type = MemberTypeEnum::MEMBER;
  41. $model->save() && $this->getError($model);
  42. $member->certification_type = CertificationTypeEnum::PERSONAGE;
  43. $member->save() && $this->getError($model);
  44. throw new UnprocessableEntityHttpException('认证失败 .');
  45. } catch (\Exception $e) {
  46. return ResultHelper::json(422, '认证失败');
  47. }
  48. }
  49. }
粤ICP备19079148号