UserIdentityController.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace app\controller;
  3. use app\api\repositories\UsersRepositories;
  4. use app\business\BankCardBusiness;
  5. use app\business\LoginBusiness;
  6. use app\business\UserIdentityBusiness;
  7. use Illuminate\Support\Arr;
  8. use Respect\Validation\Validator;
  9. use support\Db;
  10. use support\Redis;
  11. use support\Request;
  12. use hg\apidoc\annotation as Apidoc;
  13. use Webman\Captcha\CaptchaBuilder;
  14. use Webman\Captcha\PhraseBuilder;
  15. #[Apidoc\Title("实名认证+修改实名信息")]
  16. #[Apidoc\Group("UserIdentity")]
  17. #[Apidoc\Sort(5)]
  18. class UserIdentityController
  19. {
  20. #[Apidoc\Title("实名认证+修改实名信息")]
  21. #[Apidoc\Url("api/user/identity.html")]
  22. #[Apidoc\Method("POST")]
  23. #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")]
  24. #[Apidoc\Param("name", type: "string", require: true, desc: "姓名", mock: "张三")]
  25. #[Apidoc\Param("number", type: "string", require: true, desc: "身份证号码 16-18位", mock: 500221233312836451)]
  26. public function Updata(Request $request)
  27. {
  28. $param = $request->param_data;
  29. $param = Arr::only($param, ['name', 'number']);
  30. $param['user_data'] = $request->user_data;
  31. Db::beginTransaction();
  32. try {
  33. Validator::input($param, [
  34. 'name' => Validator::notEmpty()->stringType()->setName('姓名'),
  35. 'number' => Validator::notEmpty()->stringType()->Length(16, 18)->setName('身份证号码'),
  36. ]);
  37. // 示例身份证号,请替换为实际要验证的号码
  38. if (!isValidChineseIDCard18($param['number'])) {
  39. throw new \Exception('身份证号码无效');
  40. }
  41. $identity = Db::table('wa_user_identity')->where('number',$param['number'])->count();
  42. if($identity>=100){
  43. throw new \Exception('当前身份证已实名');
  44. }
  45. //判断如果该上级邀请的人数有200没实名,就不允许邀请
  46. // $not_autonym_total = Db::table('wa_users')
  47. // ->where('pid',$param['user_data']['pid'])
  48. // ->where('is_autonym',0)->count();
  49. // if ($not_autonym_total >= 200) {
  50. // throw new \Exception('邀请错误');
  51. // }
  52. UserIdentityBusiness::UpData($param);
  53. } catch (\Throwable $exception) {
  54. Db::rollBack();
  55. return error($exception->getMessage());
  56. }
  57. Db::commit();
  58. return success();
  59. }
  60. }