public int Add(CustomerInfo entity) { int id = CommonDataProvider.Instance().AddCustomer(entity); if (id > 0) { RefreshCustomerCache(entity); CustomerMoveRecordInfo minfo = new CustomerMoveRecordInfo() { CustomerID = id, CustomerStatus = entity.CustomerStatus, OwnerID = entity.OwnerID, Owner = entity.Owner, LastUpdateUserID = entity.LastUpdateUserID, LastUpdateUser = entity.LastUpdateUser, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), SystemMsg = entity.SystemRemark }; CustomerMoveRecords.Instance.Add(minfo); } return(id); }
public int Move(CustomerInfo entity) { int result = 0; CustomerMoveRecordInfo minfo = new CustomerMoveRecordInfo() { CustomerID = entity.ID, CustomerStatus = entity.CustomerStatus, CustomerStatusSource = entity.CustomerStatus, OwnerID = entity.OwnerID, Owner = entity.Owner, LastUpdateUserID = entity.LastUpdateUserID, LastUpdateUser = entity.LastUpdateUser, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "线索批量移交" }; CustomerMoveRecords.Instance.Add(minfo); entity.SystemRemark = minfo.SystemMsg; result = CommonDataProvider.Instance().UpdateCustomer(entity); if (result > 0) { RefreshCustomerCache(entity); } return(result); }
public int Add(CustomerInfo entity) { int id = CommonDataProvider.Instance().AddCustomer(entity); if (id > 0) { RefreshCustomerCache(entity); CustomerMoveRecordInfo minfo = new CustomerMoveRecordInfo() { CustomerID = id, CustomerStatus = entity.CustomerStatus, OwnerID = entity.OwnerID, Owner = entity.Owner, LastUpdateUserID = entity.LastUpdateUserID, LastUpdateUser = entity.LastUpdateUser, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), SystemMsg = entity.SystemRemark }; CustomerMoveRecords.Instance.Add(minfo); } return id; }
public void Add(CustomerMoveRecordInfo entity) { int id = CommonDataProvider.Instance().AddCustomerMoveRecord(entity); if (id > 0) { RefreshCustomerMoveRecordCache(entity); } }
public int Update(CustomerInfo entity) { int result = 0; CustomerInfo entityold = GetCustomerByID(entity.ID); if (entity.CustomerStatus != entityold.CustomerStatus || entity.OwnerID != entityold.OwnerID) { CustomerMoveRecordInfo minfo = new CustomerMoveRecordInfo() { CustomerID = entity.ID, CustomerStatus = entity.CustomerStatus, CustomerStatusSource = entityold.CustomerStatus, OwnerID = entity.OwnerID, Owner = entity.Owner, LastUpdateUserID = entity.LastUpdateUserID, LastUpdateUser = entity.LastUpdateUser, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm") }; if (entity.CustomerStatus == (int)CustomerStatus.潜客_战败) { minfo.SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "战败"; } else if (entity.CustomerStatus == (int)CustomerStatus.潜客_转出) { minfo.SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "由" + entityold.CustomerStatusName + "转出"; } else if (entity.CustomerStatus != entityold.CustomerStatus) { minfo.SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "由" + entityold.CustomerStatusName + "转入"; } else if (entity.OwnerID != entityold.OwnerID) { minfo.SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "变更线索所有人"; } CustomerMoveRecords.Instance.Add(minfo); if (entity.CustomerStatus != (int)CustomerStatus.潜客_战败 && entity.CustomerStatus != (int)CustomerStatus.潜客_转出) { entity.SystemRemark = minfo.SystemMsg; } if (entity.OwnerID != entityold.OwnerID) { AdminInfo owner = Admins.Instance.GetAdmin(entity.OwnerID); entity.OwnerPowerGroupID = owner.PowerGroupID; } } result = CommonDataProvider.Instance().UpdateCustomer(entity); if (result > 0) { RefreshCustomerCache(entity); } return(result); }
/// <summary> /// 更新客户线索流转记录缓存 /// </summary> /// <param name="entity"></param> public void RefreshCustomerMoveRecordCache(CustomerMoveRecordInfo entity) { string key = GlobalKey.CUSTOMERMOVERECORD_LIST + "_c" + entity.CustomerID; List<CustomerMoveRecordInfo> list = MangaCache.Get(key) as List<CustomerMoveRecordInfo>; entity = GetCustomerMoveRecordByID(entity.ID); if (list != null && list.Exists(c => c.ID == entity.ID)) { list[list.FindIndex(c => c.ID == entity.ID)] = entity; } else if (list == null) { GetListByCustomerID(entity.CustomerID,true); } else list.Add(entity); }
public static CustomerMoveRecordInfo PopulateCustomerMoveRecordInfo(IDataReader reader) { CustomerMoveRecordInfo entity = new CustomerMoveRecordInfo() { ID = (int)reader["ID"], CustomerID = (int)reader["CustomerID"], CustomerStatus = (int)reader["CustomerStatus"], CustomerStatusSource = (int)reader["CustomerStatusSource"], OwnerID = (int)reader["OwnerID"], Owner = reader["Owner"] as string, LastUpdateUserID = (int)reader["LastUpdateUserID"], LastUpdateUser = reader["LastUpdateUser"] as string, CreateTime = reader["CreateTime"] as string, SystemMsg = reader["SystemMsg"] as string }; return(entity); }
/// <summary> /// 更新客户线索流转记录缓存 /// </summary> /// <param name="entity"></param> public void RefreshCustomerMoveRecordCache(CustomerMoveRecordInfo entity) { string key = GlobalKey.CUSTOMERMOVERECORD_LIST + "_c" + entity.CustomerID; List <CustomerMoveRecordInfo> list = MangaCache.Get(key) as List <CustomerMoveRecordInfo>; entity = GetCustomerMoveRecordByID(entity.ID); if (list != null && list.Exists(c => c.ID == entity.ID)) { list[list.FindIndex(c => c.ID == entity.ID)] = entity; } else if (list == null) { GetListByCustomerID(entity.CustomerID, true); } else { list.Add(entity); } }
/// <summary> /// 每天凌晨2点5分开始执行 /// </summary> public void CustomerForcedout() { if (DateTime.Now.Hour == 2 && DateTime.Now.Minute == 5) { if (!hasruncustomerforcedout) { hasruncustomerforcedout = true; try { EventLogs.JobLog("开始作业-线索强制转出"); List <CorporationInfo> list = Corporations.Instance.GetList(true); foreach (CorporationInfo corpinfo in list) { List <CustomerInfo> listForced = new List <CustomerInfo>(); List <CustomerInfo> clist = GetCustomerListByCorporation(corpinfo.ID, true); if (corpinfo.Forcedoffday > 0) { string[] offcustomerlevel = corpinfo.Offcustomerlevel.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); listForced.AddRange(clist.FindAll(l => l.CustomerStatus == (int)CustomerStatus.清洗_邀约 && DateTime.Today.Subtract(DataConvert.SafeDate(l.PostTime)).TotalDays >= (corpinfo.Forcedoffday - 1) && !offcustomerlevel.Contains(l.LastCustomerLevelID.ToString()))); } if (corpinfo.Forcedoutday > 0) { string[] forcedoutdaylevel = corpinfo.Forcedoutdaylevel.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); listForced.AddRange(clist.FindAll(l => l.CustomerStatus == (int)CustomerStatus.追踪_促成 && DateTime.Today.Subtract(DataConvert.SafeDate(l.PostTime)).TotalDays >= (corpinfo.Forcedoutday - 1) && !forcedoutdaylevel.Contains(l.LastCustomerLevelID.ToString()))); } foreach (CustomerInfo entity in listForced) { entity.CustomerStatusSource = entity.CustomerStatus; entity.CustomerStatus = (int)CustomerStatus.潜客_转出; entity.LurkStatus = 1; CustomerMoveRecordInfo minfo = new CustomerMoveRecordInfo() { CustomerID = entity.ID, CustomerStatus = entity.CustomerStatus, CustomerStatusSource = entity.CustomerStatus, OwnerID = entity.OwnerID, Owner = entity.Owner, LastUpdateUserID = entity.LastUpdateUserID, LastUpdateUser = entity.LastUpdateUser, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "线索强制转出" }; CustomerMoveRecords.Instance.Add(minfo); entity.SystemRemark = minfo.SystemMsg; CommonDataProvider.Instance().UpdateCustomer(entity); } if (listForced.Count > 0) { ReloadCustomerListByCorporationCache(corpinfo.ID); } } EventLogs.JobLog("完成作业-线索强制转出"); } catch (Exception ex) { EventLogs.JobError("作业发生错误-线索强制转出", EventLogs.EVENTID_JOB_ERROR, 0, ex); ExpLog.Write(ex); } } } else { hasruncustomerforcedout = false; } }
public static CustomerMoveRecordInfo PopulateCustomerMoveRecordInfo(IDataReader reader) { CustomerMoveRecordInfo entity = new CustomerMoveRecordInfo() { ID = (int)reader["ID"], CustomerID = (int)reader["CustomerID"], CustomerStatus = (int)reader["CustomerStatus"], CustomerStatusSource = (int)reader["CustomerStatusSource"], OwnerID = (int)reader["OwnerID"], Owner = reader["Owner"] as string, LastUpdateUserID = (int)reader["LastUpdateUserID"], LastUpdateUser = reader["LastUpdateUser"] as string, CreateTime = reader["CreateTime"] as string, SystemMsg = reader["SystemMsg"] as string }; return entity; }
public abstract int AddCustomerMoveRecord(CustomerMoveRecordInfo entity);
public override int AddCustomerMoveRecord(CustomerMoveRecordInfo entity) { string sql = @" INSERT INTO ComOpp_CustomerMoveRecord( [CustomerID],[CustomerStatus],[CustomerStatusSource],[OwnerID],[Owner],[LastUpdateUserID],[LastUpdateUser],[CreateTime],[SystemMsg] )VALUES( @CustomerID,@CustomerStatus,@CustomerStatusSource,@OwnerID,@Owner,@LastUpdateUserID,@LastUpdateUser,@CreateTime,@SystemMsg ); SELECT @@IDENTITY; "; SqlParameter[] p = { new SqlParameter("@CustomerID",entity.CustomerID), new SqlParameter("@CustomerStatus",entity.CustomerStatus), new SqlParameter("@CustomerStatusSource",entity.CustomerStatusSource), new SqlParameter("@OwnerID",entity.OwnerID), new SqlParameter("@Owner",entity.Owner), new SqlParameter("@LastUpdateUserID",entity.LastUpdateUserID), new SqlParameter("@LastUpdateUser",entity.LastUpdateUser), new SqlParameter("@CreateTime",entity.CreateTime), new SqlParameter("@SystemMsg",entity.SystemMsg) }; entity.ID = DataConvert.SafeInt(SqlHelper.ExecuteScalar(_con, CommandType.Text, sql, p)); return entity.ID; }
public int Update(CustomerInfo entity) { int result = 0; CustomerInfo entityold = GetCustomerByID(entity.ID); if (entity.CustomerStatus != entityold.CustomerStatus || entity.OwnerID != entityold.OwnerID) { CustomerMoveRecordInfo minfo = new CustomerMoveRecordInfo() { CustomerID = entity.ID, CustomerStatus = entity.CustomerStatus, CustomerStatusSource = entityold.CustomerStatus, OwnerID = entity.OwnerID, Owner = entity.Owner, LastUpdateUserID = entity.LastUpdateUserID, LastUpdateUser = entity.LastUpdateUser, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm") }; if (entity.CustomerStatus == (int)CustomerStatus.潜客_战败) minfo.SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "战败"; else if (entity.CustomerStatus == (int)CustomerStatus.潜客_转出) minfo.SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "由" + entityold.CustomerStatusName + "转出"; else if (entity.CustomerStatus != entityold.CustomerStatus) minfo.SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "由" + entityold.CustomerStatusName + "转入"; else if (entity.OwnerID != entityold.OwnerID) minfo.SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "变更线索所有人"; CustomerMoveRecords.Instance.Add(minfo); if (entity.CustomerStatus != (int)CustomerStatus.潜客_战败 && entity.CustomerStatus != (int)CustomerStatus.潜客_转出) entity.SystemRemark = minfo.SystemMsg; if (entity.OwnerID != entityold.OwnerID) { AdminInfo owner = Admins.Instance.GetAdmin(entity.OwnerID); entity.OwnerPowerGroupID = owner.PowerGroupID; } } result = CommonDataProvider.Instance().UpdateCustomer(entity); if (result > 0) { RefreshCustomerCache(entity); } return result; }
public int Move(CustomerInfo entity) { int result = 0; CustomerMoveRecordInfo minfo = new CustomerMoveRecordInfo() { CustomerID = entity.ID, CustomerStatus = entity.CustomerStatus, CustomerStatusSource = entity.CustomerStatus, OwnerID = entity.OwnerID, Owner = entity.Owner, LastUpdateUserID = entity.LastUpdateUserID, LastUpdateUser = entity.LastUpdateUser, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "线索批量移交" }; CustomerMoveRecords.Instance.Add(minfo); entity.SystemRemark = minfo.SystemMsg; result = CommonDataProvider.Instance().UpdateCustomer(entity); if (result > 0) { RefreshCustomerCache(entity); } return result; }
/// <summary> /// 每天凌晨2点5分开始执行 /// </summary> public void CustomerForcedout() { if (DateTime.Now.Hour == 2 && DateTime.Now.Minute == 5) { if (!hasruncustomerforcedout) { hasruncustomerforcedout = true; try { EventLogs.JobLog("开始作业-线索强制转出"); List<CorporationInfo> list = Corporations.Instance.GetList(true); foreach (CorporationInfo corpinfo in list) { List<CustomerInfo> listForced = new List<CustomerInfo>(); List<CustomerInfo> clist = GetCustomerListByCorporation(corpinfo.ID, true); if (corpinfo.Forcedoffday > 0) { string[] offcustomerlevel = corpinfo.Offcustomerlevel.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); listForced.AddRange(clist.FindAll(l => l.CustomerStatus == (int)CustomerStatus.清洗_邀约 && DateTime.Today.Subtract(DataConvert.SafeDate(l.PostTime)).TotalDays >= (corpinfo.Forcedoffday - 1) && !offcustomerlevel.Contains(l.LastCustomerLevelID.ToString()))); } if (corpinfo.Forcedoutday > 0) { string[] forcedoutdaylevel = corpinfo.Forcedoutdaylevel.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); listForced.AddRange(clist.FindAll(l => l.CustomerStatus == (int)CustomerStatus.追踪_促成 && DateTime.Today.Subtract(DataConvert.SafeDate(l.PostTime)).TotalDays >= (corpinfo.Forcedoutday - 1) && !forcedoutdaylevel.Contains(l.LastCustomerLevelID.ToString()))); } foreach (CustomerInfo entity in listForced) { entity.CustomerStatusSource = entity.CustomerStatus; entity.CustomerStatus = (int)CustomerStatus.潜客_转出; entity.LurkStatus = 1; CustomerMoveRecordInfo minfo = new CustomerMoveRecordInfo() { CustomerID = entity.ID, CustomerStatus = entity.CustomerStatus, CustomerStatusSource = entity.CustomerStatus, OwnerID = entity.OwnerID, Owner = entity.Owner, LastUpdateUserID = entity.LastUpdateUserID, LastUpdateUser = entity.LastUpdateUser, CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), SystemMsg = DateTime.Today.ToString("yyyy年MM月dd日") + "线索强制转出" }; CustomerMoveRecords.Instance.Add(minfo); entity.SystemRemark = minfo.SystemMsg; CommonDataProvider.Instance().UpdateCustomer(entity); } if (listForced.Count > 0) ReloadCustomerListByCorporationCache(corpinfo.ID); } EventLogs.JobLog("完成作业-线索强制转出"); } catch (Exception ex) { EventLogs.JobError("作业发生错误-线索强制转出", EventLogs.EVENTID_JOB_ERROR, 0, ex); ExpLog.Write(ex); } } } else hasruncustomerforcedout = false; }