Exemplo n.º 1
0
        /// <summary>
        /// 根据用户传递的  省、市、区名称、级别(省1,市2,区3),转换为 国标码
        /// 例如:用户传的是 Name:北京市,Code:1,级别:1,调用该方法返回:Name:北京市,Code:110000,级别:1
        /// 在查询不到的情况下,返回null
        /// wc
        /// </summary>
        /// <param name="from"></param>
        /// <returns></returns>
        public AreaModelTranslate GetNationalAreaInfo(AreaModelTranslate from)
        {
            var redis = new ETS.NoSql.RedisCache.RedisCache();
            //List<AreaModel> list = new List<AreaModel>();
            string key        = ETS.Const.RedissCacheKey.Common_GetNationalAreaInfo;
            var    cacheValue = redis.Get <string>(key);
            List <AreaModelTranslate> cacheAreaModelList = null;

            if (!string.IsNullOrEmpty(cacheValue))
            {
                cacheAreaModelList = JsonHelper.ToObject <List <AreaModelTranslate> >(cacheValue);
            }
            else
            {
                cacheAreaModelList = dao.GetRegionInfo().ToList();
                redis.Add(key, JsonHelper.ToJson(cacheAreaModelList), DateTime.Now.AddDays(1));
            }
            //cacheAreaModelList = CacheFactory.Instance[key] as List<AreaModelTranslate>;
            //if (cacheAreaModelList == null) //为null的时候,取数据库
            //{
            //    cacheAreaModelList = dao.GetRegionInfo().ToList();
            //    redis.Add(key, Letao.Util.JsonHelper.ToJson(cacheAreaModelList));
            //    CacheFactory.Instance.AddObject(key, cacheAreaModelList);
            //}
            AreaModelTranslate areaModel       = new AreaModelTranslate();
            AreaModelTranslate resultAreaModel = new AreaModelTranslate();

            if (from.JiBie == 2)
            {
                if (from.Name.Contains("北京"))
                {
                    from.Name = "北京市";
                }
                if (from.Name.Contains("上海"))
                {
                    from.Name = "上海市";
                }
                if (from.Name.Contains("天津"))
                {
                    from.Name = "天津市";
                }
                if (from.Name.Contains("重庆"))
                {
                    from.Name = "重庆市";
                }
            }
            areaModel = cacheAreaModelList.FirstOrDefault(s => s.Name == from.Name.Trim() && s.JiBie == from.JiBie);

            if (areaModel != null)
            {
                resultAreaModel.NationalCode = areaModel.NationalCode;
                //resultAreaModel.Name = areaModel.Name;
                //resultAreaModel.JiBie = from.JiBie;
            }
            else
            {
                resultAreaModel = null;
            }
            return(resultAreaModel);
        }
        /// <summary>
        /// 根据分组Id删除公共配置缓存
        /// danny-20150506
        /// </summary>
        /// <param name="GroupId"></param>
        private void DeleteGlobalConfigRedisByGroupId(int GroupId)
        {
            var    redis    = new ETS.NoSql.RedisCache.RedisCache();
            string cacheKey = string.Format(RedissCacheKey.Ets_Dao_GlobalConfig_GlobalConfigGet, GroupId); //缓存的KEY

            redis.Delete(cacheKey);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 根据省市区名称获取对应的省市区编码 add by caoheyang 20150407
        /// </summary>
        /// <param name="model">参数实体</param>
        /// <returns></returns>
        public string GetOpenCode(Ets.Model.ParameterModel.Area.ParaAreaNameInfo model)
        {
            var    redis      = new ETS.NoSql.RedisCache.RedisCache();
            string key        = MD5.Encrypt(string.Format("{0}_{1}_{2}", model.ProvinceName, model.CityName, model.AreaName).Replace(" ", ""));
            string cacheValue = redis.Get <string>(key);

            if (string.IsNullOrWhiteSpace(cacheValue))
            {
                DMAreaCodeInfo tempModel = new AreaDao().GetOpenCodeSql(model);
                if (tempModel == null)
                {
                    return(null);
                }
                else if (tempModel.AreaIsOpen == 0 || tempModel.ProvinceIsOpen == 0 || tempModel.CityIsOpen == 0)
                {
                    redis.Set(key, SystemConst.CityOpenInfo, DateTime.Now.AddDays(30));
                }
                else
                {
                    redis.Set(key, string.Format("{0}_{1}_{2}", tempModel.ProvinceCode, tempModel.CityCode, tempModel.AreaCode)
                              , DateTime.Now.AddDays(30));
                }
            }
            return(redis.Get <string>(key));
        }
        /// <summary>
        /// 更新审核状态
        /// danny-20150318
        /// </summary>
        /// <param name="id"></param>
        /// <param name="price"></param>
        /// <returns></returns>
        public bool UpdateAuditStatus(int id, AuditStatus enumStatusType)
        {
            ETS.NoSql.RedisCache.RedisCache redis = new ETS.NoSql.RedisCache.RedisCache();
            string cacheKey = string.Format(RedissCacheKey.ClienterProvider_GetUserStatus, id);

            redis.Delete(cacheKey);
            return(dao.UpdateAuditStatus(id, enumStatusType));
        }
Exemplo n.º 5
0
        public JsonResult LoginOn(LoginModel model, string returnUrl)
        {
            var    redis    = new ETS.NoSql.RedisCache.RedisCache();
            string cachekey = CookieHelper.ReadCookie("Cookie_Verification");

            if (string.IsNullOrEmpty(cachekey))
            {
                return(Json(new ResultModel(false, "验证码不正确")));
            }
            var captcha = redis.Get <string>(cachekey);

            if (captcha == null || model.Captcha != captcha)
            {
                return(Json(new ResultModel(false, "验证码不正确")));
            }
            var loginResult = iAccountProvider.ValidateUser(model.UserName, MD5Helper.MD5(model.Password));

            switch (loginResult)
            {
            case ETS.Enums.UserLoginResults.Successful:
                var authorityProvider = new AuthorityMenuProvider();
                var account           = authorityProvider.GetAccountByName(model.UserName);
                var userInfo          = new SimpleUserInfoModel
                {
                    Id          = account.Id,
                    LoginName   = account.LoginName,
                    GroupId     = account.GroupId,
                    RoleId      = account.RoleId,
                    Password    = model.Password,
                    AccountType = ParseHelper.ToInt(account.AccountType, 1)
                };
                string json = JsonHelper.ToJson(userInfo);
                _authenticationService.SignIn(json);
                //获取用户权限菜单id数组,存入cookie中
                List <int> myMenusR = authorityProvider.GetMenuIdsByRoloId(account.RoleId);
                List <int> myMenus  = authorityProvider.GetMenuIdsByAccountId(account.Id);
                if (myMenusR != null)
                {
                    foreach (var i in myMenusR.Where(i => !myMenus.Contains(i)))
                    {
                        myMenus.Add(i);
                    }
                }
                string menujson = JsonHelper.ToJson(myMenus);
                CookieHelper.WriteCookie("menulist", menujson, DateTime.Now.AddDays(10));
                return(Json(new ResultModel(true, "成功")));

            case ETS.Enums.UserLoginResults.UserNotExist:
                return(Json(new ResultModel(false, "用户不存在")));

            case ETS.Enums.UserLoginResults.AccountClosed:
                return(Json(new ResultModel(false, "用户已经锁定")));

            default:
                return(Json(new ResultModel(false, "密码不正确")));;
            }
        }
Exemplo n.º 6
0
        public ActionResult PostRedisTools()
        {
            string key        = HttpContext.Request.Form["RedisKey"];
            int    searchType = ETS.Util.ParseHelper.ToInt(HttpContext.Request.Form["SearchType"]);
            string searchKey  = searchType == 0 ?  "*" + key + "*":key;
            var    redis      = new ETS.NoSql.RedisCache.RedisCache();

            ViewBag.Keys       = redis.Keys(searchKey);
            ViewBag.searchType = searchType;
            return(View());
        }
Exemplo n.º 7
0
        /// <summary>
        /// 修改开发城市后更新Redis缓存
        /// danny-20150413
        /// </summary>
        /// <param name="version"></param>
        /// <returns></returns>
        public void ResetOpenCityListRedis()
        {
            AreaModelList areaList = new AreaModelList();
            var           redis    = new ETS.NoSql.RedisCache.RedisCache();
            IList <Model.DomainModel.Area.AreaModel> list = dao.GetOpenCitySql();

            areaList.AreaModels = list;
            areaList.Version    = Config.ApiVersion;
            if (list != null)
            {
                redis.Set(RedissCacheKey.Ets_Service_Provider_Common_GetOpenCity_New, JsonHelper.ToJson(areaList));
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// 登录验证码
        /// </summary>
        /// <returns></returns>
        public FileContentResult CaptchaImage()
        {
            var captcha = new LiteralCaptcha(80, 25, 4);
            var bytes   = captcha.Generate();
            //验证码插入Redis缓存
            var    redis    = new ETS.NoSql.RedisCache.RedisCache();
            string cachekey = string.Format(RedissCacheKey.CaptchaImage, ETS.Util.Helper.Uuid());

            redis.Add(cachekey, captcha.Captcha, DateTime.Now.AddHours(10));
            //缓存key放入cookie里存储
            CookieHelper.WriteCookie("Cookie_Verification", cachekey, DateTime.Now.AddMinutes(10));
            return(new FileContentResult(bytes, "image/jpeg"));;
        }
        /// <summary>
        /// 设置全局变量表数据
        /// </summary>
        /// <param name="opName"></param>
        /// <param name="value"></param>
        /// <param name="Remark"></param>
        /// <returns></returns>
        public bool UpdateSubsidies(string opName, string value, string Remark, string keyName, int GroupId, int StrategyId)
        {
            bool result = false;

            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                if (_dao.AddSubsidiesLog(keyName, opName, Remark, GroupId, StrategyId))
                {
                    result = _dao.UpdateSubsidies(value, keyName, GroupId);
                }
                var          redis    = new ETS.NoSql.RedisCache.RedisCache();
                const string cacheKey = RedissCacheKey.Ets_Dao_GlobalConfig_GlobalConfigGet;
                redis.Delete(cacheKey);
                tran.Complete();
            }
            return(result);
        }
Exemplo n.º 10
0
        /// <summary>
        /// 获取全局变量表数据,已加入缓存
        /// 窦海超
        /// 2015年4月2日 13:15:02
        /// </summary>
        public static GlobalConfigModel GlobalConfigGet(int GroupId)
        {
            GlobalConfigModel model = null;

            #region redis判断,如果没有加到redis中
            var    redis    = new ETS.NoSql.RedisCache.RedisCache();
            string cacheKey = string.Format(RedissCacheKey.Ets_Dao_GlobalConfig_GlobalConfigGet, GroupId);//缓存的KEY
            model = redis.Get <GlobalConfigModel>(cacheKey);
            if (CurrentGlobalVersion != ETS.Config.GlobalVersion || model == null)
            {
                CurrentGlobalVersion = ETS.Config.GlobalVersion;
                model = new GlobalConfigDao().GlobalConfigMethod(GroupId);
                redis.Set(cacheKey, model);
            }
            #endregion
            return(model);
        }
Exemplo n.º 11
0
 public JsonResult DeleteRedisTools(string key)
 {
     try
     {
         var redis = new ETS.NoSql.RedisCache.RedisCache();
         redis.Delete(key);
         return(new JsonResult()
         {
             Data = new { status = "success" }
         });
     }
     catch {
         return(new JsonResult()
         {
             Data = new { status = "error" }
         });
     }
 }
Exemplo n.º 12
0
        private int tryCount      = 0;//重试次数
        /// <summary>
        /// 客服电话获取
        /// 窦海超
        /// 2015年3月16日 11:44:54
        /// </summary>
        /// <param name="CityName">城市名称</param>
        /// <returns></returns>
        public ResultModelServicePhone GetCustomerServicePhone(string CityName)
        {
            if (string.IsNullOrEmpty(CityName))
            {
                CityName = "北京市";
            }
            DataTable dt = null;

            if (tryCount > 3)
            {
                //重试次数4次
                return(new ResultModelServicePhone());
            }
            #region 缓存验证
            var          redis     = new ETS.NoSql.RedisCache.RedisCache();
            const string cacheKey  = RedissCacheKey.Ets_Service_Provider_Common_ServicePhone;
            var          cacheList = redis.Get <DataTable>(cacheKey);
            //var cacheList = ETS.Cacheing.CacheFactory.Instance[cacheKey];
            if (cacheList == null)
            {
                dt = sPhoneDao.Query();
                redis.Add(cacheKey, dt, DateTime.Now.AddYears(365));//添加一年的生命周期
                //ETS.Cacheing.CacheFactory.Instance.AddObject(cacheKey, dt, DateTime.Now.AddYears(365));//添加一年的生命周期
            }
            else
            {
                dt = cacheList;
            }
            #endregion

            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow[] rows = dt.Select("CityName='" + CityName + "'");
                if (rows.Length > 0)
                {
                    return(new ResultModelServicePhone()
                    {
                        Phone = rows[0]["Phone"].ToString()
                    });
                }
            }
            tryCount++;//重试次数
            return(GetCustomerServicePhone("北京市"));
        }
        /// <summary>
        /// 设置全局变量表数据佣金方式CommissionFormulaMode
        /// </summary>
        /// <param name="opName"></param>
        /// <param name="value"></param>
        /// <param name="Remark"></param>
        /// <returns></returns>
        public bool UpdateCommissionFormulaMode(string opName, string value, string Remark, int GroupId, int StrategyId)
        {
            bool result = false;

            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                if (_dao.AddSubsidiesLog("CommissionFormulaMode", opName, Remark, GroupId, StrategyId))
                {
                    result = _dao.UpdateCommissionFormulaMode(value, GroupId);
                }
                var          redis    = new ETS.NoSql.RedisCache.RedisCache();
                const string cacheKey = RedissCacheKey.Ets_Dao_GlobalConfig_GlobalConfigGet;
                redis.Delete(cacheKey);
                var model = new GlobalConfigDao().GlobalConfigMethod(GroupId);
                redis.Set(cacheKey, model);
                tran.Complete();
            }
            return(result);
        }
