增加扩展表

This commit is contained in:
wuweihua
2026-09-20 15:11:56 +08:00
parent 8d1abf0eb1
commit 86983e4e90
6 changed files with 140 additions and 2 deletions
@@ -0,0 +1,24 @@
package com.ruoyi.price.domain;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
/** Extension of prc_order_bill: upstream sync payload snapshot. */
@Data
public class PrcOrderBillExt implements Serializable
{
private static final long serialVersionUID = 1L;
/** prc_order_bill.bill_id */
private String billId;
/** business order no */
private String orderNo;
/** upstream request JSON after prc_order_bill persist success */
private String syncJson;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -90,7 +90,7 @@ public class TmsPriceQuoteResult implements Serializable
private String orderRemark;
/** true=hit stored quote */
private Boolean fromCache;
/** original TMS sync request JSON from Elasticsearch */
/** original TMS sync request JSON from prc_order_bill_ext */
private String requestJson;
/** original billing response JSON from Elasticsearch */
private String responseJson;
@@ -0,0 +1,15 @@
package com.ruoyi.price.mapper;
import com.ruoyi.price.domain.PrcOrderBillExt;
/** prc_order_bill_ext mapper */
public interface PrcOrderBillExtMapper
{
public PrcOrderBillExt selectByBillId(String billId);
public PrcOrderBillExt selectByOrderNo(String orderNo);
public int insertPrcOrderBillExt(PrcOrderBillExt ext);
public int upsertPrcOrderBillExt(PrcOrderBillExt ext);
}
@@ -22,11 +22,13 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.sign.Md5Utils;
import com.ruoyi.price.domain.PrcIncomeBillFee;
import com.ruoyi.price.domain.PrcOrderBill;
import com.ruoyi.price.domain.PrcOrderBillExt;
import com.ruoyi.price.domain.PrcPayBillFee;
import com.ruoyi.price.domain.vo.TmsPriceBillRequest;
import com.ruoyi.price.domain.vo.TmsPriceQuoteFeeLine;
import com.ruoyi.price.domain.vo.TmsPriceQuoteResult;
import com.ruoyi.price.mapper.PrcIncomeBillFeeMapper;
import com.ruoyi.price.mapper.PrcOrderBillExtMapper;
import com.ruoyi.price.mapper.PrcOrderBillMapper;
import com.ruoyi.price.mapper.PrcPayBillFeeMapper;
import com.ruoyi.price.search.EsBizLogSupport;
@@ -47,6 +49,9 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
@Autowired
private PrcOrderBillMapper orderBillMapper;
@Autowired
private PrcOrderBillExtMapper orderBillExtMapper;
@Autowired
private PrcIncomeBillFeeMapper incomeBillFeeMapper;
@@ -255,8 +260,11 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
{
incomeBillFeeMapper.insertBatch(fees);
}
String syncJson = toRequestJson(request);
persistBillExt(bill, syncJson);
result.setRequestJson(syncJson);
syncOrderCredit(bill, previousIncome);
billSearchStore.save(EsLogType.BILL, orderNo, toRequestJson(request), toResponseJson(result));
billSearchStore.save(EsLogType.BILL, orderNo, syncJson, toResponseJson(result));
}
/**
@@ -443,9 +451,37 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
r.setBizDate(bill.getBizDate());
r.setFeeDetails(toIncomeFeeLines(incomeFees));
r.setPayFeeDetails(toPayFeeLines(payFees));
fillSyncJson(r, bill.getBillId());
return r;
}
/** Persist upstream request JSON after prc_order_bill insert/update succeeds. */
private void persistBillExt(PrcOrderBill bill, String syncJson)
{
if (bill == null || StringUtils.isEmpty(bill.getBillId()) || StringUtils.isEmpty(syncJson))
{
return;
}
PrcOrderBillExt ext = new PrcOrderBillExt();
ext.setBillId(bill.getBillId());
ext.setOrderNo(bill.getOrderNo());
ext.setSyncJson(syncJson);
orderBillExtMapper.upsertPrcOrderBillExt(ext);
}
private void fillSyncJson(TmsPriceQuoteResult result, String billId)
{
if (result == null || StringUtils.isEmpty(billId))
{
return;
}
PrcOrderBillExt ext = orderBillExtMapper.selectByBillId(billId);
if (ext != null)
{
result.setRequestJson(ext.getSyncJson());
}
}
private List<TmsPriceQuoteFeeLine> toIncomeFeeLines(List<PrcIncomeBillFee> fees)
{
List<TmsPriceQuoteFeeLine> lines = new ArrayList<TmsPriceQuoteFeeLine>();