Procházet zdrojové kódy

Merge branch 'main' of http://47.98.207.247:3000/lsq/ship-ota-server into main

luofeiyun před 2 týdny
rodič
revize
db06f5b8ec

+ 4 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java

@@ -274,7 +274,10 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
             newDetail.setName(newVisitorId != null ? newVisitorId.getName() : (newVisitorId2 != null ? newVisitorId2.getName() : oldDetail.getName()));
             newDetail.setIdCard(newVisitorId != null ? newVisitorId.getCredentialNo() : (newVisitorId2 != null ? newVisitorId2.getCredentialNo() : oldDetail.getIdCard()) );
             newDetail.setTenantId(oldDetail.getTenantId());
-            newDetail.setPhone(newVisitorId != null ? newVisitorId.getMobile() : (newVisitorId2 != null ? newVisitorId2.getMobile() :  oldDetail.getPhone()));
+            String phone = (oldDetail.getPhone() != null && !oldDetail.getPhone().isEmpty()) ? oldDetail.getPhone()
+                    : ((newVisitorId != null && newVisitorId.getMobile() != null && !newVisitorId.getMobile().isEmpty()) ? newVisitorId.getMobile()
+                    : (newVisitorId2 != null && newVisitorId2.getMobile() != null && !newVisitorId2.getMobile().isEmpty()) ? newVisitorId2.getMobile() : null);
+            newDetail.setPhone(phone);
             newDetail.setRemark(oldDetail.getRemark());
             newDetail.setStatus(oldDetail.getStatus());
             newDetail.setSignTime(oldDetail.getSignTime());

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/pay/impl/TradeOrderPayServiceImpl.java

@@ -339,6 +339,7 @@ public class TradeOrderPayServiceImpl implements TradeOrderPayService {
                     }
                     //银行账单号
                     tradeOrderPayDO.setBillNo(payNotifyReqBO.getBillNo());
