From e50954f0708ecbbc672352102ae3b24279d40cc1 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 16 四月 2026 20:12:50 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 server/services/src/main/java/com/doumee/service/business/OrdersService.java |  301 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 251 insertions(+), 50 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/OrdersService.java b/server/services/src/main/java/com/doumee/service/business/OrdersService.java
index f2695ea..58debcd 100644
--- a/server/services/src/main/java/com/doumee/service/business/OrdersService.java
+++ b/server/services/src/main/java/com/doumee/service/business/OrdersService.java
@@ -1,30 +1,40 @@
 package com.doumee.service.business;
 
-import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
-import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.Orders;
-import com.doumee.dao.dto.*;
-import com.doumee.dao.vo.OrderReleaseVO;
-import com.wechat.pay.java.service.refund.model.RefundNotification;
+import com.doumee.dao.dto.CalculateLocalPriceDTO;
+import com.doumee.dao.dto.CalculateRemotePriceDTO;
+import com.doumee.dao.dto.CreateOrderDTO;
+import com.doumee.dao.dto.DispatchDTO;
+import com.doumee.dao.dto.CommentOrderDTO;
+import com.doumee.dao.dto.MyOrderDTO;
+import com.doumee.dao.vo.MyOrderDetailVO;
+import com.doumee.dao.vo.MyOrderVO;
+import com.doumee.dao.vo.OrderDetailVO;
+import com.doumee.dao.vo.OrderDispatchVO;
+import com.doumee.dao.vo.OrderSummaryVO;
+import com.doumee.dao.vo.OverdueFeeVO;
+import com.doumee.dao.vo.PayResponse;
+import com.doumee.dao.vo.PriceCalculateVO;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
- * 璁㈠崟淇℃伅璁板綍Service瀹氫箟
- * @author 姹熻箘韫�
- * @date 2025/07/09 12:00
+ * 瀵勫瓨璁㈠崟淇℃伅Service瀹氫箟
+ * @author rk
+ * @date 2026/04/10
  */
 public interface OrdersService {
 
     /**
      * 鍒涘缓
-     * 
+     *
      * @param orders 瀹炰綋瀵硅薄
      * @return Integer
      */
-    OrderReleaseVO create(Orders orders);
+    Integer create(Orders orders);
 
     /**
      * 涓婚敭鍒犻櫎
@@ -52,15 +62,14 @@
      *
      * @param orders 瀹炰綋瀵硅薄
      */
-//    void updateById(Orders orders);
+    void updateById(Orders orders);
 
-    void update(Orders orders);
     /**
      * 鎵归噺涓婚敭鏇存柊
      *
-     * @param orderss 瀹炰綋闆�
+     * @param ordersList 瀹炰綋闆�
      */
-    void updateByIdInBatch(List<Orders> orderss);
+    void updateByIdInBatch(List<Orders> ordersList);
 
     /**
      * 涓婚敭鏌ヨ
@@ -85,7 +94,7 @@
      * @return List<Orders>
      */
     List<Orders> findList(Orders orders);
-  
+
     /**
      * 鍒嗛〉鏌ヨ
      *
@@ -102,56 +111,248 @@
      */
     long count(Orders orders);
 
-    void accept(Integer orderId, Member member);
-
-    void begin(Integer orderId,Member member);
-
-//    void updOrderData(UpdOrderDataDTO updOrderDataDTO);
-//
-    void confirmUpd(ConfirmUpdOrderDTO confirmUpdOrderDTO);
+    /**
+     * 鏌ヨ璁㈠崟璇︽儏
+     *
+     * @param id 涓婚敭
+     * @return OrderDetailVO
+     */
+    OrderDetailVO findDetail(Integer id);
 
     /**
-     * 璁㈠崟鍙栨秷鍓嶇疆鎻愮ず
-     * @param orderId
-     * @param member
-     * @return
+     * 浼氬憳绔鍗曡鎯�
+     *
+     * @param id       璁㈠崟涓婚敭
+     * @param memberId 浼氬憳涓婚敭
+     * @return MyOrderDetailVO
      */
-    String cancelTips(Integer orderId,Member member);
-
-    void cancelOrder(Integer orderId,Member member);
-
-    OrderReleaseVO doneOrder(DoneOrderDTO doneOrderDTO);
-
-    void comment(CommentDTO commentDTO);
+    MyOrderDetailVO findMyOrderDetail(Integer id, Integer memberId);
 
     /**
-     * 鏀粯鍥炶皟涓氬姟
-     * @param preOrderId
-     * @return
+     * 浼氬憳鍙栨秷璁㈠崟锛堜粎寮傚湴瀵勫瓨锛�
+     *
+     * @param orderId  璁㈠崟涓婚敭
+     * @param memberId 浼氬憳涓婚敭
+     * @param reason   鍙栨秷鍘熷洜
      */
-    String payNotify(String preOrderId,String paymentNo);
+    void cancelOrder(Integer orderId, Integer memberId, String reason);
 
-    void platformCancel(Integer orderId, LoginUserInfo loginUserInfo);
+    /**
+     * 瀵勫瓨璁㈠崟鏀粯鍥炶皟澶勭悊
+     *
+     * @param outTradeNo 鍟嗘埛璁㈠崟鍙�
+     * @param wxTradeNo  寰俊璁㈠崟鍙�
+     */
+    void handleStorageOrderPayNotify(String outTradeNo, String wxTradeNo);
 
-    PageData<Orders> findPageForMini(PageWrap<Orders> pageWrap);
+    /**
+     * 闂ㄥ簵鏍搁攢鏀朵欢
+     *
+     * @param verifyCode 鏍搁攢鐮�
+     * @param shopId     闂ㄥ簵涓婚敭
+     * @param images     鍥剧墖鍦板潃鍒楄〃锛堟渶澶�3寮狅級
+     * @param remark     澶囨敞
+     */
+    void shopVerifyOrder(String verifyCode, Integer shopId, List<String> images, String remark);
 
-    Orders getDetail(Integer id,Member member);
+    /**
+     * 闂ㄥ簵绔煡璇㈣鍗曡鎯�
+     * 鏀寔鎸夎鍗曚富閿垨鏍搁攢鐮佹煡璇紝澶嶇敤浼氬憳绔鎯呴�昏緫
+     *
+     * @param orderId    璁㈠崟涓婚敭锛堜笌verifyCode浜岄�変竴锛�
+     * @param verifyCode 鏍搁攢鐮侊紙涓巓rderId浜岄�変竴锛�
+     * @return 璁㈠崟璇︽儏
+     */
+    MyOrderDetailVO findShopOrderDetail(Integer orderId, String verifyCode);
 
-    void refundCallback(RefundNotification refundNotification);
+    /**
+     * 鏌ヨ鎵嬪姩娲惧崟淇℃伅
+     *
+     * @param id 璁㈠崟涓婚敭
+     * @return OrderDispatchVO
+     */
+    OrderDispatchVO findDispatchInfo(Integer id);
 
-    void autoComment();
+    /**
+     * 璁㈠崟娲惧崟
+     *
+     * @param dto 娲惧崟鍙傛暟
+     */
+    void dispatch(DispatchDTO dto);
 
-    void autoConfirm();
+    /**
+     * 鏍规嵁鍒嗛〉鏌ヨ鏉′欢缁熻璁㈠崟姹囨��
+     *
+     * @param pageWrap 鍒嗛〉鏌ヨ鏉′欢
+     * @return OrderSummaryVO
+     */
+    OrderSummaryVO findSummary(PageWrap<Orders> pageWrap);
 
-    Long getTotal(Orders orders);
+    /**
+     * 璁$畻淇濅环璐圭敤
+     *
+     * @param declaredValue 鎶ヤ环閲戦
+     * @return 淇濅环璐圭敤
+     */
+    BigDecimal calculateInsuranceFee(BigDecimal declaredValue);
 
-    void autoGrabOrders();
+    /**
+     * 璁$畻灏卞湴瀛樺彇棰勪及璐圭敤
+     *
+     * @param dto 灏卞湴瀛樺彇璁′环璇锋眰鍙傛暟
+     * @return 浠锋牸璁$畻缁撴灉
+     */
+    PriceCalculateVO calculateLocalPrice(CalculateLocalPriceDTO dto);
 
-    void initializeCode();
+    /**
+     * 璁$畻寮傚湴瀛樺彇棰勪及璐圭敤
+     *
+     * @param dto 寮傚湴瀛樺彇璁′环璇锋眰鍙傛暟
+     * @return 浠锋牸璁$畻缁撴灉
+     */
+    PriceCalculateVO calculateRemotePrice(CalculateRemotePriceDTO dto);
 
-    OrderReleaseVO reusePay(ReusePayDTO reusePayDTO);
+    /**
+     * 鍒涘缓璁㈠崟骞跺敜璧峰井淇℃敮浠�
+     *
+     * @param dto      鍒涘缓璁㈠崟璇锋眰鍙傛暟
+     * @param memberId 褰撳墠鐧诲綍浼氬憳ID
+     * @return 鏀粯鍝嶅簲
+     */
+    PayResponse createOrder(CreateOrderDTO dto, Integer memberId);
 
-    void confirmFee(ConfirmFeeOrderDTO orders);
+    /**
+     * 缁х画鏀粯锛堝緟鏀粯璁㈠崟閲嶆柊鍞よ捣寰俊鏀粯锛�
+     *
+     * @param orderId  璁㈠崟涓婚敭
+     * @param memberId 褰撳墠鐧诲綍浼氬憳ID
+     * @return 鏀粯鍝嶅簲
+     */
+    PayResponse continuePay(Integer orderId, Integer memberId);
 
-    void autoCancelWaitPay();
-}
+    /**
+     * 灏忕▼搴忕-鏌ヨ鎴戠殑璁㈠崟鍒嗛〉
+     *
+     * @param pageWrap 鍒嗛〉鏌ヨ鍙傛暟锛坢odel鍚玸tatus锛�
+     * @param memberId 浼氬憳涓婚敭
+     * @return 鍒嗛〉缁撴灉
+     */
+    PageData<MyOrderVO> findMyOrderPage(PageWrap<MyOrderDTO> pageWrap, Integer memberId);
+
+    /**
+     * 鏌ヨ璁㈠崟瓒呮椂璐圭敤
+     *
+     * @param orderId 璁㈠崟涓婚敭
+     * @return 瓒呮椂璐圭敤璁$畻缁撴灉
+     */
+    OverdueFeeVO calculateOverdueFee(Integer orderId);
+
+    /**
+     * 鍙告満鏍搁攢锛堝紓鍦板瘎瀛樹笖鏈夊彇浠堕棬搴楋級
+     * 娲鹃�佷腑(4) 鈫� 宸插埌搴�(5)锛屾牎楠屽徃鏈烘牳閿�鐮�
+     *
+     * @param verifyCode 鍙告満鏍搁攢鐮�
+     * @param images     鍥剧墖鍦板潃鍒楄〃锛堟渶澶�3寮狅級
+     * @param remark     澶囨敞
+     * @param driverId   鍙告満锛堜細鍛橈級涓婚敭
+     */
+    void driverVerifyOrder(String verifyCode, List<String> images, String remark, Integer driverId);
+
+    /**
+     * 纭椤惧宸插埌搴�
+     * 灏卞湴瀵勫瓨/寮傚湴瀵勫瓨锛屼笖瀛樺湪鍙栦欢闂ㄥ簵锛岀姸鎬佷负寰呭彇浠�(5)
+     * 妫�鏌ラ�炬湡鐘舵�侊細閫炬湡鍒欐爣璁伴�炬湡锛屾湭閫炬湡鍒欏畬鎴愯鍗�
+     *
+     * @param orderId 璁㈠崟涓婚敭
+     * @param shopId  褰撳墠鎿嶄綔闂ㄥ簵涓婚敭
+     */
+    void confirmCustomerArrived(Integer orderId, Integer shopId);
+
+    /**
+     * 閫炬湡璐圭敤鏀粯锛堝敜璧峰井淇℃敮浠橈級
+     *
+     * @param orderId  瀵勫瓨璁㈠崟涓婚敭
+     * @param memberId 褰撳墠鐧诲綍浼氬憳ID
+     * @return 鏀粯鍝嶅簲
+     */
+    PayResponse payOverdueFee(Integer orderId, Integer memberId);
+
+    /**
+     * 閫炬湡璐圭敤鏀粯鍥炶皟澶勭悊
+     *
+     * @param outTradeNo 鍟嗘埛璁㈠崟鍙�
+     * @param wxTradeNo  寰俊璁㈠崟鍙�
+     */
+    void handleOverdueFeePayNotify(String outTradeNo, String wxTradeNo);
+
+    /**
+     * 鍙栦欢闂ㄥ簵纭鍑哄簱
+     * 灏卞湴瀵勫瓨/寮傚湴瀵勫瓨锛屽瓨鍦ㄥ彇浠堕棬搴楋紝status=5锛宱verdueStatus=0/2锛宑onfirmArriveTime涓嶄负绌�
+     * 鍑哄簱鍚庤鍗曞畬鎴�
+     *
+     * @param orderId 璁㈠崟涓婚敭
+     * @param shopId  褰撳墠鎿嶄綔闂ㄥ簵涓婚敭
+     * @param images  鍑哄簱鍥剧墖锛堟渶澶�3寮狅級
+     * @param remark  鍑哄簱澶囨敞
+     */
+    void confirmStoreOut(Integer orderId, Integer shopId, List<String> images, String remark);
+
+    /**
+     * 璁$畻骞舵洿鏂拌鍗曚笁鏂规敹鐩婏紙瀛樹欢闂ㄥ簵/鍙栦欢闂ㄥ簵/鍙告満锛�
+     * 灏卞湴瀵勫瓨锛氫粎瀛樹欢闂ㄥ簵鏀剁泭
+     * 寮傚湴瀵勫瓨锛氬瓨浠堕棬搴� + 鍙告満鏀剁泭锛涙湁鍙栦欢闂ㄥ簵鏃跺姞涓婂彇浠堕棬搴楁敹鐩�
+     *
+     * @param orderId 璁㈠崟涓婚敭
+     */
+    void calculateAndSaveOrderFees(Integer orderId);
+
+    /**
+     * 浼氬憳鍒犻櫎璁㈠崟锛堥�昏緫鍒犻櫎锛屼粎宸插畬鎴�/宸插彇娑�/宸查��娆捐鍗曞彲鍒犻櫎锛�
+     *
+     * @param orderId  璁㈠崟涓婚敭
+     * @param memberId 浼氬憳涓婚敭
+     */
+    void deleteMyOrder(Integer orderId, Integer memberId);
+
+    /**
+     * 闂ㄥ簵鏀粯鎶奸噾锛堝敜璧峰井淇℃敮浠橈級
+     *
+     * @param shopId 闂ㄥ簵涓婚敭
+     * @return 鏀粯鍝嶅簲
+     */
+    PayResponse payShopDeposit(Integer shopId);
+
+    /**
+     * 闂ㄥ簵鎶奸噾鏀粯鍥炶皟澶勭悊
+     *
+     * @param outTradeNo 鍟嗘埛璁㈠崟鍙�
+     * @param wxTradeNo  寰俊璁㈠崟鍙�
+     */
+    void handleShopDepositPayNotify(String outTradeNo, String wxTradeNo);
+
+    /**
+     * 璁㈠崟缁撶畻锛氭牴鎹� SETTLEMENT_DATE 閰嶇疆锛屽皢宸插畬鎴愮殑寰呯粨绠楄鍗曡繘琛岀粨绠�
+     * 鏇存柊璁㈠崟缁撶畻鐘舵�併�丷evenue 鍏ヨ处鐘舵�併�侀棬搴�/鍙告満浣欓
+     */
+    void settleOrders();
+
+    /**
+     * 璁㈠崟璇勪环
+     * status=7涓攃ommentStatus=0鏃跺彲璇勪环锛屾寜瀵硅薄锛堝瓨浠堕棬搴�/鍙栦欢闂ㄥ簵/鍙告満锛夊垎鍒褰曡瘎鍒�
+     *
+     * @param dto      璇勪环璇锋眰
+     * @param memberId 褰撳墠鐧诲綍浼氬憳ID
+     */
+    void commentOrder(CommentOrderDTO dto, Integer memberId);
+
+    /**
+     * 闂ㄥ簵绔鍗曞垎椤靛垪琛�
+     * 鏌ヨ瀛樹欢闂ㄥ簵鎴栧彇浠堕棬搴楃瓑浜庡綋鍓嶇櫥褰曢棬搴楃殑璁㈠崟
+     *
+     * @param pageWrap 鍒嗛〉鏌ヨ鍙傛暟锛坢odel鍚玸tatus/combinedStatus锛�
+     * @param shopId   褰撳墠鐧诲綍闂ㄥ簵涓婚敭
+     * @return 鍒嗛〉缁撴灉
+     */
+    PageData<MyOrderVO> findShopOrderPage(PageWrap<MyOrderDTO> pageWrap, Integer shopId);
+
+}
\ No newline at end of file

--
Gitblit v1.9.3