Browse Source

中车对接

tjxt 3 months ago
parent
commit
371fc4b874
69 changed files with 2757 additions and 0 deletions
  1. 19 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/Area.java
  2. 37 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/Catalog.java
  3. 38 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/Catalogs.java
  4. 29 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/DeliveryTrack.java
  5. 27 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsImageUpdateItem.java
  6. 198 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsImportItem.java
  7. 42 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsPriceUpdateItem.java
  8. 28 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsPropertiesUpdateItem.java
  9. 22 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsStatusUpdateItem.java
  10. 87 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleConfirmBo.java
  11. 48 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleDeliverGoodsBo.java
  12. 20 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleDetailBo.java
  13. 55 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleOfflineCreateBo.java
  14. 32 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSalePendingListBo.java
  15. 16 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleQueryOutgoingBo.java
  16. 20 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleRefundBo.java
  17. 28 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleRejectBo.java
  18. 20 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleReturnReceivedBo.java
  19. 28 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleDeliverGoodsItem.java
  20. 48 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleGoods.java
  21. 54 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleOutgoingItem.java
  22. 82 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSalePick.java
  23. 42 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleReason.java
  24. 44 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleRecords.java
  25. 74 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleReturn.java
  26. 17 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/ImageList.java
  27. 16 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSaleDeliverGoodsVo.java
  28. 121 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSaleDetailVo.java
  29. 16 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSaleOfflineCreateVo.java
  30. 47 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSalePendingListVo.java
  31. 19 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSaleQueryOutgoingVo.java
  32. 25 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/AreaQueryBo.java
  33. 20 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/AreaStockBo.java
  34. 15 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsBo.java
  35. 15 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsDetailBo.java
  36. 205 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsDetailUpdateBo.java
  37. 25 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsImageUpdateBo.java
  38. 22 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsImportBo.java
  39. 25 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsPriceUpdateBo.java
  40. 12 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsPrieceBo.java
  41. 29 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsPropertiesUpdateBo.java
  42. 25 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsStatusUpdateBo.java
  43. 20 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceApplyDetailBo.java
  44. 38 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceApplyOrdersBo.java
  45. 32 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceApplyRejectBo.java
  46. 32 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceApplyWaitlistBo.java
  47. 16 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceDeliveredNoticeBo.java
  48. 41 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceRefundAgreeBo.java
  49. 26 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceRefundFinishBo.java
  50. 32 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceRefundRejectBo.java
  51. 29 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceSyncInvoiceInfosBo.java
  52. 44 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceSyncWaybillBo.java
  53. 113 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/domain/InvoiceInfo.java
  54. 47 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/domain/InvoiceOrder.java
  55. 34 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/domain/InvoiceOrderGoods.java
  56. 39 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/domain/InvoiceReceiver.java
  57. 114 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/vo/InvoiceApplyDetailVo.java
  58. 47 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/vo/InvoiceApplyOrdersVo.java
  59. 47 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/vo/InvoiceApplyWaitlistVo.java
  60. 22 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/AreaStockVo.java
  61. 19 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/AreaVo.java
  62. 17 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/CatalogsVo.java
  63. 21 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/FreightVo.java
  64. 24 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsImageUpdateVo.java
  65. 19 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsImportVo.java
  66. 24 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsPriceUpdateVo.java
  67. 24 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsStatusUpdateVo.java
  68. 24 0
      ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsUpdateVo.java
  69. 20 0
      ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/zhongche/domain/Goods.java

+ 19 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/Area.java

@@ -0,0 +1,19 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class Area {
+    /**
+     * 地区id
+     */
+    private String id;
+    /**
+     * 地区名称
+     */
+    private String name;
+}

+ 37 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/Catalog.java

@@ -0,0 +1,37 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.Data;
+import org.dromara.external.api.zhongche.domain.StandardCatalog;
+
+/**
+ * author
+ * 时间:2026/1/6,9:32
+ */
+@Data
+public class Catalog {
+    /**
+     * 电商品目id
+     */
+    private String id;
+    /**
+     * 电商品目父id
+     */
+    private String pid;
+    /**
+     * 电商品目父id
+     */
+    private String name;
+    /**
+     * 品目级次
+     */
+    private String level;
+    /**
+     * 品目级次
+     */
+    private Integer state;
+
+    /**
+     * 平台品目,若为最细级则必填,若未映射标准品目则该对象为空
+     */
+    private StandardCatalog standardCatalog;
+}

+ 38 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/Catalogs.java

@@ -0,0 +1,38 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.Data;
+
+/**
+ * author
+ * 时间:2026/1/6,9:27
+ */
+//电商品目
+@Data
+public class Catalogs {
+    /**
+     * 电商品目id
+     */
+    private String id;
+    /**
+     * 电商品目父id
+     */
+    private String pid;
+    /**
+     * 电商品目父id
+     */
+    private String name;
+    /**
+     * 品目级次
+     */
+    private String level;
+    /**
+     * 品目级次
+     */
+    private Integer state;
+
+    /**
+     * 平台品目,若为最细级则必填,若未映射标准品目则该对象为空
+     */
+    private StandardCatalog standardCatalog;
+
+}

+ 29 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/DeliveryTrack.java

@@ -0,0 +1,29 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+// 1. 物流信息详情 (deliveryTrack 列表项)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DeliveryTrack {
+    /**
+     * 物流详情
+     * 必填
+     */
+    private String expressDetail;
+
+    /**
+     * 物流时间
+     * 必填
+     */
+    private String expressTime;
+
+    /**
+     * 操作员
+     * 必填
+     */
+    private String optName;
+}

+ 27 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsImageUpdateItem.java

@@ -0,0 +1,27 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.util.List;
+
+/**
+ * 商品图片变更的单个商品信息 (goods)
+ * 对应 5.2.4.5.2 商品信息-goods
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsImageUpdateItem {
+    /**
+     * 商品sku
+     * 必填
+     */
+    private String goodsId;
+
+    /**
+     * 商品轮播图,其中第一张为主图
+     * 必填
+     */
+    private String barImgUrls;
+}

+ 198 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsImportItem.java

