Przeglądaj źródła

Merge branch 'feature/asyncOrder' of http://git.aseanbusiness.cn/qzyReal/market-server into feature/asyncOrder

qzy 11 miesięcy temu
rodzic
commit
1fbcc60ca6

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

@@ -17,6 +17,7 @@ import com.pj.api.client.payment_server.PaymentServerInterface;
 import com.pj.api.consts.FeignFactory;
 import com.pj.api.dto.*;
 import com.pj.common.core.exception.ServiceException;
+import com.pj.common.core.text.Convert;
 import com.pj.common.core.utils.StringUtils;
 import com.pj.current.config.SystemObject;
 import com.pj.current.dto.APPLoginUserInfo;
@@ -515,9 +516,9 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
         boolean update = super.updateById(tbOrder);
         // TODO: 2023/8/28 边民发起支付申请,调用银行接口:验证边民支付信息,将货款先存入银行第三方账户,并给出回执
-        PaymentDto paymentDto = this.getPaymentData(tbOrder);
+        /*PaymentDto paymentDto = this.getPaymentData(tbOrder);
         StaticLog.info("\nsendSXB010——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
-        paymentServerInterface.sendSXB010(paymentDto);
+        paymentServerInterface.sendSXB010(paymentDto);*/
 
         return update;
     }
