/// <summary>
        /// 获取全部区域列表数据
        /// </summary>
        /// <returns></returns>
        public static MResult <List <ItemRegion>[]> GetAllRegionList()
        {
            var result = new MResult <List <ItemRegion>[]>();

            try
            {
                var provinceList = new List <ItemRegion>();
                var cityList     = new List <ItemRegion>();
                var countyList   = new List <ItemRegion>();

                var basedata = DALFactory.BaseData();
                var list     = basedata.GetAllRegionList(0);

                #region 处理地区数据 转换
                list.ForEach(item =>
                {
                    try
                    {
                        var regionType = string.Empty;
                        switch (item.intRegionType)
                        {
                        case 1:
                            regionType = "国家";
                            break;

                        case 2:
                            regionType = "省/直辖市";
                            provinceList.Add(new ItemRegion()
                            {
                                id   = item.intRegionID,
                                name = item.vchRegionName,
                                zip  = item.vchPostCode,
                                code = item.vchShortSpell,
                                pid  = item.intFRegionID,
                                type = regionType
                            });
                            break;

                        case 3:
                            regionType = "地区";
                            cityList.Add(new ItemRegion()
                            {
                                id   = item.intRegionID,
                                name = item.vchRegionName,
                                zip  = item.vchPostCode,
                                code = item.vchShortSpell,
                                pid  = item.intFRegionID,
                                type = regionType
                            });
                            break;

                        case 4:
                            regionType = "区县";
                            countyList.Add(new ItemRegion()
                            {
                                id   = item.intRegionID,
                                name = item.vchRegionName,
                                zip  = item.vchPostCode,
                                code = item.vchShortSpell,
                                pid  = item.intFRegionID,
                                type = regionType
                            });
                            break;

                        default:
                            regionType = item.intRegionType + "";
                            break;
                        }
                    }
                    catch
                    {
                    }
                });
                #endregion

                result.info = new[]
                {
                    provinceList,
                    cityList,
                    countyList
                };

                result.status = MResultStatus.Success;
                return(result);
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "获取区域列表数据异常";
            }
            return(result);
        }
Example #2
0
        /// <summary>
        /// 获取订单信息
        /// </summary>
        /// <param name="sid"></param>
        /// <param name="uid"></param>
        /// <param name="userId"></param>
        /// <param name="orderCode"></param>
        /// <returns></returns>
        public static MResult <ItemOrderDetails> GetOrderinfo(int sid, string uid, int userId, string orderCode)
        {
            var result = new MResult <ItemOrderDetails>();

            try
            {
                #region 参数判断
                if (userId <= 0)
                {
                    result.status = MResultStatus.ParamsError;
                    result.msg    = "用户标识错误!";
                }
                if (string.IsNullOrEmpty(orderCode))
                {
                    result.status = MResultStatus.ParamsError;
                    result.msg    = "订单标识错误!";
                }
                #endregion

                var orderDal    = DALFactory.Order();
                var baseDataDal = DALFactory.BaseData();

                var orderInfo = orderDal.GetOrderInfo(userId, orderCode);
                if (orderInfo != null && orderInfo.OrderNo > 0)
                {
                    orderInfo.PayType = orderInfo.PayId == 0 ? "货到付款" : "在线支付";

                    orderInfo.InvoiceType = (int)(string.IsNullOrEmpty(orderInfo.InvoiceTitle)
                                                 ? Invoice.TitleType.NoNeed
                                                 : orderInfo.InvoiceTitle.StartsWith("个人")
                                                       ? Invoice.TitleType.Personal
                                                       : Invoice.TitleType.Company);
                    orderInfo.PayStatus = orderInfo.PayStatusId == 2 ? "已付款" : "未付款";
                    #region 订单状态
                    string orderStatus;
                    switch (orderInfo.OrderStatusId)
                    {
                    case 0: orderStatus = "付款未审核"; break;

                    case 1: orderStatus = "未确定"; break;

                    case 4: orderStatus = "客户已确认"; break;

                    case 5: orderStatus = "生成配货单"; break;

                    case 7: orderStatus = "已出库"; break;

                    case 20: orderStatus = "完成"; break;

                    default:
                        orderStatus = "未知"; break;
                    }
                    #endregion
                    orderInfo.OrderStatus = orderStatus;

                    var invoiceCategory = MCvHelper.To <int>(orderInfo.InvoiceCategory, 0);

                    result.info = new ItemOrderDetails
                    {
                        oid             = orderInfo.OrderNo,
                        ocode           = orderInfo.OrderCode,
                        status          = orderInfo.OrderStatus,
                        addr            = orderInfo.AddressInfo,
                        province        = orderInfo.Provinces,
                        city            = orderInfo.City,
                        county          = orderInfo.County,
                        contact_name    = orderInfo.Consignee,
                        invoicecategory = invoiceCategory,
                        invoicetitle    = orderInfo.InvoiceTitle,
                        phone           = orderInfo.Phone,
                        titletype       = orderInfo.InvoiceType,
                        mobile          = orderInfo.Mobile,
                        paytype         = orderInfo.PayType,
                        paytypeid       = orderInfo.PayId,
                        statusid        = orderInfo.OrderStatusId,
                        zip             = orderInfo.Zip,
                        paystatus       = orderInfo.PayStatus,
                        paystatusid     = orderInfo.PayStatusId,
                        deliverytype    = orderInfo.DeliveryType
                    };
                    result.status = MResultStatus.Success;
                }
                else
                {
                    result.status = MResultStatus.Undefined;
                    result.msg    = "没有数据!";
                }
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                MLogManager.Error(MLogGroup.Order.获取订单信息, null, "获取订单信息", ex);
            }

            return(result);
        }
