public object checkImgCode(Dictionary <string, object> dicParas) { try { string errMsg = string.Empty; string mobile = dicParas.ContainsKey("mobile") ? dicParas["mobile"].ToString() : string.Empty; string code = dicParas.ContainsKey("code") ? dicParas["code"].ToString() : string.Empty; string sysId = dicParas.ContainsKey("sysId") ? dicParas["sysId"].ToString() : string.Empty; //验证请求次数 if (!RequestTotalCache.CanRequest(mobile, ApiRequestType.CheckImgCode)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "已超过单日最大请求次数")); } else { RequestTotalCache.Add(mobile, ApiRequestType.CheckImgCode); } if (!checkCodeParams(dicParas, out errMsg)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg)); } //如果用户未获取验证码 if (!ValidateImgCache.Exist(code.ToUpper())) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "验证码无效")); } string key = mobile + "_" + code; SMSTempTokenCache.Add(key, mobile, CacheExpires.SMSTempTokenExpires); ValidateImgCache.Remove(code.ToUpper()); SMSTokenModel smsTokenModel = new SMSTokenModel(mobile, code); return(ResponseModelFactory <SMSTokenModel> .CreateModel(isSignKeyReturn, smsTokenModel)); } catch (Exception e) { throw e; } }
public object checkMerch(Dictionary <string, object> dicParas) { try { string errMsg = string.Empty; string mobile = dicParas.ContainsKey("mobile") ? dicParas["mobile"].ToString() : string.Empty; string code = dicParas.ContainsKey("imgCode") ? dicParas["imgCode"].ToString() : string.Empty; if (string.IsNullOrEmpty(mobile)) { errMsg = "mobile参数不能为空"; } if (string.IsNullOrEmpty(code)) { errMsg = "验证码不能为空"; } if (!string.IsNullOrEmpty(errMsg)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg)); } if (string.IsNullOrWhiteSpace(mobile) || !IsMobile(mobile)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "请输入正确的手机号码")); } //验证请求次数 if (!RequestTotalCache.CanRequest(mobile, ApiRequestType.CheckImgCode)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "已超过单日最大请求次数")); } else { RequestTotalCache.Add(mobile, ApiRequestType.CheckImgCode); } //如果用户未获取验证码 if (!ValidateImgCache.Exist(code.ToUpper())) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "验证码错误")); } //验证商户手机号码是否存在 string sql = "select Mobile,State from Base_MerchInfo where Mobile=@Mobile"; SqlParameter[] parameters = new SqlParameter[1]; parameters[0] = new SqlParameter("@Mobile", mobile); System.Data.DataSet ds = XCCloudRS232BLL.ExecuteQuerySentence(sql, parameters); if (ds.Tables[0].Rows.Count == 0) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "手机号码未注册")); } else if (ds.Tables[0].Rows[0]["state"].ToString() == "0") { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "该手机号已被禁用")); } string key = mobile + "_" + code; SMSTempTokenCache.Add(key, mobile, CacheExpires.SMSTempTokenExpires); ValidateImgCache.Remove(code.ToUpper()); SMSTokenModel smsTokenModel = new SMSTokenModel(mobile, code); return(ResponseModelFactory <SMSTokenModel> .CreateModel(isSignKeyReturn, smsTokenModel)); } catch (Exception e) { throw e; } }