提交第三方接口订单同步功能

This commit is contained in:
wuweihua
2026-09-10 15:53:23 +08:00
parent 4f5ba43d28
commit e69a6845f5
22 changed files with 1258 additions and 4 deletions
@@ -0,0 +1,74 @@
package com.ruoyi.price.domain;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/** receivable bill header prc_bill */
@Data
@EqualsAndHashCode(callSuper = true)
public class PrcBill extends BaseEntity
{
private static final long serialVersionUID = 1L;
private String billId;
private String billKey;
private String orderNo;
private String trackingNo;
private Long customerId;
private String customerCode;
private String customerName;
private Integer pieces;
private BigDecimal actualWeight;
private BigDecimal volume;
private BigDecimal volumeWeight;
private BigDecimal pkgLength;
private BigDecimal pkgWidth;
private BigDecimal pkgHeight;
private String shipperName;
private String consigneeName;
private String destPostcode;
private String warehouseCode;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date orderTime;
private String orderRemark;
private String productCode;
private String productName;
private String countryCode;
private String countryName;
private BigDecimal weight;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date bizDate;
private Long tmsId;
private String matchSource;
private String matchMessage;
private Long priceSetId;
private String priceSetCode;
private String priceSetName;
private String setType;
private Integer bindPriority;
private Long customerPricesetId;
private Long productCountryId;
private BigDecimal weightMin;
private BigDecimal weightMax;
private String weightLabel;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date effectiveDate;
private BigDecimal chargeWeight;
private BigDecimal freightRate;
private BigDecimal baseFreightRate;
private BigDecimal discountPercent;
private BigDecimal registrationFee;
private BigDecimal freightAmount;
private BigDecimal surchargeAmount;
private BigDecimal payableTotal;
private String currency;
private String roundMode;
private List<PrcBillFee> fees;
}
@@ -0,0 +1,26 @@
package com.ruoyi.price.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
/** receivable bill fee detail prc_bill_fee */
@Data
public class PrcBillFee implements Serializable
{
private static final long serialVersionUID = 1L;
private String feeId;
private String billId;
private String feeType;
private String feeName;
private Long scId;
private BigDecimal amount;
private String currency;
private String roundMode;
private String remark;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createdAt;
}
@@ -0,0 +1,46 @@
package com.ruoyi.price.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.AssertTrue;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;
/** Sync order -> receivable bill. Quote fields plus order snapshot. */
@Data
@EqualsAndHashCode(callSuper = true)
public class TmsPriceBillRequest extends TmsPriceQuoteRequest
{
private static final long serialVersionUID = 1L;
@NotBlank(message = "orderNo is required")
private String orderNo;
private String trackingNo;
private String customerName;
private Integer pieces;
private BigDecimal actualWeight;
private BigDecimal volume;
private BigDecimal volumeWeight;
private BigDecimal pkgLength;
private BigDecimal pkgWidth;
private BigDecimal pkgHeight;
private String shipperName;
private String consigneeName;
private String destPostcode;
private String warehouseCode;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date orderTime;
private String orderRemark;
@JsonIgnore
@AssertTrue(message = "bizDate is required")
public boolean isBizDatePresent()
{
String bizDate = getBizDate();
return bizDate != null && !bizDate.trim().isEmpty();
}
}
@@ -53,6 +53,24 @@ public class TmsPriceQuoteResult implements Serializable
/** 费用明细:运费/挂号费各一行,附加费按具体名称各一行 */
private List<TmsPriceQuoteFeeLine> feeDetails;
private String quoteId;
/** true=命中已落库试算 */
private String billId;
private String orderNo;
private String trackingNo;
private String customerCode;
private String customerName;
private Integer pieces;
private BigDecimal actualWeight;
private BigDecimal volume;
private BigDecimal volumeWeight;
private BigDecimal pkgLength;
private BigDecimal pkgWidth;
private BigDecimal pkgHeight;
private String shipperName;
private String consigneeName;
private String destPostcode;
private String warehouseCode;
private Date orderTime;
private String orderRemark;
/** true=hit stored quote */
private Boolean fromCache;
}