浏览代码

可以执行多次过卡三问题

qzy 11 月之前
父节点
当前提交
4e0d6a41db

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

@@ -218,11 +218,11 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
         List<TbOrder> list = tbOrderList.stream().filter(order -> idList.contains(order.getBuyUserId())).collect(Collectors.toList());
         List<OrderVo> orderVoList = new ArrayList<>();
-        for (TbOrder tbOrder: list) {
+        for (TbOrder tbOrder : list) {
             OrderVo orderVo = new OrderVo();
             BeanUtils.copyProperties(tbOrder, orderVo);
-            for (TbPeople people:peopleList) {
-                if(people.getId().compareTo(tbOrder.getBuyUserId()) == 0 || people.getId().equals(tbOrder.getBuyUserId())) {
+            for (TbPeople people : peopleList) {
+                if (people.getId().compareTo(tbOrder.getBuyUserId()) == 0 || people.getId().equals(tbOrder.getBuyUserId())) {
                     orderVo.setPhone(people.getPhone());
                 }
             }
@@ -598,7 +598,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
         //测试用,跳过银行接口
         // wrapper.set(TbOrder::getFinishStatus, FinishStatus.FINISH_STATUS_ONE.getCode());//已完成->完成后可以进行转售
-        wrapper.set(TbOrder::getFinishTime, new Date());
+//        wrapper.set(TbOrder::getFinishTime, new Date());
 
         wrapper.eq(TbOrder::getId, orderId);
         boolean result = update(wrapper);
@@ -727,6 +727,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
     /**
      * 航通发起的退单
+     *
      * @param htDeclareChargebackDto
      * @return
      */
@@ -749,14 +750,14 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
             StaticLog.info("\nsendSXB013(进出口申报单退单)——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
             paymentServerInterface.sendSXB013(paymentDto);
         });
-        Date now=new Date();
+        Date now = new Date();
         //修改交易结算单(大订单)的查验结果
         LambdaUpdateWrapper<HtTradeSettlement> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(HtTradeSettlement::getChargebacks, 1);
         updateWrapper.set(HtTradeSettlement::getChargebacksTime, now);
         updateWrapper.eq(HtTradeSettlement::getFieldCode, htDeclareChargebackDto.getFieldCode());
         updateWrapper.eq(HtTradeSettlement::getDeclareId, htDeclareChargebackDto.getDeclareId());
-        updateWrapper.eq(HtTradeSettlement::getCheckPassStatus,0);
+        updateWrapper.eq(HtTradeSettlement::getCheckPassStatus, 0);
         boolean update = htTradeSettlementService.update(updateWrapper);
 
         //修改边民订单的查验结果
@@ -798,46 +799,44 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
     public boolean orderFinish(HtPassCardDTO htPassCardDTO) {
         String billCodeStr = htPassCardDTO.getBillCode();
         List<String> billCodeList = Arrays.stream(billCodeStr.split(",")).collect(Collectors.toList());
-
+        if (billCodeList.isEmpty()) {
+            StaticLog.error("Invalid bill code:{}", JSONUtil.toJsonStr(htPassCardDTO));
+            return false;
+        }
         //获取出了一级市场的所有边民订单
         LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
-        //wrapper.eq(TbOrder::getPreNo, billCode);
-        //wrapper.eq(TbOrder::getPreIeportNo, billCode);
         wrapper.in(TbOrder::getPreIeportNo, billCodeList);
-
+        wrapper.ne(TbOrder::getFinishStatus, 1);
         List<TbOrder> tbOrders = tbOrderMapper.selectList(wrapper);
-        if (tbOrders.isEmpty()) {
-            throw new ServiceException(" ------接收到航通007车辆出卡三接口信息,当前获取到的一级市场的边民订单为空。 单证代码billCodeStr = " + billCodeStr);
+        if (!tbOrders.isEmpty()) {
+            TbTradeArea area = tbTradeAreaService.getById(tbOrders.get(0).getTradeAreaId());
+            String tradeNos = "";
+            PaymentDto paymentDto = new PaymentDto();
+            for (TbOrder tbOrder : tbOrders) {
+                tradeNos += tbOrder.getTradeNo() + ",";
+                //收到007结关信息后边民即可上架订单,不需等收到打款给外籍商户的成功回执SXB017才能完成订单
+                tbOrder.setFinishTime(new Date());
+                tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
+
+                //todo: 收到航通007报文即收到海关结关信息,转发结关信息给到银行
+                paymentDto.setTradeNo(tbOrder.getTradeNo());
+                paymentDto.setDeclTime(htPassCardDTO.getCheckTime());
+                paymentDto.setFieldCode(area.getCode());
+                StaticLog.info("\nsendCXB001——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
+                paymentServerInterface.sendCXB001(paymentDto);
+            }
+            this.updateBatchById(tbOrders);
+
+            tradeNos = StringUtils.removeEnd(tradeNos, ",");
+            //todo: 调用银行接口发起划扣:将边民划扣至银行第三方账户的货款,支付至外籍商户的账户
+            PaymentDto paymentDto2 = new PaymentDto();
+            paymentDto2.setTradeNos(tradeNos);
+            paymentDto2.setVoyageNo(htPassCardDTO.getManifestId());
+            paymentDto2.setVeNo(tbOrders.get(0).getVeNo());
+            paymentDto2.setFieldCode(area.getCode());
+            StaticLog.info("\nsendSXB023——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto2));
+            paymentServerInterface.sendSXB023(paymentDto2);
         }
-
-        TbTradeArea area = tbTradeAreaService.getById(tbOrders.get(0).getTradeAreaId());
-        String tradeNos = "";
-        PaymentDto paymentDto = new PaymentDto();
-        for (TbOrder tbOrder : tbOrders) {
-            tradeNos += tbOrder.getTradeNo() + ",";
-            //收到007结关信息后边民即可上架订单,不需等收到打款给外籍商户的成功回执SXB017才能完成订单
-            tbOrder.setFinishTime(new Date());
-            tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
-
-            //todo: 收到航通007报文即收到海关结关信息,转发结关信息给到银行
-            paymentDto.setTradeNo(tbOrder.getTradeNo());
-            paymentDto.setDeclTime(htPassCardDTO.getCheckTime());
-            paymentDto.setFieldCode(area.getCode());
-            StaticLog.info("\nsendCXB001——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
-            paymentServerInterface.sendCXB001(paymentDto);
-        }
-        this.updateBatchById(tbOrders);
-
-        tradeNos = StringUtils.removeEnd(tradeNos, ",");
-        //todo: 调用银行接口发起划扣:将边民划扣至银行第三方账户的货款,支付至外籍商户的账户
-        PaymentDto paymentDto2 = new PaymentDto();
-        paymentDto2.setTradeNos(tradeNos);
-        paymentDto2.setVoyageNo(htPassCardDTO.getManifestId());
-        paymentDto2.setVeNo(tbOrders.get(0).getVeNo());
-        paymentDto2.setFieldCode(area.getCode());
-        StaticLog.info("\nsendSXB023——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto2));
-        paymentServerInterface.sendSXB023(paymentDto2);
-
         return true;
     }
 

+ 0 - 18
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserApiController.java

@@ -205,24 +205,6 @@ public class AppUserApiController {
         return appUserService.getByPhoneAndUserType(phone, userType);
     }
 
-    @RequestMapping("find")
-    public AjaxJson find(@RequestBody String img) {
-        img = ImageUtils.compressPic(img);
-
-        return AjaxJson.getSuccess();
-    }
-
-    @RequestMapping("file")
-    public AjaxJson file(MultipartFile file) {
-        try (InputStream is = file.getInputStream()) {
-            String img = Base64.encode(is);
-            img = ImageUtils.compressPic(img);
-        } catch (Exception e) {
-
-        }
-
-        return AjaxJson.getSuccess();
-    }
 
 
 }