username@email.com
2021-09-15 8599ec3bfa6d2fc9768403f59a0e7102758bc14d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
/**  
* 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
{
 
    /// <summary>
    /// 订单操作访问接口
    /// </summary>
    public interface IEC_OrderDAL : ICommonDAL
    {
        /// <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 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="orderPrintParameter">印刷参数对象</param>
        /// <returns></returns>
        bool NewOrder(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, EC_OrderPrintParameter orderPrintParameter);
 
        /// <summary>
        /// 修改订单信息
        /// </summary>
        /// <param name="orderBasic">订单主信息</param>
        /// <param name="orderExtend">订单扩展信息</param>
        /// <param name="orderParam">订单印刷选项</param>
        /// <returns></returns>
        bool UpdateOrderInfo(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, EC_OrderPrintParameter orderParam = null);
 
        ///// <summary>
        ///// 修改订单状态
        ///// </summary>
        ///// <param name="stateId">状态编号</param>
        ///// <param name="orderIds">订单编号集合</param>
        ///// <returns></returns>
        //bool UpdataOrderState(int stateId, params int[] orderIds);
 
        /// <summary>
        /// 更新订单支付状态
        /// </summary>
        /// <param name="orderId">订单编号</param>
        /// <returns></returns>
        bool UpdateOrderPayState(int orderId);
 
        /// <summary>
        /// 更新订单支付金额
        /// </summary>
        /// <param name="orderId">订单编号</param>
        /// <param name="payWay">支付方式(-1:收款、1:付款)</param>
        /// <param name="payRequest">支付请求</param>
        /// <returns></returns>
        bool UpdateOrderPayedMoney(int orderId, int payWay, Pay_Request payRequest);
 
        /// <summary>
        /// 支付订单
        /// </summary>
        /// <param name="orderId">订单编号</param>
        /// <param name="payRequest">支付请求</param>
        /// <param name="commission">受理手续费</param>
        /// <param name="OutAllMoney">外协金额</param>
        /// <returns></returns>
        bool PayOrder(int orderId, Pay_Request payRequest, double commission, decimal OutAllMoney = 0);
 
        /// <summary>
        /// 受理订单
        /// </summary>
        /// <param name="orderId">订单编号</param>
        /// <param name="commission">受理佣金(受理订单时站方收取的服务费)</param>
        /// <returns></returns>
        bool AcceptOrder(int orderId, double commission);
 
        /// <summary>
        /// 根据订单编号获取订单 
        /// </summary>
        /// <param name="orderId">订单编号</param>
        /// <returns></returns>
        EC_OrderBasic GetOrderById(int orderId);
 
        /// <summary>
        /// 订单退款
        /// </summary>
        /// <param name="orderOperate">要更新的订单状态</param>
        /// <param name="payRequests">支付请求</param>
        /// <returns></returns>
        bool OrderRefund(EC_OrderOperate orderOperate, params Pay_Request[] payRequests);
 
        /// <summary>
        /// 后道,整单外协
        /// </summary>
        /// <param name="orderBasic"></param>
        /// <param name="acceptWayByOrder"></param>
        /// <param name="orderPrintParameter"></param>
        /// <param name="m_EC_OrderOperate"></param>
        /// <param name="RelationTypeid"></param>
        /// <returns></returns>
        bool OutOrder(EC_OrderBasic orderBasic, EC_AcceptWayByOrder acceptWayByOrder, EC_OrderPrintParameter orderPrintParameter, EC_OrderOperate m_EC_OrderOperate, int? RelationTypeid, string orderIds);
 
        /// <summary>
        /// 修改外协订单
        /// </summary>
        /// <param name="orderBasic"></param>
        /// <param name="orderExtend"></param>
        /// <param name="orderParam"></param>
        /// <returns></returns>
        bool UpdateOutOrderInfo(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, EC_OrderPrintParameter orderParam = null);
 
        // <summary>
        /// 获取已支付订单的明细
        /// </summary>
        /// <returns></returns>
        IEnumerable<EC_OrderBasic> 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<OA_DeliverPlan> GetshoukuantixingList(Infrastructure.Query.Pagination pagination, Guid FirmId, string province, string city, string county ,string CustomerTypeId, string CompanyName, string BusinessManagerId, string AccountManagerId);
 
        IEnumerable<OA_DeliverPlan> GetshoukuantixingorderidList(Guid FirmId, string shoukuanshijian, string Paytime,string BuyerId);
 
        IEnumerable<OA_DeliverPlan> 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<OA_DeliverPlan> GetxiaoshouyejiList(Infrastructure.Query.Pagination pagination, Guid FirmId, string BusinessManagerId, string chaxuntime);
 
        IEnumerable<OA_DeliverPlan> GetyewurenportList(Infrastructure.Query.Pagination pagination, Guid FirmId, string BusinessManagerId, string chaxuntimestart, string chaxuntimeend);
    }
}