@@ -0,0 +1,198 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsImportItem {
+    /**
+     * 商品SKU,每个商品SKU必须唯一
+     */
+    private String goodsId;
+    /**
+     * 电商品目ID
+     */
+    private String catalogId;
+    /**
+     * 电商品目名称
+     */
+    private String catalogName;
+    /**
+     * 标准品目ID,仅限数字(仅电商映射品目时必填)
+     */
+    private String standardCatalogId;
+    /**
+     * 标准品目名称(仅电商映射品目时必填)
+     */
+    private String standardCatalogName;
+    /**
+     * 品牌名称(中文),若为空,则英文品牌必填
+     */
+    private String brandName;
+    /**
+     * 品牌名称(英文),若为空,则中文品牌必填
+     */
+    private String brandNameEn;
+    /**
+     * 商品条形码
+     */
+    private String upc;
+    /**
+     * 商品名称
+     */
+    private String name;
+    /**
+     * 电商价格,单位元,最多精确到分
+     */
+    private BigDecimal dsPrice;
+    /**
+     * 协议价格,单位元,最多精确到分
+     */
+    private BigDecimal price;
+    /**
+     * 第三方价格,单位元,最多精确到分
+     */
+    private BigDecimal thirdPrice;
+    /**
+     * 中标折扣率,格式百分制,如90%传90
+     */
+    private String bidDiscountRate;
+    /**
+     * 计量单位
+     */
+    private String unit;
+    /**
+     * 库存数量,支持无库存下单商品返回(-999)
+     */
+    private Integer stock;
+    /**
+     * 产地
+     */
+    private String goodsPlace;
+    /**
+     * 商品官网链接
+     */
+    private String goodsUrl;
+    /**
+     * 第三方链接
+     */
+    private String thirdUrl;
+    /**
+     * 商品轮播图,JSON格式数组,其中第一张为主图
+     * 示例:["imgUrl1","imgUrl2"]
+     */
+    private List<String> barImgUrls;
+    /**
+     * 商品介绍
+     */
+    private String description;
+    /**
+     * 商品的规格,JSON格式字符串,需按照品目模板填写
+     * 示例:{"key1":"value1","key2":"value2","key3":"value31|value32"}
+     */
+    private String properties;
+    /**
+     * 货品交货日期(单位:天,向上取整)
+     * 例:填3,则指的是3天内交货
+     */
+    private Integer deliveryPeriod;
+    /**
+     * 最小起定量
+     */
+    private BigDecimal moq;
+    /**
+     * 未税价
+     */
+    private BigDecimal taxFreePrice;
+    /**
+     * 是否自营(0:非自营 ,1:自营)
+     */
+    private Integer isSelfOperated;
+    /**
+     * 是否支持无库存下单(0:不支持 ,1:支持)
+     */
+    private Integer isOversold;
+    /**
+     * 商品重量
+     */
+    private String weight;
+    /**
+     * 是否自行配送(0:非自行配送 ,1:自行配送)
+     */
+    private String isSelfDelivery;
+    /**
+     * 商品状态(0下架 1上架 非必填,不填默认为上架)
+     */
+    private String status;
+    /**
+     * 物料编码
+     */
+    private String materialCode;
+
+
+
+
+
+    //目前不知道用不用
+    //****************************************************************
+    /**
+     * 商品型号
+     */
+    private String model;
+    /**
+     * 第三方链接商品规格数量
+     */
+    private BigDecimal thirdSpecNum;
+    /**
+     * 备货期,单位:天
+     */
+    private Integer prepareDay;
+    /**
+     * 保质期,单位:天
+     */
+    private Integer guaranteePeriod;
+    /**
+     * 是否快速物资 1是,-1否
+     */
+    private String isFastWz;
+    /**
+     * 是否特供物资 1是,-1否
+     */
+    private String isSpecialWz;
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
+    //************************************************************
+    /**
+     * 搜索关键词
+     */
+    private String keywords;
+    /**
+     * 税率
+     */
+    private BigDecimal tax;
+    /**
+     * 税收编码
+     */
+    private String taxCode;
+    /**
+     * 备货说明,不传则认为无说明
+     */
+    private String stockupRemark;
+    /**
+     * 商品销售SPU
+     */
+    private String spuId;
+    /**
+     * 销售聚合规格信息,若需聚合则与spuId都需上传,暂不支持取消聚合
+     */
+    private List<SpuSpecItem> spuList;
+}

+ 42 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsPriceUpdateItem.java

@@ -0,0 +1,42 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsPriceUpdateItem {
+    /**
+     * 商品sku
+     * 必填
+     */
+    private String goodsId;
+
+    /**
+     * 电商价格。单位元,最多精确到分。
+     * 必填
+     */
+    private BigDecimal dsPrice;
+
+    /**
+     * 协议价格。单位元,最多精确到分。
+     * 必填
+     */
+    private BigDecimal price;
+
+    /**
+     * 未税价。单位元,最多精确到分。不传则认为不更改。
+     * 非必填
+     */
+    private BigDecimal taxFreePrice;
+
+    /**
+     * 第三方价格。单位元,最多精确到分。
+     * 非必填
+     */
+    private BigDecimal thirdPrice;
+}

+ 28 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsPropertiesUpdateItem.java

@@ -0,0 +1,28 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.util.List;
+
+/**
+ * 商品规格信息变更的单个商品信息 (goods)
+ * 对应 5.2.5.4.2 商品信息-goods
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsPropertiesUpdateItem {
+    /**
+     * 商品sku
+     * 必填
+     */
+    private String goodsId;
+
+    /**
+     * 商品的规格,JSON格式字符串,需按照品目模板填写
+     * 示例:{"key1":"value1","key2":"value2","key3":"value31|value32"}
+     * 必填
+     */
+    private String properties;
+}

+ 22 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/GoodsStatusUpdateItem.java

@@ -0,0 +1,22 @@
+package org.dromara.external.api.zhongche.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsStatusUpdateItem {
+    /**
+     * 商品sku
+     * 必填
+     */
+    private String goodsId;
+
+    /**
+     * 上下架状态:1上架 0下架
+     * 必填
+     */
+    private Integer status;
+}

+ 87 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleConfirmBo.java

@@ -0,0 +1,87 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 接受售后的业务请求参数
+ * 对应接口文档 5.4.2.4.1 业务参数
+ * 注:取件方式为客户送货(2)、客户发货(3)时,地址相关字段为必填
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleConfirmBo {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+
+    /**
+     * 电商平台售后单号
+     * 必填,长度50
+     */
+    private String mallAfterSaleNo;
+
+    /**
+     * 联系人
+     * 非必填;取件方式为2/3时必填,长度200
+     */
+    private String name;
+
+    /**
+     * 一级地址编码(收货人省份)
+     * 非必填;取件方式为2/3时必填,长度20
+     */
+    private String provinceId;
+
+    /**
+     * 二级地址编码(收货人市级)
+     * 非必填;取件方式为2/3时必填,长度20
+     */
+    private String cityId;
+
+    /**
+     * 三级地址编码(收货人县/区级)
+     * 非必填;取件方式为2/3时必填,长度20
+     */
+    private String countyId;
+
+    /**
+     * 四级地址编码(收货人乡镇)
+     * 非必填;取件方式为2/3时选填,长度20;无四级地址则传0
+     */
+    private String townId;
+
+    /**
+     * 详细地址
+     * 非必填;取件方式为2/3时必填,长度200
+     */
+    private String address;
+
+    /**
+     * 邮编
+     * 非必填;取件方式为2/3时选填,长度50
+     */
+    private String zip;
+
+    /**
+     * 手机号
+     * 非必填;取件方式为2/3时必填,长度50
+     */
+    private String mobile;
+
+    /**
+     * 座机号
+     * 非必填;取件方式为2/3时选填,长度50
+     */
+    private String phone;
+
+    /**
+     * 邮箱
+     * 非必填;取件方式为2/3时必填,长度128
+     */
+    private String email;
+}

+ 48 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleDeliverGoodsBo.java