@@ -614,9 +615,9 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
      */
     public void sendConfirmMsgToHt(TbOrder tbOrder) {
         TbPeople tbPeople = tbPeopleService.getById(tbOrder.getBuyUserId());
-        StaticLog.info("\n--------------发送009信息到航通————边民不存在!!!");
         if (tbPeople == null) {
-            throw new AjaxError("边民不存在");
+            StaticLog.info("\n--------------发送009信息到航通————边民不存在!!!");
+            throw new AjaxError("--------------发送009信息到航通,边民不存在");
         }
         PeopleConfirmDTO peopleConfirmDTO = new PeopleConfirmDTO();
         peopleConfirmDTO.setBorderName(tbOrder.getBuyUserName());
@@ -795,14 +796,18 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
     // TODO: 2023/8/28 系统接收到航通007接口信息:车辆已出一级市场(系统接收到这个信息时,证明已经查验通过,不会有进出口申报单退单)
     public boolean orderFinish(HtPassCardDTO htPassCardDTO) {
-        String billCode = htPassCardDTO.getBillCode();
+        String billCodeStr = htPassCardDTO.getBillCode();
+        List<String> billCodeList = Arrays.stream(billCodeStr.split(",")).collect(Collectors.toList());
+
         //获取出了一级市场的所有边民订单
         LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
         //wrapper.eq(TbOrder::getPreNo, billCode);
-        wrapper.eq(TbOrder::getPreIeportNo, billCode);
+        //wrapper.eq(TbOrder::getPreIeportNo, billCode);
+        wrapper.in(TbOrder::getPreIeportNo, billCodeList);
+
         List<TbOrder> tbOrders = tbOrderMapper.selectList(wrapper);
         if (tbOrders.isEmpty()) {
-            throw new ServiceException(" ------接收到航通007车辆出卡三接口信息,当前获取到的一级市场的边民订单为空。 单证代码billCode = " + billCode);
+            throw new ServiceException(" ------接收到航通007车辆出卡三接口信息,当前获取到的一级市场的边民订单为空。 单证代码billCodeStr = " + billCodeStr);
         }
 
         TbTradeArea area = tbTradeAreaService.getById(tbOrders.get(0).getTradeAreaId());

+ 20 - 8
sp-service/payment-server/src/main/java/com/pj/xml/MessageXML.java

@@ -9,9 +9,11 @@ import com.pj.bank_info.BankInfo;
 import com.pj.utils.CryptoUtil;
 
 import java.text.SimpleDateFormat;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 public class MessageXML {
     static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss sss");
@@ -255,8 +257,9 @@ public class MessageXML {
                 "         <sn>" + paymentDto.getTradeNo() + "</sn>\n" +                         //订单号
                 "         <export>false</export>\n" +                                           //出口标识	true:出口,false:进口
                 "         <organization>" + paymentDto.getFieldCode() + "</organization>\n" +   //互市点机构代码
-                "         <currency>" + paymentDto.getCurrCode() + "</currency>\n" +            //币种
-                "         <type>01</type>\n" +                                                  //业务类型	01 代表扣款报文
+                //"         <currency>" + paymentDto.getCurrCode() + "</currency>\n" +          //币种
+                "         <currency>RMB</currency>\n" +                                         //币种
+                "         <type>001</type>\n" +                                                  //业务类型	01 代表扣款报文
                 //"         <charging>" + paymentDto.getResalePrice() + "</charging>\n" +       //计费金额(二级市场转售总金额):charging送0
                 "         <charging>0</charging>\n" +                                           //一级市场订单还没有上架计费:charging送0
                 "         <total>" + paymentDto.getTotalPrice() + "</total>\n" +                //总金额8000.00(一级市场边民订单金额)
@@ -289,7 +292,8 @@ public class MessageXML {
                 "<items>\n" +
                 "         <code>" + paymentDto.getCodeTs() + "</code>\n" +                      //商品编码
                 "         <name>" + paymentDto.getGoodsName() + "</name>\n" +                   //商品名称
-                "         <unit>" + paymentDto.getGoodsUnit() + "</unit>\n" +                   //商品单位
+                //"         <unit>" + paymentDto.getGoodsUnit() + "</unit>\n" +                 //商品单位
+                "         <unit>0001</unit>\n" +                                                //商品单位——KG
                 "         <price>" + paymentDto.getDeclPrice() + "</price>\n" +                 //商品单价
                 "         <quantity>" + paymentDto.getBuyQty() + "</quantity>\n" +              //商品数量
                 "         <weight>" + paymentDto.getNetWt() + "</weight>\n" +                   //商品重量(净重)
@@ -338,8 +342,9 @@ public class MessageXML {
                 "<payload xsi:type=\"orderDTO\">" +
                 "         <sn>" + paymentDto.getTradeNo() + "</sn>\n" +                         //订单号
                 "         <organization>" + paymentDto.getFieldCode() + "</organization>\n" +   //互市点机构代码
-                "         <currency>" + paymentDto.getCurrCode() + "</currency>\n" +            //币种
-                "         <type>02</type>\n" +                                                  //业务类型	02代表退款报文
+                //"         <currency>" + paymentDto.getCurrCode() + "</currency>\n" +            //币种
+                "         <currency>RMB</currency>\n" +                                         //币种
+                "         <type>002</type>\n" +                                                  //业务类型	02代表退款报文
                 //"         <charging>" + paymentDto.getResalePrice() + "</charging>\n" +       //计费金额(二级市场转售总金额):charging送0
                 "         <charging>0</charging>\n" +                                           //一级市场订单还没有上架计费:charging送0
                 "         <total>" + paymentDto.getTotalPrice() + "</total>\n" +                //总金额8000.00(一级市场边民订单金额)
@@ -372,7 +377,8 @@ public class MessageXML {
                 "<items>\n" +
                 "         <code>" + paymentDto.getCodeTs() + "</code>\n" +                      //商品编码
                 "         <name>" + paymentDto.getGoodsName() + "</name>\n" +                   //商品名称
-                "         <unit>" + paymentDto.getGoodsUnit() + "</unit>\n" +                   //商品单位
+                //"         <unit>" + paymentDto.getGoodsUnit() + "</unit>\n" +                   //商品单位
+                "         <unit>0001</unit>\n" +                                                //商品单位——KG
                 "         <price>" + paymentDto.getDeclPrice() + "</price>\n" +                 //商品单价
                 "         <quantity>" + paymentDto.getBuyQty() + "</quantity>\n" +              //商品数量
                 "         <weight>" + paymentDto.getNetWt() + "</weight>\n" +                   //商品重量(净重)
@@ -418,11 +424,16 @@ public class MessageXML {
     public static String SXB023(PaymentDto paymentDto) {
         paymentDto.setFieldCode("861501");
         String date = sdf.format(new Date());
+        List<String> tradeNoList = Arrays.stream(paymentDto.getTradeNos().split(",")).collect(Collectors.toList());
+        String orderXml = "";
+        for (String tradeNo: tradeNoList) {
+            orderXml = orderXml + "<Order>" + tradeNo + "</Order>\n";
+        }
         String payload=
                 "<payload xsi:type=\"carpoolDTO\">" +
                 "<registration>" + paymentDto.getVoyageNo() + "</registration>\n" +  //车辆批号
                 "<plateNumber>" + paymentDto.getVeNo() + "</plateNumber>\n" +        //车牌号
-                "<Order>" + paymentDto.getTradeNos() + "</Order>\n" +//订单号	n个
+                        orderXml +//订单号	n个
                 "</payload>";
         String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
                 "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\">\n" +
@@ -573,7 +584,8 @@ public class MessageXML {
                 "<items" +//商品明细
                 " code=\"" + paymentTwoDto.getCodeTs() + "\"" +             //商品编码
                 " name=\"" + paymentTwoDto.getGoodsName() + "\"" +          //商品名称
-                " unit=\"" + paymentTwoDto.getGoodsUnit() + "\"" +          //商品单位
+                //" unit=\"" + paymentTwoDto.getGoodsUnit() + "\"" +          //商品单位
+                " unit=\"0001\"" +                                          //商品单位——KG
                 " price=\"" + paymentTwoDto.getDeclPrice() + "\"" +         //商品单价
                 " quantity=\"" + paymentTwoDto.getBuyQty() + "\"" +         //商品数量
                 " weight=\"" + paymentTwoDto.getNetWt() + "\"" +            //商品重量