/**
* IEC_OrderDAL.cs
*
* 功 能: 订单操作访问接口
* 类 名: IEC_OrderDAL
*
* Ver 变更日期 负责人 变更内容
* ───────────────────────────────────
* V0.01 2013-4-24 19:08:24 吴崎均 初版
* V0.02 2013-4-26 9:53 吴崎均 修改NewOrder方法 增加订单收货方式参数
* V0.03 2013-4-27 14:21 吴崎均 增加批量修改订单状态方法
* V0.04 2013-4-28 11:00 吴崎均 修改NewOrder方法增加受理佣金参数使订单在新建时可以直接受理
* V0.05 2013-4-28 11:16 吴崎均 增加orderBasicDal几个方法的转调
* V0.06 2013-4-28 11:41 吴崎均 增加根据编号获取订单基本信息方法
* V0.07 2013-5-2 11:43 吴崎均 修改NewOrder方法增加秒杀订单编号使秒杀下单扣除秒杀数量能与下单同步进行,重载一般新建订单方法
* V0.08 2013-5-6 14:00 吴崎均 修改NewOrder方法以及其重载方法,增加参数“订单印刷对象”
* V0.09 2013-5-27 9:50 吴崎均 增加方法:订单退款(OrderRefund)
*
*
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.IBaseDAL;
using CY.Model;
using CY.Model.Pay;
namespace CY.IDAL
{
///
/// 订单操作访问接口
///
public interface IEC_OrderDAL : ICommonDAL
{
///
/// 新建订单(全,含秒杀)
///
/// 订单基础信息
/// 订单扩展信息
/// 交易单
/// 订单收货方式
/// 支付请求(可空)
/// 订单受理佣金(传入值大于0时会调用受理订单进行受理)
/// 秒杀业务编号(传入值大于0时会减少秒杀数量1)
/// 印刷参数对象(秒杀订单不传入)
///
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);
///
/// 新建订单(一般)
///
/// 订单基础信息
/// 订单扩展信息
/// 交易单
/// 订单收货方式
/// 印刷参数对象
///
bool NewOrder(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, EC_OrderPrintParameter orderPrintParameter);
///
/// 修改订单信息
///
/// 订单主信息
/// 订单扩展信息
/// 订单印刷选项
///
bool UpdateOrderInfo(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, EC_OrderPrintParameter orderParam = null);
/////
///// 修改订单状态
/////
///// 状态编号
///// 订单编号集合
/////
//bool UpdataOrderState(int stateId, params int[] orderIds);
///
/// 更新订单支付状态
///
/// 订单编号
///
bool UpdateOrderPayState(int orderId);
///
/// 更新订单支付金额
///
/// 订单编号
/// 支付方式(-1:收款、1:付款)
/// 支付请求
///
bool UpdateOrderPayedMoney(int orderId, int payWay, Pay_Request payRequest);
///
/// 支付订单
///
/// 订单编号
/// 支付请求
/// 受理手续费
/// 外协金额
///
bool PayOrder(int orderId, Pay_Request payRequest, double commission, decimal OutAllMoney = 0);
///
/// 受理订单
///
/// 订单编号
/// 受理佣金(受理订单时站方收取的服务费)
///
bool AcceptOrder(int orderId, double commission);
///
/// 根据订单编号获取订单
///
/// 订单编号
///
EC_OrderBasic GetOrderById(int orderId);
///
/// 订单退款
///
/// 要更新的订单状态
/// 支付请求
///
bool OrderRefund(EC_OrderOperate orderOperate, params Pay_Request[] payRequests);
///
/// 后道,整单外协
///
///
///
///
///
///
///
bool OutOrder(EC_OrderBasic orderBasic, EC_AcceptWayByOrder acceptWayByOrder, EC_OrderPrintParameter orderPrintParameter, EC_OrderOperate m_EC_OrderOperate, int? RelationTypeid, string orderIds);
///
/// 修改外协订单
///
///
///
///
///
bool UpdateOutOrderInfo(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, EC_OrderPrintParameter orderParam = null);
//
/// 获取已支付订单的明细
///
///
IEnumerable GetOrderListByFinish(Infrastructure.Query.Pagination pagination, string startDate, string endDate, string province, string city, string county);
OA_OrderWorkListRelation GetModelById(int? orderId);
bool OldUpdate(EC_OrderExtend model);
bool OldUpdateDelayTime(EC_OrderExtend model);
bool OldUpdateProductionprogress(EC_OrderExtend model);
bool OldUpdateKaipiaoshenqing(EC_OrderExtend model);
bool OldUpdateKaipiaoqueren(EC_OrderExtend model);
bool OldUpdateQuchudingdan(EC_OrderExtend model);
bool OldUpdateKehuqianshou(EC_OrderExtend model);
IEnumerable GetshoukuantixingList(Infrastructure.Query.Pagination pagination, Guid FirmId, string province, string city, string county ,string CustomerTypeId, string CompanyName, string BusinessManagerId, string AccountManagerId);
IEnumerable GetshoukuantixingorderidList(Guid FirmId, string shoukuanshijian, string Paytime,string BuyerId);
IEnumerable GetxiaoshouchaxunList(Infrastructure.Query.Pagination pagination, Guid FirmId, string province, string city, string county, string DegreeImportanId, string CompanyName, string BusinessManagerId, string CreditId, string Shifouwanjie
,string selLastOrderTime, string selOrderCount, string selOrderMoney, string OrderCount, string OrderMoney, string LastOrderTime);
IEnumerable GetxiaoshouyejiList(Infrastructure.Query.Pagination pagination, Guid FirmId, string BusinessManagerId, string chaxuntime);
IEnumerable GetyewurenportList(Infrastructure.Query.Pagination pagination, Guid FirmId, string BusinessManagerId, string chaxuntimestart, string chaxuntimeend);
}
}