Example #3
0
        /// <summary>
        /// 获取订单列表
        /// </summary>
        /// <param name="sid"></param>
        /// <param name="uid"></param>
        /// <param name="userId"></param>
        /// <param name="begimTime"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
        public static MResultList <ItemOrder> GetOrdersList(int sid, string uid, int userId, DateTime begimTime, DateTime endTime)
        {
            var result = new MResultList <ItemOrder>(true);

            #region 参数验证

            if (userId <= 0)
            {
                result.status = MResultStatus.ParamsError;
                result.msg    = "用户标识错误!";
            }

            #endregion

            try
            {
                var orderDal = DALFactory.Order();

                var orderList = orderDal.GetOrdersList(userId, begimTime, endTime);
                if (orderList.Any())
                {
                    orderList.ForEach(item =>
                    {
                        var payType = item.payMethod == 0 ? "货到付款" : "在线支付";

                        var payStatus = item.payStatus == 2 ? "已付款" : "未付款";
                        #region 订单状态
                        string orderStatus;
                        switch (item.flowStatus)
                        {
                        case 0: orderStatus = "付款未审核"; break;

                        case 1: orderStatus = "未确定"; break;

                        case 4: orderStatus = "客户已确认"; break;

                        case 5: orderStatus = "生成配货单"; break;

                        case 7: orderStatus = "已出库"; break;

                        case 20: orderStatus = "完成"; break;

                        default:
                            orderStatus = "未知"; break;
                        }
                        #endregion
                        var orderInfo = new ItemOrder
                        {
                            oid           = item.orderNo,
                            ocode         = item.orderCode,
                            created       = item.createDate,
                            statusid      = item.flowStatus,
                            paytype       = payType,
                            status        = orderStatus,
                            total_fee     = item.actuallyPay,
                            total_freight = item.carriage,
                            total_order   = item.shouldPay
                        };
                        result.list.Add(orderInfo);
                    });
                    result.status = MResultStatus.Success;
                }
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                MLogManager.Error(MLogGroup.Order.获取订单列表, null, "获取订单列表", ex);
            }

            return(result);
        }
Example #4
0
 public CourseTableBLL()
 {
     dal = DALFactory.createCourseTableDAL();
 }