+                    tradeOrderPayDO.setPosNo(payNotifyReqBO.getChannelOrderNo());
                     //同步银行返回的支付时间
                     if (StrUtil.isNotBlank(payNotifyReqBO.getBillDate())) {
                         try {
@@ -396,6 +397,7 @@ public class TradeOrderPayServiceImpl implements TradeOrderPayService {
                     }
                     //银行账单号
                     tradeOrderPayDO.setBillNo(payNotifyReqBO.getBillNo());
+                    tradeOrderPayDO.setPosNo(payNotifyReqBO.getChannelOrderNo());
                     //同步银行返回的支付时间
                     if (StrUtil.isNotBlank(payNotifyReqBO.getBillDate())) {
                         try {

+ 12 - 10
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/report/IncomeOrderLedgerMapper.xml

@@ -23,15 +23,15 @@
             IFNULL(tot.free_num, 0) AS freeCount,
             (IFNULL(tot.adult_total_num, 0) + IFNULL(tot.child_total_num, 0) +
              IFNULL(tot.baby_total_num, 0) + IFNULL(tot.with_total_num, 0) + IFNULL(tot.free_num, 0)) AS totalCount,
-            p.pay_amount - COALESCE(refund_fee_sum.refund_amount, 0) AS marketingPrice,
+            IFNULL(p.pay_amount, 0) - COALESCE(refund_fee_sum.refund_amount, 0) AS marketingPrice,
             o.free_amount AS discountAmount,
             COALESCE(refund_fee_sum.refundFee, 0) AS refundFee,
-           (p.pay_amount - IFNULL(o.free_amount, 0) - COALESCE(refund_fee_sum.refundFee, 0) - COALESCE(refund_fee_sum.refund_amount, 0)) AS actualSettlementPrice
+           (IFNULL(p.pay_amount, 0) - IFNULL(o.free_amount, 0) - COALESCE(refund_fee_sum.refundFee, 0) - COALESCE(refund_fee_sum.refund_amount, 0)) AS actualSettlementPrice
         FROM trade_order o
         INNER JOIN product_voyage v ON o.voyage_id = v.id AND v.deleted = 0
         INNER JOIN resource_route r ON v.route_id = r.id AND r.deleted = 0
         LEFT JOIN trade_order_total tot ON o.id = tot.old_order_id AND tot.deleted = 0
-        INNER JOIN trade_order_pay p on p.order_id = o.id AND p.deleted = 0 and p.pay_status = 1
+        LEFT JOIN trade_order_pay p ON o.pay_status = 1 AND p.order_id = o.id AND p.deleted = 0 AND p.pay_status = 1
         LEFT JOIN (
             SELECT rm.order_id,
                    GROUP_CONCAT(DISTINCT rm.room_model_name SEPARATOR ',') AS room_model_name
@@ -46,12 +46,13 @@
             GROUP BY order_id
         ) refund_fee_sum ON o.id = refund_fee_sum.order_id
         WHERE o.deleted = 0
-        AND NOT EXISTS (
+        AND (o.pay_status != 1 OR p.id IS NOT NULL)
+        /*AND NOT EXISTS (
             SELECT 1 FROM ota_bill_order bo
             INNER JOIN ota_bill b ON bo.bill_id = b.id AND b.deleted = 0
             WHERE bo.order_id = o.id AND bo.deleted = 0
             AND b.bill_status = 0
-        )
+        )*/
         <if test="vo.orderNo != null and vo.orderNo != ''">
             AND o.order_no LIKE CONCAT('%', #{vo.orderNo}, '%')
         </if>
@@ -113,15 +114,15 @@
             IFNULL(tot.free_num, 0) AS freeCount,
             (IFNULL(tot.adult_total_num, 0) + IFNULL(tot.child_total_num, 0) +
              IFNULL(tot.baby_total_num, 0) + IFNULL(tot.with_total_num, 0) + IFNULL(tot.free_num, 0)) AS totalCount,
-            p.pay_amount - COALESCE(refund_fee_sum.refund_amount, 0) AS marketingPrice,
+            IFNULL(p.pay_amount, 0) - COALESCE(refund_fee_sum.refund_amount, 0) AS marketingPrice,
             o.free_amount AS discountAmount,
             COALESCE(refund_fee_sum.refundFee, 0) AS refundFee,
-            (p.pay_amount - IFNULL(o.free_amount, 0) - COALESCE(refund_fee_sum.refundFee, 0) - COALESCE(refund_fee_sum.refund_amount, 0)) AS actualSettlementPrice
+            (IFNULL(p.pay_amount, 0) - IFNULL(o.free_amount, 0) - COALESCE(refund_fee_sum.refundFee, 0) - COALESCE(refund_fee_sum.refund_amount, 0)) AS actualSettlementPrice
         FROM trade_order o
         INNER JOIN product_voyage v ON o.voyage_id = v.id AND v.deleted = 0
         INNER JOIN resource_route r ON v.route_id = r.id AND r.deleted = 0
         LEFT JOIN trade_order_total tot ON o.id = tot.old_order_id AND tot.deleted = 0
-        inner join trade_order_pay p on p.order_id = o.id AND p.deleted = 0 and p.pay_status = 1
+        LEFT JOIN trade_order_pay p ON o.pay_status = 1 AND p.order_id = o.id AND p.deleted = 0 AND p.pay_status = 1
         LEFT JOIN (
             SELECT rm.order_id,
                    GROUP_CONCAT(DISTINCT rm.room_model_name SEPARATOR ',') AS room_model_name
@@ -136,12 +137,13 @@
             GROUP BY order_id
         ) refund_fee_sum ON o.id = refund_fee_sum.order_id
         WHERE o.deleted = 0
-        AND NOT EXISTS (
+        AND (o.pay_status != 1 OR p.id IS NOT NULL)
+        /*AND NOT EXISTS (
             SELECT 1 FROM ota_bill_order bo
             INNER JOIN ota_bill b ON bo.bill_id = b.id AND b.deleted = 0
             WHERE bo.order_id = o.id AND bo.deleted = 0
             AND b.bill_status = 1
-        )
+        )*/
         <if test="vo.orderNo != null and vo.orderNo != ''">
             AND o.order_no LIKE CONCAT('%', #{vo.orderNo}, '%')
         </if>