Exemplo n.º 14
0
        /// <summary>
        /// 获取 省市区信息
        /// </summary>
        /// <param name="name">省市区名称</param>
        /// <param name="jiBie">级别</param>
        /// <param name="parentId">父级code</param>
        /// <returns></returns>
        public AreaModel GetAreaModelFromResis(string name, int jiBie, int parentId)
        {
            var redis = new ETS.NoSql.RedisCache.RedisCache();

            return
                ((
                     from p in Newtonsoft.Json.Linq.JObject.Parse(redis.Get <string>(ETS.Const.RedissCacheKey.Ets_Service_Provider_Common_GetOpenCity_New)).GetValue("AreaModels")
                     where
                     p.Value <string>("Name") == name &&
                     p.Value <int>("JiBie") == jiBie &&
                     p.Value <int>("ParentId") == parentId
                     select new Ets.Model.DomainModel.Area.AreaModel()
            {
                Code = p.Value <int>("Code"),
                Name = p.Value <string>("Name"),
                ParentId = p.Value <int>("ParentId"),
                JiBie = p.Value <int>("JiBie"),
            }).FirstOrDefault());
        }
Exemplo n.º 15
0
        /// <summary>
        /// 根据appkey和版本查询配置信息
        /// </summary>
        /// <param name="appkey">appkey</param>
        /// <param name="version">版本号码</param>
        /// <returns></returns>
        public GroupApiConfigModel GetGroupApiConfigByAppKey(string appkey, string version)
        {
            var redis = new ETS.NoSql.RedisCache.RedisCache();
            GroupApiConfigModel model = redis.Get <GroupApiConfigModel>(appkey + version);

            if (model == null)
            {
                GroupApiConfigModel tempmodel = _dao.GetGroupApiConfigByAppKey(appkey, version);
                if (tempmodel == null)
                {
                    return(null);
                }
                else
                {
                    redis.Set(appkey + version, tempmodel);
                    return(redis.Get <GroupApiConfigModel>(appkey + version));
                }
            }
            else
            {
                return(model);
            }
        }