@@ -0,0 +1,48 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSaleDeliverGoodsItem;
+
+import java.util.List;
+
+/**
+ * 换货新品发货的业务请求参数
+ * 对应接口文档 5.4.5.4.1 业务参数
+ * 注:配送方式为1(快递发货)时,物流单号/物流公司为必填
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleDeliverGoodsBo {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+
+    /**
+     * 配送方式
+     * 必填,长度3;枚举值:1快递发货 2自行配送 3采购自提
+     */
+    private String deliveryType;
+
+    /**
+     * 物流单号
+     * 非必填;配送方式为1时必填,长度50
+     */
+    private String expressCode;
+
+    /**
+     * 物流公司
+     * 非必填;配送方式为1时必填,长度200
+     */
+    private String expressCompanyName;
+
+    /**
+     * 售后单发货商品列表
+     * 必填;支持一个换货单多次发货
+     */
+    private List<AfterSaleDeliverGoodsItem> afterSaleDeliverGoods;
+}

+ 20 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleDetailBo.java

@@ -0,0 +1,20 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 查询售后单详情的业务请求参数
+ * 对应 5.4.1.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleDetailBo {
+    /**
+     * 供应商售后单号
+     * 必填
+     */
+    private String afterSaleNo;
+}

+ 55 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleOfflineCreateBo.java

@@ -0,0 +1,55 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSaleGoods;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSalePick;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSaleReturn;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleOfflineCreateBo {
+    /**
+     * 申请售后的供应商订单号
+     * 必填,长度20
+     */
+    private String orderNo;
+
+    /**
+     * 售后方式
+     * 必填,长度3;1退货 2换货 3维修
+     */
+    private String afterSaleType;
+
+    /**
+     * 电商售后单号
+     * 必填,长度50
+     */
+    private String mallAfterSaleNo;
+
+    /**
+     * 备注
+     * 非必填,长度255
+     */
+    private String memo;
+
+    /**
+     * 售后商品
+     * 必填
+     */
+    private AfterSaleGoods afterSaleGoods;
+
+    /**
+     * 售后取件信息
+     * 必填
+     */
+    private AfterSalePick afterSalePick;
+
+    /**
+     * 售后返件信息
+     * 非必填;售后方式为2(换货)时必填
+     */
+    private AfterSaleReturn afterSaleReturn;
+}

+ 32 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSalePendingListBo.java

@@ -0,0 +1,32 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 查询待处理售后单列表的请求参数
+ * 对应接口文档 5.4.6.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSalePendingListBo {
+    /**
+     * 当前页
+     * 必填,长度11
+     */
+    private Integer current;
+
+    /**
+     * 每页显示条数
+     * 非必填,长度11;默认10条,最多30条
+     */
+    private Integer size;
+
+    /**
+     * 电商账号
+     * 非必填,长度50
+     */
+    private String account;
+}

+ 16 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleQueryOutgoingBo.java

@@ -0,0 +1,16 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleQueryOutgoingBo {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+}

+ 20 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleRefundBo.java

@@ -0,0 +1,20 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 确认退款的请求参数
+ * 对应接口文档 5.4.9.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleRefundBo {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+}

+ 28 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleRejectBo.java

@@ -0,0 +1,28 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleRejectBo {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+
+    /**
+     * 电商平台售后单号
+     * 必填,长度50
+     */
+    private String mallAfterSaleNo;
+
+    /**
+     * 拒单原因
+     * 必填,长度200
+     */
+    private String rejectReason;
+}

+ 20 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/bo/AfterSaleReturnReceivedBo.java

@@ -0,0 +1,20 @@
+package org.dromara.external.api.zhongche.domain.aftersale.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 确认收到退货的业务请求参数
+ * 对应接口文档 5.4.4.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleReturnReceivedBo {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+}

+ 28 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleDeliverGoodsItem.java

@@ -0,0 +1,28 @@
+package org.dromara.external.api.zhongche.domain.aftersale.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.math.BigDecimal;
+
+
+/**
+ * 售后单发货商品项
+ * 对应接口文档 5.4.5.4.2 售后单新品发货商品(afterSaleDeliverGoods)
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleDeliverGoodsItem {
+    /**
+     * 商品sku
+     * 必填,长度200
+     */
+    private String goodsId;
+
+    /**
+     * 商品数量
+     * 必填,最多精确到小数点后4位
+     */
+    private BigDecimal num;
+}

+ 48 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleGoods.java

@@ -0,0 +1,48 @@
+package org.dromara.external.api.zhongche.domain.aftersale.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * 售后商品信息
+ * 对应接口文档 5.4.1.5.4 售后商品-afterSaleGoods
+ * @author 开发者
+ * @date 2026-01-06
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleGoods {
+    /**
+     * 商品sku
+     * 必填,长度200
+     */
+    private String goodsId;
+
+    /**
+     * 售后商品数量
+     * 必填,最多精确到小数点后4位
+     */
+    private BigDecimal num;
+
+    /**
+     * 是否需要检测报告
+     * 必填,0无、1有
+     */
+    private Integer needDetectionReport;
+
+    /**
+     * 是否有包装
+     * 必填,0无、1有
+     */
+    private Integer hasPackage;
+
+    /**
+     * 包装描述
+     * 必填,长度3;枚举值:0无包装 10包装完整 20包装破损
+     */
+    private String packageDesc;
+}

+ 54 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleOutgoingItem.java

@@ -0,0 +1,54 @@
+package org.dromara.external.api.zhongche.domain.aftersale.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleOutgoingItem {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+
+    /**
+     * 发货单编号
+     * 必填,长度20
+     */
+    private String outgoingCode;
+
+    /**
+     * 发货单状态
+     * 必填,长度3;枚举值:0已发货 1已收货
+     */
+    private String outgoingStatus;
+
+    /**
+     * 配送方式
+     * 必填,长度3;枚举值:1快递发货 2自行配送 3采购自提
+     */
+    private String deliveryType;
+
+    /**
+     * 物流单号
+     * 非必填,长度50
+     */
+    private String expressCode;
+
+    /**
+     * 物流公司
+     * 非必填,长度200
+     */
+    private String expressCompanyName;
+
+    /**
+     * 发货商品列表
+     * 必填
+     */
+    private List<OutgoingGoodsItem> outgoingGoods;
+}

+ 82 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSalePick.java

@@ -0,0 +1,82 @@
+package org.dromara.external.api.zhongche.domain.aftersale.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 售后地址信息(包含取件、返件)
+ * 对应接口文档 5.4.1.5.5 售后取件信息、5.4.1.5.6 售后返件信息
+ * @author 开发者
+ * @date 2026-01-06
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSalePick {
+    /**
+     * 取件方式
+     * 仅取件信息有值;必填,长度3;枚举值:1上门取件 2客户送货 3客户发货
+     */
+    private String pickType;
+
+    /**
+     * 联系人
+     * 取件信息非必填,返件信息必填;长度200
+     */
+    private String name;
+
+    /**
+     * 一级地址编码(收货人省份)
+     * 取件信息非必填,返件信息必填;长度20
+     */
+    private String provinceId;
+
+    /**
+     * 二级地址编码(收货人市级)
+     * 取件信息非必填,返件信息必填;长度20
+     */
+    private String cityId;
+
+    /**
+     * 三级地址编码(收货人县区级)
+     * 取件信息非必填,返件信息必填;长度20
+     */
+    private String countyId;
+
+    /**
+     * 四级地址编码(收货人乡镇)
+     * 非必填,长度20;无四级地址则传0
+     */
+    private String townId;
+
+    /**
+     * 详细地址
+     * 取件信息非必填,返件信息必填;长度200
+     */
+    private String address;
+
+    /**
+     * 邮编
+     * 非必填,长度50
+     */
+    private String zip;
+
+    /**
+     * 手机号
+     * 取件信息非必填,返件信息必填;长度50
+     */
+    private String mobile;
+
+    /**
+     * 座机号
+     * 非必填,长度50
+     */
+    private String phone;
+
+    /**
+     * 邮箱
+     * 非必填,长度128
+     */
+    private String email;
+}

