Browse Source

增加日志,兼容航通发送的卡3数据

qzy 6 months ago
parent
commit
54e43fcf0a

+ 1 - 1
sp-core/sp-nacos/src/main/resources/logback.xml

@@ -114,7 +114,7 @@
     <logger name="java.sql.PreparedStatement" level="DEBUG"/>
 
     <!-- 生产环境下,将此级别配置为适合的级别,以免日志文件太多或影响程序性能 -->
-    <root level="INFO">
+    <root level="debug">
         <!-- 生产环境将请stdout,testfile去掉 -->
         <appender-ref ref="STDOUT"/>
         <appender-ref ref="FILE_DEBUG"/>

+ 2 - 1
sp-service/async-server/src/main/java/com/pj/task/HtByteTask.java

@@ -1,5 +1,6 @@
 package com.pj.task;
 
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.log.StaticLog;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson2.JSONObject;
@@ -213,7 +214,7 @@ public class HtByteTask {
                     //{"msgId":"987578382983278592","appId":"shop01","dataType":"007","msgTime":"2024-08-25 14:50:45","sign":"23370a204e1fa1c2a1c5a27f78947d52",
                     // "data":"zo5yvhKGlGI4DFIbdwOa2eDjupWkiKvfWDGdNIbpX3WbDq4LsUhnTYh6aLPdj+w4l6OmVzLEjgh2/FC8MVmkYqCT6MZ401A8I8h7JYNXr+Gh5kU3vUCNEdOdxC8PcOKQKEBya4oggQjnC2cP2V39am9gCpCQ49rq76pcQh4+igji79vxJ7mISJ+iup/bY5Ps3EhTw2UC16cvnnt+ZHoM12Jz0JhnCMS9yvI1gPSx+vguo456ZIuuMaWLDiKU5TP5bXWJFyU3/XL7dgK9V5AGSg/nM3bHfiDyLLrREeeDt/ODQ4wUrjgVYLuNMSSJ543cCTrsDLc6+78VfoYhq7KxJXFb3DPV3vfxGKq9D5ymuViSBewscq7QFJumeEI5VExO"}
                     //系统接收到航通过卡记录且卡口类型为'3卡':车辆已出一级市场, 修改相对应的一级市场订单状态
-                    if ("3卡".equals(htPassCardDTO.getChannelType())) {
+                    if ("3卡".equals(htPassCardDTO.getChannelType())|| StrUtil.contains(htPassCardDTO.getChannelNo(),"3")) {
                         flag = FeignFactory.levelOneServerInterface.orderFinish(htPassCardDTO);
                         methodHtByteTask.updateHtByteInfo(flag, item, dataDto);
                         if (flag) {

+ 33 - 14
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java

@@ -4,6 +4,8 @@ import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import cn.hutool.json.JSONUtil;
+import cn.hutool.log.StaticLog;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -41,6 +43,7 @@ import com.pj.tb_shop.TbShop;
 import com.pj.tb_shop.TbShopService;
 import com.pj.utils.sg.AjaxError;
 import com.pj.utils.so.SoMap;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -58,6 +61,7 @@ import javax.annotation.Resource;
  */
 @Service
 @Transactional(rollbackFor = Exception.class)
+@Slf4j
 public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implements IService<TbOrder> {
 
     /**
@@ -396,6 +400,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
     private PaymentDto getPaymentData(TbOrder tbOrder) {
         HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(tbOrder.getSaleMainId());
+        StaticLog.info("getPaymentData:{}",JSONUtil.toJsonStr(htTradeSettlement));
         PaymentDto paymentDto = new PaymentDto();
         BeanUtils.copyProperties(htTradeSettlement, paymentDto);
 
@@ -411,20 +416,27 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         //paymentDto.setResalePrice(BigDecimal.valueOf(resalePrice));
 
         TbPeople tbPeople = tbPeopleService.getById(tbOrder.getBuyUserId());
-        paymentDto.setBankCode(tbPeople.getBankCode());
-        paymentDto.setBankName(tbPeople.getBankName());
-        paymentDto.setBorderName(tbPeople.getName());
-        paymentDto.setBorderidno(tbPeople.getIdCard());
-        paymentDto.setBorderTel(tbPeople.getPhone());
+        StaticLog.info("tbPeople:{}",JSONUtil.toJsonStr(tbPeople));
+        if (tbPeople != null){
+            paymentDto.setBankCode(tbPeople.getBankCode());
+            paymentDto.setBankName(tbPeople.getBankName());
+            paymentDto.setBorderName(tbPeople.getName());
+            paymentDto.setBorderidno(tbPeople.getIdCard());
+            paymentDto.setBorderTel(tbPeople.getPhone());
+        }
 
         TbShop tbShop = tbShopService.findByCode(htTradeSettlement.getShopNo());
-        paymentDto.setOwnerName(tbShop.getOwnerName());
-        paymentDto.setOwnerIdtype(tbShop.getOwnerIdtype());
-        paymentDto.setBankAccount(tbShop.getBankAccount());
-        paymentDto.setBank(tbShop.getBank());
-        paymentDto.setOwnerTel(tbShop.getOwnerTel());
-        paymentDto.setShopSccd(tbShop.getShopSccd());
-        paymentDto.setNationality(tbShop.getNationality());
+        StaticLog.info("tbShop:{}",JSONUtil.toJsonStr(tbShop));
+        if (tbShop != null){
+            paymentDto.setOwnerName(tbShop.getOwnerName());
+            paymentDto.setOwnerIdtype(tbShop.getOwnerIdtype());
+            paymentDto.setBankAccount(tbShop.getBankAccount());
+            paymentDto.setBank(tbShop.getBank());
+            paymentDto.setOwnerTel(tbShop.getOwnerTel());
+            paymentDto.setShopSccd(tbShop.getShopSccd());
+            paymentDto.setNationality(tbShop.getNationality());
+        }
+
 
 
 
@@ -442,6 +454,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         } else if(2 == tbOrder.getCheckPassStatus()) {
             throw new AjaxError("当前订单查验不通过!边民不能进行交易确认。");
         }
+        StaticLog.info("order: {}", JSONUtil.toJsonStr(tbOrder));
         tbOrder.setPeopleConfirmTime(new Date())
                 .setPeopleConfirmStatus(ConfirmStatus.CONFIRM_STATUS_ONE.getCode())
                 .setUpdateTime(new Date());
@@ -450,7 +463,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         tbOrder.setTradeTime(new Date()); //支付回执时间
         tbOrder.setPayType(0); //支付类型
         if ("1".equals(tbOrder.getDeclareType())) {
-            tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode()); //已完成->完成后可以进行转售
+           // tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode()); //已完成->完成后可以进行转售
             tbOrder.setFinishTime(new Date());
         }
 
@@ -544,7 +557,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         wrapper.set(TbOrder::getUpdateTime, new Date());
 
         //测试用,跳过银行接口
-        wrapper.set(TbOrder::getFinishStatus, FinishStatus.FINISH_STATUS_ONE.getCode());//已完成->完成后可以进行转售
+       // wrapper.set(TbOrder::getFinishStatus, FinishStatus.FINISH_STATUS_ONE.getCode());//已完成->完成后可以进行转售
         wrapper.set(TbOrder::getFinishTime, new Date());
 
         wrapper.eq(TbOrder::getId, orderId);
@@ -568,6 +581,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         peopleConfirmDTO.setIdno(tbPeople.getIdCard());
         peopleConfirmDTO.setSettleBillNo(tbOrder.getSettleBillNo());
         peopleConfirmDTO.setPreIeportNo(tbOrder.getPreIeportNo());
+        log.info("sendConfirmMsgToHt:{}",JSONUtil.toJsonStr(peopleConfirmDTO));
         FeignFactory.asyncServerInterface.sendConfirm(peopleConfirmDTO);
     }
 
@@ -633,6 +647,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
             throw new ServiceException("当前订单状态已改变,不可做退款操作,请刷新后操作!");
 
         PaymentDto paymentDto = this.getPaymentData(order);
+        log.info("sendSXB013:{}",JSONUtil.toJsonStr(paymentDto));
         paymentServerInterface.sendSXB013(paymentDto);
 
         LambdaUpdateWrapper<TbOrder> updateWrapper = new LambdaUpdateWrapper<>();
@@ -715,10 +730,14 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         String tradeNos = "";
         for (TbOrder tbOrder : tbOrders) {
             tradeNos += tbOrder.getTradeNo() + ",";
+            tbOrder.setFinishTime(new Date());
+            tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
         }
+        this.updateBatchById(tbOrders);
         //todo: 调用银行接口发起划扣:将边民划扣至银行第三方账户的货款,支付至外籍商户的账户
         PaymentDto paymentDto = this.getPaymentData(tbOrders.get(0));
         paymentDto.setTradeNos(tradeNos);
+        log.info("sendSXB023:{}",JSONUtil.toJsonStr(paymentDto));
         paymentServerInterface.sendSXB023(paymentDto);
 
         return true;