zhijiezhao 3 роки тому
батько
коміт
efbe74d03a

+ 2 - 0
src/main/java/com/caimei/modules/order/dao/NewShopOrderDao.java

@@ -73,4 +73,6 @@ public interface NewShopOrderDao extends CrudDao<NewShopOrder> {
     List<String> findShopOrderNos(Integer orderID);
 
     Double findIncome(Integer orderID);
+
+    List<NewShopOrder> findSplitList(NewShopOrder shopOrder);
 }

+ 15 - 2
src/main/java/com/caimei/modules/order/service/NewShopOrderService.java

@@ -272,6 +272,11 @@ public class NewShopOrderService extends CrudService<NewShopOrderDao, NewShopOrd
         }
         List<NewShopOrder> payOrderList = newShopOrderDao.findPayOrderList(shopOrder);
         page.setList(payOrderList);
+        setValue(payOrderList);
+        return page;
+    }
+
+    public void setValue(List<NewShopOrder> payOrderList){
         for (NewShopOrder so : payOrderList) {
             //统计该子订单的主的收款金额和收款状态
             NewOrder newOrder = newOrderDao.get(so.getOrderID().toString());
@@ -347,7 +352,6 @@ public class NewShopOrderService extends CrudService<NewShopOrderDao, NewShopOrd
             BigDecimal refundsAmount = MathUtil.add(so.getRefundsAmount(), shopRefundAmount);
             so.setRefundsAmount(refundsAmount.doubleValue());*/
         }
-        return page;
     }
 
     public Double getOrderReturnedPurchaseFee(NewShopOrder so) {
@@ -413,7 +417,7 @@ public class NewShopOrderService extends CrudService<NewShopOrderDao, NewShopOrd
             shopOrder.setDiscountTotalFee(newOrder.getDiscountFee());
             //机构运费
             shopOrder.setFreight(newOrder.getFreight());
-            if("0".equals(newOrder.getFreePostFlag())||"-1".equals(newOrder.getFreePostFlag())||"-2".equals(newOrder.getFreePostFlag())){
+            if ("0".equals(newOrder.getFreePostFlag()) || "-1".equals(newOrder.getFreePostFlag()) || "-2".equals(newOrder.getFreePostFlag())) {
                 shopOrder.setFreight(Double.valueOf(newOrder.getFreePostFlag()));
             }
             //机构运费是否已退
@@ -654,4 +658,13 @@ public class NewShopOrderService extends CrudService<NewShopOrderDao, NewShopOrd
     public List<CmDiscernReceipt> getDiscernReceipts(Integer shopOrderId) {
         return cmPayShopDao.getDiscernReceipts(shopOrderId);
     }
+
+    @Transactional(readOnly = false)
+    public Page<NewShopOrder> findSplitList(Page<NewShopOrder> page, NewShopOrder shopOrder) {
+        shopOrder.setPage(page);
+        List<NewShopOrder> payOrderList = newShopOrderDao.findSplitList(shopOrder);
+        setValue(payOrderList);
+        page.setList(payOrderList);
+        return page;
+    }
 }

+ 8 - 0
src/main/java/com/caimei/modules/order/web/CmShopOrderController.java

@@ -104,6 +104,14 @@ public class CmShopOrderController extends BaseController {
         return "modules/order/cmRefundRecordList";
     }
 
+    @RequestMapping("splitList")
+    public String SplitAccount(NewShopOrder newShopOrder, HttpServletRequest request, HttpServletResponse response, Model model){
+        //1. 展示付款状态为待付款和部分付款状态的线上支付的子订单;
+        //2. 子订单按下单时间降序排列
+        Page<NewShopOrder> page = newShopOrderService.findSplitList(new Page<>(request, response),newShopOrder);
+        model.addAttribute("page", page);
+        return "modules/order/cmSplitAccountList";
+    }
 
     @RequestMapping("payShopRemark")
     public String payShopRemark(CmChangePayShopRecond cmChangePayShopRecond, HttpServletRequest request, HttpServletResponse response, Model model) {

+ 105 - 0
src/main/resources/mappings/modules/order/ShopOrderMapper.xml

@@ -1002,4 +1002,109 @@
             differencePrice = #{differencePrice}
         WHERE shopOrderID = #{shopOrderId}
     </update>
+
+    <select  id="findSplitList" resultType="newShopOrder">
+        SELECT
+            co.couponAmount AS couponAmount,
+            co.userBeans AS userBeans,
+            a.shopOrderID AS shopOrderID,
+            a.orderID AS orderID,
+            a.organizeID AS organizeID,
+            a.shopOrderNo AS  shopOrderNo,
+            a.orderNo AS  orderNo,
+            a.userID  AS userID,
+            a.shopID  AS shopID,
+            a.itemCount  AS itemCount,
+            a.townID  AS townID,
+            a.productAmount  AS productAmount,
+            a.discountAmount AS  discountAmount,
+            a.accountAmount AS  accountAmount,
+            a.totalAmount AS  totalAmount,
+            a.payFlag  AS payFlag,
+            a.payTime  AS payTime,
+            a.finishTime AS finishTime,
+            a.refundStatus AS  refundStatus,
+            a.needPayAmount AS  needPayAmount,
+            a.canRefundAmount AS  canRefundAmount,
+            a.refundAmount AS  refundAmount,
+            a.clubID  AS clubID,
+            a.spID AS  spID,
+            a.mainSpID  AS mainSpID,
+            a.orderBeanAmount AS  orderBeanAmount,
+            a.useBeanAmount AS  useBeanAmount,
+            a.useBeanFlag AS  useBeanFlag,
+            a.canRefundFlag AS  canRefundFlag,
+            a.useBalanceFlag  AS useBalanceFlag,
+            a.canRefundBeans AS  canRefundBeans,
+            a.freePostageFee AS  freePostageFee,
+            a.freePostageTicketID  AS freePostageTicketID,
+            a.brokerage  AS brokerage,
+            a.delFlag  AS delFlag,
+            a.refundsAmount  AS refundsAmount,
+            a.orderStatusFlag  AS orderStatusFlag,
+            a.buyStatus AS buyStatus,
+            a.orderSubmitType AS orderSubmitType,
+            a.orderType AS orderType,
+            a.orderTime AS orderTime,
+            a.deliveryTimeMills AS deliveryTimeMills,
+            a.presentNum AS presentNum,
+            a.preferential AS preferential,
+            a.outStoreNum AS outStoreNum,
+            IFNULL(a.outStoreTimes, 0) AS outStoreTimes,
+            a.splitFlag AS splitFlag,
+            a.autoReceiveTimeMills AS autoReceiveTimeMills,
+            a.autoOverTimeMills AS autoOverTimeMills,
+            a.receiveGoodsTime AS receiveGoodsTime,
+            a.totalAddedValueTax AS totalAddedValueTax,
+            a.note AS note,
+            a.payStatus AS payStatus,
+            a.sendOutStatus AS sendOutStatus,
+            a.shopProductAmount AS shopProductAmount,
+            a.shopPostFee AS shopPostFee,
+            a.shopTaxFee AS shopTaxFee,
+            a.shouldPayShopAmount AS shouldPayShopAmount,
+            a.payedShopAmount AS payedShopAmount,
+            a.shopOtherFee AS shopOtherFee,
+            a.paying AS paying,
+            a.costType AS costType,
+            a.modifyShouldPayNote AS modifyShouldPayNote,
+            a.orderPromotionsId AS orderPromotionsId,
+            a.differenceType AS differenceType,
+            a.differencePrice AS differencePrice,
+            a.proportional AS proportional,
+            a.promotionFullReduction AS promotionFullReduction,
+            a.zeroCostFlag AS zeroCostFlag,
+            co.payTotalFee AS payTotalFee,
+            co.status AS STATUS,
+            bou.name AS buyer,
+            s.name AS shopName,
+            c.name AS clubName
+        FROM cm_shop_order a
+        LEFT JOIN cm_pay_shop_record cpsr ON a.shopOrderID = cpsr.shopOrderID
+        LEFT JOIN bp_order_userinfo bou ON bou.orderId = a.orderID
+        LEFT JOIN cm_order co ON co.orderID = a.orderID
+        LEFT JOIN cm_receipt_order_relation cror ON cror.orderId = co.orderId
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        LEFT JOIN shop s ON s.shopID = a.shopID
+        LEFT JOIN club c ON c.userID = a.userID
+        WHERE
+            co.organizeID = 0
+          AND co.orderType != 2
+          AND co.refundType != 2
+          AND co.delFlag = 0
+          AND a.delFlag = 0
+          AND a.shopID != 998
+          AND cdr.payWay = 1
+          AND cdr.receiptDate <![CDATA[ <= ]]> NOW()
+          AND cror.relationType = 2
+          AND cror.delFlag = 0
+          AND cror.mbOrderId IS NOT NULL
+          AND cror.splitStatus = 0
+          AND co.orderID NOT IN (
+            SELECT orderID FROM cm_order_product WHERE productID IN
+                                                       (6060, 6061, 6062, 6063, 6064, 6065, 6066, 6067, 6068, 6069) GROUP BY orderID
+        )
+        GROUP BY a.shopOrderID
+        ORDER BY a.shopOrderID DESC
+    </select>
 </mapper>