Browse Source

Merge remote-tracking branch 'origin/main' into main

luofeiyun 5 ngày trước cách đây
mục cha
commit
98500cc646
12 tập tin đã thay đổi với 145 bổ sung45 xóa
  1. 2 2
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java
  2. 2 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/orderjzdetail/OrderJzDetailController.java
  3. 6 4
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/job/InvoiceQueryJob.java
  4. 56 23
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/invoice/impl/InvoiceGroupServiceImpl.java
  5. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeOrderRepositoryService.java
  6. 8 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java
  7. 8 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/orderjzdetail/OrderJzDetailService.java
  8. 44 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/orderjzdetail/OrderJzDetailServiceImpl.java
  9. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/OtcTradeOrderService.java
  10. 10 6
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java
  11. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/pay/impl/TradeOrderPayServiceImpl.java
  12. 6 6
      ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/report/BankTransactionDetailsMapper.xml

+ 2 - 2
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java

@@ -246,8 +246,8 @@ public class OtcTradeOrderController {
     @Operation(summary = "win-订单审核")
     @OperateLog(type = API)
     @PlatTenantEnv
-    public CommonResult<?> orderAudit(@RequestParam Long orderId, @RequestParam Integer auditStatus) {
-        return otcTradeOrderService.orderAudit(orderId, auditStatus);
+    public CommonResult<?> orderAudit(@RequestParam Long orderId, @RequestParam Integer auditStatus, @RequestParam String auditAdvice) {
+        return otcTradeOrderService.orderAudit(orderId, auditStatus,auditAdvice);
     }
 
     @GetMapping("/travl/cancelAudit")

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/orderjzdetail/OrderJzDetailController.java

@@ -163,6 +163,8 @@ public class OrderJzDetailController {
   @Operation(summary = "订单接站人员名单签到")
   @OperateLog(type = TRADE)
   public CommonResult<Long> createOrderJzDetail(@Valid @RequestBody List<OrderJzDetailSaveReqVO> createReqVOList) {
+    // 校验身份证号是否与订单游客信息一致,并填充 visitorId
+    orderJzDetailService.validateAndFillVisitorId(createReqVOList);
     return success(orderJzDetailService.createOrderJzDetail(createReqVOList));
   }
 

+ 6 - 4
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/job/InvoiceQueryJob.java

@@ -32,10 +32,12 @@ public class InvoiceQueryJob implements JobHandler {
     @Override
     public String execute(String param) {
         try {
-            List<InvoiceDO> list = invoiceService.getInvoices();
-            for (InvoiceDO invoiceDO : list) {
-                invoiceService.queryGroupInvoiceUrl(invoiceDO);
-            }
+            TenantUtils.execute(1L, () -> {
+                List<InvoiceDO> list = invoiceService.getInvoices();
+                for (InvoiceDO invoiceDO : list) {
+                    invoiceService.queryGroupInvoiceUrl(invoiceDO);
+                }
+            });
         } catch (Exception e) {
             log.error(">>>>>>>>>>>>>>>>>>>>>> queryGroupInvoiceUrlExecute Error <<<<<<<<<<<<<<<<<<<<<<");
             log.error(e.getMessage(), e);

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 56 - 23
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/invoice/impl/InvoiceGroupServiceImpl.java


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

@@ -41,7 +41,7 @@ public interface TradeOrderRepositoryService {
     void saveOrder(TradeOrderBO tradeOrderBO);
 
     void modifyOrder(TradeOrderBO tradeOrderBO,TradeOrderDO oldOrder);
-
+    void updateInvoiceStatusByOrderNo(List<String> orderNoList, Integer invoiceStatus);
     /**
      * 更新订单状态
      *

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

@@ -307,6 +307,14 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
 
     }
 
+    @Override
+    public void updateInvoiceStatusByOrderNo(List<String> orderNoList, Integer invoiceStatus) {
+        LambdaUpdateWrapper<TradeOrderDO> updateWrapper = new LambdaUpdateWrapper<TradeOrderDO>()
+                .set(TradeOrderDO::getIsInvoice, invoiceStatus)
+                .in(TradeOrderDO::getOrderNo, orderNoList);
+        tradeOrderMapper.update(updateWrapper);
+    }
+
     @Override
     public TradeOrderDO getById(Long id) {
         return tradeOrderMapper.selectById(id);

+ 8 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/orderjzdetail/OrderJzDetailService.java

@@ -22,10 +22,17 @@ public interface OrderJzDetailService {
    * @param createReqVO 创建信息
    * @return 编号
    */
-  Long createOrderJzDetail(@Valid OrderJzDetailSaveReqVO createReqVO);
+    Long createOrderJzDetail(@Valid OrderJzDetailSaveReqVO createReqVO);
 
   Long createOrderJzDetail(List<OrderJzDetailSaveReqVO> createReqVOList);
 
+  /**
+   * 校验传入的身份证号是否与订单游客信息一致,并填充 visitorId
+   *
+   * @param createReqVOList 请求参数列表
+   */
+  void validateAndFillVisitorId(List<OrderJzDetailSaveReqVO> createReqVOList);
+
   void sendJz(List<Map<String, Object>> map,Long jzId);
 
   /**

+ 44 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/orderjzdetail/OrderJzDetailServiceImpl.java

@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yc.ship.framework.common.exception.ErrorCode;
 import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.util.object.BeanUtils;
 import com.yc.ship.framework.security.core.LoginUser;
@@ -20,9 +21,11 @@ import com.yc.ship.framework.tenant.core.aop.TenantIgnore;
 import com.yc.ship.module.trade.controller.admin.orderjzdetail.vo.OrderJzDetailPageReqVO;
 import com.yc.ship.module.trade.controller.admin.orderjzdetail.vo.OrderJzDetailSaveReqVO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO;
+import com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO;
 import com.yc.ship.module.trade.dal.dataobject.orderjz.OrderJzDO;
 import com.yc.ship.module.trade.dal.dataobject.orderjzdetail.OrderJzDetailDO;
 import com.yc.ship.module.trade.dal.mysql.order.TradeOrderMapper;
+import com.yc.ship.module.trade.dal.mysql.order.TradeVisitorMapper;
 import com.yc.ship.module.trade.dal.mysql.orderjz.OrderJzMapper;
 import com.yc.ship.module.trade.dal.mysql.orderjzdetail.OrderJzDetailMapper;
 import com.yc.ship.module.trade.framework.common.Base64Util;
@@ -62,6 +65,9 @@ public class OrderJzDetailServiceImpl implements OrderJzDetailService {
     @Resource
     private OrderJzDetailMapper orderJzDetailMapper;
 
+    @Resource
+    private TradeVisitorMapper tradeVisitorMapper;
+
     @Override
     public Long createOrderJzDetail(OrderJzDetailSaveReqVO createReqVO) {
         // 插入
@@ -74,6 +80,44 @@ public class OrderJzDetailServiceImpl implements OrderJzDetailService {
     }
 
 
+    @Override
+    @TenantIgnore
+    public void validateAndFillVisitorId(List<OrderJzDetailSaveReqVO> createReqVOList) {
+        if (createReqVOList == null || createReqVOList.isEmpty()) {
+            return;
+        }
+        String oid = createReqVOList.get(0).getOid();
+        if (oid == null || oid.isEmpty()) {
+            throw exception(new ErrorCode(10006, "未查询到相关订单"));
+        }
+        // 查询订单下所有游客信息
+        List<TradeVisitorDO> visitorList = tradeVisitorMapper.selectListByOrderId(Long.valueOf(oid));
+        if (visitorList == null || visitorList.isEmpty()) {
+            throw exception(new ErrorCode(10005, "未查询到该订单的游客信息"));
+        }
+        // 遍历传入的接站明细,按姓名匹配游客,校验身份证号
+        for (OrderJzDetailSaveReqVO reqVO : createReqVOList) {
+            if (reqVO.getIdCard() == null || reqVO.getName() == null) {
+                continue;
+            }
+            // 按姓名匹配游客
+            TradeVisitorDO matchedVisitor = visitorList.stream()
+                    .filter(v -> reqVO.getName().equals(v.getName()))
+                    .findFirst().orElse(null);
+            if (matchedVisitor == null) {
+                throw exception(new ErrorCode(10007, "未找到匹配的游客"));
+                //continue;
+            }
+            // 校验身份证号是否一致(匹配到游客时)
+            if (matchedVisitor.getCredentialNo() != null
+                    && !matchedVisitor.getCredentialNo().trim().equalsIgnoreCase(reqVO.getIdCard().trim())) {
+                throw exception(new ErrorCode(10003, "游客【" + reqVO.getName() + "】身份证效验不通过"));
+            }
+            // 校验通过,填充 visitorId
+            reqVO.setVisitorId(matchedVisitor.getId());
+        }
+    }
+
     @Override
     @TenantIgnore
     public Long createOrderJzDetail(List<OrderJzDetailSaveReqVO> createReqVOList) {

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/OtcTradeOrderService.java

@@ -53,7 +53,7 @@ public interface OtcTradeOrderService {
 
     CommonResult<?> queryCancelAudit(Long orderId);
 
-    CommonResult<?> orderAudit(Long orderId, Integer auditStatus);
+    CommonResult<?> orderAudit(Long orderId, Integer auditStatus,String auditAdvice);
 
     /**
      * 撤回审核

+ 10 - 6
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -396,12 +396,14 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.ORDER_AUDIT)
     @Transactional(rollbackFor = Exception.class)
     @TenantIgnore
-    public CommonResult<?> orderAudit(Long orderId, Integer auditStatus) {
+    public CommonResult<?> orderAudit(Long orderId, Integer auditStatus,String auditAdvice) {
         TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
         if (tradeOrderDO == null) {
             return CommonResult.error(ORDER_NOT_EXIST);
         }
-
+        if(StringUtils.isBlank(auditAdvice)){
+            auditAdvice="无";
+        }
         if (auditStatus != null && auditStatus == 1) {
             TradeOrderAuditDO tradeOrderAuditDO = new TradeOrderAuditDO();
             tradeOrderAuditDO.setId(IdWorker.getId());
@@ -414,6 +416,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             //审核状态 1、通过 2、不通过
             tradeOrderAuditDO.setAuditStatus(1);
             tradeOrderAuditDO.setAuditType(1);
+            tradeOrderAuditDO.setRemark(auditAdvice);
             tradeOrderAuditDO.setAuditCurrentStatus(tradeOrderDO.getAuditStatus());
             tradeOrderAuditDO.setOrderNo(tradeOrderDO.getOrderNo());
             tradeOrderAuditDO.setOrderId(tradeOrderDO.getId());
@@ -472,7 +475,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                         .eq(TradeOrderDO::getId, orderId)
                 );
                 Map<String, Object> extMap = new HashMap<>();
-                extMap.put("result", "审核通过");
+                extMap.put("result", "审核通过,审核意见:"+auditAdvice);
                 TradeOrderLogUtils.setOrderInfo(orderId, tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.UNPAID.getStatus(), extMap);
             } else {
                 AuditUserDO auditUserDO = auditUserMapper.selectOne(new QueryWrapper<AuditUserDO>().eq("type", tradeOrderDO.getAuditType()).eq("audit_status", tradeOrderDO.getAuditStatus() + 1).last("limit 1"));
@@ -484,13 +487,14 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                         .eq(TradeOrderDO::getId, orderId)
                 );
                 Map<String, Object> extMap = new HashMap<>();
-                extMap.put("result", "审核通过,等待下一级审核");
+                extMap.put("result", "审核通过(审核意见:"+auditAdvice+"),等待下一级审核");
                 TradeOrderLogUtils.setOrderInfo(orderId, tradeOrderDO.getOrderStatus(), tradeOrderDO.getOrderStatus(), extMap);
             }
         } else {
             TradeOrderAuditDO tradeOrderAuditDO = new TradeOrderAuditDO();
             tradeOrderAuditDO.setId(IdWorker.getId());
             tradeOrderAuditDO.setType(tradeOrderDO.getAuditType());
+            tradeOrderAuditDO.setRemark(auditAdvice);
             LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
             if (loginUser != null) {
                 tradeOrderAuditDO.setAuditUser(loginUser.getId());
@@ -552,7 +556,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 }
 
                 Map<String, Object> extMap = new HashMap<>();
-                extMap.put("result", "审核不通过");
+                extMap.put("result", "审核不通过,审核意见:"+auditAdvice);
                 TradeOrderLogUtils.setOrderInfo(orderId, tradeOrderDO.getOrderStatus(), lastTradeOrder.getOrderStatus(), extMap);
 
             }else{
@@ -569,7 +573,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                         .eq(TradeOrderDO::getId, orderId)
                 );
                 Map<String, Object> extMap = new HashMap<>();
-                extMap.put("result", "审核不通过");
+                extMap.put("result", "审核不通过,审核意见:"+auditAdvice);
                 TradeOrderLogUtils.setOrderInfo(orderId, tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.YD.getStatus(), extMap);
             }
         }

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

@@ -816,7 +816,7 @@ public class TradeOrderPayServiceImpl implements TradeOrderPayService {
             tradeOrderLogDO.setOperateType(TradeOrderOperateTypeEnum.ORDER_PAY.getType());
             tradeOrderLogDO.setBeforeStatus(orderStatus);
             tradeOrderLogDO.setAfterStatus(tradeOrderDO.getOrderStatus());
-            tradeOrderLogDO.setContent(TradeOrderOperateTypeEnum.ORDER_PAY.getContent().replaceAll("payType", PayTypeEnum.valueOf(tradeOrderPayDO.getPaymentType()).getName()).replaceAll("payAmount", tradeOrderPayDO.getPayAmount().toString()));
+            tradeOrderLogDO.setContent(TradeOrderOperateTypeEnum.ORDER_PAY.getContent().replaceAll("{payType}", PayTypeEnum.valueOf(tradeOrderPayDO.getPaymentType()).getName()).replaceAll("{payAmount}", tradeOrderPayDO.getPayAmount().toString()));
             tradeOrderLogMapper.insert(tradeOrderLogDO);
         } catch (Exception e) {
             log.error("保存订单日志异常orderId:{}", tradeOrderDO.getId(), e);

+ 6 - 6
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/report/BankTransactionDetailsMapper.xml

@@ -40,7 +40,7 @@
                 pay.payment_type AS paymentMethod,
                 1 AS transactionType,
                 pay.pay_amount AS amount,
-                IFNULL(pay.payment_no, '') AS bankSerialNo
+                IFNULL(pay.pos_no, pay.payment_no) AS bankSerialNo
             FROM trade_order_pay pay
         LEFT JOIN trade_order o1 ON pay.order_id = o1.id AND o1.deleted = 0
             LEFT JOIN product_voyage voy ON o1.voyage_id = voy.id AND voy.deleted = 0
@@ -61,7 +61,7 @@
                 pay.payment_type AS paymentMethod,
                 2 AS transactionType,
                 -IFNULL(pay.refund_amount, 0) AS amount,
-                IFNULL(pay.payment_no, '') AS bankSerialNo
+                 IFNULL(pay.pos_no, pay.payment_no) AS bankSerialNo
             FROM trade_order_pay pay
             LEFT JOIN trade_order o ON pay.order_id = o.id AND o.deleted = 0
             LEFT JOIN product_voyage voy ON o.voyage_id = voy.id AND voy.deleted = 0
@@ -142,7 +142,7 @@
         pay.payment_type AS paymentMethod,
         4 AS transactionType,
         pay.pay_amount AS amount,
-        IFNULL(pay.payment_no, '') AS bankSerialNo
+        IFNULL(pay.pos_no, pay.payment_no) AS bankSerialNo
         FROM trade_order_pay pay
         LEFT JOIN ota_bill bill ON bill.id = pay.order_id AND bill.deleted = 0
         LEFT JOIN (select r.bill_id ,r.order_id FROM ota_bill_order r where r.deleted = 0 GROUP BY r.bill_id) obo ON obo.bill_id = bill.id
@@ -171,7 +171,7 @@
         pay.payment_type AS paymentMethod,
         1 AS transactionType,
         pay.pay_amount AS amount,
-        IFNULL(pay.payment_no, '') AS bankSerialNo
+        IFNULL(pay.pos_no, pay.payment_no) AS bankSerialNo
         FROM trade_order_pay pay
         LEFT JOIN trade_order o1 ON pay.order_id = o1.id AND o1.deleted = 0
         LEFT JOIN product_voyage voy ON o1.voyage_id = voy.id AND voy.deleted = 0
@@ -194,7 +194,7 @@
                 pay.payment_type AS paymentMethod,
                 2 AS transactionType,
                 -IFNULL(pay.refund_amount, 0) AS amount,
-                IFNULL(pay.payment_no, '') AS bankSerialNo
+                IFNULL(pay.pos_no, pay.payment_no) AS bankSerialNo
             FROM trade_order_pay pay
             LEFT JOIN trade_order o ON pay.order_id = o.id AND o.deleted = 0
             LEFT JOIN product_voyage voy ON o.voyage_id = voy.id AND voy.deleted = 0
@@ -252,7 +252,7 @@
         pay.payment_type AS paymentMethod,
         4 AS transactionType,
         pay.pay_amount AS amount,
-        IFNULL(pay.payment_no, '') AS bankSerialNo
+        IFNULL(pay.pos_no, pay.payment_no)AS bankSerialNo
         FROM trade_order_pay pay
         LEFT JOIN ota_bill bill ON bill.id = pay.order_id AND bill.deleted = 0
         LEFT JOIN (select r.bill_id ,r.order_id FROM ota_bill_order r where r.deleted = 0 GROUP BY r.bill_id) obo ON obo.bill_id = bill.id