提交 3a78546d authored 作者: 胡宁宁's avatar 胡宁宁

Merge branch 'v17.5_order_child_sync_broker_20240617' into test

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