提交 dc3026d5 authored 作者: 胡宁宁's avatar 胡宁宁

Merge branch 'v17.5_order_child_sync_broker_20240617' into test

Former-commit-id: 3a78546d
...@@ -70,6 +70,11 @@ public class CarrierPageSettlementOwnerDetailVO { ...@@ -70,6 +70,11 @@ public class CarrierPageSettlementOwnerDetailVO {
@ApiModelProperty(value = "开票标识:1网运单 2普通单") @ApiModelProperty(value = "开票标识:1网运单 2普通单")
private Integer invoiceType; private Integer invoiceType;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "开票服务费")
private BigDecimal invoiceServiceFee;
@ApiModelProperty(value = "开票服务率")
private BigDecimal invoiceServiceFeeRate;
@MoneyOutConvert
@ApiModelProperty(value = "借款抵扣金额") @ApiModelProperty(value = "借款抵扣金额")
private BigDecimal loanFreight; private BigDecimal loanFreight;
@ApiModelProperty("结算方式 1装车净重 2卸车净重") @ApiModelProperty("结算方式 1装车净重 2卸车净重")
......
...@@ -117,18 +117,13 @@ public class PayNotifyController { ...@@ -117,18 +117,13 @@ public class PayNotifyController {
if (Objects.isNull(notify) || Objects.isNull(notify.getCode()) || Objects.isNull(notify.getAction())) { if (Objects.isNull(notify) || Objects.isNull(notify.getCode()) || Objects.isNull(notify.getAction())) {
return new Result<>(); return new Result<>();
} }
String paymentItem = PayUnitTypeEnum.FREEZE_PLATFORM_FEE.getCode()+"";
int operation = PayOperationStatusEnum.ADJUSTMENT.getValue();
if (notify.getCode() != 0) { if (notify.getCode() != 0) {
paymentService.updateOrderPaymentFail(notify.getOrderNo(), notify.getMsg(), paymentService.updateOrderPaymentStatusById(notify.getOrderNo(),PaymentStatusEnum.FAIL.getValue());
operation,
paymentItem
);
// 支付失败处理 // 支付失败处理
log.info("支付失败处理 唯一id {}", notify.getOrderNo()); log.info("支付失败处理 唯一id {}", notify.getOrderNo());
// 支付失败处理
} else { } else {
paymentService.updateOrderPaymentSuccess(notify.getOrderNo(), operation, paymentService.updateOrderPaymentStatusById(notify.getOrderNo(),PaymentStatusEnum.SUCCESS.getValue());
paymentItem);
// 支付支付成功处理 // 支付支付成功处理
log.info(" 支付支付成功处理 唯一id {}", notify.getOrderNo()); log.info(" 支付支付成功处理 唯一id {}", notify.getOrderNo());
......
...@@ -14,4 +14,5 @@ import java.util.List; ...@@ -14,4 +14,5 @@ import java.util.List;
public interface OrderChildSyncTransportInvoiceRecordDao extends BaseDao<OrderChildSyncTransportInvoiceRecordMapper, OrderChildSyncTransportInvoiceRecord, Integer> { public interface OrderChildSyncTransportInvoiceRecordDao extends BaseDao<OrderChildSyncTransportInvoiceRecordMapper, OrderChildSyncTransportInvoiceRecord, Integer> {
List<OrderChildSyncTransportInvoiceRecord> selectListForJob(); List<OrderChildSyncTransportInvoiceRecord> selectListForJob();
List<OrderChildSyncTransportInvoiceRecord> selectListForJobOfFirst();
} }
package com.clx.performance.dao.impl; package com.clx.performance.dao.impl;
import com.clx.performance.dao.OrderChildSyncTransportInvoiceRecordDao; import com.clx.performance.dao.OrderChildSyncTransportInvoiceRecordDao;
import com.clx.performance.enums.TransportSyncTypeEnum;
import com.clx.performance.mapper.OrderChildSyncTransportInvoiceRecordMapper; import com.clx.performance.mapper.OrderChildSyncTransportInvoiceRecordMapper;
import com.clx.performance.model.OrderChildSyncTransportInvoiceRecord; import com.clx.performance.model.OrderChildSyncTransportInvoiceRecord;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
...@@ -23,4 +24,12 @@ public class OrderChildSyncTransportInvoiceRecordDaoImpl extends BaseDaoImpl<Ord ...@@ -23,4 +24,12 @@ public class OrderChildSyncTransportInvoiceRecordDaoImpl extends BaseDaoImpl<Ord
.le(OrderChildSyncTransportInvoiceRecord::getCreateTime, LocalDateTime.now().minusMinutes(10)) .le(OrderChildSyncTransportInvoiceRecord::getCreateTime, LocalDateTime.now().minusMinutes(10))
); );
} }
@Override
public List<OrderChildSyncTransportInvoiceRecord> selectListForJobOfFirst() {
return list(lUdWrapper()
.eq(OrderChildSyncTransportInvoiceRecord::getType, TransportSyncTypeEnum.Type.RESULT.getCode())
.le(OrderChildSyncTransportInvoiceRecord::getCreateTime, LocalDateTime.now().minusMinutes(3))
);
}
} }
...@@ -52,28 +52,28 @@ public class OrderChildPaySyncTransportJob { ...@@ -52,28 +52,28 @@ public class OrderChildPaySyncTransportJob {
* 同步网络货运运单支付(禁用网络货运同步) * 同步网络货运运单支付(禁用网络货运同步)
*/ */
// @XxlJob("orderChildPaySyncTransportJob") // @XxlJob("orderChildPaySyncTransportJob")
public void orderChildPaySyncTransportJob() { // public void orderChildPaySyncTransportJob() {
List<OrderChildSyncTransportRecord> recordList = orderChildSyncTransportRecordDao.selectListForJob(); // List<OrderChildSyncTransportRecord> recordList = orderChildSyncTransportRecordDao.selectListForJob();
if (CollectionUtil.isEmpty(recordList)) { // if (CollectionUtil.isEmpty(recordList)) {
return; // return;
} // }
//
List<String> orderChilList = recordList.stream().map(OrderChildSyncTransportRecord::getChildNo).collect(Collectors.toList()); // List<String> orderChilList = recordList.stream().map(OrderChildSyncTransportRecord::getChildNo).collect(Collectors.toList());
OrderChildPaySyncParam param = new OrderChildPaySyncParam(); // OrderChildPaySyncParam param = new OrderChildPaySyncParam();
param.setChildNoList(orderChilList); // param.setChildNoList(orderChilList);
HttpDTO httpDTO = transportFeignService.orderChildPaySync(param); // HttpDTO httpDTO = transportFeignService.orderChildPaySync(param);
String decrypt = ThirdComponent.decrypt(httpDTO.getData()); // String decrypt = ThirdComponent.decrypt(httpDTO.getData());
OrderChildSyncDTO bean = JSONUtil.toBean(decrypt, OrderChildSyncDTO.class); // OrderChildSyncDTO bean = JSONUtil.toBean(decrypt, OrderChildSyncDTO.class);
if (bean.getCode() == 0) { // if (bean.getCode() == 0) {
for (OrderChildSyncTransportRecord record : recordList) { // for (OrderChildSyncTransportRecord record : recordList) {
OrderChildSyncTransportRecord update = new OrderChildSyncTransportRecord(); // OrderChildSyncTransportRecord update = new OrderChildSyncTransportRecord();
update.setId(record.getId()); // update.setId(record.getId());
update.setStatus(1); // update.setStatus(1);
orderChildSyncTransportRecordDao.updateEntityByKey(update); // orderChildSyncTransportRecordDao.updateEntityByKey(update);
} // }
} // }
//
} // }
/** /**
......
...@@ -52,65 +52,65 @@ public class OrderChildSyncTransportInvoiceExceptionJob { ...@@ -52,65 +52,65 @@ public class OrderChildSyncTransportInvoiceExceptionJob {
* 同步网络货运(禁用网络货运同步) * 同步网络货运(禁用网络货运同步)
*/ */
// @XxlJob("orderChildSyncTransportInvoiceExceptionJob") // @XxlJob("orderChildSyncTransportInvoiceExceptionJob")
@Transactional(rollbackFor = Exception.class) // @Transactional(rollbackFor = Exception.class)
public void orderChildSyncTransportInvoiceExceptionJob() { // public void orderChildSyncTransportInvoiceExceptionJob() {
//只查询同步异常的网络货运任务 // //只查询同步异常的网络货运任务
List<OrderChildSyncTransportInvoiceRecord> recordList = orderChildSyncTransportInvoiceRecordDao.selectListForJob(); // List<OrderChildSyncTransportInvoiceRecord> recordList = orderChildSyncTransportInvoiceRecordDao.selectListForJob();
if (CollectionUtil.isEmpty(recordList)) { // if (CollectionUtil.isEmpty(recordList)) {
return; // return;
} // }
List<Integer> ids = new LinkedList<>(); // List<Integer> ids = new LinkedList<>();
//
for (OrderChildSyncTransportInvoiceRecord record : recordList) { // for (OrderChildSyncTransportInvoiceRecord record : recordList) {
log.info("orderChildSyncTransportInvoiceExceptionJob执行:{}", JSONUtil.parse(record)); // log.info("orderChildSyncTransportInvoiceExceptionJob执行:{}", JSONUtil.parse(record));
if (record.getCreateTime().plusMinutes(10).isBefore(LocalDateTime.now())) { // if (record.getCreateTime().plusMinutes(10).isBefore(LocalDateTime.now())) {
log.info("当前记录运单号:{},生成不足10分钟,先不执行", record.getChildNo()); // log.info("当前记录运单号:{},生成不足10分钟,先不执行", record.getChildNo());
continue; // continue;
} // }
//
String data = transportFeignService.getRiskStatus(ThirdOrderChildRiskStatusParam.builder().childNo(record.getChildNo()).build()).getData(); // String data = transportFeignService.getRiskStatus(ThirdOrderChildRiskStatusParam.builder().childNo(record.getChildNo()).build()).getData();
String decrypt = ThirdComponent.decrypt(data); // String decrypt = ThirdComponent.decrypt(data);
Result result = JSONUtil.toBean(decrypt, Result.class); // Result result = JSONUtil.toBean(decrypt, Result.class);
if (result.succeed()) { // if (result.succeed()) {
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(record.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); // SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(record.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(record.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); // SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(record.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//
JSON json = JSONUtil.parse(result.getData()); // JSON json = JSONUtil.parse(result.getData());
Object status = json.getByPath("status"); // Object status = json.getByPath("status");
ids.add(record.getId()); // ids.add(record.getId());
OrderChildSyncDTO bean = new OrderChildSyncDTO(); // OrderChildSyncDTO bean = new OrderChildSyncDTO();
bean.setCode(0); // bean.setCode(0);
OrderChildSyncResultDTO dto = new OrderChildSyncResultDTO(); // OrderChildSyncResultDTO dto = new OrderChildSyncResultDTO();
OrderChild orderChild = orderChildDao.getByChildNo(record.getChildNo()).get(); // OrderChild orderChild = orderChildDao.getByChildNo(record.getChildNo()).get();
log.info("查询网络货运结果数据:{}", JSONUtil.parse(result)); // log.info("查询网络货运结果数据:{}", JSONUtil.parse(result));
if (ObjectUtil.equal(status, 1)) { // if (ObjectUtil.equal(status, 1)) {
dto.setStatus(1); // dto.setStatus(1);
bean.setData(dto); // bean.setData(dto);
orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail, // orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail,
SettlementOwnerEnum.InvoiceType.ONLINE.getCode(), settlementDriverDetail); // SettlementOwnerEnum.InvoiceType.ONLINE.getCode(), settlementDriverDetail);
} else if (ObjectUtil.equal(status, 0)){ // } else if (ObjectUtil.equal(status, 0)){
dto.setStatus(2); // dto.setStatus(2);
bean.setData(dto); // bean.setData(dto);
orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail, // orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail,
SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail); // SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail);
//
}else if (ObjectUtil.equal(status, 2)){ // }else if (ObjectUtil.equal(status, 2)){
// orderChildPaySync.transportOrderChildProcess(orderChild); //// orderChildPaySync.transportOrderChildProcess(orderChild);
dto.setStatus(2); // dto.setStatus(2);
bean.setData(dto); // bean.setData(dto);
orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail, // orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail,
SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail); // SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail);
} else { // } else {
Object riskReason = json.getByPath("riskReason"); // Object riskReason = json.getByPath("riskReason");
OrderChildSyncTransportInvoiceRecord entity = new OrderChildSyncTransportInvoiceRecord(); // OrderChildSyncTransportInvoiceRecord entity = new OrderChildSyncTransportInvoiceRecord();
entity.setChildNo(json.getByPath("childNo").toString()); // entity.setChildNo(json.getByPath("childNo").toString());
entity.setType(TransportSyncTypeEnum.Type.NO_PASS.getCode()); // entity.setType(TransportSyncTypeEnum.Type.NO_PASS.getCode());
entity.setRemark(riskReason == null ? "" : riskReason.toString()); // entity.setRemark(riskReason == null ? "" : riskReason.toString());
orderChildSyncTransportInvoiceRecordDao.saveEntity(entity); // orderChildSyncTransportInvoiceRecordDao.saveEntity(entity);
} // }
} // }
} // }
//
orderChildSyncTransportInvoiceRecordDao.deleteByKeys(ids); // orderChildSyncTransportInvoiceRecordDao.deleteByKeys(ids);
} // }
} }
...@@ -33,8 +33,14 @@ public class SettlementJob { ...@@ -33,8 +33,14 @@ public class SettlementJob {
*/ */
@XxlJob("settlementInvoiceTypeSync") @XxlJob("settlementInvoiceTypeSync")
public void settlementInvoiceTypeSync() { public void settlementInvoiceTypeSync() {
// 首次
List<OrderChildSyncTransportInvoiceRecord> recordList = orderChildSyncTransportInvoiceRecordDao List<OrderChildSyncTransportInvoiceRecord> recordList = orderChildSyncTransportInvoiceRecordDao
.selectListForJobOfFirst();
// 异常
List<OrderChildSyncTransportInvoiceRecord> recordList1 = orderChildSyncTransportInvoiceRecordDao
.selectListForJob(); .selectListForJob();
recordList.addAll(recordList1);
log.info("待同步无车承运运单状态,size:{}", recordList.size()); log.info("待同步无车承运运单状态,size:{}", recordList.size());
if (recordList.isEmpty()) {return;} if (recordList.isEmpty()) {return;}
......
...@@ -23,6 +23,9 @@ public interface PaymentService { ...@@ -23,6 +23,9 @@ public interface PaymentService {
void updateOrderPaymentFail(String orderNo,String msg,Integer operation, String paymentItem); void updateOrderPaymentFail(String orderNo,String msg,Integer operation, String paymentItem);
void updateOrderPaymentSuccess(String orderNo,Integer operation, String paymentItem); void updateOrderPaymentSuccess(String orderNo,Integer operation, String paymentItem);
void updateOrderPaymentStatusById(String id,int status);
void updateOrderPaymentSerialNoSuccess(String orderNo,String serialNo,Integer operation, String paymentItem); void updateOrderPaymentSerialNoSuccess(String orderNo,String serialNo,Integer operation, String paymentItem);
WalletResidueDTO getWalletAndCard(Integer userCode); WalletResidueDTO getWalletAndCard(Integer userCode);
......
...@@ -192,7 +192,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -192,7 +192,7 @@ public class PaymentServiceImpl implements PaymentService {
OrderPayment orderPayment = new OrderPayment() OrderPayment orderPayment = new OrderPayment()
.setAmount(payDTO.getFigure()) .setAmount(payDTO.getFigure())
.setOrderNo(payDTO.getTradeNo()) .setOrderNo(payDTO.getTradeNo())
.setRelationNo(payOrderNoGenerate()) .setRelationNo(payDTO.getTradeNo())
.setPaymentItem(PayUnitTypeEnum.FREEZE_PLATFORM_FEE.getCode() + "") .setPaymentItem(PayUnitTypeEnum.FREEZE_PLATFORM_FEE.getCode() + "")
.setStatus(PaymentStatusEnum.CREATE.getValue()) .setStatus(PaymentStatusEnum.CREATE.getValue())
.setOperation(PayOperationStatusEnum.FREEZE.getValue()); .setOperation(PayOperationStatusEnum.FREEZE.getValue());
...@@ -243,7 +243,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -243,7 +243,7 @@ public class PaymentServiceImpl implements PaymentService {
saveOrderPayment(orderPayment); saveOrderPayment(orderPayment);
/** 调整冻结记录 **/ /** 调整冻结记录 **/
FreezeBatchDTO freezeBatchDTO = buildChangeFreezeBatchDTO(orderPaymentOptional,orderPayment.getRelationNo() ,param.getFigure()); FreezeBatchDTO freezeBatchDTO = buildChangeFreezeBatchDTO(orderPaymentOptional,orderPayment.getId() ,param.getFigure());
log.info("发起支付请求日志 {}", freezeBatchDTO); log.info("发起支付请求日志 {}", freezeBatchDTO);
Result<Object> notify = (Result<Object>) postRequest(mslPaymentConfig.getHost() + Result<Object> notify = (Result<Object>) postRequest(mslPaymentConfig.getHost() +
...@@ -391,6 +391,19 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -391,6 +391,19 @@ public class PaymentServiceImpl implements PaymentService {
orderPaymentDao.updateEntityByKey(orderPaymentOptional); orderPaymentDao.updateEntityByKey(orderPaymentOptional);
} }
@Override
public void updateOrderPaymentStatusById(String id,Integer status) {
//查询冻结记录
OrderPayment orderPaymentOptional = orderPaymentDao.getEntityByKey(Integer.valueOf(id)).orNull();
if (null == orderPaymentOptional){
log.error("数据不存在 {}, {}" ,id);
}
orderPaymentOptional.setStatus(status);
orderPaymentDao.updateEntityByKey(orderPaymentOptional);
}
@Override @Override
public void updateOrderPaymentSerialNoSuccess(String orderNo, String serialNo, Integer operation, String paymentItem) { public void updateOrderPaymentSerialNoSuccess(String orderNo, String serialNo, Integer operation, String paymentItem) {
OrderPayment orderPaymentOptional = OrderPayment orderPaymentOptional =
...@@ -492,7 +505,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -492,7 +505,7 @@ public class PaymentServiceImpl implements PaymentService {
/** /**
* 构建 司机平台服务费冻结实体 * 构建 司机平台服务费冻结实体
*/ */
public FreezeBatchDTO buildChangeFreezeBatchDTO(OrderPayment orderPaymentOptional,String orderNo,Integer figure){ public FreezeBatchDTO buildChangeFreezeBatchDTO(OrderPayment orderPaymentOptional,Integer orderNo,Integer figure){
FreezeBatchDTO freezeBatchDTO = new FreezeBatchDTO(); FreezeBatchDTO freezeBatchDTO = new FreezeBatchDTO();
List<FreezeUnitDTO> FreezeUnitList = new ArrayList<FreezeUnitDTO>(); List<FreezeUnitDTO> FreezeUnitList = new ArrayList<FreezeUnitDTO>();
FreezeUnitDTO freightPayUnitDTO = new FreezeUnitDTO(); FreezeUnitDTO freightPayUnitDTO = new FreezeUnitDTO();
...@@ -508,7 +521,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -508,7 +521,7 @@ public class PaymentServiceImpl implements PaymentService {
FreezeUnitList.add(freightPayUnitDTO); FreezeUnitList.add(freightPayUnitDTO);
freezeBatchDTO.setFreezeUnitList(FreezeUnitList); freezeBatchDTO.setFreezeUnitList(FreezeUnitList);
freezeBatchDTO.setOrderNo(orderNo); freezeBatchDTO.setOrderNo(orderNo+"");
freezeBatchDTO.setSystem(SystemCodeEnum.PERFORMANCE_SERVICE.getCode()); freezeBatchDTO.setSystem(SystemCodeEnum.PERFORMANCE_SERVICE.getCode());
//回调地址 //回调地址
freezeBatchDTO.setNotifyUrl(mslPaymentConfig.getNotifyhost() + NOTIFY_ADJUST_PLATFORM_FEE_URL); freezeBatchDTO.setNotifyUrl(mslPaymentConfig.getNotifyhost() + NOTIFY_ADJUST_PLATFORM_FEE_URL);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论