public SubscribeOrderViewModel GetSubscribeOrderDetail(string pCustomerId, string pServiceOrderNo) { var smodel = new SubscribeOrderViewModel(); var glsobll = new GLServiceOrderBLL(_loggingSessionInfo); DataSet ds = glsobll.GetServiceOrderByServiceOrderNo(pCustomerId, pServiceOrderNo); if (ds.Tables[0] != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { DataRow row = ds.Tables[0].Rows[0]; smodel.ServiceOrderNO = row["ServiceOrderID"].ToString(); smodel.ServiceType = int.Parse(row["ServiceType"].ToString()); smodel.ServiceOrderDate = Convert.ToDateTime(row["ServiceDate"].ToString()); smodel.ServiceOrderDateEnd = Convert.ToDateTime(row["ServiceDateEnd"].ToString()); smodel.ServiceAddress = row["ServiceAddress"].ToString(); smodel.CustomerName = row["CustomerName"].ToString(); smodel.CustomerPhone = row["CustomerPhone"] == null ? "" : row["CustomerPhone"].ToString(); smodel.Message = row["CustomerMessage"] == null ? "" : row["CustomerMessage"].ToString(); smodel.Longitude = Convert.ToDecimal(row["Longitude"] == null ? "0.000000" : row["Longitude"].ToString()); smodel.Latitude = Convert.ToDecimal(row["Latitude"] == null ? "0.000000" : row["Latitude"].ToString()); smodel.VipID = row["VipID"] == null ? "" : row["VipID"].ToString(); smodel.Distance = ""; if (row["InstallOrderDate"] != null && !string.IsNullOrEmpty(row["InstallOrderDate"].ToString())) { smodel.InstallOrderDate = Convert.ToDateTime(row["InstallOrderDate"].ToString()); } } //smodel.DeviceList = GetInstallDeviceByServiceOrderNO(pCustomerId, pServiceOrderNo); smodel.DeviceList = GetInstallDeviceByServiceOrderId(pCustomerId, pServiceOrderNo); smodel.InstallCount = smodel.DeviceList.Count; return(smodel); }
public string NotifyRemark(string pRequest) { var rd = new APIResponse <RemarkServicePersonRD>(); var rdData = new RemarkServicePersonRD { IsSuccess = true }; try { var req = pRequest.DeserializeJSONTo <APIRequest <RemarkServicePersonRP> >(); if (req.Parameters == null) { throw new ArgumentException(); } req.Parameters.Validate(); var session = Default.GetBSLoggingSession(req.CustomerID, req.UserID); //var serviceOrder = ServiceOrderManager.Instance.GetServiceOrder(req.Parameters.ServiceOrderNO); //if (!string.IsNullOrEmpty(serviceOrder.VipID)) //{ //VipEntity vipInfo = new VipBLL(session).GetByID(serviceOrder.VipID); //VipEntity vipInfo = new VipBLL(session).GetByID(serviceOrder.VipID); GLServiceOrderBLL glsobll = new GLServiceOrderBLL(session); DataSet ds = glsobll.GetServiceOrderByServiceOrderNo(req.CustomerID, req.Parameters.ServiceOrderNO); if (ds != null && ds.Tables != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { string vipID = ds.Tables[0].Rows[0]["VipID"] == null ? "" : ds.Tables[0].Rows[0]["VipID"].ToString(); VipEntity vipInfo = new VipBLL(session).GetByID(vipID); if (vipInfo == null || vipInfo.VIPID.Equals("")) { throw new APIException("用户不存在") { ErrorCode = 102 } } ; #region 推送师傅联系方式url到用户的微信端。 string message = "评价安装师傅的服务,请点击<a href='" + req.Parameters.RetUrl + "'></a>"; //string code = JIT.CPOS.BS.BLL.WX.CommonBLL.SendWeixinMessage(message, serviceOrder.VipID, session, vipInfo); string code = JIT.CPOS.BS.BLL.WX.CommonBLL.SendWeixinMessage(message, vipID, session, vipInfo); #endregion rd.ResultCode = 0; } else { rdData.IsSuccess = false; rd.Message = "不存在的预约订单号"; rd.ResultCode = 102; } rd.Data = rdData; } catch (Exception ex) { rd.Message = ex.Message; rd.ResultCode = 101; } return(rd.ToJSON()); }
/// <summary> /// 获取师傅的当前任务列表 /// </summary> /// <param name="pCustomerId"></param> /// <param name="pServicePersonId"></param> /// <returns></returns> public List <SubscribeOrderViewModel> GetSubscribeOrderList(string pCustomerId, string pServicePersonId) { var listServiceOrder = new List <SubscribeOrderViewModel>(); var glsobll = new GLServiceOrderBLL(_loggingSessionInfo); DataSet ds = glsobll.GetServiceOrderByServicePersonID(pCustomerId, pServicePersonId); if (ds.Tables[0] != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { listServiceOrder = DataTableToObject.ConvertToList <SubscribeOrderViewModel>(ds.Tables[0]); } foreach (var item in listServiceOrder) { item.DeviceList = GetInstallDeviceByServiceOrderId(pCustomerId, item.ServiceOrderNO); item.InstallCount = item.DeviceList.Count; } return(listServiceOrder); }
/// <summary> /// 保存服务订单号+设备列表 /// </summary> /// <param name="pServiceOrder"></param> /// <param name="pInstallDeviceList"></param> /// <returns></returns> public string SaveSubscribeOrder(GLServiceOrderEntity pServiceOrder, List <InstallDeviceViewModel> pInstallDeviceList) { var glsobll = new GLServiceOrderBLL(_loggingSessionInfo); var glsoe = glsobll.GetGLServiceOrderEntityByOrderID(pServiceOrder.CustomerID, pServiceOrder.ProductOrderID); if (glsoe == null) { glsobll.Create(pServiceOrder); } else { return("0"); } //保存设备 SaveInstallDeviceList(pServiceOrder, pInstallDeviceList); return("1"); }
/// <summary> /// 提交预约订单 /// </summary> /// <param name="pRequest"></param> /// <returns></returns> private string SubmitAppOrder(string pRequest) { var rd = new APIResponse <SubmitAppOrderRD>(); var rdData = new SubmitAppOrderRD(); var rp = pRequest.DeserializeJSONTo <APIRequest <SubmitAppOrderRP> >(); if (rp.Parameters == null) { throw new ArgumentException(); } if (rp.Parameters != null) { rp.Parameters.Validate(); } var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, rp.UserID); #region 提交预约单 //根据订单号获取订单ID GLProductOrderBLL glpobll = new GLProductOrderBLL(loggingSessionInfo); GLProductOrderEntity glpoe = glpobll.GetProductOrderByOrderNo(rp.CustomerID, rp.Parameters.OrderNO); //更新客户VipID //if (glpoe != null && !string.IsNullOrEmpty(rp.Parameters.VipID)) if (glpoe != null && !string.IsNullOrEmpty(rp.UserID)) { glpoe.VipID = rp.UserID; glpoe.CustomerGender = rp.Parameters.Gender; glpoe.CustomerName = rp.Parameters.Surname; glpobll.Update(glpoe); } //插入预约 GLServiceOrderBLL glsobll = new GLServiceOrderBLL(loggingSessionInfo); GLServiceOrderEntity glsoe = glsobll.GetGLServiceOrderEntityByOrderID(rp.CustomerID, glpoe.ProductOrderID); ServiceOrderDataAccess orderManager = new ServiceOrderDataAccess(loggingSessionInfo); if (glsoe == null) { glsoe = new GLServiceOrderEntity(); } //订单ID glsoe.ProductOrderID = glpoe.ProductOrderID; glsoe.ServiceType = rp.Parameters.ServiceType; glsoe.ServiceDate = rp.Parameters.ServiceOrderDate; glsoe.ServiceDateEnd = rp.Parameters.ServiceOrderDateEnd; glsoe.ServiceAddress = rp.Parameters.ServiceAddress; glsoe.CustomerMessage = rp.Parameters.Msg; glsoe.Latitude = Convert.ToDecimal(rp.Parameters.Latitude); glsoe.Longitude = Convert.ToDecimal(rp.Parameters.Longitude); glsoe.CustomerID = rp.CustomerID; if (!string.IsNullOrEmpty(glsoe.ServiceOrderID)) { //删除预约单 glsobll.Update(glsoe); //删除预约单设备 orderManager.DeleteInstallDeviceList(glsoe.CustomerID, glsoe.ServiceOrderID); } else { glsoe.ServiceOrderID = GreeCommon.GetGuid(); glsobll.Create(glsoe); } //插入安装设备 orderManager.SaveInstallDeviceList(glsoe, rp.Parameters.DeviceList); //预约单管理 //SubscribeOrderViewModel order = orderManager.GetSubscribeOrder(rp.CustomerID, rp.Parameters.OrderNO); SubscribeOrderViewModel order = orderManager.GetSubscribeOrderDetail(rp.CustomerID, glsoe.ServiceOrderID); ServiceOrderManager.Instance.AddServiceOrder(order); rdData.ServiceOrderNO = glsoe.ServiceOrderID; #endregion #region 推送信息给服务师傅IOS,Android消息推送 GLServicePersonInfoBLL glspibll = new GLServicePersonInfoBLL(loggingSessionInfo); DataSet dsPerson = glspibll.GetServicePerson(rp.CustomerID, string.Empty); string msg = rp.Parameters.Msg; if (dsPerson != null && dsPerson.Tables != null && dsPerson.Tables[0].Rows.Count > 0) { foreach (DataRow row in dsPerson.Tables[0].Rows) { new PushIOSMessage(loggingSessionInfo).PushMessage(row["ServicePersonID"].ToString(), msg); new PushAndroidMessage(loggingSessionInfo).PushMessage(row["ServicePersonID"].ToString(), msg); } } #endregion rd.Data = rdData; rd.ResultCode = 0; return(rd.ToJSON()); }