+ 42 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleReason.java

@@ -0,0 +1,42 @@
+package org.dromara.external.api.zhongche.domain.aftersale.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 售后原因信息
+ * 对应接口文档 5.4.1.5.2 售后原因-afterSaleReason
+ * @author 开发者
+ * @date 2026-01-06
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleReason {
+    /**
+     * 售后原因名称
+     * 必填,长度200
+     */
+    private String reasonTypeName;
+
+    /**
+     * 售后原因编码
+     * 必填,长度50
+     */
+    private String reasonTypeCode;
+
+    /**
+     * 原因说明
+     * 必填,长度200
+     */
+    private String reason;
+
+    /**
+     * 图片列表
+     * 非必填,元素为图片地址
+     */
+    private List<ImageList> imageList;
+}

+ 44 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleRecords.java

@@ -0,0 +1,44 @@
+package org.dromara.external.api.zhongche.domain.aftersale.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 待处理售后单列表项
+ * 对应接口文档 5.4.6.5.2 售后单列表-records
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleRecords {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+
+    /**
+     * 申请售后的中车电子商城订单号
+     * 必填,长度20
+     */
+    private String orderNo;
+
+    /**
+     * 售后方式
+     * 必填,长度3;枚举值:1退货 2换货 3维修
+     */
+    private String afterSaleType;
+
+    /**
+     * 备注
+     * 非必填,长度255
+     */
+    private String memo;
+
+    /**
+     * 售后单创建时间
+     * 必填,长度14;格式YYYYMMDDHHMMSS
+     */
+    private String applyTime;
+}

+ 74 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/AfterSaleReturn.java

@@ -0,0 +1,74 @@
+package org.dromara.external.api.zhongche.domain.aftersale.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 售后返件信息
+ * 对应接口文档 5.4.1.5.6 售后返件信息-afterSaleReturn
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleReturn {
+    /**
+     * 联系人
+     * 必填,长度200
+     */
+    private String name;
+
+    /**
+     * 一级地址编码(收货人省份)
+     * 必填,长度20
+     */
+    private String provinceId;
+
+    /**
+     * 二级地址编码(收货人市级)
+     * 必填,长度20
+     */
+    private String cityId;
+
+    /**
+     * 三级地址编码(收货人县/区级)
+     * 必填,长度20
+     */
+    private String countyId;
+
+    /**
+     * 四级地址编码(收货人乡镇)
+     * 非必填,长度20;无四级地址则传0
+     */
+    private String townId;
+
+    /**
+     * 详细地址
+     * 必填,长度200
+     */
+    private String address;
+
+    /**
+     * 邮编
+     * 非必填,长度50
+     */
+    private String zip;
+
+    /**
+     * 手机号
+     * 必填,长度50
+     */
+    private String mobile;
+
+    /**
+     * 座机号
+     * 非必填,长度50
+     */
+    private String phone;
+
+    /**
+     * 邮箱
+     * 非必填,长度128
+     */
+    private String email;
+}

+ 17 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/domain/ImageList.java

@@ -0,0 +1,17 @@
+package org.dromara.external.api.zhongche.domain.aftersale.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+// 1.2.1 售后原因图片 (imageList)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ImageList {
+    /**
+     * 图片地址
+     * 必填,长度128
+     */
+    private String imgUrl;
+}

+ 16 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSaleDeliverGoodsVo.java

@@ -0,0 +1,16 @@
+package org.dromara.external.api.zhongche.domain.aftersale.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleDeliverGoodsVo {
+    /**
+     * 发货单编号
+     * 必填,长度20
+     */
+    private String outgoingCode;
+}

+ 121 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSaleDetailVo.java

@@ -0,0 +1,121 @@
+package org.dromara.external.api.zhongche.domain.aftersale.vo;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSaleGoods;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSalePick;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSaleReason;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSaleReturn;
+
+import java.math.BigDecimal;
+
+/**
+ * 查询售后单详情的业务响应参数
+ * 对应接口文档 5.4.1.5.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleDetailVo {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+
+    /**
+     * 采购平台售后单号
+     * 必填,长度50
+     */
+    private String purchaserAfterSaleNo;
+
+    /**
+     * 电商平台售后单号
+     * 必填,长度50;接受/拒绝售后完成后才有值
+     */
+    private String mallAfterSaleNo;
+
+    /**
+     * 申请售后的中车电子商城订单号
+     * 必填,长度20
+     */
+    private String orderNo;
+
+    /**
+     * 售后方式
+     * 必填,长度3;1退货、2换货、3维修、4仅退款
+     */
+    private String afterSaleType;
+
+    /**
+     * 备注
+     * 非必填,长度255
+     */
+    private String memo;
+
+    /**
+     * 售后单状态
+     * 必填,长度3;10待处理、20已取消、30售后处理中、40售后已完成
+     */
+    private String afterSaleStatus;
+
+    /**
+     * 退货状态
+     * 必填;1未退货、2已退货、3已收到退货
+     */
+    private String goodsReturnStatus;
+
+    /**
+     * 售后单创建时间
+     * 必填,长度14;格式YYYYMMDDHHMMSS
+     */
+    private String applyTime;
+
+    /**
+     * 售后原因
+     * 必填
+     */
+    private AfterSaleReason afterSaleReason;
+
+    /**
+     * 售后商品
+     * 必填
+     */
+    private AfterSaleGoods afterSaleGoods;
+
+    /**
+     * 售后取件信息(退货回到供应商手中的方式)
+     * 必填
+     */
+    private AfterSalePick afterSalePick;
+
+    /**
+     * 售后返件信息(供应商发新货给采购的方式)
+     * 非必填;售后方式为换货时必填
+     */
+    private AfterSaleReturn afterSaleReturn;
+
+    /**
+     * 账期退款金额
+     * 非必填,单位元,最多精确到分;仅现金退款时必填
+     */
+    private BigDecimal refundAccount;
+
+    /**
+     * 现金退款金额
+     * 非必填,单位元,最多精确到分;仅现金退款时必填
+     */
+    private BigDecimal refundMoney;
+
+    /**
+     * 仅退款货物状态
+     * 非必填;0-未发货、1-已发货
+     */
+    private String refundGoodsStatus;
+
+    /**
+     * 预存支付金额
+     * 非必填,单位元,最多精确到分
+     */
+    private BigDecimal refundPrestore;
+}

