Example #1
0
        /// <summary>
        /// 获取客户信息
        /// </summary>
        /// <returns></returns>
        public string GetCustomerList()
        {
            RequestCustomerBasicrInfo basicInfo = new RequestCustomerBasicrInfo();
            ResponseData res = new ResponseData();

            basicInfo.loadInfo = GetCustomerLoadInfo();
            try
            {
                //客户信息
                var     customerBasicSettingBLL = new CustomerBasicSettingBLL(this.CurrentUserInfo);
                DataSet ds = customerBasicSettingBLL.GetCustomerBasicSettingByKey(this.CurrentUserInfo.ClientID);
                List <CustomerBasicCodeInfo> list = new List <CustomerBasicCodeInfo>();
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow item in ds.Tables[0].Rows)
                    {
                        CustomerBasicCodeInfo codeinfo = new CustomerBasicCodeInfo();

                        codeinfo.SettingCode  = item["SettingCode"].ToString();
                        codeinfo.SettingValue = item["SettingValue"].ToString();
                        list.Add(codeinfo);
                    }
                }
                #region 获取配送策略
                var deliveryStrategyBll = new CustomerDeliveryStrategyBLL(this.CurrentUserInfo);
                //查询是否已设置
                var deliverStrategayList = deliveryStrategyBll.Query(new IWhereCondition[] {
                    new EqualsCondition()
                    {
                        FieldName = "CustomerID", Value = this.CurrentUserInfo.ClientID
                    }
                }, null);

                if (deliverStrategayList.Count() > 0)//已设置执行修改
                {
                    CustomerBasicCodeInfo codeinfo = new CustomerBasicCodeInfo()
                    {
                        SettingCode  = "AmountEnd", //满多少免配送费
                        SettingValue = deliverStrategayList[0].AmountEnd.ToString()
                    };
                    CustomerBasicCodeInfo codeinfo1 = new CustomerBasicCodeInfo()
                    {
                        SettingCode  = "DeliveryAmount", //配送费
                        SettingValue = deliverStrategayList[0].DeliveryAmount.ToString()
                    };
                    list.Add(codeinfo);
                    list.Add(codeinfo1);
                }
                #endregion
                basicInfo.requset = list;
                res.success       = true;
                basicInfo.resdata = res;
                return(string.Format("{{\"data\":{0}}}", basicInfo.ToJSON()));
            }
            catch (Exception)
            {
                //basicInfo.resdata.msg = "加载失败";
                //basicInfo.resdata.success = false;

                throw;
            }



            return("");
        }
