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<OrderInfo> getPendingApprovalOrderPage(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);
|
}
|