Example #5
0
        /// <summary>
        /// 获取临时订单信息
        /// </summary>
        /// <param name="guid"></param>
        /// <param name="channelId"> </param>
        /// <param name="uid"></param>
        /// <param name="userId"></param>
        /// <param name="order"></param>
        /// <returns></returns>
        public static MResult <OrderResult> GetTempOrderInfo(string guid, int channelId, string uid, int userId, OrderEntity order)
        {
            var result = new MResult <OrderResult>(true);

            try
            {
                if (order.addressid > 0)
                {
                    var memberDal       = DALFactory.Member();
                    var shoppingCartDal = DALFactory.ShoppingCartDal();
                    //获取用户选择的收货地址
                    var addressInfo = memberDal.GetMemberAddressInfo(order.addressid);
                    //判断地址是否存在,并且判断 支付方式和配送方式是否已选择
                    if (addressInfo != null && addressInfo.intCityID > 0 && order.payid != null && order.logisticsid > 0)
                    {
                        //查询该用户购物车所有商品
                        var shoppingCartList = shoppingCartDal.GetShoppingCartProductInfosByUserIDGuidChannelID(userId, guid, channelId);
                        if (shoppingCartList.Any())
                        {
                            //排除 已删除的商品
                            var notDelShoppingCart = (from a in shoppingCartList where a.intIsDelete == 0 select a).ToList();
                            if (notDelShoppingCart.Any())
                            {
                                var summaryOrderInfo = SummaryOrderInfo(notDelShoppingCart, channelId, userId, MCvHelper.To <int>(order.payid, -1), order.logisticsid,
                                                                        MCvHelper.To <int>(addressInfo.intCityID));
                                if (summaryOrderInfo != null)
                                {
                                    result.info.total_discount_fee = summaryOrderInfo.TotalDiscountFee;
                                    result.info.total_freight      = summaryOrderInfo.TotalFreight;
                                    result.info.total_goods_fee    = summaryOrderInfo.TotalGoodsFee;
                                    result.info.total_order_fee    = summaryOrderInfo.TotalOrderFee;
                                    result.info.total_original     = summaryOrderInfo.TotalOriginal;
                                    result.info.total_score        = summaryOrderInfo.TotalScore;
                                    result.info.total_weight       = summaryOrderInfo.TotalWeight;
                                }
                            }
                            else
                            {
                                result.status = Core.Enums.MResultStatus.LogicError;
                                result.msg    = "购物车没有商品!";
                            }
                        }
                        else
                        {
                            result.status = Core.Enums.MResultStatus.LogicError;
                            result.msg    = "购物车没有商品!";
                        }
                    }
                    else
                    {
                        result.status = Core.Enums.MResultStatus.LogicError;
                        result.msg    = "请选择支付方式和配送方式!";
                    }
                }
                else
                {
                    result.status = Core.Enums.MResultStatus.LogicError;
                    result.msg    = "请选择收货地址!";
                }
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                MLogManager.Error(MLogGroup.Order.获取临时订单信息, null, "", ex);
            }

            return(result);
        }
Example #6
0
        public IEnumerable <Tour> GetItems()
        {
            ITourDAO tourDao = DALFactory.CreateTourDAO();

            return(tourDao.GetTours());
        }
Example #7
0
        public void DeleteTour(Tour tour, string imagePath)
        {
            ITourDAO tourDao = DALFactory.CreateTourDAO();

            tourDao.DeleteTour(tour);
        }
Example #8
0
        public int InsertNewSign(string[] parameters)
        {
            ISign sign = DALFactory.CreateSign();

            return(sign.Insert((object[])parameters));
        }
Example #9
0
 public SegmentMappingRepository(string dbProvider, string strConn)
 {
     this._dbType = (DatabaseProvider_Type)Enum.Parse(typeof(DatabaseProvider_Type), dbProvider);
     _dbProvider  = DALFactory.CreateSqlProvider(_dbType, strConn);
 }
Example #10
0
 /// <summary>
 /// 根据ID获取学生对象
 /// </summary>
 /// <param name="id">学生ID</param>
 /// <returns>学生对象</returns>
 public Student GetStudentById(int id)
 {
     return(DALFactory.CreateStudentDAL().GetStudentById(id));
 }
Example #11
0
 /// <summary>
 /// 删除学生信息
 /// </summary>
 /// <param name="Id">学生ID</param>
 /// <returns>是否成功 true成功 false 失败</returns>
 public bool DeleteStudent(int Id)
 {
     return(DALFactory.CreateStudentDAL().DeleteStudent(Id));
 }
Example #12
0
 /// <summary>
 /// 返回所有学生
 /// </summary>
 /// <returns></returns>
 public IEnumerable <Student> GetAll()
 {
     return(DALFactory.CreateStudentDAL().GetAll());
 }