+ 16 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSaleOfflineCreateVo.java

@@ -0,0 +1,16 @@
+package org.dromara.external.api.zhongche.domain.aftersale.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleOfflineCreateVo {
+    /**
+     * 中车电子商城售后单号
+     * 必填,长度20
+     */
+    private String afterSaleNo;
+}

+ 47 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSalePendingListVo.java

@@ -0,0 +1,47 @@
+package org.dromara.external.api.zhongche.domain.aftersale.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSaleRecords;
+
+import java.util.List;
+
+/**
+ * 查询待处理售后单列表的响应参数
+ * 对应接口文档 5.4.6.5.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSalePendingListVo {
+    /**
+     * 当前页
+     * 必填
+     */
+    private Integer current;
+
+    /**
+     * 每页显示条数
+     * 必填
+     */
+    private Integer size;
+
+    /**
+     * 总页数
+     * 必填
+     */
+    private Integer pages;
+
+    /**
+     * 总条数
+     * 必填
+     */
+    private Integer total;
+
+    /**
+     * 待处理售后单列表
+     * 必填
+     */
+    private List<AfterSaleRecords> records;
+}

+ 19 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/aftersale/vo/AfterSaleQueryOutgoingVo.java

@@ -0,0 +1,19 @@
+package org.dromara.external.api.zhongche.domain.aftersale.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.aftersale.domain.AfterSaleOutgoingItem;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AfterSaleQueryOutgoingVo {
+    /**
+     * 发货单列表
+     * 必填;一个售后单可能对应多个发货单(多次发货)
+     */
+    private List<AfterSaleOutgoingItem> outgoingList;
+}

+ 25 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/AreaQueryBo.java

@@ -0,0 +1,25 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 地区查询的业务请求参数 (发送给中车商城)
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AreaQueryBo {
+    /**
+     * 级次:1 省级,2市级,3县级, 4区级
+     * 必填
+     */
+    private Integer level;
+
+    /**
+     * 父级地址id,当查询省级时填0
+     * 必填
+     */
+    private String pid;
+}

+ 20 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/AreaStockBo.java

@@ -0,0 +1,20 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.Data;
+import org.dromara.common.core.domain.zhongche.domain.Goods;
+
+import java.util.List;
+
+/**
+ * author
+ * 时间:2026/1/6,10:00
+ */
+@Data
+public class AreaStockBo {
+    /**
+     * 地区id
+     */
+    private String areaId;
+
+    private List<Goods> goods;
+}

+ 15 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsBo.java

@@ -0,0 +1,15 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.Data;
+
+/**
+ * author
+ * 时间:2026/1/6,10:11
+ */
+@Data
+public class GoodsBo {
+    /**
+     * 商品sku,多个用,分隔
+     */
+    private String goodsIds;
+}

+ 15 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsDetailBo.java

@@ -0,0 +1,15 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * author
+ * 时间:2026/1/8,11:47
+ */
+@Data
+public class GoodsDetailBo {
+    private String account;
+    private List<GoodsDetailUpdateBo> goods;
+}

+ 205 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsDetailUpdateBo.java

@@ -0,0 +1,205 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.SpuSpecItem;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 商品详情信息变更的单个商品信息 (goods)
+ * 对应 5.2.6.3.2 商品信息-goods
+ * 注意:所有非必填字段,若不传则认为不更改。
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsDetailUpdateBo {
+    /**
+     * 商品sku
+     * 必填
+     */
+    private String goodsId;
+
+    /**
+     * 商品名称,不传则认为不更改
+     */
+    private String name;
+
+    /**
+     * 商品条形码,不传则认为不更改
+     */
+    private String upc;
+
+    /**
+     * 产地,不传则认为不更改
+     */
+    private String goodsPlace;
+
+    /**
+     * 生产日期,格式YYYYMMDD,不传则认为不更改
+     */
+    private String goodsDate;
+
+    /**
+     * 商品简介,不传则认为不更改
+     */
+    private String description;
+
+    /**
+     * 品牌名称(中文),不传则认为不更改
+     */
+    private String brandName;
+
+    /**
+     * 品牌名称(英文),不传则认为不更改
+     */
+    private String brandNameEn;
+
+    /**
+     * 电商品目ID,不传则认为不更改
+     */
+    private String catalogId;
+
+    /**
+     * 电商品目名称,不传则认为不更改
+     */
+    private String catalogName;
+
+    /**
+     * 标准品目ID,仅限数字,不传则认为不更改
+     */
+    private String standardCatalogId;
+
+    /**
+     * 标准品目名称,不传则认为不更改
+     */
+    private String standardCatalogName;
+
+    /**
+     * 计量单位,不传则认为不更改
+     */
+    private String unit;
+
+    /**
+     * 包装清单,不传则认为不更改
+     */
+    private String packing;
+
+    /**
+     * 货品交货日期(单位:天,向上取整)。如果填3,则指的是3天内交货,不传则认为不更改
+     */
+    private Integer deliveryPeriod;
+
+    /**
+     * 最小起定量,不传则认为不更改
+     */
+    private BigDecimal moq;
+
+    /**
+     * 是否自营(0:非自营 ,1:自营),不传则认为不更改
+     */
+    private Integer isSelfOperated;
+
+    /**
+     * 是否支持无库存下单(0:不支持 ,1:支持),不传则认为不更改
+     */
+    private Integer isOversold;
+
+    /**
+     * 商品官网链接,不传则认为不更改
+     */
+    private String goodsUrl;
+
+    /**
+     * 第三方链接
+     */
+    private String thirdUrl;
+
+    /**
+     * 中标折扣率,格式百分制,如90%传90。
+     */
+    private String bidDiscountRate;
+
+    /**
+     * 是否自行配送(0:非自行配送 ,1:自行配送),不传则认为不更改
+     */
+    private String isSelfDelivery;
+
+    /**
+     * 重量,不传则认为不更改
+     */
+    private String weight;
+
+    /**
+     * 物料编码,不传则认为不更改
+     */
+    private String materialCode;
+
+    /**
+     * 商品型号,不传则认为不更改
+     */
+    private String model;
+
+    /**
+     * 第三方链接商品规格数量,不传则认为不更改
+     */
+    private BigDecimal thirdSpecNum;
+
+    /**
+     * 备货期,单位:天,不传则认为不更改
+     */
+    private Integer prepareDay;
+
+    /**
+     * 保质期,单位:天,不传则认为不更改
+     */
+    private Integer guaranteePeriod;
+
+    /**
+     * 是否快速物资 1是,-1否,不传则认为不更改
+     */
+    private String isFastWz;
+
+    /**
+     * 是否特供物资 1是,-1否,不传则认为不更改
+     */
+    private String isSpecialWz;
+
+    /**
+     * 合同编号,不传则认为不更改
+     */
+    private String contractNo;
+
+    /**
+     * 搜索关键词,不传则认为不更改
+     */
+    private String keywords;
+
+    /**
+     * 税率,不传则认为不更改
+     */
+    private BigDecimal tax;
+
+    /**
+     * 税收编码,不传则认为不更改
+     */
+    private String taxCode;
+
+    /**
+     * 备货说明,不传则认为不更改
+     */
+    private String stockupRemark;
+
+    /**
+     * 商品销售spu,不传则认为不更改
+     */
+    private String spuId;
+
+    /**
+     * 销售聚合规格信息,若需聚合则与spuId都需上传,暂不支持取消聚合,不传则认为不更改
+     */
+    private List<SpuSpecItem> spuList; // SpuSpecItem 类可以复用之前的
+}

