public BindAlipayPostValidator(IMemberInfosRepository memberInfoRepository) { this._IMemberInfoRepository = memberInfoRepository; //检查用户是否存在 RuleFor(x => x.Id).NotEmpty().WithMessage("用户id不能为空").MustAsync(async(id, cancellation) => { bool exists = await this._IMemberInfoRepository.IsExistAsync(x => x.MemberId == id); return(exists); }).WithMessage("当前用户不存在,请检查"); RuleFor(x => x.Name).NotEmpty().WithMessage("真实姓名不为空").Matches(@"[\u4E00-\u9FA5]+").WithMessage("真实姓名必须为中文"); RuleFor(x => x.Alipay).NotEmpty().WithMessage("支付宝账号不能为空").Matches(@"0?(13|14|15|17|18|19)[0-9]{9}").WithMessage("支付宝账号格式不正确"); //检查账号是否在其他账户绑定过 RuleFor(x => new { x.Id, x.Alipay }).MustAsync(async(obj, collback) => { bool exists = await this._IMemberInfoRepository.IsExistAsync(x => x.Alipay == obj.Alipay && x.MemberId != obj.Id); return(!exists); }).WithMessage("该账号已在其他用户绑定过"); //不能更新绑定,检测用户是否绑定过 已绑定则无法更改绑定 RuleFor(x => x.Id).MustAsync(async(id, collback) => { var flag = false; var entity = await this._IMemberInfoRepository.FirstOrDefaultAsync(x => x.MemberId == id); if (string.IsNullOrWhiteSpace(entity.Alipay)) { flag = true; } return(flag); }).WithMessage("每个用户只允许绑定一次(当前用户已绑定)"); }
public IncomeController(ILogger <SiteController> logger, IMemberInfosRepository memberInfoRepository, IMemberIncomeRepository memberIncomeRepository) { this._ILogger = logger; this._IMemberInfoRepository = memberInfoRepository; this._IMemberIncomeRepository = memberIncomeRepository; }
public MemberInfoPostValidator(IMemberInfosRepository memberInfosRepository) { this._IMemberInfosRepository = memberInfosRepository; When(x => x.IsEnable != 0, () => { RuleFor(x => x.Alipay).Matches(@"0?(13|14|15|17|18|19)[0-9]{9}").WithMessage("支付宝账号格式不正确") .MustAsync(AlipayRepeatValidator).WithMessage("支付宝已被绑定!").When(a => !string.IsNullOrEmpty(a.Alipay)); }); }
public MemberWithdrawPostValidator(IMemberInfosRepository memberInfosRepository) { this._IMemberInfosRepository = memberInfosRepository; //检查用户是否存在 RuleFor(x => x.id).NotEmpty().WithMessage("用户id不能为空").MustAsync(async(id, cancellation) => { bool exists = await this._IMemberInfosRepository.IsExistAsync(x => x.MemberId == id); return(exists); }).WithMessage("当前用户不存在,请检查"); }
/// <summary> /// 自动校验 /// </summary> public PasswordPostValidator(IMemberInfosRepository memberInfoRepository) { this._IMemberInfoRepository = memberInfoRepository; RuleFor(x => x.LoginName).MustAsync(async(loginName, collback) => { return(await _IMemberInfoRepository.IsExistAsync(a => a.Uid == loginName || a.Phone == loginName)); }).WithMessage("用户不存在!"); RuleFor(x => new { x.Old, x.LoginName }).MustAsync(async(obj, collback) => { return(await _IMemberInfoRepository.IsExistAsync(a => (a.Uid == obj.LoginName || a.Phone == obj.LoginName) && a.Password == Tools.Md5(obj.Old))); }).WithMessage("原始密码有误!"); RuleFor(x => x.New).NotEmpty().WithMessage("新密码不能为空!").Matches(@"^(?!(?:[^a-zA-Z]+|\D+|[a-zA-Z0-9]+)$).{6,50}$").WithMessage("新密码必须包含字母、数字和特殊字符"); RuleFor(x => x.Affirm).NotEmpty().WithMessage("确认密码不能为空!").Must(ReEqualsNew).WithMessage("确认密码必须跟新密码一样!"); }
public TaskInfoApp(IMemberIncomeRepository memberIncomeRepository, IMemberInfosRepository memberInfosRepository, ITaskInfoRepository taskInfoRepository, IConfiguration configuration) { this._IMemberIncomeRepository = memberIncomeRepository; this._IMemberInfosRepository = memberInfosRepository; this._ITaskInfoRepository = taskInfoRepository; this._IConfiguration = configuration; this._Before = Convert.ToInt32(_IConfiguration["ExchangeRatio:Before"]); this._After = Convert.ToInt32(_IConfiguration["ExchangeRatio:After"]); }
/// <summary> /// 自动验证 /// </summary> public RegisterPostValidator(IMemberInfosRepository memberInfoRepository) { this._IMemberInfoRepository = memberInfoRepository; When(x => x.type == (int)RegisterType.wechat, () => { RuleFor(a => a.uid).NotEmpty().WithMessage("请传递uid!"); RuleFor(a => a.openid).NotEmpty().WithMessage("请传递openid!"); }).Otherwise(() => { RuleFor(a => a.phone).NotEmpty().WithMessage("请传递手机号!").MustAsync(async(phone, callback) => { return(!await _IMemberInfoRepository.IsExistAsync(x => x.Phone == phone)); }).WithMessage("该手机号已经被绑定!"). Matches(@"0?(13|14|15|17|18|19)[0-9]{9}").WithMessage("手机号格式不正确!"); }); }
/// <summary> /// /// </summary> /// <param name="logger"></param> /// <param name="memberInfoRepository"></param> /// <param name="memberIncomeRepository"></param> /// <param name="jwtRedis"></param> /// <param name="configuration"></param> /// <param name="taskInfoApp"></param> public MemberController(ILogger <SiteController> logger, IMemberInfosRepository memberInfoRepository, IMemberIncomeRepository memberIncomeRepository, IJwtRedis jwtRedis, IConfiguration configuration, ITaskInfoApp taskInfoApp) { this._IConfiguration = configuration; this._ILogger = logger; this._IMemberInfoRepository = memberInfoRepository; this._IMemberIncomeRepository = memberIncomeRepository; this._IJwtRedis = jwtRedis; this._ITaskInfoApp = taskInfoApp; }
/// <summary> /// /// </summary> /// <param name="logger"></param> /// <param name="memberInfoRepository"></param> /// <param name="memberIncomeRepository"></param> /// <param name="configuration"></param> public WithdrawController(ILogger <MemberWithdraw> logger, IMemberInfosRepository memberInfoRepository, IMemberIncomeRepository memberIncomeRepository, IMemberWithdrawRepository memberWithdrawRepository, IConfiguration configuration) { this._IConfiguration = configuration; this._ILogger = logger; this._IMemberInfoRepository = memberInfoRepository; this._IMemberIncomeRepository = memberIncomeRepository; this._IMemberWithdrawRepository = memberWithdrawRepository; this._Before = Convert.ToInt32(_IConfiguration["ExchangeRatio:Before"]); this._After = Convert.ToInt32(_IConfiguration["ExchangeRatio:After"]); }
/// <summary> /// /// </summary> /// <param name="logger"></param> /// <param name="webNewsRedis"></param> /// <param name="jwtRedis"></param> /// <param name="memberInfosRepository"></param> /// <param name="httpContextAccessor"></param> public AccountController(ILogger <AccountController> logger, IWebNewsRedis webNewsRedis, IJwtRedis jwtRedis, IMemberInfosRepository memberInfosRepository, IHttpContextAccessor httpContextAccessor, ITaskInfoRepository taskInfoRepository, ITaskNoviceLogRepository taskNoviceLogRepository, ITaskInfoApp taskInfoApp) { this._ILogger = logger; this._IWebNewsRedis = webNewsRedis; this._IJwtRedis = jwtRedis; this._IMemberInfosRepository = memberInfosRepository; this._IHttpContextAccessor = httpContextAccessor; this._ITaskInfoRepository = taskInfoRepository; this._ITaskNoviceLogRepository = taskNoviceLogRepository; this._ITaskInfoApp = taskInfoApp; }
public TaskInfoAppv2(IMemberIncomeRepository memberIncomeRepository, IMemberInfosRepository memberInfosRepository, ITaskUpperLogRepository taskUpperLogRepository, ITaskInfoRepository taskInfoRepository, ITaskDetailsRepository taskDetailsRepository, IConfiguration configuration, ITaskNoviceLogRepository taskNoviceLogRepository) { this._IMemberIncomeRepository = memberIncomeRepository; this._IMemberInfosRepository = memberInfosRepository; this._ITaskInfoRepository = taskInfoRepository; this._ITaskDetailsRepository = taskDetailsRepository; this._ITaskUpperLogRepository = taskUpperLogRepository; this._ITaskNoviceLogRepository = taskNoviceLogRepository; this._IConfiguration = configuration; this._Before = Convert.ToInt32(_IConfiguration["ExchangeRatio:Before"]); this._After = Convert.ToInt32(_IConfiguration["ExchangeRatio:After"]); }