Example #13
0
 public Agency_Sync(string group_record)
 {
     _stageProvider = DALFactory.CreateSqlProvider(DatabaseProvider_Type.MSSQLProvider, AppConfiguration.PNCStaging_Connection);
     _group_record  = group_record;
 }
Example #14
0
        /// <summary>
        /// 获取运费总额
        /// </summary>
        /// <param name="channelId"></param>
        /// <param name="userId"> </param>
        /// <param name="cityId"></param>
        /// <param name="payId"></param>
        /// <param name="deliverId"> </param>
        /// <param name="totalWeight"></param>
        /// <param name="orderTotal"> </param>
        /// <returns></returns>
        public static MResult <decimal> GetLogisticsInfo(int channelId, int userId, int cityId, int payId, int deliverId, long totalWeight, decimal orderTotal)
        {
            var result = new MResult <decimal>(true);

            try
            {
                var baseDataDal  = DALFactory.BaseData();
                var deliveryInfo = baseDataDal.GetDeliverInfo(deliverId);

                if (MCvHelper.To <byte>(deliveryInfo.intIsCarriage, 0) == 1)
                {
                    //上门自提,先不收运费
                    if (deliverId == 8)
                    {
                        result.info = 0;
                    }
                    else
                    {
                        //否则根据城市id 计算运费
                        result.info = baseDataDal.GetCarriage(totalWeight, deliverId, cityId);

                        #region  中通满100元江浙免运费

                        /*
                         * if (orderTotal >= 100 && deliverId == 3)
                         * {
                         *  List<City> clist = CityArea.GetCities(10);
                         *  clist.AddRange(CityArea.GetCities(11));
                         *
                         *  if (clist.Any(c => c.RegionId == cityId))
                         *  {
                         *      result.info = 0;
                         *  }
                         * }
                         */
                        #endregion
                    }
                }
                else
                {
                    var memberDal  = DALFactory.Member();
                    var memberInfo = memberDal.GetMemberInfo(userId.ToString());

                    //选择不需要运费的送货方式则50元起送,不足50元则加5元运费
                    if (deliverId == 8)
                    {
                        result.info = 0;
                    }
                    if (orderTotal < 50 && deliverId == 1)
                    {
                        result.info = 5;
                    }

                    if (orderTotal < 100 && deliverId == 6)
                    {
                        result.info = 5;
                    }

                    //月亮太阳会员不收运费
                    if (memberInfo != null &&
                        (memberInfo.clusterId == 3 || memberInfo.clusterId == 4 || memberInfo.clusterId == 17 || memberInfo.clusterId == 18))
                    {
                        result.info = 0;
                    }
                }
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "获取运费总额 错误!";
            }

            return(result);
        }
Example #15
0
        public IList <Performance> QueryPerformances()
        {
            IPerformanceDao dao = DALFactory.CreatePerformanceDao(database);

            return(dao.findAll());
        }
Example #16
0
 public QueryService()
 {
     database = DALFactory.CreateDatabase();
 }
 public Bl_imp()
 {
     dal = DALFactory.GetIdal();
     DS.DataSource.initializeList();
 }
Example #18
0
        public IList <Performance> QueryPerformancesByVenueAndDay(Venue venue, DateTime day)
        {
            IPerformanceDao dao = DALFactory.CreatePerformanceDao(database);

            return(dao.FindPerformanceForVenueByDay(venue, day));
        }
Example #19
0
        public IEnumerable <TourLog> GetTourLogs(Tour tour)
        {
            ITourLogDAO tourLogDao = DALFactory.CreateTourLogDAO();

            return(tourLogDao.GetTourLogs(tour));
        }
Example #20
0
        public IList <Artist> QueryArtists()
        {
            IArtistDao dao = DALFactory.CreateArtistDao(database);

            return(dao.findAllWithoutDeleted());
        }
Example #21
0
        public void DeleteTourLog(TourLog tourLog)
        {
            ITourLogDAO tourLogDao = DALFactory.CreateTourLogDAO();

            tourLogDao.DeleteTourLog(tourLog);
        }
