| | |
| | | return true; |
| | | } |
| | | |
| | | |
| | | /// <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 NewOrderpiliang(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.InserModel(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> |