Bang Hu
2 天以前 2b0b64182263d922b946ec898070e59b602382dc
src/main/java/com/webmanage/service/OrderInfoService.java
@@ -3,9 +3,12 @@
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接口
@@ -15,17 +18,32 @@
    /**
     * 分页查询买家订单列表
     */
    PageResult<OrderInfo> getBuyerOrderPage(OrderQueryDTO queryDTO);
    PageResult<OrderDetailVO> getBuyerOrderPage(OrderQueryDTO queryDTO);
    /**
     * 分页查询卖家订单列表
     */
    PageResult<OrderInfo> getSellerOrderPage(OrderQueryDTO queryDTO);
    PageResult<OrderDetailVO> getSellerOrderPage(OrderQueryDTO queryDTO);
    /**
     * 分页查询买家订单列表(支持产品条件)
     */
    PageResult<OrderDetailVO> getBuyerOrderPageWithProductConditions(OrderQueryDTO queryDTO);
    /**
     * 分页查询卖家订单列表(支持产品条件)
     */
    PageResult<OrderDetailVO> getSellerOrderPageWithProductConditions(OrderQueryDTO queryDTO);
    /**
     * 分页查询待审批订单列表
     */
    PageResult<OrderInfo> getPendingApprovalOrderPage(OrderQueryDTO queryDTO);
    PageResult<OrderDetailVO> getPendingApprovalOrderPage(OrderQueryDTO queryDTO);
    /**
     * 分页查询待审批订单列表(支持产品条件)
     */
    PageResult<OrderDetailVO> getPendingApprovalOrderPageWithProductConditions(OrderQueryDTO queryDTO);
    /**
     * 获取订单详情
@@ -40,18 +58,39 @@
    /**
     * 上传订单附件
     */
    boolean 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);
    Long uploadOrderAttachment(String orderId, String fileName, String originalName,
                             String fileType, Long fileSize, String fileUrl,
                             String bucketName, String objectName, String uploadUserId,
                             String uploadUserName, String attachmentType, String description);
    /**
     * 添加订单评价
     */
    boolean addOrderEvaluation(String orderId, Long evaluatorId, String evaluatorName,
    boolean addOrderEvaluation(String orderId, String 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);
    /**
     * 交易确认
@@ -62,4 +101,57 @@
     * 回复评价
     */
    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);
}