p-honggang.li
9 天以前 c8a179a0bdbc7bdc987788e129efce16d467889f
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
package com.webmanage.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import com.webmanage.common.PageResult;
import com.webmanage.dto.CreateOrderDTO;
import com.webmanage.dto.FileCheckDTO;
import com.webmanage.dto.OrderQueryDTO;
import com.webmanage.dto.UpdateOrderDetailDTO;
import com.webmanage.entity.OrderInfo;
import com.webmanage.vo.OrderDetailVO;
import com.webmanage.dto.OrderApprovalDTO;
 
/**
 * 订单信息Service接口
 */
public interface OrderInfoService extends IService<OrderInfo> {
 
    /**
     * 分页查询买家订单列表
     */
    PageResult<OrderDetailVO> getBuyerOrderPage(OrderQueryDTO queryDTO);
 
    /**
     * 分页查询卖家订单列表
     */
    PageResult<OrderDetailVO> getSellerOrderPage(OrderQueryDTO queryDTO);
 
    /**
     * 分页查询买家订单列表(支持产品条件)
     */
    PageResult<OrderDetailVO> getBuyerOrderPageWithProductConditions(OrderQueryDTO queryDTO);
 
    /**
     * 分页查询卖家订单列表(支持产品条件)
     */
    PageResult<OrderDetailVO> getSellerOrderPageWithProductConditions(OrderQueryDTO queryDTO);
 
    /**
     * 分页查询待审批订单列表
     */
    PageResult<OrderDetailVO> getPendingApprovalOrderPage(OrderQueryDTO queryDTO);
 
    /**
     * 分页查询待审批订单列表(支持产品条件)
     */
    PageResult<OrderInfo> getPendingApprovalOrderPageWithProductConditions(OrderQueryDTO queryDTO);
 
    /**
     * 获取订单详情
     */
    OrderDetailVO getOrderDetail(String orderId);
 
    /**
     * 创建订单(包含订单头与明细插入),返回订单编号
     */
    OrderInfo createOrder(CreateOrderDTO createOrderDTO);
 
    /**
     * 上传订单附件
     */
    Long uploadOrderAttachment(String orderId, String fileName, String originalName, 
                             String fileType, Long fileSize, String fileUrl, 
                             String bucketName, String objectName, Long uploadUserId, 
                             String uploadUserName, String attachmentType, String description);
 
    /**
     * 添加订单评价
     */
    boolean addOrderEvaluation(String orderId, Long evaluatorId, String evaluatorName, 
                             String evaluatorType, String content, Integer rating, 
                             Integer serviceRating, Integer qualityRating, Integer deliveryRating, 
                             Boolean isAnonymous);
 
    /**
     * 更新订单状态到下一个状态
     * @param orderId 订单ID
     * @return 是否更新成功
     */
    boolean updateOrderStatusToNext(String orderId);
 
    /**
     * 删除订单附件
     * @param attachmentId 附件ID
     * @return 是否删除成功
     */
    boolean deleteOrderAttachment(Long attachmentId);
 
    /**
     * 更新订单状态到上一个状态
     * @param orderId 订单ID
     * @return 是否更新成功
     */
    boolean updateOrderStatusToPrevious(String orderId);
 
    /**
     * 交易确认
     */
    boolean confirmTransaction(String orderId, Long userId);
 
    /**
     * 回复评价
     */
    boolean replyEvaluation(Long evaluationId, String replyContent, Long replyUserId);
 
    /**
     * 更新订单详情(包含订单状态和详情备注)
     */
    boolean updateOrderDetail(UpdateOrderDetailDTO updateOrderDetailDTO);
 
    /**
     * 文件核查
     */
    boolean checkFiles(FileCheckDTO fileCheckDTO);
 
    /**
     * 审批通过
     */
    boolean approveOrder(OrderApprovalDTO orderApprovalDTO);
 
    /**
     * 检查订单是否包含协议类型的子订单
     * @param orderId 订单ID
     * @return 是否包含协议类型子订单
     */
    boolean hasAgreementPriceType(String orderId);
 
    /**
     * 只更新订单详情的备注信息(不更新订单状态)
     * @param updateOrderDetailDTO 更新订单详情DTO
     * @return 是否更新成功
     */
    boolean updateOrderDetailRemarksOnly(UpdateOrderDetailDTO.UpdateOrderDetailRemarksOnlyDTO updateOrderDetailDTO);
 
    /**
     * 取消订单
     * @param orderId 订单ID
     * @return 是否取消成功
     */
    boolean cancelOrder(String orderId);
 
    /**
     * 根据订单ID更新工作流ID
     * @param orderId 订单ID
     * @param workflowId 工作流实例ID
     * @return 是否更新成功
     */
    boolean updateWorkflowId(String orderId, String workflowId);
 
    /**
     * 根据产品ID判断是否存在未取消且已完成的关联订单
     * @param productId 产品ID
     * @return 存在返回true,不存在返回false
     */
    boolean existsCompletedNotCancelledOrderByProductId(String productId);
 
    boolean updateOrderIsEvaluate(String orderId);
}