Example #2
0
        /// <summary>
        /// 保存客户信息
        /// </summary>
        /// <param name="rParams"></param>
        /// <returns></returns>
        public string SaveustomerBasicrInfo(NameValueCollection rParams)
        {
            SttingCode   entity  = Request("form").DeserializeJSONTo <SttingCode>();
            SttingCode   entity1 = Request("form1").DeserializeJSONTo <SttingCode>();
            SttingCode   entity2 = Request("form2").DeserializeJSONTo <SttingCode>();
            SttingCode   entity3 = Request("form3").DeserializeJSONTo <SttingCode>();
            SttingCode   entity4 = Request("form4").DeserializeJSONTo <SttingCode>();
            var          customerBasicSettingBLL = new CustomerBasicSettingBLL(this.CurrentUserInfo);
            ResponseData res = new ResponseData();
            List <CustomerBasicSettingEntity> list = new List <CustomerBasicSettingEntity>();

            #region
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "WebLogo",
                SettingValue = rParams["imageurl"].ToString()
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "CustomerType",
                SettingValue = entity.customerType
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "AboutUs",
                SettingValue = ImageHandler(Request("aboutUs"))
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "BrandStory",
                SettingValue = ImageHandler(Request("brandStory"))
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "BrandRelated",
                SettingValue = ImageHandler(Request("brandRelated"))
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "IntegralAmountPer",
                SettingValue = entity.IntegralAmountPer
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "SMSSign",
                SettingValue = entity.SMSSign
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "ForwardingMessageLogo",
                SettingValue = rParams["forwardingMessageLogourl"].ToString()
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "ForwardingMessageTitle",
                SettingValue = entity.ForwardingMessageTitle
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "ForwardingMessageSummary",
                SettingValue = entity.ForwardingMessageSummary
            });

            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "WhatCommonPoints",
                SettingValue = ImageHandler(Request("whatCommonPoints"))
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "GetPoints",
                SettingValue = ImageHandler(Request("getPoints"))
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "SetSalesPoints",
                SettingValue = ImageHandler(Request("setSalesPoints"))
            });

            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "VipCardLogo",
                SettingValue = rParams["imagecfurl"].ToString()
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "CustomerMobile",
                SettingValue = entity1.CustomerMobile
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "MemberBenefits",
                SettingValue = ImageHandler(Request("memberBenefits"))
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "RangeAccessoriesStores",
                SettingValue = entity2.RangeAccessoriesStores
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "IsSearchAccessoriesStores",
                SettingValue = entity2.IsSearchAccessoriesStores
            });
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "IsAllAccessoriesStores",
                SettingValue = entity2.IsAllAccessoriesStores
            });
            if (true)
            {
            }
            if (IsAld() == "1")
            {
                list.Add(new CustomerBasicSettingEntity()
                {
                    SettingCode  = "AppLogo",
                    SettingValue = rParams["appLogo"]
                });
                list.Add(new CustomerBasicSettingEntity()
                {
                    SettingCode  = "AppTopBackground",
                    SettingValue = rParams["appTopBackground"]
                });
            }
            list.Add(new CustomerBasicSettingEntity()
            {
                SettingCode  = "DeliveryStrategy",
                SettingValue = entity3.DeliveryStrategy
            });

            //微信分享页面
            if (!string.IsNullOrWhiteSpace(entity4.ShareWeixinPage))
            {
                list.Add(new CustomerBasicSettingEntity()
                {
                    SettingCode  = "ShareWeixinPage",
                    SettingValue = entity4.ShareWeixinPage
                });
            }

            #endregion
            int i = customerBasicSettingBLL.SaveCustomerBasicInfo(this.CurrentUserInfo.ClientID, list);
            #region 配送费保存

            decimal AmountEnd      = 0;
            decimal DeliveryAmount = 0;

            decimal.TryParse(entity3.AmountEnd, out AmountEnd);
            decimal.TryParse(entity3.DeliveryAmount, out DeliveryAmount);

            if (AmountEnd != 0 && DeliveryAmount != 0)
            // 如果页面有配送费才做保存
            {
                var deliveryStrategyBll = new CustomerDeliveryStrategyBLL(this.CurrentUserInfo);
                //查询是否已设置
                var deliverStrategayList = deliveryStrategyBll.Query(new IWhereCondition[] {
                    new EqualsCondition()
                    {
                        FieldName = "CustomerID", Value = this.CurrentUserInfo.ClientID
                    }
                }, null);

                if (deliverStrategayList.Count() > 0)//已设置执行修改
                {
                    deliverStrategayList[0].AmountEnd      = AmountEnd;
                    deliverStrategayList[0].DeliveryAmount = DeliveryAmount;
                    deliveryStrategyBll.Update(deliverStrategayList[0]);
                }
                else//未设置执行创建
                {
                    CustomerDeliveryStrategyEntity deliveryStrategyEntity = new CustomerDeliveryStrategyEntity()
                    {
                        AmountBegin    = 0,
                        AmountEnd      = AmountEnd,
                        CustomerId     = this.CurrentUserInfo.ClientID,
                        DeliveryAmount = DeliveryAmount,
                        Status         = 1,
                        DeliveryId     = "1"
                    };
                    deliveryStrategyBll.Create(deliveryStrategyEntity);
                }
            }

            #endregion
            if (i > 0)
            {
                res.msg     = "操作成功";
                res.success = true;
            }
            return(string.Format("{{\"ResponseData\":{0}}}", res.ToJSON()));
        }
        /// <summary>
        /// 保存配送信息
        /// </summary>
        private string SaveDelivery(string pRequest)
        {
            var rp = pRequest.DeserializeJSONTo <APIRequest <DeliveryInfoRp> >();
            var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo;

            if (string.IsNullOrWhiteSpace(rp.Parameters.DeliveryId) ||
                (rp.Parameters.DeliveryId != "1" && rp.Parameters.DeliveryId != "2" && rp.Parameters.DeliveryId != "4"))
            {
                throw new APIException("请求参数中缺少DeliveryId或值为空.")
                      {
                          ErrorCode = 121
                      };
            }

            if (loggingSessionInfo == null)
            {
                throw new APIException("请重新登录")
                      {
                          ErrorCode = 122
                      };
            }

            if (rp.Parameters.DeliveryId == "1")
            //保存送货到家信息
            {
                CustomerDeliveryStrategyBLL deliveryStrategyBLL = new CustomerDeliveryStrategyBLL(loggingSessionInfo);
                CustomerBasicSettingBLL     basicSettingBLL     = new CustomerBasicSettingBLL(loggingSessionInfo);

                //if (rp.Parameters.AmountEnd<=0)
                //{
                //    throw new APIException("请求参数中AmountEnd值为空,或者不正确") { ErrorCode = 123 };
                //}
                //if (rp.Parameters.DeliveryAmount<=0)
                //{
                //    throw new APIException("请求参数中DeliveryAmount值为空,或者不正确") { ErrorCode = 124 };
                //}
                if (rp.Parameters.Status != 0 && rp.Parameters.Status != 1)
                {
                    throw new APIException("请求参数中Status值为空,或者不正确")
                          {
                              ErrorCode = 125
                          };
                }
                if (string.IsNullOrWhiteSpace(rp.Parameters.Description))
                {
                    throw new APIException("请求参数中Description值为空,或者不正确")
                          {
                              ErrorCode = 126
                          };
                }

                //要保存的送货到家信息
                CustomerDeliveryStrategyEntity DeliveryStrategyEntity = new CustomerDeliveryStrategyEntity()
                {
                    CustomerId     = loggingSessionInfo.ClientID,
                    AmountBegin    = 0m,
                    AmountEnd      = rp.Parameters.AmountEnd,
                    DeliveryAmount = rp.Parameters.DeliveryAmount,
                    Status         = rp.Parameters.Status,
                    DeliveryId     = "1"
                };

                if (!string.IsNullOrWhiteSpace(rp.Parameters.DeliveryStrategyId))
                {
                    DeliveryStrategyEntity.Id = new Guid(rp.Parameters.DeliveryStrategyId);
                }

                //要保存的基数设置(描述)信息
                CustomerBasicSettingEntity BasicSettingEntity = new CustomerBasicSettingEntity()
                {
                    CustomerID   = loggingSessionInfo.ClientID,
                    SettingCode  = "DeliveryStrategy",
                    SettingValue = rp.Parameters.Description
                };

                if (!string.IsNullOrWhiteSpace(rp.Parameters.SettingId))
                {
                    BasicSettingEntity.SettingID = new Guid(rp.Parameters.SettingId);
                }

                deliveryStrategyBLL.SaveDeliveryStrategyAndBasicSetting(DeliveryStrategyEntity, BasicSettingEntity, loggingSessionInfo, rp.Parameters.DeliveryId);
            }

            if (rp.Parameters.DeliveryId == "2" || rp.Parameters.DeliveryId == "4")
            //保存到店提货信息
            {
                //if (rp.Parameters.StockUpPeriod<=0)
                //{
                //    throw new APIException("请求参数中StockUpPeriod值为空,或者不正确") { ErrorCode = 127 };
                //}

                //if (rp.Parameters.BeginWorkTime==null)
                //{
                //     throw new APIException("请求参数中BeginWorkTime值为空,或者不正确") { ErrorCode = 127 };
                //}

                //if (rp.Parameters.EndWorkTime==null)
                //{
                //    throw new APIException("请求参数中EndWorkTime值为空,或者不正确") { ErrorCode = 127 };
                //}

                //if (rp.Parameters.MaxDelivery <= 0)
                //{
                //    throw new APIException("请求参数中MaxDelivery值为空,或者不正确") { ErrorCode = 127 };
                //}

                //if (rp.Parameters.Status!=1&&rp.Parameters.Status!=0)
                //{
                //    throw new APIException("请求参数中Status值为空,或者不正确") { ErrorCode = 127 };
                //}

                CustomerTakeDeliveryEntity takeDeliveryEntity = new CustomerTakeDeliveryEntity()
                {
                    CustomerId    = loggingSessionInfo.ClientID,
                    StockUpPeriod = rp.Parameters.StockUpPeriod,
                    BeginWorkTime = rp.Parameters.BeginWorkTime,
                    EndWorkTime   = rp.Parameters.EndWorkTime,
                    MaxDelivery   = rp.Parameters.MaxDelivery,
                    Status        = rp.Parameters.Status,
                    DeliveryId    = rp.Parameters.DeliveryId
                };

                #region 配送时间段

                SysTimeQuantumBLL      sysTimeQuantumBll         = new SysTimeQuantumBLL(loggingSessionInfo);
                SysTimeQuantumEntity[] sysTimeQuantumEntityArray = sysTimeQuantumBll.QueryByEntity(new SysTimeQuantumEntity()
                {
                    CustomerID = loggingSessionInfo.ClientID
                }, null);

                if (rp.Parameters.QuantumList.Count != 0)
                {
                    for (int i = 0; i < sysTimeQuantumEntityArray.Length; i++)
                    {
                        if (i < rp.Parameters.QuantumList.Count)
                        {
                            sysTimeQuantumEntityArray[i].Quantum = rp.Parameters.QuantumList[i].Quantum;
                            sysTimeQuantumBll.Update(sysTimeQuantumEntityArray[i]);
                        }
                        else
                        {
                            sysTimeQuantumBll.Delete(sysTimeQuantumEntityArray[i]);
                        }
                    }
                    if (sysTimeQuantumEntityArray.Length < rp.Parameters.QuantumList.Count)
                    {
                        for (int i = sysTimeQuantumEntityArray.Length; i < rp.Parameters.QuantumList.Count; i++)
                        {
                            SysTimeQuantumEntity sysTimeQuantumEntity = new SysTimeQuantumEntity()
                            {
                                QuantumID  = Guid.NewGuid().ToString(),
                                Quantum    = rp.Parameters.QuantumList[i].Quantum,
                                Type       = 10,
                                CustomerID = loggingSessionInfo.ClientID,
                                DeliveryId = rp.Parameters.DeliveryId
                            };
                            sysTimeQuantumBll.Create(sysTimeQuantumEntity);
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < sysTimeQuantumEntityArray.Length; i++)
                    {
                        sysTimeQuantumBll.Delete(sysTimeQuantumEntityArray[i]);
                    }
                }
                #endregion

                if (!string.IsNullOrWhiteSpace(rp.Parameters.TakeDeliveryId))
                {
                    takeDeliveryEntity.Id = new Guid(rp.Parameters.TakeDeliveryId);
                }

                //查询提货配置信息
                CustomerTakeDeliveryBLL takeDeliveryBLL = new CustomerTakeDeliveryBLL(loggingSessionInfo);
                takeDeliveryBLL.SaveCustomerTakeDelivery(takeDeliveryEntity, loggingSessionInfo, rp.Parameters.DeliveryId);
            }

            var rsp = new SuccessResponse <IAPIResponseData>(new EmptyResponseData());
            return(rsp.ToJSON());
        }
        /// <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());
        }