Example #22
0
        public Artist QueryArtistById(string id)
        {
            IArtistDao dao = DALFactory.CreateArtistDao(database);

            return(dao.findByUniqueProperty(typeof(Artist).GetProperty("Email"), id));
        }
Example #23
0
 public BL_imp()
 {
     MyDAL = DALFactory.getDAL();
 }
Example #24
0
        public IList <Performance> QueryPerfomancesByDay(DateTime day)
        {
            IPerformanceDao dao = DALFactory.CreatePerformanceDao(database);

            return(dao.FindPerormanceByDay(day));
        }
Example #25
0
        /// <summary>
        /// 创建订单
        /// </summary>
        /// <param name="guid"></param>
        /// <param name="channelId"></param>
        /// <param name="uid"></param>
        /// <param name="userId"></param>
        /// <param name="orderEntity"></param>
        /// <returns></returns>
        public static MResult <ItemOrder> CreateOrder(string guid, int channelId, string uid, int userId, OrderEntity orderEntity)
        {
            var result = new MResult <ItemOrder>(true);

            try
            {
                var memberDal       = DALFactory.Member();
                var baseDataDal     = DALFactory.BaseData();
                var shoppingCartDal = DALFactory.ShoppingCartDal();
                var orderDal        = DALFactory.Order();

                var payId = MCvHelper.To <int>(orderEntity.payid, -1);

                #region 验证数据

                #region 用户是否登录
                if (userId <= 0)
                {
                    result.msg    = "请登录后再操作!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 收货地址
                if (orderEntity.addressid <= 0)
                {
                    result.msg    = "请选择收货地址!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 支付方式
                if (payId < 0)
                {
                    result.msg    = "请选择支付方式!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 配送方式
                if (orderEntity.logisticsid <= 0)
                {
                    result.msg    = "请选择配送方式!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 发票信息是否完整
                if (orderEntity.titletype == null)
                {
                    result.msg    = "请选择发票类型!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                if (orderEntity.titletype != Entity.Enum.Invoice.TitleType.NoNeed)
                {
                    if (orderEntity.invoicecategory == null)
                    {
                        result.msg    = "请选择发票分类!";
                        result.status = MResultStatus.ParamsError;
                        return(result);
                    }
                    if (orderEntity.titletype == Entity.Enum.Invoice.TitleType.Company && string.IsNullOrEmpty(orderEntity.invoicetitle))
                    {
                        result.msg    = "请填写发票抬头!";
                        result.status = MResultStatus.ParamsError;
                        return(result);
                    }
                }
                #endregion

                #endregion

                var memberInfo = memberDal.GetMemberInfo(uid);

                #region 验证用户是否存在
                if (memberInfo == null || memberInfo.membNo <= 0)
                {
                    result.msg    = "该用户不存在!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                //购物车商品数据
                List <ShoppingCartEntity> norMalShoppingCartList = null;

                #region 判断购物车是否有商品
                var shoppingCartList = shoppingCartDal.GetShoppingCartProductInfosByUserIDGuidChannelID(userId, guid, channelId);
                if (shoppingCartList == null || !shoppingCartList.Any())
                {
                    result.msg    = "购物车没有商品!";
                    result.status = MResultStatus.LogicError;
                    return(result);
                }
                norMalShoppingCartList = (from a in shoppingCartList
                                          where a.intIsDelete == 0
                                          select a).ToList();

                if (!norMalShoppingCartList.Any())
                {
                    result.msg    = "购物车没有商品!";
                    result.status = MResultStatus.LogicError;
                    return(result);
                }
                #endregion

                #region 该用户是否是黑名单
                var isExistBacklist = memberDal.CheckUserIdInBackList(userId);
                if (isExistBacklist)
                {
                    result.msg    = "您的用户出现异常,请联系我们的客服人员进行解决!";
                    result.status = MResultStatus.LogicError;
                    return(result);
                }
                #endregion

                //收货地址信息
                var addressInfo = memberDal.GetMemberAddressInfo(orderEntity.addressid);

                #region 验证收货地址
                #region 是否存在
                if (addressInfo == null || addressInfo.intAddressID <= 0 || addressInfo.intCityID <= 0 && payId <= 0 && orderEntity.logisticsid <= 0)
                {
                    result.msg    = "收货地址信息不正确!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion
                #endregion

                //配送方式
                var deliverInfo = baseDataDal.GetDeliverInfo(orderEntity.logisticsid);

                #region 验证配送方式
                if (deliverInfo == null || deliverInfo.intDeliverID == 0)
                {
                    result.msg    = "验证配送方式信息不正确!";
                    result.status = MResultStatus.ParamsError;
                    return(result);
                }
                #endregion

                #region 检查商品销售区域
                var checkGoodsSaleAreaState = CheckGoodsSaleArea(norMalShoppingCartList, userId, MCvHelper.To <int>(addressInfo.intCityID), channelId);
                if (checkGoodsSaleAreaState.Any())
                {
                    result.msg    = "有部分商品不在您选择的区域内销售!";
                    result.status = MResultStatus.LogicError;
                    result.data   = String.Join(",", checkGoodsSaleAreaState.ToArray());
                    return(result);
                }
                #endregion

                var summaryOrderInfo = SummaryOrderInfo(norMalShoppingCartList, channelId, userId,
                                                        payId, orderEntity.logisticsid,
                                                        MCvHelper.To <int>(addressInfo.intCityID));

                #region 开始创建订单
                if (summaryOrderInfo != null && summaryOrderInfo.TotalGoodsFee > 0)
                {
                    var order = new Sale_Order();

                    #region 订单主表信息
                    order.dtCreateDate    = DateTime.Now;
                    order.dtSendDate      = CheckDateTime(orderEntity.posttimetype, orderEntity.logisticsid);                    //处理送货日期
                    order.intChannel      = channelId;
                    order.intCreaterID    = 555;
                    order.intDeliverID    = orderEntity.logisticsid;
                    order.intLogisticsID  = 21;
                    order.intOrderState   = 1;
                    order.intOrderType    = 1;
                    order.intPayID        = payId;
                    order.intPayState     = 0;
                    order.intStockID      = 100;
                    order.intTotalStars   = summaryOrderInfo.TotalScore;
                    order.intUserID       = userId;
                    order.numAddAmount    = 0;
                    order.numCarriage     = summaryOrderInfo.TotalFreight;
                    order.numChange       = 0;
                    order.numGoodsAmount  = summaryOrderInfo.TotalGoodsFee;
                    order.numCouponAmount = summaryOrderInfo.TotalDiscountFee;
                    order.numReceAmount   = summaryOrderInfo.TotalOrderFee;
                    order.numWeight       = summaryOrderInfo.TotalWeight;
                    order.vchSendTime     = order.dtSendDate.ToShortTimeString();
                    order.vchUserCode     = memberInfo.userCode;
                    order.vchOrderCode    = GetOrderCode();
                    #endregion

                    #region 配送信息

                    var deliver = new Sale_Order_Deliver();
                    deliver.intAddressID  = addressInfo.intAddressID;
                    deliver.intCityID     = MCvHelper.To <int>(addressInfo.intCityID, 0);
                    deliver.vchCityName   = addressInfo.vchCityName;
                    deliver.vchConsignee  = addressInfo.vchConsignee;
                    deliver.intCountyID   = MCvHelper.To <int>(addressInfo.intCountyID, 0);
                    deliver.vchCountyName = addressInfo.vchCountyName;
                    deliver.vchDetailAddr = addressInfo.vchStateName + "," + addressInfo.vchCityName + "," + addressInfo.vchCountyName + "," + addressInfo.vchDetailAddr;
                    deliver.vchHausnummer = addressInfo.vchHausnummer;
                    deliver.vchMobile     = addressInfo.vchMobile;
                    deliver.vchPhone      = addressInfo.vchPhone;
                    deliver.vchPostCode   = addressInfo.vchPostCode;
                    deliver.vchRoadName   = addressInfo.vchRoadName;
                    deliver.intStateID    = MCvHelper.To <int>(addressInfo.intStateID, 0);
                    deliver.vchStateName  = addressInfo.vchStateName;
                    deliver.vchUserMemo   = orderEntity.remark;
                    deliver.vchOrderCode  = order.vchOrderCode;

                    #endregion

                    #region 发票信息

                    var invoice = new Sale_Order_Invoice();
                    if (orderEntity.titletype != null && orderEntity.titletype != Invoice.TitleType.NoNeed)
                    {
                        if (orderEntity.titletype == Invoice.TitleType.Personal)
                        {
                            invoice.vchInvoicTitile = "个人";
                        }
                        else if (orderEntity.titletype == Invoice.TitleType.Company)
                        {
                            invoice.vchInvoicTitile = orderEntity.invoicetitle;
                        }

                        invoice.intInvoiceType = (int)orderEntity.invoicecategory;
                        invoice.intInvoiceKind = 1;
                        invoice.numAmount      = order.numReceAmount;
                        invoice.dtBillingTime  = DateTime.Now;
                        invoice.dtCreateDate   = DateTime.Now;
                        invoice.intIsBilling   = 1;
                        invoice.intIsDetail    = 0;
                        invoice.vchOrderCode   = order.vchOrderCode;
                        invoice.vchPhone       = addressInfo.vchPhone;
                        invoice.intUserID      = userId;
                    }

                    #endregion

                    #region 保存订单
                    string message;
                    result.info.oid = orderDal.SaveWebOrder(order, invoice, deliver, null, userId, guid, channelId,
                                                            MCvHelper.To <int>(memberInfo.clusterId, 0), -1, out message);
                    if (result.info.oid > 0)
                    {
                        #region 清空购物车
                        shoppingCartDal.ClearShoppingCart(userId);
                        #endregion

                        #region  步订单信息到 BBHome
                        orderDal.SyncOrderInfoToBBHome(order.vchOrderCode);
                        #endregion

                        result.status = MResultStatus.Success;

                        var payType = string.Empty;
                        if (payId == 0)
                        {
                            payType = "货到付款";
                        }
                        else if (payId == 1)
                        {
                            payType = "在线支付";
                        }
                        var postTimetype = string.Empty;
                        switch (orderEntity.posttimetype)
                        {
                        case 1:
                            postTimetype = "工作日送货";
                            break;

                        case 2:
                            postTimetype = "工作日、双休日均可送货";
                            break;

                        case 3:
                            postTimetype = "只双休日送货";
                            break;
                        }

                        result.info.ocode         = order.vchOrderCode;
                        result.info.paytype       = payType;
                        result.info.logisticstype = deliverInfo.vchDeliverName;
                        result.info.total_fee     = order.numGoodsAmount;
                        result.info.total_freight = order.numCarriage;
                        result.info.total_order   = order.numReceAmount;
                        result.info.posttimetype  = postTimetype;
                    }

                    #endregion
                }
                #endregion
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                MLogManager.Error(MLogGroup.Order.创建订单, null, "", ex);
            }

            return(result);
        }
Example #26
0
        public IList <Catagory> QueryCatagories()
        {
            ICatagoryDao dao = DALFactory.CreateCatagoryDao(database);

            return(dao.findAll());
        }
Example #27
0
        /// <summary>
        /// 获取订单商品列表
        /// </summary>
        /// <param name="sid"></param>
        /// <param name="uid"></param>
        /// <param name="userId"></param>
        /// <param name="orderCode"></param>
        /// <returns></returns>
        public static MResultList <ItemOrderGoods> GetOrderGoodsList(int sid, string uid, int userId, string orderCode)
        {
            var result = new MResultList <ItemOrderGoods>(true);

            try
            {
                #region 参数判断
                if (userId <= 0)
                {
                    result.status = MResultStatus.ParamsError;
                    result.msg    = "用户标识错误!";
                }
                if (string.IsNullOrEmpty(orderCode))
                {
                    result.status = MResultStatus.ParamsError;
                    result.msg    = "订单标识错误!";
                }
                #endregion

                var orderDal  = DALFactory.Order();
                var memberDal = DALFactory.Member();

                var memberInfo = memberDal.GetMemberInfo(userId);
                if (memberInfo == null || memberInfo.membNo <= 0)
                {
                    result.status = MResultStatus.Undefined;
                    result.msg    = "用户不存在!";
                }
                var clusterId = MCvHelper.To(memberInfo.clusterId, 1);

                var orderGoodsList = orderDal.GetOrderGoodsList(userId, orderCode, clusterId);
                if (orderGoodsList.Any())
                {
                    orderGoodsList.ForEach(item =>
                    {
                        var goodsItem = new ItemOrderGoods()
                        {
                            gid         = item.intProductID,
                            title       = item.vchProductName,
                            price       = item.numSalePrice,
                            num         = item.intQty,
                            total       = item.numTotalAmount,
                            pic_url     = GoodsBLL.FormatProductPicUrl(item.PicUrl),
                            score       = item.intScores,
                            marketprice = MCvHelper.To <decimal>(item.numStandarPrice, item.numSalePrice),
                            productcode = item.vchProductPrinted
                        };
                        result.list.Add(goodsItem);
                    });
                    result.status = MResultStatus.Success;
                }
                else
                {
                    result.status = MResultStatus.Undefined;
                    result.msg    = "没有数据!";
                }
            }
            catch (Exception ex)
            {
                result.status = MResultStatus.ExecutionError;
                MLogManager.Error(MLogGroup.Order.获取订单信息, null, "获取订单信息", ex);
            }

            return(result);
        }
Example #28
0
        public IList <Venue> QueryVenues()
        {
            IVenueDao dao = DALFactory.CreateVenueDao(database);

            return(dao.findAll());
        }
Example #29
0
        /// <summary>
        /// 订单支付成功
        /// </summary>
        /// <param name="sType"></param>
        /// <param name="userId"></param>
        /// <param name="uid"></param>
        /// <param name="getData"></param>
        /// <param name="postData"></param>
        /// <returns></returns>
        public static MResult <string> OrderPaymentSuccess(SystemType sType, int userId, string uid, string getData, string postData)
        {
            var result = new MResult <string>();

            try
            {
                if (!string.IsNullOrWhiteSpace(getData))
                {
                    var getDataForNameValue = HttpUtility.ParseQueryString(getData);

                    #region 解析 query 参数集合 组成 SortedDictionary
                    var sortDict = new SortedDictionary <string, string>();
                    foreach (string name in getDataForNameValue)
                    {
                        sortDict.Add(name, getDataForNameValue.Get(name));
                    }
                    #endregion

                    #region 解析参数
                    var outTradeNo   = getDataForNameValue.Get("out_trade_no");
                    var requestToken = getDataForNameValue.Get("request_token");
                    var resultStatus = getDataForNameValue.Get("result");
                    var tradeNo      = getDataForNameValue.Get("trade_no");
                    #endregion

                    #region 验证 签名是否合法
                    var alipayPayment  = new AlipayWapPayment();
                    var validationPass = alipayPayment.ValidationSign(sortDict);
                    #endregion

                    #region 解析订单编号和用户编号
                    var orderCode = string.Empty;
                    var userCode  = string.Empty;

                    var tradeNosplit = (outTradeNo ?? "").Split('-');
                    if (tradeNosplit.Length == 2)
                    {
                        orderCode = tradeNosplit[0];
                        userCode  = tradeNosplit[1];
                    }
                    #endregion

                    if (!string.IsNullOrEmpty(orderCode) &&
                        !string.IsNullOrEmpty(userCode) &&
                        resultStatus.Equals("success", StringComparison.InvariantCultureIgnoreCase) &&
                        validationPass)
                    {
                        #region 更新订单状态
                        var orderDal  = DALFactory.Order();
                        var orderInfo = orderDal.GetOrderInfo(orderCode);
                        if (orderInfo != null && orderInfo.orderNo > 0)
                        {
                            if (orderInfo.payStatus == 2 || orderInfo.payStatus == 1)
                            {
                                result.status = MResultStatus.LogicError;
                                result.msg    = "该订单已经支付 或正在支付中!";
                            }
                            else
                            {
                                result.info = orderCode;
                                orderDal.UpdateOrderPayStatusSuccess(orderCode, userCode);
                                result.status = MResultStatus.Success;
                            }
                        }
                        #endregion
                    }
                    else
                    {
                        result.status = MResultStatus.LogicError;
                        result.msg    = "支付失败!";
                    }
                }
            }
            catch (Exception)
            {
                result.status = MResultStatus.ExceptionError;
                result.msg    = "处理订单支付成功 出现异常!";
            }
            return(result);
        }
 public TourEntryPostgresDAO()
 {
     this.database = DALFactory.GetDatabase();
 }