+ 25 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsImageUpdateBo.java

@@ -0,0 +1,25 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.GoodsImageUpdateItem;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsImageUpdateBo {
+    /**
+     * 电商账号
+     * 必填
+     */
+    private String account;
+
+    /**
+     * 商品列表,最多50个
+     * 必填
+     */
+    private List<GoodsImageUpdateItem> goods;
+}

+ 22 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsImportBo.java

@@ -0,0 +1,22 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.GoodsImportItem;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsImportBo {
+    /**
+     * 电商账号
+     */
+    private String account;
+    /**
+     * 商品列表,最多50个
+     */
+    private List<GoodsImportItem> goods;
+}

+ 25 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsPriceUpdateBo.java

@@ -0,0 +1,25 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.GoodsPriceUpdateItem;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsPriceUpdateBo {
+    /**
+     * 电商账号
+     * 必填
+     */
+    private String account;
+
+    /**
+     * 商品列表,最多50个
+     * 必填
+     */
+    private List<GoodsPriceUpdateItem> goods;
+}

+ 12 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsPrieceBo.java

@@ -0,0 +1,12 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.Data;
+
+/**
+ * author
+ * 时间:2026/1/7,19:32
+ */
+@Data
+public class GoodsPrieceBo {
+    private String goodsIds;
+}

+ 29 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsPropertiesUpdateBo.java

@@ -0,0 +1,29 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.GoodsPropertiesUpdateItem;
+
+import java.util.List;
+
+/**
+ * 商品规格信息变更的业务请求参数
+ * 对应 5.2.5.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsPropertiesUpdateBo {
+    /**
+     * 电商账号
+     * 必填
+     */
+    private String account;
+
+    /**
+     * 商品列表,最多50个
+     * 必填
+     */
+    private List<GoodsPropertiesUpdateItem> goods;
+}

+ 25 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/bo/GoodsStatusUpdateBo.java

@@ -0,0 +1,25 @@
+package org.dromara.external.api.zhongche.domain.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.GoodsStatusUpdateItem;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsStatusUpdateBo {
+    /**
+     * 电商账号
+     * 必填
+     */
+    private String account;
+
+    /**
+     * 商品列表,最多50个
+     * 必填
+     */
+    private List<GoodsStatusUpdateItem> goods;
+}

+ 20 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceApplyDetailBo.java

@@ -0,0 +1,20 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 查询开票申请信息的请求参数
+ * 对应接口文档 5.7.2.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceApplyDetailBo {
+    /**
+     * 开票申请编号
+     * 必填,长度50
+     */
+    private String applyNo;
+}

+ 38 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceApplyOrdersBo.java

@@ -0,0 +1,38 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 查询开票申请订单列表的请求参数
+ * 对应接口文档 5.7.3.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceApplyOrdersBo {
+    /**
+     * 当前页
+     * 必填,长度11
+     */
+    private Integer current;
+
+    /**
+     * 每页显示条数
+     * 非必填,长度11;默认每页30条,每页最多50条
+     */
+    private Integer size;
+
+    /**
+     * 电商账号
+     * 必填,长度50
+     */
+    private String account;
+
+    /**
+     * 开票申请编号
+     * 必填,长度50
+     */
+    private String applyNo;
+}

+ 32 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceApplyRejectBo.java

@@ -0,0 +1,32 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 拒绝开票的请求参数
+ * 对应接口文档 5.7.4.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceApplyRejectBo {
+    /**
+     * 开票申请编号
+     * 必填,长度50
+     */
+    private String applyNo;
+
+    /**
+     * 拒绝原因
+     * 必填
+     */
+    private String applyRejectReason;
+
+    /**
+     * 拒绝时间
+     * 必填,格式YYYYMMDDHHMMSS
+     */
+    private String applyHandlerTime;
+}

+ 32 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceApplyWaitlistBo.java

@@ -0,0 +1,32 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 查询待开票申请单列表的请求参数
+ * 对应接口文档 5.7.8.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceApplyWaitlistBo {
+    /**
+     * 当前页
+     * 必填,长度11
+     */
+    private Integer current;
+
+    /**
+     * 每页显示条数
+     * 非必填,长度11;默认每页30条,每页最多50条
+     */
+    private Integer size;
+
+    /**
+     * 电商账号
+     * 必填,长度50
+     */
+    private String account;
+}

+ 16 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceDeliveredNoticeBo.java

@@ -0,0 +1,16 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceDeliveredNoticeBo {
+    /**
+     * 开票申请编号
+     * 必填,长度50
+     */
+    private String applyNo;
+}

+ 41 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceRefundAgreeBo.java

@@ -0,0 +1,41 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 电商同意退票的请求参数
+ * 对应接口文档 5.7.9.4.1 业务参数
+ * 注:纸质发票需传收票人姓名/电话/详细地址,电子/数电票无需传
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceRefundAgreeBo {
+    /**
+     * 退票申请编号
+     * 必填,长度50
+     */
+    private String refundNo;
+
+    /**
+     * 收票人姓名
+     * 非必填;invoiceMedia为纸质发票时必传,长度200
+     */
+    private String receiverName;
+
+    /**
+     * 收票人电话
+     * 非必填;invoiceMedia为纸质发票时必传,长度50
+     */
+    private String receiverPhone;
+
+    /**
+     * 收票人详细地址
+     * 非必填;invoiceMedia为纸质发票时必传,长度500
+     */
+    private String receiverFullAddress;
+
+
+}

+ 26 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceRefundFinishBo.java

@@ -0,0 +1,26 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 电商确认完成退票的请求参数
+ * 对应接口文档 5.7.10.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceRefundFinishBo {
+    /**
+     * 退票申请编号
+     * 必填,长度50
+     */
+    private String refundNo;
+
+    /**
+     * 退票完成时间
+     * 必填,格式YYYYMMDDHHMMSS
+     */
+    private String refundFinishTime;
+}

+ 32 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceRefundRejectBo.java

@@ -0,0 +1,32 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 电商拒绝退票申请的请求参数
+ * 对应接口文档 5.7.11.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceRefundRejectBo {
+    /**
+     * 退票申请编号
+     * 必填,长度50
+     */
+    private String refundNo;
+
+    /**
+     * 拒绝原因
+     * 必填,长度500
+     */
+    private String rejectReason;
+
+    /**
+     * 退票拒绝时间
+     * 必填,格式YYYYMMDDHHMMSS(文档标注为"退票完成时间",应为笔误,按拒绝时间逻辑处理)
+     */
+    private String refundRejectTime;
+}

+ 29 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceSyncInvoiceInfosBo.java

