统一修改ruoyi->bms
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** BMS产品主表 bms_product */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class BmsProduct extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long productId;
|
||||
private String productCode;
|
||||
private String productName;
|
||||
private String serviceLevel;
|
||||
private String cargoAttr;
|
||||
private String destRegion;
|
||||
private String updateNote;
|
||||
/** TAX_INCLUDED / TAX_EXCLUDED */
|
||||
private String taxMode;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date effectiveDate;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date expireDate;
|
||||
/** 0 pending, 1 active, 2 expired */
|
||||
public static final String STATUS_PENDING = "0";
|
||||
public static final String STATUS_ACTIVE = "1";
|
||||
public static final String STATUS_EXPIRED = "2";
|
||||
private String status;
|
||||
private String sourceSheet;
|
||||
private Long tmsId;
|
||||
private Integer countryCount;
|
||||
private Integer surchargeCount;
|
||||
private List<BmsProductCountry> countries;
|
||||
/** query alias of status (0/1/2) */
|
||||
private String effectStatus;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** 产品国家服务明细 bms_product_country */
|
||||
@Data
|
||||
public class BmsProductCountry implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long detailId;
|
||||
/** FK to bms_product.product_id (one country version belongs to one product row) */
|
||||
private Long productId;
|
||||
private String productCode;
|
||||
private String countryName;
|
||||
private String countryCode;
|
||||
/** prc_zone.zone_id; null when product country has no zone */
|
||||
private Long zoneId;
|
||||
/** e.g. Z1; null when no zone */
|
||||
private String zoneCode;
|
||||
/** e.g. Australia(Z1); null when no zone */
|
||||
private String zoneName;
|
||||
private BigDecimal weightMin;
|
||||
private BigDecimal weightMax;
|
||||
private BigDecimal freightPrice;
|
||||
private BigDecimal registrationFee;
|
||||
private String sizeLimit;
|
||||
private String lastMile;
|
||||
private String leadTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date effectiveDate;
|
||||
/** null=open; closed to next import effective_date */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date expireDate;
|
||||
/** 0 pending, 1 active, 2 expired */
|
||||
private String status;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
/** query only: true = expire_date is null */
|
||||
private Boolean openOnly;
|
||||
/** query alias of status (0/1/2) */
|
||||
private String effectStatus;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** Billing task row prc_billing_task */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcBillingTask extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long taskId;
|
||||
private String transferNo;
|
||||
private String trackingNo;
|
||||
private String orderNo;
|
||||
/** PENDING / REBILL / REFUND */
|
||||
private String billType;
|
||||
/** WAITING / SUCCESS / FAILED */
|
||||
private String successStatus;
|
||||
/** Billing time from mobile (not Oracle order time; not overwritten on writeback) */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date billTime;
|
||||
private String billId;
|
||||
private String errorMessage;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** 客户套餐 prc_customer_price_set */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcCustomerPriceSet extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long customerPricesetId;
|
||||
private Long priceSetId;
|
||||
private Long customerId;
|
||||
private String customerCode;
|
||||
private String customerName;
|
||||
/** 数字越小越优先 */
|
||||
private Integer bindPriority;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date prBegindate;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date prEnddate;
|
||||
private String priceSetNote;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** 应收主表 prc_income_bill(与 prc_order_bill 一对一) */
|
||||
@Data
|
||||
public class PrcIncomeBill implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 应收主表ID */
|
||||
private String incomeBillId;
|
||||
/** 计费订单ID */
|
||||
private String billId;
|
||||
/** 币种 */
|
||||
private String currency;
|
||||
/** 产品价合计 */
|
||||
private BigDecimal productAmount;
|
||||
/** 红线价合计 */
|
||||
private BigDecimal redlineAmount;
|
||||
/** 销售价合计(当前计费结果) */
|
||||
private BigDecimal salesAmount;
|
||||
/** 应收合计(当前等于销售价) */
|
||||
private BigDecimal incomeTotal;
|
||||
/** 业务员/销售员 */
|
||||
private String belongSaler;
|
||||
/** 销售员编码 */
|
||||
private String belongSalerCode;
|
||||
/** 结算员 */
|
||||
private String settlementMan;
|
||||
/** 结算员编码 */
|
||||
private String settlementManCode;
|
||||
private String createBy;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
private String updateBy;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** 应收费用明细 prc_income_bill_fee */
|
||||
@Data
|
||||
public class PrcIncomeBillFee implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String feeId;
|
||||
private String billId;
|
||||
/** 应收主表ID */
|
||||
private String incomeBillId;
|
||||
private String feeType;
|
||||
private String feeName;
|
||||
private Long scId;
|
||||
private BigDecimal amount;
|
||||
private String currency;
|
||||
private String roundMode;
|
||||
private String remark;
|
||||
/** 是否生成账单状态:UNBILLED未生成/BILLED已生成 */
|
||||
private String arBillStatus;
|
||||
/** 是否手动增加:0否 1是 */
|
||||
private String manualFlag;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** order info header prc_order_bill */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcOrderBill extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String billId;
|
||||
private String billKey;
|
||||
private String orderNo;
|
||||
/** 批量查询:多个订单号精确匹配(仅查询用,非表字段) */
|
||||
private List<String> orderNos;
|
||||
private String trackingNo;
|
||||
/** 批量查询:多个运单号精确匹配(仅查询用,非表字段) */
|
||||
private List<String> trackingNos;
|
||||
/** transfer order no */
|
||||
private String transferNo;
|
||||
/** 批量查询:多个转单号精确匹配(仅查询用,非表字段) */
|
||||
private List<String> transferNos;
|
||||
/** 所属销售员 */
|
||||
private String belongSaler;
|
||||
/** 销售员编码 */
|
||||
private String belongSalerCode;
|
||||
/** 结算员 */
|
||||
private String settlementMan;
|
||||
/** 结算员编码 */
|
||||
private String settlementManCode;
|
||||
/** 客服员 */
|
||||
private String serviceMan;
|
||||
private Long customerId;
|
||||
private String customerCode;
|
||||
private String customerName;
|
||||
/** 批量查询:多个客户代码精确匹配(仅查询用,非表字段) */
|
||||
private List<String> customerCodes;
|
||||
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 List<String> productCodes;
|
||||
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;
|
||||
/** 套餐版本ID(prc_price_set_version.psv_id) */
|
||||
private Long psvId;
|
||||
/** 套餐明细ID(prc_price_set_detail.psd_id) */
|
||||
private Long psdId;
|
||||
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;
|
||||
/** receivable total */
|
||||
private BigDecimal incomeTotal;
|
||||
/** payable total */
|
||||
private BigDecimal payTotal;
|
||||
private String currency;
|
||||
/** 应收账单状态:UNBILLED未出账/PARTIAL部分出账/BILLED已出账。 */
|
||||
private String arBillStatus;
|
||||
/** ACTIVE / MISSING / DISABLED */
|
||||
private String customerActiveStatus;
|
||||
/** NORMAL / ARREARS */
|
||||
private String creditArrearsStatus;
|
||||
private String roundMode;
|
||||
|
||||
private List<PrcIncomeBillFee> incomeFees;
|
||||
private List<PrcPayBillFee> payFees;
|
||||
}
|
||||
@@ -0,0 +1,218 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/** 计费订单扩展表:TAB_ORDER 剩余字段 + 同步请求快照 */
|
||||
@Data
|
||||
public class PrcOrderBillExt implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String billId;
|
||||
private String orderNo;
|
||||
private String upstreamId;
|
||||
private String lineNo;
|
||||
private Integer packageNum;
|
||||
private BigDecimal actualVolume;
|
||||
private Integer cpType;
|
||||
private String consigneeMobile;
|
||||
private String orderReturnsign;
|
||||
private String tradeType;
|
||||
private String dutyType;
|
||||
private String batteryType;
|
||||
private String consigneeCompanyname;
|
||||
private String consigneeAddress;
|
||||
private String consigneeTelephone;
|
||||
private String consigneeState;
|
||||
private String consigneeCity;
|
||||
private String consigneeSuburb;
|
||||
private String consigneePassportno;
|
||||
private String consigneeEmail;
|
||||
private String consigneeTaxno;
|
||||
private String consigneeTaxnotype;
|
||||
private String consigneeTaxnocountry;
|
||||
private String consigneeStreetno;
|
||||
private String consigneeDoorno;
|
||||
private String shipperTaxnotype;
|
||||
private String shipperTaxno;
|
||||
private String shipperTaxnocountry;
|
||||
private String customerId;
|
||||
private String productImagepath;
|
||||
private String orderTransactionurl;
|
||||
private BigDecimal orderCargoamount;
|
||||
private String cargoType;
|
||||
private String shipperCompanyname;
|
||||
private String shipperAddress1;
|
||||
private String shipperAddress2;
|
||||
private String shipperAddress3;
|
||||
private String shipperCity;
|
||||
private String shipperState;
|
||||
private String shipperPostcode;
|
||||
private String shipperCountry;
|
||||
private String shipperTelephone;
|
||||
private String shipperSuburb;
|
||||
private String shipperEmail;
|
||||
private String shipperPassportno;
|
||||
private String importCode;
|
||||
private String importName;
|
||||
private String importCompanyname;
|
||||
private String importAddress;
|
||||
private String importAddress2;
|
||||
private String importAddress3;
|
||||
private String importTelephone;
|
||||
private String importEmail;
|
||||
private String importPostcode;
|
||||
private String importCity;
|
||||
private String importState;
|
||||
private String importCountry;
|
||||
private String buyerid;
|
||||
private Integer orderStatus;
|
||||
private String createAt;
|
||||
private Integer payType;
|
||||
private String lineCode;
|
||||
private String lineName;
|
||||
private String productType;
|
||||
private String lineType;
|
||||
private String cargoName;
|
||||
private String productFloorCode;
|
||||
private BigDecimal orderInsurance;
|
||||
private BigDecimal productSumPrice;
|
||||
private BigDecimal productSum;
|
||||
private String shipperDoorno;
|
||||
private String tariffPaymentAccount;
|
||||
private BigDecimal topayment;
|
||||
private String productFloor;
|
||||
private String latestTrajectory;
|
||||
private String wayBill;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date pickupDate;
|
||||
private Integer blBaging;
|
||||
private Integer blPickup;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date bagDate;
|
||||
private Integer orgOrderStatus;
|
||||
private String statusDescription;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date zzDate;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date shippingDate;
|
||||
private BigDecimal orderType;
|
||||
private String receivingPhoto;
|
||||
private BigDecimal freight;
|
||||
private Integer isReceivable;
|
||||
private Integer isMeet;
|
||||
private String billNoReceivable;
|
||||
private String billNoMeet;
|
||||
private String countryEingthName;
|
||||
private Integer isReceivableFee;
|
||||
private BigDecimal settlementFee;
|
||||
private String productId;
|
||||
private BigDecimal serviceFreight;
|
||||
private Integer isPayFee;
|
||||
private Integer hasAddedSurcharge;
|
||||
private BigDecimal yfFee;
|
||||
private BigDecimal yfTotailFee;
|
||||
private Integer trajectoryStatus;
|
||||
private String cargoTypeName;
|
||||
private String serviceCode;
|
||||
private String threeCode;
|
||||
private BigDecimal volumeHeightOld;
|
||||
private BigDecimal volumeLengthOld;
|
||||
private BigDecimal volumeWidthOld;
|
||||
private String registerManOld;
|
||||
private String bagNoOld;
|
||||
private String airNoOld;
|
||||
private String boxSiziOld;
|
||||
private String bagingManOld;
|
||||
private String retrievalManOld;
|
||||
private String invoiceAmountOld;
|
||||
private String invoiceTitleOld;
|
||||
private String invoiceWeightOld;
|
||||
private String skuOld;
|
||||
private String hsCodeOld;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date registerDateOld;
|
||||
private String invoiceCurrencyOld;
|
||||
private Integer trajectorySubState;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date signInTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date warehouseTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date declarationTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date releaseTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date stationTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date takeoffTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date landingTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date clearanceAndDeliveryTime;
|
||||
private String supplierName;
|
||||
private String creditCode;
|
||||
private String otherId;
|
||||
private String platformCode;
|
||||
private Integer syncShipmentStatus;
|
||||
private BigDecimal updateWeight;
|
||||
private String otherBagNo;
|
||||
private Integer bagFlag;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date onlineTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date outboundTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date airConfirmDate;
|
||||
private String shipmentType;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date trackQueryTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date airConfirmTime;
|
||||
private Integer packageType;
|
||||
private BigDecimal dimensionalWeightFactor;
|
||||
private String updateBy;
|
||||
private String customerPickupSite;
|
||||
private String barcodeNumber;
|
||||
private String trackingReflectStatus;
|
||||
private Integer remotePostcode;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date clearanceTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date arriveStockTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date departureTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date firstDeliverTime;
|
||||
private BigDecimal hsCodeTaxCount;
|
||||
private BigDecimal hsCodeTaxAmount;
|
||||
private String hsCodeTaxCurrency;
|
||||
private String invoiceUrl;
|
||||
private String clearanceNo;
|
||||
private BigDecimal pushWeight;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date internalCheckTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date airDelayTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date firstLandingTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date secondTakeoffTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date desPortCheckTime;
|
||||
private String stayRemark;
|
||||
private String missBoxRemark;
|
||||
private String productChannelId;
|
||||
private String customerTrackId;
|
||||
private String registerSite;
|
||||
private Integer packageTypeFinancial;
|
||||
private String mrn;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** 应付主表 prc_pay_bill(与 prc_order_bill 一对一) */
|
||||
@Data
|
||||
public class PrcPayBill implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 应付主表ID */
|
||||
private String payBillId;
|
||||
/** 计费订单ID */
|
||||
private String billId;
|
||||
/** 币种 */
|
||||
private String currency;
|
||||
/** 产品价合计 */
|
||||
private BigDecimal productAmount;
|
||||
/** 红线价合计 */
|
||||
private BigDecimal redlineAmount;
|
||||
/** 成本价合计(当前计费结果) */
|
||||
private BigDecimal costAmount;
|
||||
/** 应付合计(当前等于成本价) */
|
||||
private BigDecimal payTotal;
|
||||
/** 业务员/销售员 */
|
||||
private String belongSaler;
|
||||
/** 销售员编码 */
|
||||
private String belongSalerCode;
|
||||
/** 结算员 */
|
||||
private String settlementMan;
|
||||
/** 结算员编码 */
|
||||
private String settlementManCode;
|
||||
private String createBy;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
private String updateBy;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** 应付费用明细 prc_pay_bill_fee */
|
||||
@Data
|
||||
public class PrcPayBillFee implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String feeId;
|
||||
private String billId;
|
||||
/** 应付主表ID */
|
||||
private String payBillId;
|
||||
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 createTime;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** 价格套餐 prc_price_set */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcPriceSet extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long priceSetId;
|
||||
private String priceSetCode;
|
||||
private String priceSetName;
|
||||
private String priceSetNote;
|
||||
/** FIXED / DISCOUNT */
|
||||
private String setType;
|
||||
private BigDecimal defaultDiscount;
|
||||
private String defaultType;
|
||||
private String calculateSign;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date effectiveDate;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date expireDate;
|
||||
/** D/A/E/R/S */
|
||||
private String status;
|
||||
private Long tmsId;
|
||||
|
||||
private Integer productCount;
|
||||
private Integer customerCount;
|
||||
private Boolean expired;
|
||||
private String keyword;
|
||||
private String submitFlag;
|
||||
/** current version on create/edit save */
|
||||
private PrcPriceSetVersion version;
|
||||
private List<PrcPriceSetDetail> details;
|
||||
private List<PrcPriceSetVersion> versions;
|
||||
private List<PrcCustomerPriceSet> customers;
|
||||
/** async save task id (not persisted) */
|
||||
private String saveTaskId;
|
||||
/** Y: backend joins product library into details (skip front pull) */
|
||||
private String pullFromLibrary;
|
||||
/** Y: even if version already has details, delete+re-pull from library */
|
||||
private String forcePullLibrary;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/** 套餐校验项 */
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PrcPriceSetCheckItem
|
||||
{
|
||||
private String item;
|
||||
/** PASS / WARN / FAIL / INFO */
|
||||
private String result;
|
||||
private String message;
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** 价格套餐明细 prc_price_set_detail */
|
||||
@Data
|
||||
public class PrcPriceSetDetail implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long psdId;
|
||||
private Long priceSetId;
|
||||
/** prc_price_set_version.psv_id */
|
||||
private Long psvId;
|
||||
private String productCode;
|
||||
private String productName;
|
||||
private String countryCode;
|
||||
private String countryName;
|
||||
/** prc_zone.zone_id; null when country has no zone */
|
||||
private Long zoneId;
|
||||
/** e.g. Z1; null when no zone */
|
||||
private String zoneCode;
|
||||
/** zone display name; null when no zone */
|
||||
private String zoneName;
|
||||
private Long zdId;
|
||||
private Long wsdId;
|
||||
private String weightLabel;
|
||||
/** KG inclusive, same as bms_product_country */
|
||||
private BigDecimal weightMin;
|
||||
private BigDecimal weightMax;
|
||||
/** bms_product_country.detail_id */
|
||||
private Long productCountryId;
|
||||
private BigDecimal fvValue;
|
||||
private BigDecimal fvRegistrationFee;
|
||||
private BigDecimal discountValue;
|
||||
/** UP / DOWN / HALF_UP */
|
||||
private String roundMode;
|
||||
private Integer prId;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date effectiveDate;
|
||||
/** null = open */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date expireDate;
|
||||
private List<PrcPriceSetVersionSurcharge> surcharges;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
/** query only: product/country/zone/weight keyword */
|
||||
private String keyword;
|
||||
/** query only: product code/name like */
|
||||
private String productKeyword;
|
||||
/** query only: country code/name like */
|
||||
private String countryKeyword;
|
||||
/** query only: zone code/name like */
|
||||
private String zoneKeyword;
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Async save progress for price set (Redis).
|
||||
*/
|
||||
public class PrcPriceSetSaveTask implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public static final String STATUS_PENDING = "PENDING";
|
||||
public static final String STATUS_RUNNING = "RUNNING";
|
||||
public static final String STATUS_SUCCESS = "SUCCESS";
|
||||
public static final String STATUS_FAIL = "FAIL";
|
||||
|
||||
private String taskId;
|
||||
private String status;
|
||||
private int percent;
|
||||
private String message;
|
||||
private Long priceSetId;
|
||||
private String error;
|
||||
|
||||
public String getTaskId()
|
||||
{
|
||||
return taskId;
|
||||
}
|
||||
|
||||
public void setTaskId(String taskId)
|
||||
{
|
||||
this.taskId = taskId;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public int getPercent()
|
||||
{
|
||||
return percent;
|
||||
}
|
||||
|
||||
public void setPercent(int percent)
|
||||
{
|
||||
this.percent = percent;
|
||||
}
|
||||
|
||||
public String getMessage()
|
||||
{
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message)
|
||||
{
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public Long getPriceSetId()
|
||||
{
|
||||
return priceSetId;
|
||||
}
|
||||
|
||||
public void setPriceSetId(Long priceSetId)
|
||||
{
|
||||
this.priceSetId = priceSetId;
|
||||
}
|
||||
|
||||
public String getError()
|
||||
{
|
||||
return error;
|
||||
}
|
||||
|
||||
public void setError(String error)
|
||||
{
|
||||
this.error = error;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** Price set version prc_price_set_version */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcPriceSetVersion extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long psvId;
|
||||
private Long priceSetId;
|
||||
/** V1 / V2 */
|
||||
private String versionNo;
|
||||
private Integer versionSeq;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date effectiveTime;
|
||||
/** null = open; set to next version effective_time when that version starts */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date expireTime;
|
||||
/** 0 draft / 3 pending / 1 active / 2 expired */
|
||||
private String status;
|
||||
|
||||
private List<PrcPriceSetDetail> details;
|
||||
private List<PrcPriceSetVersionSurcharge> surcharges;
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** Price set version surcharge snapshot prc_price_set_version_surcharge */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcPriceSetVersionSurcharge extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long psvsId;
|
||||
private Long psvId;
|
||||
/** source prc_surcharge.sc_id */
|
||||
private Long scId;
|
||||
/** prc_price_set_detail.psd_id */
|
||||
private Long psdId;
|
||||
/** copied from detail */
|
||||
private String productCode;
|
||||
private String scName;
|
||||
private String feeType;
|
||||
/** FIXED / WEIGHT / RATE */
|
||||
private String chargeType;
|
||||
private BigDecimal chargeValue;
|
||||
private String currency;
|
||||
private String roundMode;
|
||||
private String countryCode;
|
||||
private String scNote;
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** billing quote header prc_quote */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcQuote extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String quoteId;
|
||||
private String quoteKey;
|
||||
private Long customerId;
|
||||
/** ctr_customer.customer_code */
|
||||
private String customerCode;
|
||||
private String productCode;
|
||||
private String productName;
|
||||
private String countryCode;
|
||||
private String countryName;
|
||||
private String destPostcode;
|
||||
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<PrcQuoteFee> fees;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** billing quote fee detail prc_quote_fee, one row per bms_fee_type */
|
||||
@Data
|
||||
public class PrcQuoteFee implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String feeId;
|
||||
private String quoteId;
|
||||
/** bms_fee_type: BASIC_FREIGHT / REGISTRATION_FEE / SURCHARGE */
|
||||
private String feeType;
|
||||
private String feeName;
|
||||
/** prc_surcharge.sc_id, 0 for freight/registration */
|
||||
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 createTime;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** 附加费配置 prc_surcharge */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcSurcharge extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long scId;
|
||||
private String scName;
|
||||
/** 字典 bms_fee_type */
|
||||
private String feeType;
|
||||
/** FIXED / WEIGHT / RATE */
|
||||
private String chargeType;
|
||||
private BigDecimal chargeValue;
|
||||
private String currency;
|
||||
/** 字典 bms_round_mode:UP / DOWN / HALF_UP */
|
||||
private String roundMode;
|
||||
/** on / of */
|
||||
private String ssCode;
|
||||
private String countryCode;
|
||||
private String scNote;
|
||||
private Long tmsId;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 附加费与产品/明细关联 prc_surcharge_rel
|
||||
* 同时携带附加费展示字段(JOIN prc_surcharge)与明细展示字段(LEFT JOIN bms_product_country),
|
||||
* 便于产品列表抽屉直接渲染。
|
||||
*
|
||||
* 语义:
|
||||
* detail_id 为空 = 产品级附加费(作用于该产品全部明细)
|
||||
* detail_id 有值 = 明细级附加费(作用于该产品某个 国家×重量段 明细)
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcSurchargeRel extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long relId;
|
||||
private Long scId;
|
||||
private Long productId;
|
||||
private String productCode;
|
||||
private Long detailId;
|
||||
|
||||
/** 附加费冗余展示字段 */
|
||||
private String scName;
|
||||
private String feeType;
|
||||
private String chargeType;
|
||||
private BigDecimal chargeValue;
|
||||
private String currency;
|
||||
private String roundMode;
|
||||
private String ssCode;
|
||||
private String countryCode;
|
||||
private String scNote;
|
||||
|
||||
/** 明细展示字段 */
|
||||
private String countryName;
|
||||
private BigDecimal weightMin;
|
||||
private BigDecimal weightMax;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** 重量段明细 prc_weight_section_detail */
|
||||
@Data
|
||||
public class PrcWeightSectionDetail implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long wsdId;
|
||||
private Long wstId;
|
||||
private String wlTitle;
|
||||
private BigDecimal wlStartweight;
|
||||
private BigDecimal wlEndweight;
|
||||
private String weightBillingCode;
|
||||
private BigDecimal fvUnitweight;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date effectiveDate;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date expireDate;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import com.bms.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/** 重量段模板 prc_weight_section_template */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PrcWeightSectionTemplate extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long wstId;
|
||||
private String wstName;
|
||||
/** on / off */
|
||||
private String ssCode;
|
||||
private String pgCode;
|
||||
private Long snId;
|
||||
private String ctCode;
|
||||
private String pmCode;
|
||||
private String wstNote;
|
||||
private Long tmsId;
|
||||
/** 列表展示,非表字段 */
|
||||
private Integer detailCount;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** Zone under bms_region: prc_zone */
|
||||
@Data
|
||||
public class PrcZone implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long zoneId;
|
||||
private Long regionId;
|
||||
/** ISO2 country code stored on prc_zone */
|
||||
private String countryCode;
|
||||
private String zoneCode;
|
||||
private String zoneName;
|
||||
private Integer zoneSort;
|
||||
private String remark;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
/** list display, not a table column */
|
||||
private Integer detailCount;
|
||||
/** list display from bms_region */
|
||||
private String countryNameCn;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/** Zone postcode detail prc_zone_detail */
|
||||
@Data
|
||||
public class PrcZoneDetail implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long detailId;
|
||||
private Long zoneId;
|
||||
private String postcode;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.bms.price.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Zone country list row: bms_region + zone aggregates (not a table)
|
||||
*/
|
||||
@Data
|
||||
public class PrcZoneRegion implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long regionId;
|
||||
private String countryNameCn;
|
||||
private String countryNameEn;
|
||||
private String countryCode2;
|
||||
private String status;
|
||||
private Integer zoneCount;
|
||||
private Integer detailCount;
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.bms.price.domain.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/** Manual add receivable fee line on billing detail. */
|
||||
@Data
|
||||
public class AddIncomeBillFeeRequest implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotBlank(message = "billId required")
|
||||
private String billId;
|
||||
|
||||
/** Surcharge config id (prc_surcharge.sc_id). */
|
||||
@NotNull(message = "scId required")
|
||||
private Long scId;
|
||||
|
||||
/** Dict bms_fee_type; empty = use surcharge.feeType. */
|
||||
private String feeType;
|
||||
|
||||
/** Empty = calculate from surcharge chargeType. */
|
||||
private BigDecimal amount;
|
||||
|
||||
/** Default CNY. */
|
||||
private String currency;
|
||||
|
||||
private String remark;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.bms.price.domain.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Warehouse inbound request: create billing task then MQ consume.
|
||||
* Provide at least one of transferNo / trackingNo / orderNo.
|
||||
* billTime is billing time from mobile (stored in prc_billing_task.bill_time).
|
||||
*/
|
||||
@Data
|
||||
public class BillingTaskSubmitRequest implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String transferNo;
|
||||
private String trackingNo;
|
||||
private String orderNo;
|
||||
/** Billing time from mobile; persisted to prc_billing_task.bill_time */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date billTime;
|
||||
/** Optional: PENDING / REBILL / REFUND. Empty = auto PENDING or REBILL. */
|
||||
private String billType;
|
||||
/** Optional body apiCode when header X-Api-Code missing */
|
||||
private String apiCode;
|
||||
}
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
package com.bms.price.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* TMS 查询订单计费状态的业务结果。
|
||||
*
|
||||
* <p>该结果不直接返回完整订单计费数据,只返回订单匹配结果和相关状态事实。</p>
|
||||
*/
|
||||
@Data
|
||||
public class TmsOrderBillStatusResult {
|
||||
/**
|
||||
* 是否查询到计费订单。
|
||||
*/
|
||||
private boolean found;
|
||||
|
||||
/**
|
||||
* 匹配到的记录数,最多返回 2 条用于判断是否存在歧义。
|
||||
*/
|
||||
private int matchedCount;
|
||||
|
||||
/**
|
||||
* 命中类型:NOT_FOUND/ORDER_NO/TRACKING_NO/TRANSFER_NO/MULTIPLE。
|
||||
*/
|
||||
private String matchType;
|
||||
|
||||
/**
|
||||
* 计费订单标识,仅在唯一命中时返回。
|
||||
*/
|
||||
private String billId;
|
||||
|
||||
private String orderNo;
|
||||
private String trackingNo;
|
||||
private String transferNo;
|
||||
private Long customerId;
|
||||
private String customerCode;
|
||||
|
||||
/**
|
||||
* 订单关联的当前客户是否存在;订单未找到或匹配到多条时为 null。
|
||||
*/
|
||||
private Boolean customerFound;
|
||||
|
||||
/**
|
||||
* 客户生效状态:ACTIVE/MISSING/DISABLED。
|
||||
*/
|
||||
private String customerActiveStatus;
|
||||
|
||||
/**
|
||||
* 额度欠费状态:NORMAL/ARREARS。
|
||||
*/
|
||||
private String creditArrearsStatus;
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.bms.price.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
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;
|
||||
/** transfer order no */
|
||||
private String transferNo;
|
||||
/** 所属销售员 */
|
||||
private String belongSaler;
|
||||
/** 销售员编码 */
|
||||
private String belongSalerCode;
|
||||
/** 结算员 */
|
||||
private String settlementMan;
|
||||
/** 结算员编码 */
|
||||
private String settlementManCode;
|
||||
/** 客服员 */
|
||||
private String serviceMan;
|
||||
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 warehouseCode;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date orderTime;
|
||||
private String orderRemark;
|
||||
/** 上游 TAB_ORDER 整行,用于写入 prc_order_bill_ext 扩展字段 */
|
||||
private Map<String, Object> upstreamRow;
|
||||
|
||||
@JsonIgnore
|
||||
@AssertTrue(message = "bizDate is required")
|
||||
public boolean isBizDatePresent()
|
||||
{
|
||||
String bizDate = getBizDate();
|
||||
return bizDate != null && !bizDate.trim().isEmpty();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.bms.price.domain.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import lombok.Data;
|
||||
|
||||
/** quote fee line keyed by bms_fee_type */
|
||||
@Data
|
||||
public class TmsPriceQuoteFeeLine implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String feeId;
|
||||
private String feeType;
|
||||
private String feeName;
|
||||
/** surcharge config id, 0 for freight/registration */
|
||||
private Long scId;
|
||||
private BigDecimal amount;
|
||||
private String currency;
|
||||
private String roundMode;
|
||||
private String remark;
|
||||
/** UNBILLED / BILLED */
|
||||
private String arBillStatus;
|
||||
/** 0=system 1=manual */
|
||||
private String manualFlag;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.bms.price.domain.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/** TMS freight quote request */
|
||||
@Data
|
||||
public class TmsPriceQuoteRequest implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long customerId;
|
||||
|
||||
/** Required. Maps to ctr_customer.customer_code; used in quote unique key. */
|
||||
@NotBlank(message = "customerCode is required")
|
||||
private String customerCode;
|
||||
|
||||
@NotBlank(message = "productCode is required")
|
||||
private String productCode;
|
||||
|
||||
/** ISO2; countryName alternative */
|
||||
private String countryCode;
|
||||
/** country display name; countryCode alternative */
|
||||
private String countryName;
|
||||
|
||||
/** Dest postcode; required when product-country has zones */
|
||||
private String destPostcode;
|
||||
|
||||
@NotNull(message = "weight is required")
|
||||
private BigDecimal weight;
|
||||
|
||||
/** yyyy-MM-dd,默认今天 */
|
||||
private String bizDate;
|
||||
private Integer tmsId;
|
||||
/** Header X-Api-Code 优先;Body 兜底 */
|
||||
private String apiCode;
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.bms.price.domain.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* TMS freight quote response.
|
||||
* matchSource: PACKAGE_FIXED / PACKAGE_DISCOUNT / PRODUCT_DEFAULT
|
||||
*/
|
||||
@Data
|
||||
public class TmsPriceQuoteResult implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String matchSource;
|
||||
private String matchMessage;
|
||||
|
||||
private Long customerId;
|
||||
private Long priceSetId;
|
||||
private String priceSetCode;
|
||||
private String priceSetName;
|
||||
private String setType;
|
||||
private Integer bindPriority;
|
||||
private Long customerPricesetId;
|
||||
/** Hit package version id (prc_price_set_version.psv_id) */
|
||||
private Long psvId;
|
||||
/** Hit package version no (e.g. V1) */
|
||||
private String versionNo;
|
||||
/** Hit package detail id when package version detail matched */
|
||||
private Long psdId;
|
||||
|
||||
private String productCode;
|
||||
private String productName;
|
||||
private String countryCode;
|
||||
private String countryName;
|
||||
private Long zoneId;
|
||||
private String zoneCode;
|
||||
private String zoneName;
|
||||
private Long productCountryId;
|
||||
private BigDecimal weightMin;
|
||||
private BigDecimal weightMax;
|
||||
private String weightLabel;
|
||||
private Date bizDate;
|
||||
/** bms_product_country.effective_date */
|
||||
private Date effectiveDate;
|
||||
|
||||
private BigDecimal weight;
|
||||
private BigDecimal chargeWeight;
|
||||
private BigDecimal freightRate;
|
||||
private BigDecimal baseFreightRate;
|
||||
private BigDecimal discountPercent;
|
||||
private BigDecimal registrationFee;
|
||||
private BigDecimal freightAmount;
|
||||
/** 附加费合计(按产品关联命中后汇总) */
|
||||
private BigDecimal surchargeAmount;
|
||||
/** receivable total (order bill) */
|
||||
private BigDecimal incomeTotal;
|
||||
/** payable total (order bill); also quote payable */
|
||||
private BigDecimal payTotal;
|
||||
/** quote / legacy field; same as incomeTotal for bill sync */
|
||||
private BigDecimal payableTotal;
|
||||
private String currency = "CNY";
|
||||
/** UP / DOWN / HALF_UP */
|
||||
private String roundMode;
|
||||
/** 应收费用明细(兼容旧字段 feeDetails) */
|
||||
private List<TmsPriceQuoteFeeLine> feeDetails;
|
||||
/** 应付费用明细 */
|
||||
private List<TmsPriceQuoteFeeLine> payFeeDetails;
|
||||
private String quoteId;
|
||||
private String billId;
|
||||
private String orderNo;
|
||||
private String trackingNo;
|
||||
/** transfer order no */
|
||||
private String transferNo;
|
||||
/** 所属销售员 */
|
||||
private String belongSaler;
|
||||
/** 销售员编码 */
|
||||
private String belongSalerCode;
|
||||
/** 结算员 */
|
||||
private String settlementMan;
|
||||
/** 结算员编码 */
|
||||
private String settlementManCode;
|
||||
/** 客服员 */
|
||||
private String serviceMan;
|
||||
private String customerCode;
|
||||
private String customerName;
|
||||
/** ACTIVE / MISSING / DISABLED */
|
||||
private String customerActiveStatus;
|
||||
/** NORMAL / ARREARS */
|
||||
private String creditArrearsStatus;
|
||||
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;
|
||||
/** 计费请求 JSON(当次响应/日志用,不落库) */
|
||||
private String requestJson;
|
||||
/** original billing response JSON from Elasticsearch */
|
||||
private String responseJson;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.bms.price.domain.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
/** Update manual receivable fee line on billing detail. */
|
||||
@Data
|
||||
public class UpdateIncomeBillFeeRequest implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotBlank(message = "feeId required")
|
||||
private String feeId;
|
||||
|
||||
/** Optional: change surcharge config. */
|
||||
private Long scId;
|
||||
|
||||
/** Dict bms_fee_type. */
|
||||
private String feeType;
|
||||
|
||||
private BigDecimal amount;
|
||||
|
||||
private String currency;
|
||||
|
||||
private String remark;
|
||||
}
|
||||
Reference in New Issue
Block a user