public string Execute(Hashtable params_ht) { Hashtable res = params_ht; if (res["Mobile"] == null || res["Mobile"].ToString().Length <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "手机号码为空")); } else { string mobie = res["Mobile"].ToString().Trim(); SmsInfoManager sim = new SmsInfoManager(); UserInfoManager uim = new UserInfoManager(); //判断用户是否禁用状态 DataTable user = uim.GetUserInfoByBindPhone(mobie); if (user != null) { if (user.Rows.Count > 0) { Hashtable hashuser = DataTableHelper.DataRowToHashTable(user.Rows[0]); if (SiteHelper.GetHashTableValueByKey(hashuser, "UserState").Trim() == UserState.Disable.GetHashCode().ToString()) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "用户被禁用,无法收取验证码")); } } } ICache Cache = CacheFactory.GetCache(); string keyid = "sms_send_times@" + mobie; int sms_send_times = 0; if (string.IsNullOrEmpty(Cache.Get <string>(keyid))) { DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59); Cache.Set(keyid, sms_send_times, dt - DateTime.Now); } if (sms_send_times >= MaxSendTimes) { Cache.Dispose(); return(SiteHelper.GetJsonFromHashTable(null, "faild", "短信发送失败,短信发送已超过当天最大次数")); } bool sendResult = sim.SendVerificationCode(mobie); if (sendResult) { sms_send_times += 1; DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59); Cache.Set(keyid, sms_send_times, dt - DateTime.Now); Cache.Dispose(); return(SiteHelper.GetJsonFromHashTable(null, "success", "短信发送成功")); } else { Cache.Dispose(); return(SiteHelper.GetJsonFromHashTable(null, "faild", "短信发送失败")); } } }
public void Execute(IJobExecutionContext context) { string type = "无单位移"; try { SmsInfoManager sim = new SmsInfoManager(); VehicleManager vm = new VehicleManager(); OPUserManager oum = new OPUserManager(); DataTable dt = vm.GetNoOrderVehicles(); DataTable users = oum.GetReceiveSMSUsers(); foreach (DataRow row in dt.Rows) { string vid = row["ID"].ToString(); string name = row["Name"].ToString(); string gpsNum = row["VehicleGPSNum"].ToString(); DateTime begin = DateTime.Now.AddMinutes(-10); DateTime end = DateTime.Now; DataTable dtList = vm.GetSpeedVehicleTrace(vid, begin, end); if (dtList != null && dtList.Rows.Count >= 10) { if (users != null && users.Rows.Count > 0) { foreach (DataRow user in users.Rows) { string mobile = user[0].ToString(); bool sendResult = sim.SendAlarm(mobile, gpsNum, name, type); if (sendResult) { Logger.Warn(string.Format("车辆{0},{1}发生{2}报警,发送给{3}成功。", name, gpsNum, type, mobile)); } else { Logger.Warn(string.Format("车辆{0},{1}发生{2}报警,发送给{3}失败。", name, gpsNum, type, mobile)); } } } } } } catch (Exception e) { Logger.Error("无单位移报警发送短信失败," + e.Message); } }
public string Execute(Hashtable params_ht) { Hashtable res = params_ht; if (res["Mobile"] == null || res["Mobile"].ToString().Length <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "手机号码为空")); } else { string mobile = res["Mobile"].ToString().Trim(); SmsInfoManager sim = new SmsInfoManager(); OPUserManager userManager = new OPUserManager(); DataTable user = userManager.GetUserInfoByMobile(mobile); //判断用户是否在系统中进行过注册 if (user == null || user.Rows.Count == 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "用户未在系统注册,无法收取验证码")); } if (user != null) { if (user.Rows.Count > 0) { Hashtable hashuser = DataTableHelper.DataRowToHashTable(user.Rows[0]); //判断用户是否禁用状态 if (SiteHelper.GetHashTableValueByKey(hashuser, "UserState").Trim() == UserState.Disable.GetHashCode().ToString()) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "用户被禁用,无法收取验证码")); } } } bool sendResult = sim.SendVerificationCode(mobile); if (sendResult) { return(SiteHelper.GetJsonFromHashTable(null, "success", "短信发送成功")); } else { return(SiteHelper.GetJsonFromHashTable(null, "faild", "短信发送失败")); } } }
/// <summary> /// 绑定数据源 /// </summary> private void DataBindGrid(bool isQuery = false) { SmsInfoManager smsInfoManager = new SmsInfoManager(); int count = 0; int pageIndex = isQuery ? 1 : PageControl1.PageIndex; StringBuilder SqlWhere = new StringBuilder(); IList <SqlParam> IList_param = new List <SqlParam>(); if (!string.IsNullOrEmpty(txt_Search.Value)) { SqlWhere.Append(" and Receiver like @obj "); IList_param.Add(new SqlParam("@obj", '%' + txt_Search.Value.Trim() + '%')); } DataTable dt = smsInfoManager.GetSmsInfoPage(SqlWhere, IList_param, pageIndex, PageControl1.PageSize, ref count); ControlBindHelper.BindRepeaterList(dt, rp_Item); this.PageControl1.PageIndex = pageIndex; this.PageControl1.RecordCount = Convert.ToInt32(count); this.PageControl1.PageChecking(); }
public string Execute(Hashtable params_ht) { Hashtable res = params_ht; if (res["SetType"] == null || res["Content"] == null || res["UID"] == null || res["SetType"].ToString().Trim().Length <= 0 || res["Content"].ToString().Trim().Length <= 0 || res["UID"].ToString().Trim().Length <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "参数不完整")); } else { UserInfoManager uim = new UserInfoManager(); SmsInfoManager sim = new SmsInfoManager(); //头像:1 姓名:2 昵称:3 uid = res["UID"].ToString().Trim(); setType = res["SetType"].ToString().Trim(); content = res["Content"].ToString().Trim(); Hashtable user = uim.GetUserInfoByUserID(uid); if (user == null || user.Keys.Count <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "用户不存在")); } else { if (setType == "1") { //修改头像 try { string imgPath = BitmapHelper.toUpload(content); Hashtable modifyUser = new Hashtable(); modifyUser["HeadPortrait"] = imgPath; bool issuccess = uim.AddOrEditUserInfo(modifyUser, uid); if (!issuccess) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "用户头像保存失败")); } else { user["HeadPortrait"] = imgPath; } } catch (Exception e1) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "用户头像保存失败")); } } else if (setType == "3") { //修改昵称 Hashtable modifyUser = new Hashtable(); modifyUser["NickName"] = content; bool issuccess = uim.AddOrEditUserInfo(modifyUser, uid); if (!issuccess) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "昵称保存失败")); } else { user["NickName"] = content; } } else { return(SiteHelper.GetJsonFromHashTable(null, "faild", "修改项不合法")); } } DataTable dt = uim.GetUserInfoByBindPhone(SiteHelper.GetHashTableValueByKey(user, "BindPhone")); if (dt == null || dt.Rows.Count <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "网络异常")); } else { decimal balance = 0.00m; decimal.TryParse(dt.Rows[0]["Balance"].ToString(), out balance); decimal balance2 = 0.00m; decimal.TryParse(dt.Rows[0]["Balance2"].ToString(), out balance2); dt.Rows[0]["Balance"] = balance + balance2; Hashtable huser = DataTableHelper.DataRowToHashTable(dt.Rows[0]); return(SiteHelper.GetJsonFromHashTable(huser, "success", "操作成功", "UserInfo")); } } }
/// <summary> /// 越界报警短信通知 /// </summary> /// <param name="context"></param> public void Execute(IJobExecutionContext context) { ICache cache = null; string type = "越界"; try { foreach (string saas in ConfigHelper.GetSaasList()) { try { MyWorkerRequest.CreateHttpContext(saas, "", ""); SmsInfoManager sim = new SmsInfoManager(); OPUserManager oum = new OPUserManager(); DataTable users = oum.GetReceiveSMSUsers(); VehicleAlarmManager vam = new VehicleAlarmManager(); VehicleManager vm = new VehicleManager(); DataTable dataTable = vam.GetOutAreaList(); if (dataTable != null && dataTable.Rows.Count > 0) { cache = CacheFactory.GetCache(); foreach (DataRow row in dataTable.Rows) { string vehicleID = row[0].ToString(); Hashtable vehicle = vm.GetVehicleInfoByID(vehicleID); string gpsNum = SiteHelper.GetHashTableValueByKey(vehicle, "VehicleGPSNum").ToUpper(); string name = SiteHelper.GetHashTableValueByKey(vehicle, "Name").ToUpper(); string alarmCount = row[1].ToString(); if (!string.IsNullOrEmpty(alarmCount)) { int count = 0; int.TryParse(alarmCount, out count); if (count >= 4) { if (users != null && users.Rows.Count > 0) { foreach (DataRow user in users.Rows) { string mobile = user[0].ToString(); string key = "out_area_alarm_" + mobile + "_" + vehicleID; string code_value = cache.Get <string>(key); if (string.IsNullOrEmpty(code_value)) { bool sendResult = sim.SendAlarm(mobile, gpsNum, name, type); if (sendResult) { Logger.Warn(string.Format("车辆{0},{1}发生{2}报警,发送给{3}成功。", name, gpsNum, type, mobile)); DateTime dt = DateTime.Now.AddMinutes(20); cache.Set(key, 1, dt - DateTime.Now); } else { Logger.Warn(string.Format("车辆{0},{1}发生{2}报警,发送给{3}失败。", name, gpsNum, type, mobile)); } } else { Logger.Warn(string.Format("车辆{0},{1}发生{2}报警,发送给{3}未超过1小时。", name, gpsNum, type, mobile)); } } } } } } if (cache != null) { cache.Dispose(); } } } catch { if (cache != null) { cache.Dispose(); } Logger.Info("车辆越界报警发送短信失败"); } } } catch { if (cache != null) { cache.Dispose(); } Logger.Info("车辆越界报警发送短信失败"); } }
public void ProcessRequest(HttpContext context) { context.Response.CacheControl = "no-cache"; context.Response.AddHeader("Pragma", "no-cache"); context.Response.ContentType = "text/plain"; string Action = context.Request["action"]; switch (Action) { case "GetDistrict": ServiceAreaManager areaManager = new ServiceAreaManager(); DataTable dtArea = areaManager.GetAreaList(int.Parse(context.Request["levelType"]), int.Parse(context.Request["parentId"])); context.Response.Write(JsonHelper.DataTableToJson("success", "获取数据成功", dtArea, "ServiceArea")); context.Response.End(); break; case "GetServiceAreaByID": ServiceAreaManager manager = new ServiceAreaManager(); DataTable dt = manager.GetServiceAreaByID(context.Request["key"]); context.Response.Write(JsonHelper.DataTableToJson("success", "获取数据成功", dt, "ServiceArea")); context.Response.End(); break; case "UpdateServiceAreaCoordinates": ServiceAreaManager sam = new ServiceAreaManager(); string key = context.Request["key"]; Hashtable ht = sam.GetInfoByID(key); ht["COORDINATES"] = context.Request["Coordinates"]; ht["LONGITUDE"] = context.Request["Longitude"]; ht["LATITUDE"] = context.Request["Latitude"]; string areaType = ht["AREATYPE"].ToString(); string status = ht["STATUS"].ToString(); string deleteMark = ht["DELETEMARK"].ToString(); //AreaType 区域类型 1服务范围 2停车网点 //Status 启动状态:0禁用,1启用 //DeleteMark 0 if ("1".Equals(areaType) && "1".Equals(status) && "True".Equals(deleteMark)) { ICache cache = null; try { cache = CacheFactory.GetCache(); string cacheKey = "Service_Area_" + ht["CITYID"].ToString(); DateTime timeSpan = DateTime.Now.AddDays(10); cache.Set(cacheKey, context.Request["Coordinates"], timeSpan - DateTime.Now); cache.Dispose(); /*List<LatLng> area_pts = new List<LatLng>(); * string coordinates = cache.Get<string>(cacheKey); * if(coordinates!=null&& coordinates.Length>0) * foreach (string str in coordinates.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries)) * { * string[] pt_arr = str.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); * LatLng pt = new LatLng(double.Parse(pt_arr[1]), double.Parse(pt_arr[0])); * area_pts.Add(pt); * }*/ } catch (Exception e) { if (cache != null) { cache.Dispose(); } Logger.Error("更新区域:" + ht["THISNAME"].ToString() + ",报错:" + e); } if (cache != null) { cache.Dispose(); } } if (sam.AddOrEditInfo(ht, key)) { context.Response.Write(JsonHelper.DataTableToJson("success", "更新成功", null, "UpdateServiceAreaCoordinates")); } else { context.Response.Write(JsonHelper.DataTableToJson("faild", "更新失败", null, "UpdateServiceAreaCoordinates")); } context.Response.End(); break; case "GetInviteCouponInfo": SysSettingManager settingManager = new SysSettingManager(); int couponNum = 0; int.TryParse(settingManager.GetValueByKey("InviteCouponNum"), out couponNum); decimal couponMoney = 0.00m; decimal.TryParse(settingManager.GetValueByKey("InviteCouponMoney"), out couponMoney); double CouponPeriod = 0; double.TryParse(settingManager.GetValueByKey("CouponPeriod"), out CouponPeriod); Hashtable result_ht = new Hashtable(); result_ht["CouponNum"] = couponNum; result_ht["CouponMoney"] = couponMoney; result_ht["CouponPeriod"] = DateTime.Now.Date.AddDays(CouponPeriod).ToString("yyyy-MM-dd"); //响应数据到客户端 context.Response.Write(SiteHelper.GetJsonFromHashTable2(result_ht, "success", "获取数据成功", "GetInviteCouponInfo")); break; case "SendVerificationCode": string mobie = context.Request["Mobile"].ToString().Trim(); string code = ""; if (context.Request["Code"] != null) { code = context.Request["Code"].ToString().Trim(); } else { context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "faild", "参数错误", "SendVerificationCode")); context.Response.End(); break; } string session_code = context.Session["dt_session_code"].ToString(); if (code.ToLower() != session_code.ToLower()) { context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "faild", "图形验证码错误", "SendVerificationCode")); context.Response.End(); break; } SmsInfoManager sim = new SmsInfoManager(); UserInfoManager uim = new UserInfoManager(); DataTable user = uim.GetUserInfoByBindPhone(mobie); if (user != null && user.Rows.Count > 0) { context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "faild", "手机号已注册", "SendVerificationCode")); context.Response.End(); break; } bool sendResult = sim.SendVerificationCode(mobie); if (sendResult) { context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "success", "发送验证码成功", "SendVerificationCode")); context.Response.End(); break; } else { context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "faild", "发送验证码失败", "SendVerificationCode")); context.Response.End(); break; } case "NewUserRegister": sim = new SmsInfoManager(); UserLoginLogManager ullm = new UserLoginLogManager(); uim = new UserInfoManager(); settingManager = new SysSettingManager(); string mobile = context.Request["Mobile"].ToString().Trim(); string verificationCode = context.Request["VerificationCode"].ToString().Trim(); string invite_userid = context.Request["InviteUserID"].ToString().Trim(); string vcode = sim.GetVerCodeByMobile(mobile); if (verificationCode != vcode) { context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "faild", "手机验证码错误", "NewUserRegister")); context.Response.End(); return; } user = uim.GetUserInfoByBindPhone(mobile); if (user != null && user.Rows.Count > 0) { context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "faild", "用户已注册", "NewUserRegister")); context.Response.End(); return; } else { Hashtable newuser = new Hashtable(); newuser["BindPhone"] = mobile; newuser["RealNameCertification"] = (int)UserRealNameCertification.Unauthorized; newuser["UserState"] = (int)UserState.Enable; newuser["Balance"] = 0; newuser["RaiseBalance"] = 0; newuser["IsRaiseUser"] = (int)UserIsRaise.NO; newuser["InviteCode"] = mobile; newuser["InviteUserID"] = invite_userid; int num = uim.AddUserInfo(newuser); if (num > -1) { user = uim.GetUserInfoByBindPhone(mobile); //新注册用户赠送优惠券 couponNum = 0; int.TryParse(settingManager.GetValueByKey("RegCouponNum"), out couponNum); couponMoney = 0.00m; decimal.TryParse(settingManager.GetValueByKey("RegCouponMoney"), out couponMoney); UserCouponManager couponManager = new UserCouponManager(); if (couponNum > 0 && couponMoney > 0) { couponManager.NewUserGiveCoupons(user.Rows[0]["ID"].ToString()); } context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "success", "新用户注册成功", "NewUserRegister")); context.Response.End(); return; } else { context.Response.Write(SiteHelper.GetJsonFromHashTable2(null, "faild", "手机号错误", "NewUserRegister")); context.Response.End(); return; } } break; default: break; } }
public string Execute(Hashtable params_ht) { Hashtable res = params_ht; if (res["Mobile"] == null || res["VerificationCode"] == null || res["Client"] == null || res["Mobile"].ToString().Trim().Length <= 0 || res["VerificationCode"].ToString().Trim().Length <= 0 || res["Client"].ToString().Trim().Length <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "登录数据不完整")); } else { OPUserManager userManager = new OPUserManager(); SmsInfoManager sim = new SmsInfoManager(); bool isAllowLogin = false; //获取参数 mobile = res["Mobile"].ToString().Trim(); verificationCode = res["VerificationCode"].ToString().Trim(); client = res["Client"].ToString().Trim(); DataTable user = userManager.GetUserInfoByMobile(mobile); //判断用户是否在系统中进行过注册 if (user == null || user.Rows.Count == 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "用户未在系统注册,登录失败")); } if (user != null && user.Rows.Count > 0) { string vcode = sim.GetVerCodeByMobile(mobile); if (vcode != null && verificationCode.Trim() == vcode.Trim()) { isAllowLogin = true; } else { return(SiteHelper.GetJsonFromHashTable(null, "faild", "验证码不正确")); } } if (isAllowLogin) { //更新最后登录时间 Hashtable userh = new Hashtable(); userh["LastloginTime"] = SiteHelper.GetWebServerCurrentTime(); userManager.AddOrEditUserInfo(userh, user.Rows[0]["UserID"].ToString()); //响应数据到客户端 Hashtable huser = DataTableHelper.DataTableToHashtable(user); DataTable dt_parking = userManager.GetUserParkingList(huser["USERID"].ToString()); DataRow dr = dt_parking.NewRow(); dr["ID"] = System.Guid.Empty.ToString(); dr["ThisName"] = "停车点外"; dt_parking.Rows.InsertAt(dr, 0); huser["PARKLIST"] = dt_parking; //huser["PARKLIST"] = userManager.GetUserParkingList(huser["USERID"].ToString()); return(SiteHelper.GetJsonFromHashTable2(huser, "success", "登录成功", "UserInfo")); } else { return(SiteHelper.GetJsonFromHashTable(null, "faild", "登录失败,请稍后重试")); } } }
public string Execute(Hashtable params_ht) { Hashtable res = params_ht; if (res["Mobile"] == null || res["VerificationCode"] == null || res["Client"] == null || res["Longitude"] == null || res["Latitude"] == null || res["EquipmentID"] == null || res["Mobile"].ToString().Trim().Length <= 0 || res["VerificationCode"].ToString().Trim().Length <= 0 || res["Client"].ToString().Trim().Length <= 0 || res["Longitude"].ToString().Trim().Length <= 0 || res["Latitude"].ToString().Trim().Length <= 0 || res["EquipmentID"].ToString().Trim().Length <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "登录数据不完整")); } else { UserInfoManager uim = new UserInfoManager(); SmsInfoManager sim = new SmsInfoManager(); UserLoginLogManager ullm = new UserLoginLogManager(); SysSettingManager settingManager = new SysSettingManager(); bool isAllowLogin = false; //获取参数 mobile = res["Mobile"].ToString().Trim(); verificationCode = res["VerificationCode"].ToString().Trim(); client = res["Client"].ToString().Trim(); longitude = res["Longitude"].ToString().Trim(); latitude = res["Latitude"].ToString().Trim(); drviceid = res["EquipmentID"].ToString().Trim(); DataTable user = uim.GetUserInfoByBindPhone(mobile); if (user != null && user.Rows.Count > 0) { string vcode = sim.GetVerCodeByMobile(mobile); if (vcode != null && verificationCode.Trim() == vcode.Trim()) { isAllowLogin = true; } else { return(SiteHelper.GetJsonFromHashTable(null, "faild", "验证码不正确")); } } else { Hashtable newuser = new Hashtable(); newuser["BindPhone"] = mobile; newuser["RealNameCertification"] = (int)UserRealNameCertification.Unauthorized; newuser["UserState"] = (int)UserState.Enable; newuser["Balance"] = 0; newuser["RaiseBalance"] = 0; newuser["IsRaiseUser"] = (int)UserIsRaise.NO; newuser["InviteCode"] = mobile; int num = uim.AddUserInfo(newuser); if (num > -1) { user = uim.GetUserInfoByBindPhone(mobile); string vcode = sim.GetVerCodeByMobile(mobile); if (vcode != null && verificationCode.Trim() == vcode.Trim()) { isAllowLogin = true; } else { return(SiteHelper.GetJsonFromHashTable(null, "faild", "验证码不正确")); } } else { return(SiteHelper.GetJsonFromHashTable(null, "faild", "手机号错误")); } //新注册用户赠送优惠券 int couponNum = 0; int.TryParse(settingManager.GetValueByKey("RegCouponNum"), out couponNum); decimal couponMoney = 0.00m; decimal.TryParse(settingManager.GetValueByKey("RegCouponMoney"), out couponMoney); UserCouponManager couponManager = new UserCouponManager(); if (couponNum > 0 && couponMoney > 0) { couponManager.NewUserGiveCoupons(user.Rows[0]["ID"].ToString()); } } if (isAllowLogin) { //记录登录日志 Hashtable loginlog = new Hashtable(); loginlog["UserID"] = user.Rows[0]["ID"].ToString(); loginlog["Latitude"] = latitude; loginlog["Longitude"] = longitude; loginlog["Client"] = client; ullm.AddUserLoginLog(loginlog); //更新最后登录时间 Hashtable userh = new Hashtable(); userh["LastloginTime"] = SiteHelper.GetWebServerCurrentTime(); userh["DeviceID"] = drviceid; uim.AddOrEditUserInfo(userh, loginlog["UserID"].ToString()); decimal balance = 0.00m; decimal.TryParse(user.Rows[0]["Balance"].ToString(), out balance); decimal balance2 = 0.00m; decimal.TryParse(user.Rows[0]["Balance2"].ToString(), out balance2); user.Rows[0]["Balance"] = balance + balance2; if (user.Rows[0]["UserType"].ToString() == UserType.OffDepositUser.GetHashCode().ToString())//免押金用户 { string depositMoney = settingManager.GetValueByKey("GoldDepositAmount"); user.Rows[0]["Deposit"] = depositMoney; } //响应数据到客户端 return(SiteHelper.GetJsonFromHashTable(DataTableHelper.DataRowToHashTable(user.Rows[0]), "success", "登录成功", "UserInfo")); } else { return(SiteHelper.GetJsonFromHashTable(null, "faild", "登录操作失败")); } } }
public string Execute(Hashtable params_ht) { Hashtable res = params_ht; if (res["Mobile"] == null || res["Mobile"].ToString().Length <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "手机号码为空")); } if (res["LoginCode"] == null || res["LoginCode"].ToString().Length <= 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "图形码为空")); } string mobile = res["Mobile"].ToString().Trim(); UserInfoManager uim = new UserInfoManager(); DataTable blackMobile = uim.GetBlackMobileByMobile(mobile); if (blackMobile != null && blackMobile.Rows.Count > 0) { return(SiteHelper.GetJsonFromHashTable(null, "faild", "手机号被禁用,请联系客服")); } string code = res["LoginCode"].ToString().Trim(); code = code.ToLower(); ICache cache = CacheFactory.GetCache(); string loginCodeKey = "login_code_" + mobile; string code_value = cache.Get <string>(loginCodeKey); Logger.Debug("mobile:" + mobile + ",code:" + code + ",redis_code_value:" + code_value); /*if(string.IsNullOrEmpty(code_value)) * { * return SiteHelper.GetJsonFromHashTable(null, "faild", "图形码超时"); * } * if (!code_value.Equals(code)) * { * return SiteHelper.GetJsonFromHashTable(null, "faild", "图形码错误"); * }*/ if (!ValidateUtil.IsMobilePhone(mobile)) { if (cache != null) { cache.Dispose(); } return(SiteHelper.GetJsonFromHashTable(null, "faild", "手机格式不正确")); } SmsInfoManager sim = new SmsInfoManager(); //判断用户是否禁用状态 DataTable user = uim.GetUserInfoByBindPhone(mobile); if (user != null) { if (user.Rows.Count > 0) { Hashtable hashuser = DataTableHelper.DataRowToHashTable(user.Rows[0]); if (SiteHelper.GetHashTableValueByKey(hashuser, "UserState").Trim() == UserState.Disable.GetHashCode().ToString()) { if (cache != null) { cache.Dispose(); } return(SiteHelper.GetJsonFromHashTable(null, "faild", "用户被禁用,无法收取验证码")); } } } /*string span_key_id = "sms_send_time_span@" + mobile; * if (string.IsNullOrEmpty(Cache.Get<string>(span_key_id))) * { * DateTime dt = DateTime.Now.AddSeconds(60); * Cache.Set(span_key_id, mobile, dt - DateTime.Now); * } * else * { * Cache.Dispose(); * Logger.Error("发送短信,Mobile:" + mobile + "60秒内"); * return SiteHelper.GetJsonFromHashTable(null, "faild", "短信发送失败,请稍后再试"); * }*/ string keyid = "sms_send_times@" + mobile; int sms_send_times = 0; if (string.IsNullOrEmpty(cache.Get <string>(keyid))) { DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59); cache.Set(keyid, sms_send_times, dt - DateTime.Now); } else { string tims = cache.Get <string>(keyid); int.TryParse(tims, out sms_send_times); } if (sms_send_times >= MaxSendTimes) { if (cache != null) { cache.Dispose(); } return(SiteHelper.GetJsonFromHashTable(null, "faild", "短信发送失败,短信发送已超过当天最大次数")); } bool sendResult = sim.SendVerificationCode(mobile); if (sendResult) { sms_send_times += 1; DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59); cache.Set(keyid, sms_send_times, dt - DateTime.Now); cache.Dispose(); return(SiteHelper.GetJsonFromHashTable(null, "success", "短信发送成功")); } else { if (cache != null) { cache.Dispose(); } return(SiteHelper.GetJsonFromHashTable(null, "faild", "短信发送失败")); } }
/// <summary> /// 占用车辆超时还车通知 /// </summary> /// <param name="context"></param> public void Execute(IJobExecutionContext context) { try { int minutes_timeout = 60; List <string> saasList = ConfigHelper.GetSaasList(); int i = 0; foreach (string saas in saasList) { if (i == 0) { ICache cache = null; try { MyWorkerRequest.CreateHttpContext(saas, "", ""); OrdersManager om = new OrdersManager(); VehicleManager vm = new VehicleManager(); //DataTable dt = om.GetVehicleReturnOrderList(minutes_timeout); DataTable dt = vm.GetInUseVehicles(); Logger.Debug(string.Format("开始车辆还车通知任务,车辆数:{0},saas:{1}", dt.Rows.Count, saas)); UserInfoManager um = new UserInfoManager(); SmsInfoManager sim = new SmsInfoManager(); cache = CacheFactory.GetCache(); foreach (DataRow dr in dt.Rows) { string vehicleID = dr["ID"].ToString(); string lockState = dr["LockState"].ToString(); string vehicleName = dr["VehicleName"].ToString(); //string userID = dr["UserID"].ToString(); //string orderNum = dr["OrderNum"].ToString(); if (!string.IsNullOrEmpty(vehicleID)) { //Hashtable htVehicle = vm.GetVehicleInfoByID(vehicleID); Hashtable htOrder = om.GetInUseOrder(vehicleID); if (htOrder != null) { string userID = SiteHelper.GetHashTableValueByKey(htOrder, "UserID"); //string lockState = SiteHelper.GetHashTableValueByKey(htVehicle, "LockState"); //string vehicleName = SiteHelper.GetHashTableValueByKey(htVehicle, "VehicleName"); string orderNum = SiteHelper.GetHashTableValueByKey(htOrder, "OrderNum"); string createTimeStr = SiteHelper.GetHashTableValueByKey(htOrder, "CreateTime"); DateTime createTime = DateTime.Parse(createTimeStr); TimeSpan span = DateTime.Now - createTime; if ("lock".Equals(lockState) && span.TotalMinutes > minutes_timeout) { Hashtable htUser = um.GetUserInfoByUserID(userID); if (htUser != null) { string mobile = SiteHelper.GetHashTableValueByKey(htUser, "BindPhone"); string key = "Return_Vehicle_Message_" + mobile + "_" + vehicleID; string code_value = cache.Get <string>(key); if (string.IsNullOrEmpty(code_value)) { bool sendResult = sim.SendReturn(mobile); if (sendResult) { Logger.Warn(string.Format("订单号{0},车辆{1}还车提醒,发送给{2}成功。", orderNum, vehicleName, mobile)); DateTime dtDay = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59); cache.Set(key, 1, dtDay - DateTime.Now); } else { Logger.Error(string.Format("订单号{0},车辆{1}还车提醒,发送给{2}失败。", orderNum, vehicleName, mobile)); } } } } } } } if (cache != null) { cache.Dispose(); } } catch (Exception e) { if (cache != null) { cache.Dispose(); } Logger.Error(string.Format("车辆还车通知任务(ReturnVehicleSendMessage:{0})失败,{1},{2}", saas, e.Message, e.StackTrace)); } i++; } } } catch { Logger.Info("车辆还车通知任务(ReturnVehicleNotify)失败"); } }