@@ -0,0 +1,29 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.invoice.domain.InvoiceInfo;
+
+import java.util.List;
+
+/**
+ * 同步开票信息的请求参数
+ * 对应接口文档 5.7.5.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceSyncInvoiceInfosBo {
+    /**
+     * 开票申请编号
+     * 必填,长度50
+     */
+    private String applyNo;
+
+    /**
+     * 发票信息列表
+     * 必填;一个开票申请可能对应多张发票
+     */
+    private List<InvoiceInfo> invoices;
+}

+ 44 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/bo/InvoiceSyncWaybillBo.java

@@ -0,0 +1,44 @@
+package org.dromara.external.api.zhongche.domain.invoice.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 同步纸质发票邮寄信息的请求参数
+ * 对应接口文档 5.7.6.4.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceSyncWaybillBo {
+    /**
+     * 开票申请编号
+     * 必填,长度50
+     */
+    private String applyNo;
+
+    /**
+     * 物流单号
+     * 必填,长度50
+     */
+    private String expressCode;
+
+    /**
+     * 物流公司
+     * 必填,长度200
+     */
+    private String expressCompanyName;
+
+    /**
+     * 发货时间
+     * 必填,格式YYYYMMDDHHMMSS
+     */
+    private String sendTime;
+
+    /**
+     * 发货人
+     * 非必填,长度200
+     */
+    private String sendUser;
+}

+ 113 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/domain/InvoiceInfo.java

@@ -0,0 +1,113 @@
+package org.dromara.external.api.zhongche.domain.invoice.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 发票信息
+ * 对应接口文档 5.7.5.4.2 发票信息-invoices
+ * 注:红票需传原始发票号/代码,电子票/数电票需传对应下载地址
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceInfo {
+    /**
+     * 发票介质
+     * 必填,长度3;1电子发票、2纸质发票、3数电票
+     */
+    private String invoiceMedia;
+
+    /**
+     * 发票类型
+     * 必填,长度3;1增值税普通发票、2增值税专用发票
+     */
+    private String invoiceType;
+
+    /**
+     * 发票标识
+     * 必填,长度3;1蓝票、2红票
+     */
+    private String invoiceFlag;
+
+    /**
+     * 发票号码
+     * 必填,长度200
+     */
+    private String invoiceNo;
+
+    /**
+     * 发票代码
+     * 必填,长度200
+     */
+    private String invoiceCode;
+
+    /**
+     * 冲红的原始发票号码
+     * 非必填,长度200;发票标识为2(红票)时必填
+     */
+    private String oldInvoiceNo;
+
+    /**
+     * 冲红的原始发票代码
+     * 非必填,长度200;发票标识为2(红票)时必填
+     */
+    private String oldInvoiceCode;
+
+    /**
+     * 发票日期
+     * 必填,格式YYYYMMDDHHMMSS
+     */
+    private String invoiceTime;
+
+    /**
+     * 发票总金额
+     * 必填
+     */
+    private BigDecimal invoiceAmount;
+
+    /**
+     * 发票税额
+     * 非必填;如有则建议传
+     */
+    private BigDecimal invoiceTaxAmount;
+
+    /**
+     * 发票税率
+     * 非必填;如有则建议传(示例:0.12)
+     */
+    private BigDecimal invoiceTaxRate;
+
+    /**
+     * 发票不含税金额
+     * 非必填;如有则建议传
+     */
+    private BigDecimal invoiceNakedAmount;
+
+    /**
+     * 发票下载地址(pdf)
+     * 非必填;电子票/数电票时必填,长度不限
+     */
+    private String invoiceUrl;
+
+    /**
+     * 发票下载地址(ofd)
+     * 非必填,长度不限
+     */
+    private String ofdInvoiceUrl;
+
+    /**
+     * 发票下载地址(xml)
+     * 非必填;数电票时必填,长度不限
+     */
+    private String xmlInvoiceUrl;
+
+    /**
+     * 发票下载地址(其他附件)
+     * 非必填,长度不限
+     */
+    private String otherInvoiceUrl;
+}

+ 47 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/domain/InvoiceOrder.java

@@ -0,0 +1,47 @@
+package org.dromara.external.api.zhongche.domain.invoice.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 发票申请订单列表项
+ * 对应接口文档 5.7.3.5.2 发票申请订单列表-InvoiceOrder
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceOrder {
+    /**
+     * 中车电子商城订单号
+     * 必填,长度20
+     */
+    private String orderNo;
+
+    /**
+     * 采购平台订单号
+     * 必填,长度50
+     */
+    private String purchaserOrderNo;
+
+    /**
+     * 电商订单号
+     * 必填,长度100
+     */
+    private String mallOrderNo;
+
+    /**
+     * 订单申请开票的金额
+     * 必填
+     */
+    private BigDecimal applyMoney;
+
+    /**
+     * 订单商品列表
+     * 必填
+     */
+    private List<InvoiceOrderGoods> invoiceOrderGoods;
+}

+ 34 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/domain/InvoiceOrderGoods.java

@@ -0,0 +1,34 @@
+package org.dromara.external.api.zhongche.domain.invoice.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 发票订单商品列表项
+ * 对应接口文档 5.7.3.5.3 发票订单商品列表-InvoiceOrderGoods
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceOrderGoods {
+    /**
+     * 商品名称
+     * 必填,长度200
+     */
+    private String name;
+
+    /**
+     * 商品sku
+     * 必填,长度50
+     */
+    private String goodsId;
+
+    /**
+     * 数量
+     * 必填,长度20
+     */
+    private String num;
+}

+ 39 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/domain/InvoiceReceiver.java

@@ -0,0 +1,39 @@
+package org.dromara.external.api.zhongche.domain.invoice.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 收票人信息
+ * 对应接口文档 5.7.2.5.2 收票人信息-InvoiceReceiver
+ * 注:纸质发票需传详细地址,电子发票需传邮箱
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceReceiver {
+    /**
+     * 收票人姓名
+     * 必填,长度200
+     */
+    private String receiverName;
+
+    /**
+     * 收票人电话
+     * 必填,长度50
+     */
+    private String receiverPhone;
+
+    /**
+     * 收票人详细地址
+     * 非必填;发票介质为2(纸质发票)时必填,长度500
+     */
+    private String receiverFullAddress;
+
+    /**
+     * 收票人邮箱地址
+     * 非必填;发票介质为1(电子发票)时必填,长度200
+     */
+    private String receiverEmail;
+}

+ 114 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/vo/InvoiceApplyDetailVo.java

