|
@@ -41,6 +41,8 @@ import com.pj.tb_people.TbPeopleMapper;
|
|
|
import com.pj.tb_people.TbPeopleService;
|
|
|
import com.pj.tb_shop.TbShop;
|
|
|
import com.pj.tb_shop.TbShopService;
|
|
|
+import com.pj.tb_trade_area.TbTradeArea;
|
|
|
+import com.pj.tb_trade_area.TbTradeAreaService;
|
|
|
import com.pj.utils.sg.AjaxError;
|
|
|
import com.pj.utils.so.SoMap;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -50,7 +52,6 @@ import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
@@ -101,6 +102,8 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
private HtTradeSettlementService htTradeSettlementService;
|
|
|
@Autowired
|
|
|
private PaymentServerInterface paymentServerInterface;
|
|
|
+ @Autowired
|
|
|
+ private TbTradeAreaService tbTradeAreaService;
|
|
|
|
|
|
/**
|
|
|
* 远程调用
|
|
@@ -459,9 +462,9 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
.setPeopleConfirmStatus(ConfirmStatus.CONFIRM_STATUS_ONE.getCode())
|
|
|
.setUpdateTime(new Date());
|
|
|
//测试用,跳过银行接口
|
|
|
- tbOrder.setTradeStatus(TradeStatus.TRADE_STATUS_ONE.getCode()); //已支付
|
|
|
- tbOrder.setTradeTime(new Date()); //支付回执时间
|
|
|
- tbOrder.setPayType(0); //支付类型
|
|
|
+ //tbOrder.setTradeStatus(TradeStatus.TRADE_STATUS_ONE.getCode()); //已支付
|
|
|
+ //tbOrder.setTradeTime(new Date()); //支付回执时间
|
|
|
+ //tbOrder.setPayType(0); //支付类型
|
|
|
if ("1".equals(tbOrder.getDeclareType())) {
|
|
|
// tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode()); //已完成->完成后可以进行转售
|
|
|
tbOrder.setFinishTime(new Date());
|
|
@@ -471,12 +474,11 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
// TODO: 2023/8/28 边民发起支付申请,调用银行接口:验证边民支付信息,将货款先存入银行第三方账户,并给出回执
|
|
|
PaymentDto paymentDto = this.getPaymentData(tbOrder);
|
|
|
paymentServerInterface.sendSXB010(paymentDto);
|
|
|
- //paymentServerInterface.sendCXB001(paymentDto);
|
|
|
|
|
|
return update;
|
|
|
}
|
|
|
/**
|
|
|
- * 边民订单确认-收到银行扣款回执
|
|
|
+ * 边民订单确认-收到银行扣款回执——SXB011——SXB012
|
|
|
* @param tradeNo 一级市场边民订单-订单编号
|
|
|
* @param SXB010Status 回执状态-1=扣款成功 2=扣款失败
|
|
|
*/
|
|
@@ -498,9 +500,9 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
tbOrder.setSxb010Status(1)
|
|
|
.setSxb010StatusTime(new Date());
|
|
|
|
|
|
- tbOrder.setPeopleConfirmTime(new Date())
|
|
|
+ /*tbOrder.setPeopleConfirmTime(new Date())
|
|
|
.setPeopleConfirmStatus(ConfirmStatus.CONFIRM_STATUS_ONE.getCode())
|
|
|
- .setUpdateTime(new Date());
|
|
|
+ .setUpdateTime(new Date());*/
|
|
|
if ("1".equals(tbOrder.getDeclareType())) {
|
|
|
// TODO: 2023/8/29 调用航通009接口,发送信息
|
|
|
sendConfirmMsgToHt(tbOrder);
|
|
@@ -698,7 +700,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
|
|
|
return update && update1;
|
|
|
}
|
|
|
- //收到银行退款回执
|
|
|
+ //收到银行退款回执——SXB014——SXB015
|
|
|
public boolean chargebackFromBank(String tradeNo, Integer SXB013Status, String note) {
|
|
|
LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(TbOrder::getTradeNo, tradeNo);
|
|
@@ -717,7 +719,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
return updateById(tbOrder);
|
|
|
}
|
|
|
|
|
|
- // TODO: 2023/8/28 系统接收到航通接口信息:车辆已出一级市场(系统接收到这个信息时,证明已经查验通过,不会有进出口申报单退单)
|
|
|
+ // TODO: 2023/8/28 系统接收到航通007接口信息:车辆已出一级市场(系统接收到这个信息时,证明已经查验通过,不会有进出口申报单退单)
|
|
|
public boolean orderFinish(HtPassCardDTO htPassCardDTO) {
|
|
|
String billCode = htPassCardDTO.getBillCode();
|
|
|
//获取出了一级市场的所有边民订单
|
|
@@ -725,24 +727,36 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
wrapper.eq(TbOrder::getPreNo, billCode);
|
|
|
List<TbOrder> tbOrders = tbOrderMapper.selectList(wrapper);
|
|
|
if (tbOrders.isEmpty()) {
|
|
|
- return false;
|
|
|
+ throw new ServiceException(" ------接收到航通007车辆出卡三接口信息,当前获取到的一级市场的边民订单为空。 单证代码billCode = " + billCode + "\n");
|
|
|
}
|
|
|
+
|
|
|
+ TbTradeArea area = tbTradeAreaService.getById(tbOrders.get(0).getTradeAreaId());
|
|
|
String tradeNos = "";
|
|
|
+ PaymentDto paymentDto = new PaymentDto();
|
|
|
for (TbOrder tbOrder : tbOrders) {
|
|
|
tradeNos += tbOrder.getTradeNo() + ",";
|
|
|
- tbOrder.setFinishTime(new Date());
|
|
|
- tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
|
|
|
+ //收到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());
|
|
|
+ paymentServerInterface.sendCXB001(paymentDto);
|
|
|
}
|
|
|
- this.updateBatchById(tbOrders);
|
|
|
+ //this.updateBatchById(tbOrders);
|
|
|
+
|
|
|
+
|
|
|
//todo: 调用银行接口发起划扣:将边民划扣至银行第三方账户的货款,支付至外籍商户的账户
|
|
|
- PaymentDto paymentDto = this.getPaymentData(tbOrders.get(0));
|
|
|
- paymentDto.setTradeNos(tradeNos);
|
|
|
- log.info("sendSXB023:{}",JSONUtil.toJsonStr(paymentDto));
|
|
|
- paymentServerInterface.sendSXB023(paymentDto);
|
|
|
+ PaymentDto paymentDto2 = this.getPaymentData(tbOrders.get(0));
|
|
|
+ paymentDto2.setTradeNos(tradeNos);
|
|
|
+ log.info("sendSXB023:{}",JSONUtil.toJsonStr(paymentDto2));
|
|
|
+ paymentServerInterface.sendSXB023(paymentDto2);
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
- // TODO: 收到(一级市场-通车批信息)订单打款回执, tradeNos:订单号 n个
|
|
|
+ // TODO: 收到(一级市场-通车批信息)银行订单打款回执, tradeNos:订单号 n个——SXB017——SXB018
|
|
|
public boolean orderFinishFromBank(String tradeNos, Integer SXB023Status) {
|
|
|
String[] tradeNoArr = tradeNos.split(",");
|
|
|
LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
|
|
@@ -751,7 +765,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
}
|
|
|
List<TbOrder> tbOrderList = this.list(wrapper);
|
|
|
if (tbOrderList.size() <= 0) {
|
|
|
- throw new RuntimeException("收到(一级市场-通车批信息)订单打款回执:订单不存在");
|
|
|
+ throw new RuntimeException("收到(一级市场-通车批信息)银行订单打款回执——SXB017——SXB018:订单不存在");
|
|
|
}
|
|
|
|
|
|
// 更新状态保存交易记录
|