Exemplo n.º 16
0
        /// <summary>
        /// 获取开通城市的省市区
        /// 窦海超
        /// 2015年3月19日 17:09:53
        /// </summary>
        /// <param name="version">当前版本号</param>
        /// <param name="isResultData">是否返回所有数据,因为APP端调用时如果是最新则不需要返回AreaModelList的值</param>
        /// <returns></returns>
        public Model.Common.ResultModel <Model.DomainModel.Area.AreaModelList> GetOpenCity(string version, bool isResultData = true)
        {
            AreaModelList areaList = new AreaModelList();
            var           redis    = new ETS.NoSql.RedisCache.RedisCache();
            string        key      = RedissCacheKey.Ets_Service_Provider_Common_GetOpenCity_New;

            //if (Config.ApiVersion == version)
            //{
            //    //如果配置开通城市版本相同,则返回空数据
            //    return ResultModel<AreaModelList>.Conclude(ETS.Enums.CityStatus.Newest, null);
            //}
            string strAreaList = redis.Get <string>(key);

            if (!string.IsNullOrEmpty(strAreaList))
            {
                areaList = JsonHelper.JsonConvertToObject <AreaModelList>(strAreaList);
            }
            if (areaList.AreaModels == null || areaList.AreaModels.Count <= 0)
            {
                IList <AreaModel> list = dao.GetOpenCitySql();
                areaList            = new AreaModelList();
                areaList.AreaModels = list;
                //areaList.Version = Config.ApiVersion;
                if (list != null)
                {
                    redis.Set(key, JsonHelper.JsonConvertToString(areaList));
                    //redis.Set(key, areaList);
                }
            }
            areaList.Version = Config.ApiVersion;
            if (Config.ApiVersion == version && !isResultData)
            {
                areaList.AreaModels = null;
                return(ResultModel <AreaModelList> .Conclude(ETS.Enums.CityStatus.UnNewest, areaList));
            }
            return(ResultModel <AreaModelList> .Conclude(ETS.Enums.CityStatus.Newest, areaList));
        }