/// <summary> /// 从缓存获取获取实体 /// </summary> /// <param name="id">主键</param> public static BaseUserContactEntity GetObjectByCache(string id) { BaseUserContactEntity result = null; System.Web.Caching.Cache cache = HttpRuntime.Cache; string cacheObject = "UserContact"; if (!string.IsNullOrEmpty(id)) { cacheObject = "UserContact" + id; } if (cache != null && cache[cacheObject] == null) { BaseUserContactManager manager = new DotNet.Business.BaseUserContactManager(BaseUserContactEntity.TableName); result = manager.GetObject(id); // 若是空的不用缓存,继续读取实体 if (result != null) { cache.Add(cacheObject, result, null, DateTime.Now.AddMinutes(10), TimeSpan.Zero, CacheItemPriority.Normal, null); // System.Console.WriteLine(System.DateTime.Now.ToString(BaseSystemInfo.DateTimeFormat) + " cache UserContact " + id); } } result = cache[cacheObject] as BaseUserContactEntity; return(result); }
/// <summary> /// 获取用户表,从缓存读取 /// </summary> public static List <BaseUserContactEntity> GetEntities() { if (HttpContext.Current.Session == null || HttpContext.Current.Cache[BaseUserContactEntity.TableName] == null) { lock (BaseSystemInfo.UserLock) { if (HttpContext.Current.Session == null || HttpContext.Current.Cache[BaseUserContactEntity.TableName] == null) { // 读取目标表中的数据 List <BaseUserContactEntity> entityList = null; BaseUserContactManager manager = new DotNet.Business.BaseUserContactManager(BaseUserContactEntity.TableName); entityList = manager.GetList <BaseUserContactEntity>(); // 这个是没写过期时间的方法 // HttpContext.Current.Cache[tableName] = entityList; // 设置过期时间为8个小时,第2天若有不正常的自动就可以正常了 HttpContext.Current.Cache.Add(BaseUserContactEntity.TableName, entityList, null, DateTime.Now.AddMinutes(10), TimeSpan.Zero, CacheItemPriority.Normal, null); } } } return(HttpContext.Current.Cache[BaseUserContactEntity.TableName] as List <BaseUserContactEntity>); }
/// <summary> /// 更新K8员工后,同步到中天baseuser表 /// 传入dbhelper 方法调用使用事务 避免部分同步成功 /// </summary> /// <param name="entity"></param> /// <param name="userCenterDbHelper"></param> public void AfterUpdateEmployee(TAB_EMPLOYEEEntity entity, IDbHelper userCenterDbHelper) { int count = 0; BaseUserEntity userEntity = new BaseUserEntity(); userEntity.Id = entity.ID.ToString(); userEntity.UserFrom = "PDA"; userEntity.UserPassword = entity.BAR_PASSWORD; userEntity.Code = entity.EMPLOYEE_CODE; userEntity.UserName = entity.EMPLOYEE_NAME; userEntity.RealName = entity.EMPLOYEE_NAME; userEntity.Description = entity.PHONE; userEntity.CompanyName = entity.OWNER_SITE; // 1、更新baseuser中的所属网点 if (string.IsNullOrEmpty(userEntity.CompanyId)) { BaseOrganizeEntity organizeEntity = new BaseOrganizeManager(userCenterDbHelper).GetObjectByName(userEntity.CompanyName); if (organizeEntity != null) { userEntity.CompanyId = organizeEntity.Id.ToString(); } } userEntity.DepartmentName = entity.DEPT_NAME; userEntity.WorkgroupName = entity.GROUP_NAME; userEntity.HomeAddress = entity.ADDRESS; userEntity.IDCard = entity.ID_CARD; // 2、员工操作类型,按签名处理 userEntity.Signature = entity.EMPLOYEE_TYPE; userEntity.SortCode = int.Parse(entity.ID.ToString()); userEntity.ModifiedOn = entity.UPDATETIME; BaseUserManager userManager = new BaseUserManager(userCenterDbHelper, Utilities.UserInfo); // if (!userManager.Exists(userEntity.Id)) count = userManager.UpdateObject(userEntity); if (count == 0) { userManager.AddObject(userEntity); } // 3、如果有电话,同步到baseusercontact中 BaseUserContactEntity userContactEntity = new BaseUserContactEntity(); userContactEntity.Id = entity.ID.ToString(); userContactEntity.Telephone = entity.PHONE; BaseUserContactManager userContactManager = new DotNet.Business.BaseUserContactManager(userCenterDbHelper, Utilities.UserInfo); count = userContactManager.UpdateObject(userContactEntity); if (count == 0) { userContactManager.AddObject(userContactEntity); } // 4、新增员工时,同步baseuser员工的密码 BaseUserLogOnEntity userLogOnEntity = new BaseUserLogOnEntity(); userLogOnEntity.Id = entity.ID.ToString(); userLogOnEntity.UserPassword = entity.BAR_PASSWORD; BaseUserLogOnManager userLogOnManager = new BaseUserLogOnManager(userCenterDbHelper, Utilities.UserInfo); count = userLogOnManager.UpdateObject(userLogOnEntity); if (count == 0) { userLogOnManager.AddObject(userLogOnEntity); } // 5、中转附加费和派件附加费,再确认 BaseUserExpressManager userExpressManager = new BaseUserExpressManager(userCenterDbHelper, Utilities.UserInfo); BaseUserExpressEntity userExpressEntity = new BaseUserExpressEntity(); userExpressEntity.Id = entity.ID; userExpressEntity.DISPATCH_ADD_FEE = entity.DISPATCH__ADD_FEE; userExpressEntity.TRANSFER_ADD_FEE = entity.TRANSFER_ADD_FEE; userExpressEntity.OWNER_RANGE = entity.OWNER_RANGE; count = userExpressManager.UpdateObject(userExpressEntity); if (count == 0) { userExpressManager.Add(userExpressEntity, false); } }