private VisitCustomer AddVisitCusotmer(VisitLog log) { VisitCustomer info = new VisitCustomer { ConsumeDesire = log.ConsumeDesire, ContactCount = 1, CustomerID = log.CustomerID, CustomerSysNo = log.CustomerSysNo, //EditDate = log.EditDate, //EditUserAcct = log.EditUserAcct, //EditUserSysNo = log.EditUserSysNo, //InDate = log.InDate, //InUserAcct = log.InUserAcct, //InUserSysNo = log.InUserSysNo, IsRMA = false, LastCallResult = log.CallResult, LastCallStatus = log.DealStatus, LastCallTime = DateTime.Now, OrderAmount = 0, OrderCount = 0, }; info = CustomerVisitDA.InsertVisitCustomer(info); return(info); }
public virtual VisitLog AddOrderVisitLog(VisitLog log) { VisitCustomer visitCustomer = CustomerVisitDA.GetVisitCustomerByCustomerSysNo(log.CustomerSysNo.Value); if (visitCustomer == null) { throw new BizException(string.Format(ResouceManager.GetMessageString("Customer.CustomerVisit", "AddOrderVisitLog_Customer_NoSelect"), log.CustomerSysNo)); } if (!(visitCustomer.IsActive.HasValue && visitCustomer.IsActive.Value) || !(visitCustomer.IsRMA.HasValue && visitCustomer.IsRMA.Value)) { throw new BizException(ResouceManager.GetMessageString("Customer.CustomerVisit", "AddOrderVisitLog_Customer_NoActivation")); } if (visitCustomer.LastMaintenanceStatus != null && (visitCustomer.LastMaintenanceStatus == VisitDealStatus.Complete || visitCustomer.LastMaintenanceStatus == VisitDealStatus.Failed)) { throw new BizException(ResouceManager.GetMessageString("Customer.CustomerVisit", "AddOrderVisitLog_Maintenance_Repeat")); } log.VisitSysNo = visitCustomer.SysNo; try { CustomerVisitDA.InsertOrderVisitLog(log); } catch (System.Exception e) { throw new BizException(string.Format(ResouceManager.GetMessageString("Customer.CustomerVisit", "AddOrderVisitLog_Err"), e.Message)); } UpdateVisitCusotmer(visitCustomer, log, true); return(log); }
public virtual VisitCustomer UpdateVisitCustomer(VisitCustomer info) { DataCommand cmd = DataCommandManager.GetDataCommand("Customer_Visit_Update_VisitCustomer"); cmd.SetParameterValue <VisitCustomer>(info); cmd.ExecuteNonQuery(); return(info); }
public virtual VisitCustomer InsertVisitCustomer(VisitCustomer info) { DataCommand cmd = DataCommandManager.GetDataCommand("Customer_Visit_Insert_VisitCustomer"); cmd.SetParameterValue <VisitCustomer>(info); cmd.ExecuteNonQuery(); info.SysNo = Convert.ToInt32(cmd.GetParameterValue("@SysNo")); return(info); }
public virtual VisitCustomer GetVisitCustomerBySysNo(int visitSysNo) { VisitCustomer info = null; DataCommand cmd = DataCommandManager.GetDataCommand("Customer_Visit_Get_VisitCustomerBySysNo"); cmd.SetParameterValue("@SysNo", visitSysNo); using (IDataReader reader = cmd.ExecuteDataReader()) { info = DataMapper.TryGetEntity <VisitCustomer>(reader, out info) ? info : null; } return(info); }
private VisitCustomer UpdateVisitCusotmer(VisitCustomer oldVisitCustomerInfo, VisitLog log, bool isOrderVisitLog) { VisitCustomer info = new VisitCustomer(); info.LastCallStatus = isOrderVisitLog ? oldVisitCustomerInfo.LastCallStatus : log.DealStatus; info.LastMaintenanceStatus = isOrderVisitLog ? log.DealStatus : oldVisitCustomerInfo.LastMaintenanceStatus; info.LastCallResult = log.CallResult; info.ConsumeDesire = log.ConsumeDesire; info.LastCallTime = DateTime.Now; info.ContactCount = oldVisitCustomerInfo.ContactCount.HasValue ? (oldVisitCustomerInfo.ContactCount + 1) : 1; //info.EditDate = DateTime.Now; //info.EditUserSysNo = log.EditUserSysNo; info.SysNo = oldVisitCustomerInfo.SysNo; info.CompanyCode = log.CompanyCode; info = CustomerVisitDA.UpdateVisitCustomer(info); return(info); }
public virtual VisitLog AddCustomerVisitLog(VisitLog log) { if (log != null) { VisitCustomer visitCustomerInfo = CustomerVisitDA.GetVisitCustomerByCustomerSysNo(log.CustomerSysNo.Value); if (visitCustomerInfo == null) { visitCustomerInfo = AddVisitCusotmer(log); } else { if (!visitCustomerInfo.LastCallStatus.HasValue) { UpdateVisitCusotmer(visitCustomerInfo, log, false); } else { int VisitCustomerActiveNeedDays = 180; //if (!int.TryParse(ConfigurationManager.AppSettings["VisitCustomerActiveNeedDays"], out VisitCustomerActiveNeedDays)) //{ // VisitCustomerActiveNeedDays = 180; //} //-1:回访处理失败;1:最近一次回访成功 if (visitCustomerInfo.LastCallStatus.Value == VisitDealStatus.Failed) { throw new BizException(ResouceManager.GetMessageString("Customer.CustomerVisit", "AddCustomerVisitLog_LastCallStatus_Failed")); } else if (visitCustomerInfo.LastCallStatus.Value == VisitDealStatus.Complete) { if (DateTime.Now.Subtract(visitCustomerInfo.LastCallTime.Value).Days < VisitCustomerActiveNeedDays) { throw new BizException(ResouceManager.GetMessageString("Customer.CustomerVisit", "AddCustomerVisitLog_LastCallStatus_Activating")); } } if ((!visitCustomerInfo.LastCallTime.HasValue || DateTime.Now.Subtract(visitCustomerInfo.LastCallTime.Value).Days >= VisitCustomerActiveNeedDays) && (!visitCustomerInfo.LastBuyTime.HasValue || DateTime.Now.Subtract(visitCustomerInfo.LastBuyTime.Value).Days >= VisitCustomerActiveNeedDays)) { //以前回访过,但是最后一次购物时间距离当前时间超过了规定的时间,需要再一次回访 visitCustomerInfo = AddVisitCusotmer(log); } else { UpdateVisitCusotmer(visitCustomerInfo, log, false); } } } log.VisitSysNo = visitCustomerInfo.SysNo; CustomerVisitDA.InsertCustomerVisitLog(log); if (log.DealStatus.Value == VisitDealStatus.Failed) { //如果回访处理失败,则添加到黑名单中且从ToVisitCustomer 表中删除这个用户 CustomerVisitDA.InsertVisitBlackCustomer(log); } } return(log); }
public List <VisitCustomer> GetVisitCustomerData(int empid) { List <VisitCustomer> visitlist = new List <VisitCustomer>(); con.Open(); SqlCommand sql_com = new SqlCommand("Select_Detail_VisitCustomer_EmpID", con); SqlDataAdapter adapter = new SqlDataAdapter(sql_com); try { adapter.SelectCommand = sql_com; adapter.SelectCommand.CommandType = CommandType.StoredProcedure; adapter.SelectCommand.Parameters.AddWithValue("@EmpID", empid); DataTable ds = new DataTable(); adapter.Fill(ds); sql_com.ExecuteNonQuery(); foreach (DataRow item in ds.Rows) { visitCustomer = new VisitCustomer() { ID_VIP = item["ID_VIP"].ToString(), ID_DVIP = item["ID_DVIP"].ToString(), Emp_id = Convert.ToInt32(item["Emp_id"].ToString()), EmpName = item["EmpName"].ToString(), Nickname = item["Nickname"].ToString(), Tel = item["Tel"].ToString(), Team = item["Team"].ToString(), companybranchname = item["companybranchname"].ToString(), ToDate = item["ToDate"].ToString() == string.Empty ? DateTime.MinValue : Convert.ToDateTime(item["ToDate"].ToString()), CusNo = item["CusNo"].ToString(), IDCard = item["IDCard"].ToString(), Name = item["Name"].ToString(), Surname = item["Surname"].ToString(), NickName = item["Nickname1"].ToString(), Tel_Mobile1 = item["Tel_Mobile1"].ToString(), Address = item["Address"].ToString(), Add_Moo = item["Add_Moo"].ToString(), DISTRICT_NAME = item["DISTRICT_NAME"].ToString(), AMPHUR_NAME = item["AMPHUR_NAME"].ToString(), PROVINCE_NAME = item["PROVINCE_NAME"].ToString(), ID_CCV1 = item["ID_CCV1"].ToString(), MCNumber = item["MCNumber"].ToString() == string.Empty ? 0 : Convert.ToInt32(item["MCNumber"].ToString()), ID_SCW = item["ID_SCW"].ToString() == string.Empty ? 0 : Convert.ToInt32(item["ID_SCW"].ToString()), Status_ConfirmWork = item["Status_ConfirmWork"].ToString(), PictureHome = item["PictureHome"].ToString(), StatusFind = item["StatusFind"].ToString() == string.Empty ? 0 : Convert.ToInt32(item["StatusFind"].ToString()), LatitudeIn = item["LatitudeIn"].ToString(), LongitudeIn = item["LongitudeIn"].ToString(), UserType = item["UserType"].ToString() == string.Empty ? 0 : Convert.ToInt32(item["UserType"].ToString()) }; visitlist.Add(visitCustomer); } } catch (Exception) { visitlist = new List <VisitCustomer>(); } finally { con.Close(); } return(visitlist); }