username@email.com
2025-10-31 1032e7e409dff2134a4a1086fda34a55f025dcbc
提交
6个文件已修改
215 ■■■■■ 已修改文件
CY_ECommercePlatform/CY.BLL/EC/EC_OrderBLL.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.IDAL/EC/IEC_OrderDAL.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderBasicDAL.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/business/CorporateClientsList.aspx.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.WebForm/Pages/common/PayAbout.aspx.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CY_ECommercePlatform/CY.BLL/EC/EC_OrderBLL.cs
@@ -68,6 +68,25 @@
        }
        /// <summary>
        /// 新建订单(全,含秒杀)
        /// </summary>
        /// <param name="orderBasic">订单基础信息</param>
        /// <param name="orderExtend">订单扩展信息</param>
        /// <param name="tradingSingle">交易单</param>
        /// <param name="acceptWayByOrder">订单收货方式</param>
        /// <param name="payRequest">支付请求(可空)</param>
        /// <param name="commission">订单受理佣金(传入值大于0时最后会调用受理订单进行受理)</param>
        /// <param name="seckillId">秒杀业务编号(传入值大于0时会减少秒杀数量1)</param>
        /// <param name="orderPrintParameter">订单印刷参数(选填)</param>
        /// <returns></returns>
        public bool NewOrdersheji(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, Pay_Request payRequest = null, double commission = 0, int seckillId = 0, EC_OrderPrintParameter orderPrintParameter = null)
        {
            return _iEC_OrderDAL.NewOrdersheji(orderBasic, orderExtend, tradingSingle, acceptWayByOrder, payRequest, commission, seckillId, orderPrintParameter);
        }
        /// <summary>
        /// 新建订单(全,含秒杀)批量
        /// </summary>
        /// <param name="orderBasic">订单基础信息</param>
CY_ECommercePlatform/CY.IDAL/EC/IEC_OrderDAL.cs
@@ -49,6 +49,24 @@
        bool NewOrder(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, Pay_Request payRequest = null, double commission = 0, int seckillId = 0, EC_OrderPrintParameter orderPrintParameter = null);
        /// <summary>
        /// 新建订单(全,含秒杀)
        /// </summary>
        /// <param name="orderBasic">订单基础信息</param>
        /// <param name="orderExtend">订单扩展信息</param>
        /// <param name="tradingSingle">交易单</param>
        /// <param name="acceptWayByOrder">订单收货方式</param>
        /// <param name="payRequest">支付请求(可空)</param>
        /// <param name="commission">订单受理佣金(传入值大于0时会调用受理订单进行受理)</param>
        /// <param name="seckillId">秒杀业务编号(传入值大于0时会减少秒杀数量1)</param>
        /// <param name="orderPrintParameter">印刷参数对象(秒杀订单不传入)</param>
        /// <returns></returns>
        bool NewOrdersheji(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, Pay_Request payRequest = null, double commission = 0, int seckillId = 0, EC_OrderPrintParameter orderPrintParameter = null);
        /// <summary>
        /// 新建订单(全,含秒杀)批量
        /// </summary>
CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderBasicDAL.cs
@@ -165,6 +165,70 @@
            }
        }
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool InserModelsheji(Infrastructure.Domain.IAggregateRoot model)
        {
            Model.EC_OrderBasic trueModel = model as Model.EC_OrderBasic;
            if (trueModel == null)
            {
                return false;
            }
            SqlParameter unitPricePar = null;
            if (trueModel.UnitPrice.HasValue)
            {
                unitPricePar = new SqlParameter("@UnitPrice", trueModel.UnitPrice);
            }
            else
            {
                unitPricePar = new SqlParameter("@UnitPrice", DBNull.Value);
            }
            SqlParameter DeliveryTime = null;
            if (trueModel.DeliveryTime.HasValue)
            {
                DeliveryTime = new SqlParameter("@DeliveryTime", trueModel.DeliveryTime);
            }
            else
            {
                DeliveryTime = new SqlParameter("@DeliveryTime", DBNull.Value);
            }
            IList<SqlParameter> sqlParms = new List<SqlParameter>()
            {
                    new SqlParameter(){ ParameterName ="@Keyid", SqlDbType=System.Data.SqlDbType.Int, DbType=System.Data.DbType.Int32, Direction=ParameterDirection.Output},
                    new SqlParameter(){ ParameterName="@SellerOrderId",SqlDbType=System.Data.SqlDbType.VarChar,Size=25,DbType=System.Data.DbType.String, Direction=ParameterDirection.Output},
                    new SqlParameter("@OrderTypeId",trueModel.OrderTypeId),
                    new SqlParameter("@PrintTypeId",trueModel.PrintTypeId),
                    new SqlParameter("@DocumentName",trueModel.DocumentName),
                    DeliveryTime,//new SqlParameter("@DeliveryTime",trueModel.DeliveryTime),
                    new SqlParameter("@SellerId",trueModel.SellerId),
                    new SqlParameter("@BuyerId",trueModel.BuyerId),
                    new SqlParameter("@SellerName",trueModel.SellerName){SqlDbType=SqlDbType.VarChar,Size=200},
                    new SqlParameter("@BuyerName",trueModel.BuyerName){SqlDbType=SqlDbType.VarChar,Size=200},
                    unitPricePar,
                    new SqlParameter("@SumPrice",trueModel.SumPrice),
                    new SqlParameter("@Creater",trueModel.Creater),
                    new SqlParameter("@Operator",trueModel.Operator),
                    new SqlParameter("@Remark",trueModel.Remark??"") ,
                    new SqlParameter("@OutId",(trueModel.OutId==null ? "0":trueModel.OutId.ToString()))
            };
            try
            {
                _dataBase.Query("sp_EC_OrderBasic_Insertsheji", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
                trueModel.Keyid = CY.Infrastructure.Common.MyConvert.ConvertToInt32(sqlParms[0].Value);
                trueModel.SellerOrderId = CY.Infrastructure.Common.MyConvert.ConvertToString(sqlParms[1].Value);
                return trueModel.Keyid.HasValue;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 修改
        /// </summary>
@@ -1428,11 +1492,11 @@
        /// </summary>
        /// <param name="BuyerId">卖家ID</param>
        /// <returns></returns>
        public IList<EC_OrderBasic> GetOrderById(Guid BuyerId, int PayState)
        public IList<EC_OrderBasic> GetOrderById(Guid BuyerId, int PayState, Guid SellerId)
        {
            IList<EC_OrderBasic> result = new List<EC_OrderBasic>();
         
             result = _dataBase.SelectModel<EC_OrderBasic>(" * ", "EC_OrderBasic ", string.Format(" BuyerId = '{0}' and PayState!={1}", BuyerId,PayState));
             result = _dataBase.SelectModel<EC_OrderBasic>(" * ", "EC_OrderBasic ", string.Format(" BuyerId = '{0}' and PayState!={1} and  SellerId = '{2}'", BuyerId,PayState, SellerId));
            return result;
        }
        /// <summary>
CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs
@@ -157,6 +157,112 @@
        }
        /// <summary>
        /// 新建订单(全,含秒杀)
        /// </summary>
        /// <param name="orderBasic">订单基础信息</param>
        /// <param name="orderExtend">订单扩展信息</param>
        /// <param name="tradingSingle">交易单</param>
        /// <param name="acceptWayByOrder">订单收货方式</param>
        /// <param name="payRequest">支付请求(可空)</param>
        /// <param name="commission">订单受理佣金(传入值大于0时会调用受理订单进行受理)</param>
        /// <param name="seckillId">秒杀业务编号(传入值大于0时会减少秒杀数量1)</param>
        /// <param name="orderPrintParameter">印刷参数对象(秒杀订单不传入)</param>
        /// <returns></returns>
        public bool NewOrdersheji(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, Pay_Request payRequest = null, double commission = 0, int seckillId = 0, EC_OrderPrintParameter orderPrintParameter = null)
        {
            try
            {
                _eC_OrderExtendDAL = new EC_OrderExtendDAL(_dataBase);
                _pay_TradingSingleDAL = new Pay_TradingSingleDAL(_dataBase);
                _eC_AcceptWayByOrderDAL = new EC_AcceptWayByOrderDAL(_dataBase);
                _eC_OrderOperateDAL = new EC_OrderOperateDAL(_dataBase);
                _eC_MemberBasicDAL = new EC_MemberBasicDAL(_dataBase);
                _oA_CorporateClientsDAL = new OA_CorporateClientsDAL(_dataBase);
                using (System.Transactions.TransactionScope tran = new System.Transactions.TransactionScope())
                {
                    bool isWin = false;
                    isWin = _eC_OrderBasicDAL.InserModelsheji(orderBasic);
                    if (!isWin)
                    {
                        return false;
                    }
                    acceptWayByOrder.TargetId = tradingSingle.OrderId = orderExtend.Keyid = orderBasic.Keyid;//获取返回的订单唯一编号
                    isWin = _eC_OrderExtendDAL.InserModel(orderExtend);
                    if (!isWin)
                    {
                        return false;
                    }
                    isWin = _eC_AcceptWayByOrderDAL.InserModel(acceptWayByOrder);
                    if (!isWin)
                    {
                        return false;
                    }
                    isWin = _pay_TradingSingleDAL.InserModel(tradingSingle);
                    if (!isWin)
                    {
                        return false;
                    }
                    //增加下单操作记录
                    isWin = _eC_OrderOperateDAL.InserModel(new EC_OrderOperate()
                    {
                        OperateType = 1,
                        Operator = orderBasic.Operator,
                        OrderId = orderBasic.Keyid,
                        Remark = string.Empty
                    });
                    if (!isWin)
                    {
                        return false;
                    }
                    if (null != payRequest)//有支付请求则调用支付订单方法
                    {
                        //传入的payRequest.Subject必须为格式化器 格式例如:{0},{1},{2}
                        //0:Keyid,1:SellerOrderId,2:DocumentName
                        payRequest.Subject = string.Format(payRequest.Subject, orderBasic.Keyid, orderBasic.SellerOrderId, orderBasic.DocumentName);
                        isWin = _eC_OrderBasicDAL.PayOrder(orderBasic.Keyid.Value, payRequest, commission, 0);
                    }
                    if (0 < seckillId)
                    {
                        _eC_SeckillBusinessDAL = new EC_SeckillBusinessDAL(_dataBase);
                        //若有秒杀业务编号则扣除其秒杀数量1
                        isWin = _eC_SeckillBusinessDAL.DecreaseSeckillNum(seckillId, 1, orderBasic.BuyerId);
                    }
                    if (!isWin)
                    {
                        return false;
                    }
                    if (null != orderPrintParameter)
                    {
                        _eC_OrderPrintParameterDAL = new EC_OrderPrintParameterDAL(_dataBase);
                        orderPrintParameter.OrderId = orderBasic.Keyid.Value;
                        isWin = _eC_OrderPrintParameterDAL.InserModel(orderPrintParameter);
                    }
                    if (!isWin)
                    {
                        return false;
                    }
                    else
                        tran.Complete();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 新建订单(全,含秒杀)批量
        /// </summary>
CY_ECommercePlatform/CY.WebForm/Pages/business/CorporateClientsList.aspx.cs
@@ -155,7 +155,7 @@
            {
                item.LessOrderMoneyProperty = item.Contractmoney-item.OrderMoney;
                item.NoOverOderCount = bll_eC_OrderBasicDAL.GetOrderById(item.Keyid, -1).Count;
                item.NoOverOderCount = bll_eC_OrderBasicDAL.GetOrderById(item.Keyid, -1, CurrentUser.MemberId).Count;
                Database DC = new Database();
                try
                {
CY_ECommercePlatform/CY.WebForm/Pages/common/PayAbout.aspx.cs
@@ -793,7 +793,7 @@
                return null;//买家不能是卖家
            EC_OrderBLL eC_OrderBLL = new EC_OrderBLL();//实例化订单业务操作对象
            bool isWin = eC_OrderBLL.NewOrder(orderBasic, orderBasic.OrderExtend, orderBasic.TradingSingle, eC_AcceptWayByOrder, pay_Request, commission.Value, seckillId, orderPrintParameter);
            bool isWin = eC_OrderBLL.NewOrdersheji(orderBasic, orderBasic.OrderExtend, orderBasic.TradingSingle, eC_AcceptWayByOrder, pay_Request, commission.Value, seckillId, orderPrintParameter);
            return isWin ? orderBasic : null;
        }