@@ -0,0 +1,114 @@
+package org.dromara.external.api.zhongche.domain.invoice.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.invoice.domain.InvoiceReceiver;
+
+import java.math.BigDecimal;
+
+/**
+ * 查询开票申请信息的响应参数
+ * 对应接口文档 5.7.2.5.1 业务参数
+ * 注:增值税专用发票需传注册地址/电话/银行/账号
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceApplyDetailVo {
+    /**
+     * 申请单编号
+     * 必填,长度50
+     */
+    private String applyNo;
+
+    /**
+     * 申请单状态
+     * 必填,长度3;10待开票、11已开票待客户确认、12已完成、13客户申请退票待审核、14退票待处理、15已退票、16退票申请已拒绝、17开票申请已拒绝
+     */
+    private String status;
+
+    /**
+     * 申请人
+     * 必填,长度100
+     */
+    private String applyUser;
+
+    /**
+     * 申请时间
+     * 必填,长度50
+     */
+    private String applyTime;
+
+    /**
+     * 开票金额
+     * 必填
+     */
+    private BigDecimal invoiceAmount;
+
+    /**
+     * 发票介质
+     * 必填,长度3;1电子发票、2纸质发票、3数电票
+     */
+    private String invoiceMedia;
+
+    /**
+     * 发票类型
+     * 必填,长度3;1增值税普通发票、2增值税专用发票
+     */
+    private String invoiceType;
+
+    /**
+     * 发票抬头
+     * 必填,长度500
+     */
+    private String invoiceTitle;
+
+    /**
+     * 纳税人识别号
+     * 必填,长度200
+     */
+    private String regCode;
+
+    /**
+     * 注册地址
+     * 非必填;发票类型为2(增值税专用发票)时必填,长度500
+     */
+    private String regAddr;
+
+    /**
+     * 注册电话
+     * 非必填;发票类型为2(增值税专用发票)时必填,长度50
+     */
+    private String regPhone;
+
+    /**
+     * 注册银行
+     * 非必填;发票类型为2(增值税专用发票)时必填,长度200
+     */
+    private String regBank;
+
+    /**
+     * 银行账号
+     * 非必填;发票类型为2(增值税专用发票)时必填,长度200
+     */
+    private String regBankAccount;
+
+    /**
+     * 备注
+     * 非必填,长度500
+     */
+    private String memo;
+
+    /**
+     * 收票人信息
+     * 必填
+     */
+    private InvoiceReceiver invoiceReceiver;
+
+    /**
+     * 供应商结算单号
+     * 必填,长度20
+     */
+    private String settlementApplyNo;
+}

+ 47 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/vo/InvoiceApplyOrdersVo.java

@@ -0,0 +1,47 @@
+package org.dromara.external.api.zhongche.domain.invoice.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.invoice.domain.InvoiceOrder;
+
+import java.util.List;
+
+/**
+ * 查询开票申请订单列表的响应参数
+ * 对应接口文档 5.7.3.5.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceApplyOrdersVo {
+    /**
+     * 当前页
+     * 必填
+     */
+    private Integer current;
+
+    /**
+     * 每页显示条数
+     * 必填
+     */
+    private Integer size;
+
+    /**
+     * 总页数
+     * 必填
+     */
+    private Integer pages;
+
+    /**
+     * 总条数
+     * 必填
+     */
+    private Integer total;
+
+    /**
+     * 发票申请订单列表
+     * 必填
+     */
+    private List<InvoiceOrder> invoiceOrders;
+}

+ 47 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/invoice/vo/InvoiceApplyWaitlistVo.java

@@ -0,0 +1,47 @@
+package org.dromara.external.api.zhongche.domain.invoice.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.invoice.domain.WaitInvoiceApply;
+
+import java.util.List;
+
+/**
+ * 查询待开票申请单列表的响应参数
+ * 对应接口文档 5.7.8.5.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class InvoiceApplyWaitlistVo {
+    /**
+     * 当前页
+     * 必填
+     */
+    private Integer current;
+
+    /**
+     * 每页显示条数
+     * 必填
+     */
+    private Integer size;
+
+    /**
+     * 总页数
+     * 必填
+     */
+    private Integer pages;
+
+    /**
+     * 总条数
+     * 必填
+     */
+    private Integer total;
+
+    /**
+     * 待开票申请订单列表
+     * 必填
+     */
+    private List<WaitInvoiceApply> invoiceApplys;
+}

+ 22 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/AreaStockVo.java

@@ -0,0 +1,22 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.Data;
+import org.dromara.common.core.domain.zhongche.domain.Goods;
+
+import java.util.List;
+
+/**
+ * author
+ * 时间:2026/1/6,10:01
+ */
+@Data
+public class AreaStockVo {
+    /**
+     * 地区id
+     */
+    private String areaId;
+    /**
+     * 商品信息
+     */
+    private List<Goods> goods;
+}

+ 19 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/AreaVo.java

@@ -0,0 +1,19 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.external.api.zhongche.domain.Area;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AreaVo {
+    /**
+     * 地区列表
+     */
+    private List<Area> areas;
+
+}

+ 17 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/CatalogsVo.java

@@ -0,0 +1,17 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.Data;
+import org.dromara.external.api.zhongche.domain.Catalog;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class CatalogsVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 电商品目列表(必填)
+     */
+    private List<Catalog> catalogs;
+}

+ 21 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/FreightVo.java

@@ -0,0 +1,21 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.math.BigDecimal;
+
+/**
+ * 查询运费的业务响应参数
+ * (对应响应体中 data 字段 Base64 编码前的内容)
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class FreightVo {
+    /**
+     * 运费,单位元,最多精确到分。
+     * 必填
+     */
+    private BigDecimal freight;
+}

+ 24 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsImageUpdateVo.java

@@ -0,0 +1,24 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 商品图片变更的业务响应参数
+ * 对应 5.2.4.6.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsImageUpdateVo {
+    /**
+     * 结果:0-失败 1-成功
+     */
+    private Integer result;
+
+    /**
+     * 失败原因
+     */
+    private String message;
+}

+ 19 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsImportVo.java

@@ -0,0 +1,19 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsImportVo {
+    /**
+     * 结果:0-失败  1-成功
+     */
+    private Integer result;
+    /**
+     * 失败原因
+     */
+    private String message;
+}

+ 24 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsPriceUpdateVo.java

@@ -0,0 +1,24 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 商品价格变更的业务响应参数
+ * 对应 5.2.2.5.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsPriceUpdateVo {
+    /**
+     * 结果:0-失败 1-成功
+     */
+    private Integer result;
+
+    /**
+     * 失败原因
+     */
+    private String message;
+}

+ 24 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsStatusUpdateVo.java

@@ -0,0 +1,24 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 商品上下架状态变更的业务响应参数
+ * 对应 5.2.3.5.1 业务参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsStatusUpdateVo {
+    /**
+     * 结果:0-失败 1-成功
+     */
+    private Integer result;
+
+    /**
+     * 失败原因
+     */
+    private String message;
+}

+ 24 - 0
ruoyi-api/ruoyi-api-external/src/main/java/org/dromara/external/api/zhongche/domain/vo/GoodsUpdateVo.java

@@ -0,0 +1,24 @@
+package org.dromara.external.api.zhongche.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * author
+ * 时间:2026/1/6,13:56
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GoodsUpdateVo {
+    /**
+     * 结果:0-失败 1-成功
+     */
+    private Integer result;
+
+    /**
+     * 失败原因
+     */
+    private String message;
+}

+ 20 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/zhongche/domain/Goods.java

@@ -0,0 +1,20 @@
+package org.dromara.common.core.domain.zhongche.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 商品信息
+ */
+@Data
+public class Goods implements Serializable {
+    /**
+     * 商品sku
+     */
+    private String goodsId;
+    /**
+     * 所需库存
+     */
+    private Integer goodsNum;
+}