Bladeren bron

Merge branch 'main' of http://117.174.100.38:3000/lishiqiang/ship-ota-server into main1

luofeiyun 6 dagen geleden
bovenliggende
commit
727e283327

+ 1 - 1
ship-module-ota/ship-module-ota-api/src/main/java/com/yc/ship/module/ota/enums/ErrorCodeConstants.java

@@ -45,6 +45,6 @@ public interface ErrorCodeConstants {
     ErrorCode ORDER_APPLIED_MARKETING_USED = new ErrorCode(50_105, "订单已申请使用营销政策");
     ErrorCode ORDER_NOT_MATCH_STORE = new ErrorCode(50_106, "订单与门店不匹配");
     ErrorCode APPLY_MARKETING_NOT_FAIL = new ErrorCode(50_107, "申请政策失败");
-    ErrorCode ORDER_PAY_AUTO_REFUND = new ErrorCode(30_046, "当前订单已不能支付,系统将自动退款");
+    ErrorCode ORDER_PAY_AUTO_REFUND = new ErrorCode(30_046, "当前订单已不能支付");
 
 }

+ 7 - 3
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -75,6 +76,7 @@ import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
 import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception0;
 import static com.yc.ship.module.product.enums.YesOrNoEnum.NO;
 import static com.yc.ship.module.trade.enums.ApiConstants.*;
 import static com.yc.ship.module.trade.enums.ErrorCodeConstants.*;
@@ -492,7 +494,6 @@ public class TradeOrderServiceImpl implements TradeOrderService {
     private TradeOrderBO buildShipCreateOrder(ShipTradeOrderCreateReqVO orderCreateReqDTO) {
         //重置金额
         TradeOrderBO tradeOrderBO = new TradeOrderBO();
-        TradeOrderDO oldtradeOrderDO = orderCreateReqDTO.getOldtradeOrderDO();
         //订单
         TradeOrderDO tradeOrderDO = new TradeOrderDO();
         tradeOrderDO.setSellMethod(orderCreateReqDTO.getOrderProperty().getSellMethod());
@@ -637,6 +638,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
         Long voyageId = tradeOrderDO.getVoyageId();
         ProductSpuRespDTO finalProductSpuRespDTO = productSpuRespDTO;
         Map<String, Long> vmap = new HashMap<>(16);
+        List<String> repeatVisitor = new ArrayList<>();
         orderItem.getDetailList().forEach(orderDetail -> {
             if (orderDetail.getProductType() == 0) {
                 List<String> ticketNoList = tradeUUCodeUtils.generateTicketNo(orderDetail.getVisitorList().size());
@@ -701,13 +703,15 @@ public class TradeOrderServiceImpl implements TradeOrderService {
 
                     int num = tradeVisitorMapper.queryVisitorByVovageId(voyageId, visitor.getCredentialNo());
                     if(num>0){
-                        Asserts.isTrue(false,"该证件号`"+visitor.getCredentialNo()+"`已经购买过当前航次,请更换其他证件");
+                        repeatVisitor.add(visitor.getCredentialNo());
                     }
                     tradeVisitorDOList.add(tradeVisitorDO);
                 }
             }
         });
-
+        if(!repeatVisitor.isEmpty()) {
+            throw exception0(500, "该证件号`" + String.join(",", repeatVisitor) + "`已经购买过当前航次,请更换其他证件");
+        }
         orderItem.getDetailList().forEach(orderDetail -> {
             if (orderDetail.getProductType() != 0) {
                 List<String> ticketNoList = tradeUUCodeUtils.generateTicketNo(orderDetail.getVisitorList().size());

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

@@ -627,11 +627,10 @@ public class TradeOrderPayServiceImpl implements TradeOrderPayService {
         //验证订单是否已全部支付完成
         BigDecimal hadPayAmount = tradeOrderRepositoryService.getHadPayAmount(orderId);
 
-        if (ObjectUtil.equal(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.CANCELED.getStatus()) || hadPayAmount.compareTo(tradeOrderDO.getPayAmount()) < 0) {
+        if (ObjectUtil.equal(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.CANCELED.getStatus()) || hadPayAmount.compareTo(tradeOrderDO.getPayAmount()) > 0) {
             //如果此时订单已经被系统取消,则应自动退款。 如果支付金额大于订单金额也自动退款
             log.error("当前订单已不能支付,自动退款,订单{},支付单{},状态{},金额{}", orderId, tradeOrderPayDO.getId(), tradeOrderDO.getOrderStatus(), hadPayAmount);
-
-            tradeRefundService.autoRefundByPayOrder(tradeOrderPayDO.getId());
+//            tradeRefundService.autoRefundByPayOrder(tradeOrderPayDO.getId());
             return CommonResult.error(ORDER_PAY_AUTO_REFUND);
         }
 

+ 7 - 3
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeVisitorMapper.xml

@@ -195,7 +195,7 @@
 
     <select id="queryVisitorByVovageId" resultType="java.lang.Integer">
         select count(*) from trade_visitor t1 inner join trade_order t2 on t1.order_id=t2.id
-        where t1.ceredential_no=#{credentialNo} and t2.voyage_id=#{voyageId}
+        where t1.credential_no=#{credentialNo} and t2.voyage_id=#{voyageId}
     </select>
 
     <select id="selectListByVoyageId" resultType="com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO">
@@ -216,16 +216,20 @@
     </select>
 
     <select id="getExportVisitorList" resultType="com.yc.ship.module.trade.controller.admin.order.vo.order.TradeOrderRespExcelVO">
-        select t1.order_no orderNo,t1.group_no groupNo,t1.order_status orderStatus,t1.source_name sourceName,t3.name name,t3.gender gender,t3.credential_no credentialNo,t3.nationality nationality,t3.birthday birthday,t3.mobile mobile,t3.age age,t3.mobile mobile,t5.short_name roomModelName,t3.floor floor,t6.room_num roomName,t2.price price,t3.remark remark
+        select t1.order_no orderNo,t1.group_no groupNo,t1.order_status orderStatus,t1.source_name sourceName,t3.name name,t3.gender gender,t3.credential_no credentialNo,t7.name nationality,t3.birthday birthday,t3.mobile mobile,t3.age age,t3.mobile mobile,t5.short_name roomModelName,t3.floor floor,t6.room_num roomName,t2.price price,t3.remark remark
         from trade_order t1 inner join trade_detail t2 on t1.id=t2.order_id and t2.product_type = 0 and t2.deleted = 0
         inner join trade_visitor t3 on t2.visitor_id=t3.id and t3.deleted =0
         inner join trade_order_room_model t4 on t3.room_index_id=t4.room_index_id and t4.deleted=0
         inner join resource_room_model t5 on t4.room_model_id = t5.id and t5.deleted=0
         left join resource_room t6 on t3.room_id = t6.id and t6.deleted=0
-        where t1.voyage_id=#{vo.voyageId} and t1.order_status in (14, 13, 11, 10, 12, 9, 8, 7, 6, 5, 4, 3, 2, 1)
+        left join area t7 on t3.nationality = t7.id
+        where t1.order_status in (14, 13, 11, 10, 12, 9, 8, 7, 6, 5, 4, 3, 2, 1)
         <if test="vo.orderNo != null and vo.orderNo != ''">
             AND t1.order_no = #{vo.orderNo}
         </if>
+        <if test="vo.voyageId != null and vo.voyageId != ''">
+            AND t1.voyage_id = #{vo.voyageId}
+        </if>
         <if test="vo.otaId != null and vo.otaId != ''">
             AND t1.source_id = #{vo.otaId}
         </if>