/// <summary> /// 获取配送方式列表 /// </summary> private string GetDeliveryList(string pRequest) { var rp = pRequest.DeserializeJSONTo <APIRequest <EmptyRequestParameter> >(); var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; DeliveryBLL dService = new DeliveryBLL(loggingSessionInfo); var deliveryList = dService.GetAll(); List <DeliveryItemData> list = new List <DeliveryItemData>(); foreach (var paymentInfo in deliveryList) { DeliveryItemData info = new DeliveryItemData(); info.deliveryId = paymentInfo.DeliveryId; info.deliveryName = paymentInfo.DeliveryName; info.isAddress = paymentInfo.IsDelete.ToString(); //判断是否启用 if (paymentInfo.DeliveryId == "1") { CustomerDeliveryStrategyBLL deliveryStrategyBLL = new CustomerDeliveryStrategyBLL(loggingSessionInfo); var deliveryStrategy = deliveryStrategyBLL.QueryByEntity( new CustomerDeliveryStrategyEntity { CustomerId = loggingSessionInfo.ClientID, DeliveryId = paymentInfo.DeliveryId }, null ).FirstOrDefault(); if (deliveryStrategy != null) { info.IsOpen = deliveryStrategy.Status == 1 ? true : false; } } else if (paymentInfo.DeliveryId == "2" || paymentInfo.DeliveryId == "4") { //查询提货配置信息 CustomerTakeDeliveryBLL takeDeliveryBLL = new CustomerTakeDeliveryBLL(loggingSessionInfo); var takeDelivery = takeDeliveryBLL.QueryByEntity( new CustomerTakeDeliveryEntity() { DeliveryId = paymentInfo.DeliveryId, CustomerId = loggingSessionInfo.ClientID }, null ).FirstOrDefault(); if (takeDelivery != null) { info.IsOpen = takeDelivery.Status == 1 ? true : false; } } list.Add(info); } var rd = new DeliveryListRD() { DeliveryList = list }; var rsp = new SuccessResponse <IAPIResponseData>(rd); return(rsp.ToJSON()); }
/// <summary> /// 获取配送信息 /// </summary> private string GetDeliveryDetail(string pRequest) { var rp = pRequest.DeserializeJSONTo <APIRequest <DeliveryInfoRp> >(); if (string.IsNullOrWhiteSpace(rp.Parameters.DeliveryId)) { throw new APIException("请求参数中缺少DeliveryId或值为空.") { ErrorCode = 121 }; } var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; //配送信息 DeliveryInfo DeliveryInfo = new DeliveryInfo(); //TO DO 查询配送方式信息 if (rp.Parameters.DeliveryId == "1") //送货到家信息 { //查询商户配送策略表 CustomerDeliveryStrategyBLL deliveryStrategyBLL = new CustomerDeliveryStrategyBLL(loggingSessionInfo); var deliveryStrategy = deliveryStrategyBLL.QueryByEntity( new CustomerDeliveryStrategyEntity { CustomerId = loggingSessionInfo.ClientID, DeliveryId = rp.Parameters.DeliveryId }, null ).FirstOrDefault(); //查询商户基数设置 CustomerBasicSettingBLL basicSettingBLL = new CustomerBasicSettingBLL(loggingSessionInfo); var basicSetting = basicSettingBLL.QueryByEntity( new CustomerBasicSettingEntity { SettingCode = "DeliveryStrategy", CustomerID = loggingSessionInfo.ClientID }, null ).FirstOrDefault(); //组织配送信息 if (deliveryStrategy != null) { DeliveryInfo.DeliveryStrategyId = deliveryStrategy.Id.ToString(); //配送策略id DeliveryInfo.Status = deliveryStrategy.Status; //是否启用 1启用 0停用 DeliveryInfo.DeliveryAmount = deliveryStrategy.DeliveryAmount; //默认配送费用 DeliveryInfo.AmountEnd = deliveryStrategy.AmountEnd; //免配送费最低订单金额 } else { DeliveryInfo.Status = 0; } if (basicSetting != null) { DeliveryInfo.SettingId = basicSetting.SettingID.ToString(); //商户基础设置 DeliveryInfo.Description = basicSetting.SettingValue; //描述 } } else if (rp.Parameters.DeliveryId == "2" || rp.Parameters.DeliveryId == "4") //到点提货信息 { //查询提货配置信息 CustomerTakeDeliveryBLL takeDeliveryBLL = new CustomerTakeDeliveryBLL(loggingSessionInfo); var takeDelivery = takeDeliveryBLL.QueryByEntity( new CustomerTakeDeliveryEntity() { DeliveryId = rp.Parameters.DeliveryId, CustomerId = loggingSessionInfo.ClientID }, null ).FirstOrDefault(); DeliveryInfo.DeliveryAmount = 0; DeliveryInfo.AmountEnd = 0; if (takeDelivery != null) { DeliveryInfo.TakeDeliveryId = takeDelivery.Id.ToString(); DeliveryInfo.StockUpPeriod = takeDelivery.StockUpPeriod; DeliveryInfo.BeginWorkTime = takeDelivery.BeginWorkTime; DeliveryInfo.EndWorkTime = takeDelivery.EndWorkTime; DeliveryInfo.MaxDelivery = takeDelivery.MaxDelivery; DeliveryInfo.Status = takeDelivery.Status; } else { DeliveryInfo.Status = 0; } SysTimeQuantumBLL sysTimeQuantumBll = new SysTimeQuantumBLL(loggingSessionInfo); SysTimeQuantumEntity[] sysTimeQuantumEntityArray = sysTimeQuantumBll.QueryByEntity( new SysTimeQuantumEntity() { DeliveryId = rp.Parameters.DeliveryId, CustomerID = loggingSessionInfo.ClientID }, new OrderBy[] { new OrderBy() { FieldName = "Quantum", Direction = OrderByDirections.Asc } }); DeliveryInfo.QuantumList = new List <QuantumInfo>(); if (sysTimeQuantumEntityArray.Length != 0) { for (int i = 0; i < sysTimeQuantumEntityArray.Length; i++) { QuantumInfo quantum = new QuantumInfo(); quantum.Quantum = sysTimeQuantumEntityArray[i].Quantum; DeliveryInfo.QuantumList.Add(quantum); } } } else { throw new APIException("DeliveryId不存在.") { ErrorCode = 121 }; } var rd = new DeliveryInfoRD { DeliveryInfo = DeliveryInfo }; var rsp = new SuccessResponse <IAPIResponseData>(rd); return(rsp.ToJSON()); }