This commit is contained in:
2025-08-18 01:58:23 +08:00
parent 33567109ed
commit 5e8c9614ef
71 changed files with 6864 additions and 6 deletions

View File

@@ -0,0 +1,24 @@
package com.ruoyi.erp.domain;
/**
* 食品生产地信息
*/
@lombok.Data
public class Address {
/**
* 生产地城市ID
*/
private long city;
/**
* 详细地址
*/
private String detail;
/**
* 生产地地区ID
*/
private long district;
/**
* 生产地省份ID
*/
private long province;
}

View File

@@ -0,0 +1,25 @@
package com.ruoyi.erp.domain;
/**
* @author Leo
* @version 1.0
* @create 2025/4/10 15:15
* @description
*/
/**
* 闲鱼特卖信息,闲鱼特卖类型为临期非食品行业时必传
*
* 闲鱼特卖信息
*/
@lombok.Data
public class AdventData {
/**
* 有效期信息
*/
private AdventDataExpire expire;
/**
* 生产信息
*/
private AdventDataProduction production;
}

View File

@@ -0,0 +1,16 @@
package com.ruoyi.erp.domain;
/**
* 有效期信息
*/
@lombok.Data
public class AdventDataExpire {
/**
* 保质期
*/
private long num;
/**
* 单位
*/
private PurpleUnit unit;
}

View File

@@ -0,0 +1,12 @@
package com.ruoyi.erp.domain;
/**
* 生产信息
*/
@lombok.Data
public class AdventDataProduction {
/**
* 生产日期
*/
private String date;
}

View File

@@ -0,0 +1,22 @@
package com.ruoyi.erp.domain;
import java.io.IOException; /**
* 验货费规则
*/
public enum AssumeRule {
BUYER, SELLER;
public String toValue() {
switch (this) {
case BUYER: return "buyer";
case SELLER: return "seller";
}
return null;
}
public static AssumeRule forValue(String value) throws IOException {
if (value.equals("buyer")) return BUYER;
if (value.equals("seller")) return SELLER;
throw new IOException("Cannot deserialize AssumeRule");
}
}

View File

@@ -0,0 +1,34 @@
package com.ruoyi.erp.domain;
import java.util.List; /**
* 美妆信息
*/
@lombok.Data
public class BeautyMakeup {
/**
* 品牌
*/
private String brand;
/**
* 验货图片
*/
private List<String> images;
/**
* 成色
*/
private String level;
/**
* 检测机构ID枚举值
* 181 : 维鉴
* 182 : 中检科深
*/
private long orgid;
/**
* 检测机构名称
*/
private String orgName;
/**
* 规格
*/
private String spec;
}

View File

@@ -0,0 +1,24 @@
package com.ruoyi.erp.domain;
/**
* 图书信息
*/
@lombok.Data
public class BookData {
/**
* 图书作者
*/
private String author;
/**
* 图书ISBN码
*/
private String isbn;
/**
* 图书出版社
*/
private String publisher;
/**
* 图书标题
*/
private String title;
}

View File

@@ -0,0 +1,24 @@
package com.ruoyi.erp.domain;
import java.util.List; /**
* 品牌捡漏信息
*/
@lombok.Data
public class BrandData {
/**
* 有效期信息
*/
private BrandDataExpire expire;
/**
* 资质证明
*/
private List<Image> images;
/**
* 生产信息
*/
private BrandDataProduction production;
/**
* 供应商名称
*/
private String supplier;
}

View File

@@ -0,0 +1,16 @@
package com.ruoyi.erp.domain;
/**
* 有效期信息
*/
@lombok.Data
public class BrandDataExpire {
/**
* 保质期
*/
private long num;
/**
* 单位
*/
private FluffyUnit unit;
}

View File

@@ -0,0 +1,12 @@
package com.ruoyi.erp.domain;
/**
* 生产信息
*/
@lombok.Data
public class BrandDataProduction {
/**
* 生产日期
*/
private String date;
}

View File

@@ -0,0 +1,31 @@
package com.ruoyi.erp.domain;
import com.alibaba.fastjson2.annotation.JSONField;
/**
* 商品属性,通过`查询商品属性`接口获取属性参数
*
* 商品属性
*/
@lombok.Data
public class Channelpv {
/**
* 属性ID必填
*/
@JSONField(name = "property_id")
private String propertyid;
/**
* 属性名称(必填)
*/
@JSONField(name = "property_name")
private String propertyName;
/**
* 属性值ID必填
*/
@JSONField(name = "value_id")
private String valueid;
/**
* 属性值名称(必填)
*/
@JSONField(name = "value_name")
private String valueName;
}

View File

@@ -0,0 +1,44 @@
package com.ruoyi.erp.domain;
import java.util.List; /**
* 文玩信息
*/
@lombok.Data
public class Curio {
/**
* 验货图片
*/
private List<String> images;
/**
* 材料
*/
private String material;
/**
* 检测机构ID枚举值
* 191 : NGC评级
* 192 : PMG评级
* 193 : 公博评级
* 194 : PCGS评级
* 195 : 众诚评级
* 196 : 保粹评级
* 197 : 华夏评级
* 198 : 爱藏评级
* 199 : 华龙盛世
* 1910 : 国鉴鉴定
* 1911 : 信泰评级
* 1912 : 闻德评级
*/
private long orgid;
/**
* 检测机构名称
*/
private String orgName;
/**
* 验货编码
*/
private String qcNo;
/**
* 尺寸
*/
private String size;
}

View File

@@ -0,0 +1,126 @@
package com.ruoyi.erp.domain;
import com.alibaba.fastjson2.annotation.JSONField;
/**
* @author Leo
* @version 1.0
* @create 2025/4/10 15:13
* @description
*/
// ERPShop.java
import java.util.List;
@lombok.Data
public class ERPShop {
/**
* 闲鱼特卖信息,闲鱼特卖类型为临期非食品行业时必传
*/
private AdventData adventData;
/**
* 图书信息
*/
private BookData bookData;
/**
* 品牌捡漏信息
*/
private BrandData brandData;
/**
* 商品类目ID必填
* 通过“查询商品类目”接口获取;与 item_biz_type、sp_biz_type 存在依赖关系
*/
@JSONField(name = "channel_cat_id")
private String channelCatid;
/**
* 商品属性,通过`查询商品属性`接口获取属性参数
*/
@JSONField(name = "channel_pv")
private List<Channelpv> channelpv;
/**
* 详情图片(选填)
*/
@JSONField(name = "detail_images")
private List<Image> detailImages;
/**
* 运费(分)(必填)
*/
@JSONField(name = "express_fee")
private long expressFee;
/**
* 闲鱼特卖类型(选填)
* 特卖/品牌捡漏类型按需传入
*/
@JSONField(name = "flash_sale_type")
private Long flashSaleType;
/**
* 食品信息
*/
private FoodData foodData;
/**
* 验货宝信息item_biz_type=10 时必填)
*/
@JSONField(name = "inspect_data")
private Empty inspectData;
/**
* 商品类型(必填)
*/
@JSONField(name = "item_biz_type")
private long itemBizType;
/**
* 商品原价(分)(选填)
* 当 item_biz_type=24闲鱼特卖时必填
*/
@JSONField(name = "original_price")
private Long originalPrice;
/**
* 商家编码(选填)
* 一个中文按2个字符算长度 1-64
*/
@JSONField(name = "outer_id")
private String outerid;
/**
* 商品售价(分)(必填)
* 多规格商品时,必须是 SKU 其中一个金额
*/
private long price;
/**
* 发布店铺(必填)
* 至少 1 个店铺;用于指明发布到哪个闲鱼店铺
*/
@JSONField(name = "publish_shop")
private List<PublishShop> publishShop;
/**
* 验货报告信息,注意:已验货类型的商品按需必填
*/
private ReportData reportData;
/**
* 规格图片
*/
@JSONField(name = "sku_images")
private List<SkuImage> skuImages;
/**
* 商品多规格信息(选填)
* 多规格商品需传入至少一组 SKU总库存须与 stock 保持一致
*/
@JSONField(name = "sku_items")
private List<SkuItems> skuItems;
/**
* 商品行业(必填)
*/
@JSONField(name = "sp_biz_type")
private long spBizType;
/**
* 商品库存(必填)
* 取值范围 1-399960多规格商品为各 SKU 库存之和
*/
private long stock;
/**
* 商品成色(选填)
* 非普通商品类型时必填
*/
@JSONField(name = "stuff_status")
private Integer stuffStatus;
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.erp.domain;
/**
* 验货宝信息,商品类型为验货宝时必传
*
* 验货宝信息
*/
@lombok.Data
public class Empty {
/**
* 验货费规则
*/
private AssumeRule assumeRule;
/**
* 交易规则
*/
private TradeRule tradeRule;
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.erp.domain;
import java.io.IOException; /**
* 单位
*/
public enum FluffyUnit {
EMPTY;
public String toValue() {
switch (this) {
case EMPTY: return "\u5929";
}
return null;
}
public static FluffyUnit forValue(String value) throws IOException {
if (value.equals("\u5929")) return EMPTY;
throw new IOException("Cannot deserialize FluffyUnit");
}
}

View File

@@ -0,0 +1,28 @@
package com.ruoyi.erp.domain;
/**
* 食品信息
*/
@lombok.Data
public class FoodData {
/**
* 食品品牌
*/
private String brand;
/**
* 食品有效期信息
*/
private FoodDataExpire expire;
/**
* 食品包装
*/
private String pack;
/**
* 食品生产信息
*/
private FoodDataProduction production;
/**
* 食品规格
*/
private String spec;
}

View File

@@ -0,0 +1,16 @@
package com.ruoyi.erp.domain;
/**
* 食品有效期信息
*/
@lombok.Data
public class FoodDataExpire {
/**
* 保质期
*/
private long num;
/**
* 单位
*/
private PurpleUnit unit;
}

View File

@@ -0,0 +1,16 @@
package com.ruoyi.erp.domain;
/**
* 食品生产信息
*/
@lombok.Data
public class FoodDataProduction {
/**
* 食品生产地信息
*/
private Address address;
/**
* 食品生产日期
*/
private String date;
}

View File

@@ -0,0 +1,28 @@
package com.ruoyi.erp.domain;
import java.util.List; /**
* 游戏信息
*/
@lombok.Data
public class Game {
/**
* 验货图片
*/
private List<String> images;
/**
* 游戏平台
*/
private String platform;
/**
* 验货描述
*/
private String qcDesc;
/**
* 验货编码
*/
private String qcNo;
/**
* 报告标题
*/
private String title;
}

View File

@@ -0,0 +1,22 @@
package com.ruoyi.erp.domain;
/**
* 资质证明
*
* 新图片信息
*/
@lombok.Data
public class Image {
/**
* 图片高度
*/
private long height;
/**
* 图片地址
*/
private String src;
/**
* 图片宽度
*/
private long width;
}

View File

@@ -0,0 +1,36 @@
package com.ruoyi.erp.domain;
import java.util.List; /**
* 珠宝信息
*/
@lombok.Data
public class Jewelry {
/**
* 颜色
*/
private String color;
/**
* 验货图片
*/
private List<String> images;
/**
* 检测机构名称
*/
private String orgName;
/**
* 验货描述
*/
private String qcDesc;
/**
* 验货编码
*/
private String qcNo;
/**
* 形状
*/
private String shape;
/**
* 重量
*/
private String weight;
}

View File

@@ -0,0 +1,52 @@
package com.ruoyi.erp.domain;
import java.util.List;
import com.alibaba.fastjson2.annotation.JSONField;
@lombok.Data
public class PublishShop {
/**
* 商品发货城市(必填)
*/
private long city;
/**
* 商品描述(必填)
* 注意一个中文按2个字符算不支持HTML可用 \n 换行;长度 5-5000
*/
private String content;
/**
* 商品发货地区(必填)
*/
private long district;
/**
* 商品图片URL必填
* 注意:第 1 张作为商品主图,前 9 张发布到闲鱼 App
*/
private List<String> images;
/**
* 商品发货省份(必填)
*/
private long province;
/**
* 商品服务(选填)
* 多个以英文逗号分隔。如SDR,NFR
*/
@JSONField(name = "service_support")
private String serviceSupport;
/**
* 商品标题(必填)
* 注意:一个中文按 2 个字符算;长度 1-60
*/
private String title;
/**
* 闲鱼会员名(必填)
*/
@JSONField(name = "user_name")
private String userName;
/**
* 商品白底图URL选填
* 注意:如传入会在闲鱼商品详情显示且不可删除;当 item_biz_type=24特卖时必填
*/
@JSONField(name = "white_images")
private String whiteImages;
}

View File

@@ -0,0 +1,24 @@
package com.ruoyi.erp.domain;
import java.io.IOException; /**
* 单位
*/
public enum PurpleUnit {
EMPTY, PURPLE, UNIT;
public String toValue() {
switch (this) {
case EMPTY: return "\u5929";
case PURPLE: return "\u5e74";
case UNIT: return "\u6708";
}
return null;
}
public static PurpleUnit forValue(String value) throws IOException {
if (value.equals("\u5929")) return EMPTY;
if (value.equals("\u5e74")) return PURPLE;
if (value.equals("\u6708")) return UNIT;
throw new IOException("Cannot deserialize PurpleUnit");
}
}

View File

@@ -0,0 +1,22 @@
package com.ruoyi.erp.domain;
/**
* 行政区划原始表实体,映射 xgj_region
*/
@lombok.Data
public class Region {
/** 省级行政区划代码 */
private Integer provId;
/** 省级名称 */
private String provName;
/** 市级行政区划代码 */
private Integer cityId;
/** 市级名称 */
private String cityName;
/** 区县级行政区划代码 */
private Integer areaId;
/** 区县名称 */
private String areaName;
}

View File

@@ -0,0 +1,35 @@
package com.ruoyi.erp.domain;
/**
* 验货报告信息,注意:已验货类型的商品按需必填
*
* 验货报告信息
*/
@lombok.Data
public class ReportData {
/**
* 美妆信息
*/
private BeautyMakeup beautyMakeup;
/**
* 文玩信息
*/
private Curio curio;
/**
* 游戏信息
*/
private Game game;
/**
* 珠宝信息
*/
private Jewelry jewelry;
/**
* 二手车信息
*/
private UsedCar usedCar;
/**
* 奢品信息
*/
private Valuable valuable;
private The3C yx3C;
}

View File

@@ -0,0 +1,33 @@
package com.ruoyi.erp.domain;
@lombok.Data
public class ReportItem {
/**
* 选项描述
*/
private String answerDesc;
/**
* 选项ID
*/
private long answerid;
/**
* 选项名称
*/
private String answerName;
/**
* 选项类型
*/
private long answerType;
/**
* 分类名称
*/
private String categoryName;
/**
* 分组名称
*/
private String groupName;
/**
* 问题名称
*/
private String questionName;
}

View File

@@ -0,0 +1,26 @@
package com.ruoyi.erp.domain;
import com.alibaba.fastjson2.annotation.JSONField;
/**
* 规格图片
*/
@lombok.Data
public class SkuImage {
/**
* 图片高度(必填)
*/
private long height;
/**
* 规格属性(必填)
*/
@JSONField(name = "sku_text")
private String skuText;
/**
* 图片地址(必填)
*/
private String src;
/**
* 图片宽度(必填)
*/
private long width;
}

View File

@@ -0,0 +1,30 @@
package com.ruoyi.erp.domain;
import com.alibaba.fastjson2.annotation.JSONField;
/**
* SKU信息
*/
@lombok.Data
public class SkuItems {
/**
* SKU商品编码选填
* 注意:一个中文按 2 个字符算;长度 0-64
*/
@JSONField(name = "outer_id")
private String outerid;
/**
* SKU售价必填
*/
private long price;
/**
* SKU规格必填
* 格式:规格:属性;多个用 ";" 拼接。如:颜色:白色;容量:128G
*/
@JSONField(name = "sku_text")
private String skuText;
/**
* SKU库存必填
* 取值范围 0-9999
*/
private long stock;
}

View File

@@ -0,0 +1,52 @@
package com.ruoyi.erp.domain;
import java.util.List; /**
* 严选3c信息
*/
@lombok.Data
public class The3C {
/**
* 质检选项ID内部存储不对外展示
*/
private List<Long> answerids;
/**
* 品牌ID
*/
private long brandid;
/**
* 品牌名称
*/
private String brandName;
/**
* 品类ID
*/
private long classid;
/**
* 机型ID
*/
private long modelid;
/**
* 机型名称
*/
private String modelName;
/**
* IMEI/序列号
*/
private String modelSn;
/**
* 质检报告项,体现在商品验货报告页
*/
private List<ReportItem> reportItems;
/**
* 质检时间,体现在商品验货报告页
*/
private String reportTime;
/**
* 质检人,体现在商品验货报告页
*/
private String reportUser;
/**
* 子类ID
*/
private long subclassid;
}

View File

@@ -0,0 +1,22 @@
package com.ruoyi.erp.domain;
import java.io.IOException; /**
* 交易规则
*/
public enum TradeRule {
YHB_ONLY, YHB_OPTIONAL;
public String toValue() {
switch (this) {
case YHB_ONLY: return "yhbOnly";
case YHB_OPTIONAL: return "yhbOptional";
}
return null;
}
public static TradeRule forValue(String value) throws IOException {
if (value.equals("yhbOnly")) return YHB_ONLY;
if (value.equals("yhbOptional")) return YHB_OPTIONAL;
throw new IOException("Cannot deserialize TradeRule");
}
}

View File

@@ -0,0 +1,34 @@
package com.ruoyi.erp.domain;
/**
* 二手车信息
*
* OpenProductReportUsedCar
*/
@lombok.Data
public class UsedCar {
/**
* 营业执照图片
*/
private String businessLicenseFront;
/**
* 使用性质 : 营运/非营运
*/
private String carFunction;
/**
* 车辆识别代码VIN码
*/
private String carVin;
/**
* 行驶证车辆页图片
*/
private String drivingLicenseCarPhoto;
/**
* 行驶证主页图片
*/
private String drivingLicenseInfo;
/**
* 验货报告链接
*/
private String reporturl;
}

View File

@@ -0,0 +1,32 @@
package com.ruoyi.erp.domain;
import java.util.List; /**
* 奢品信息
*/
@lombok.Data
public class Valuable {
/**
* 验货图片
*/
private List<String> images;
/**
* 检测机构ID枚举值
* 161 : 中检
* 162 : 国检
* 163 : 华测
* 164 : 中溯
*/
private long orgid;
/**
* 检测机构名称
*/
private String orgName;
/**
* 验货描述
*/
private String qcDesc;
/**
* 验货编码
*/
private String qcNo;
}

View File

@@ -0,0 +1,23 @@
package com.ruoyi.erp.domain.enums;
/** 闲鱼特卖类型(含品牌捡漏扩展) */
public enum FlashSaleType {
LINQI(1),
GUPIN(2),
DUANMA(3),
WEIXIA(4),
WEIHUO(5),
OFFICIAL_REFURB(6),
BRAND_NEW(7),
LUCKY_BAG(8),
OTHER(99),
BRAND_WEIXIA(2601),
BRAND_LINQI(2602),
BRAND_CLEAR(2603),
BRAND_REFURB(2604);
public final int code;
FlashSaleType(int code) { this.code = code; }
}

View File

@@ -0,0 +1,17 @@
package com.ruoyi.erp.domain.enums;
/** 商品类型 */
public enum ItemBizType {
NORMAL(2),
CHECKED(0),
YANHUOBAO(10),
BRAND_AUTH(16),
SELECTED(19),
FLASH_SALE(24),
BRAND_CLEARANCE(26);
public final int code;
ItemBizType(int code) { this.code = code; }
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.erp.domain.enums;
/** 商品服务项(可按逗号拼接多个) */
public enum ServiceSupport {
SDR, // 七天无理由退货
NFR, // 描述不符包邮退
VNR, // 描述不符全额退(虚拟类)
FD_10MS, // 10分钟极速发货虚拟类
FD_24HS, // 24小时极速发货
FD_48HS, // 48小时极速发货
FD_GPA; // 正品保障
}

View File

@@ -0,0 +1,32 @@
package com.ruoyi.erp.domain.enums;
/** 行业类型(节选,完整可按文档扩充) */
public enum SpBizType {
PHONE(1),
FASHION(2),
APPLIANCE(3),
INSTRUMENT(8),
DIGITAL_3C(9),
LUXURY(16),
MOM_BABY(17),
BEAUTY(18),
JEWELRY(19),
GAME(20),
HOME(21),
VIRTUAL(22),
RENT_ACCOUNT(23),
BOOK(24),
COUPON(25),
FOOD(27),
TOY(28),
CAR(29),
PET_PLANT(30),
GIFT(31),
CAR_SERVICE(33),
OTHER(99);
public final int code;
SpBizType(int code) { this.code = code; }
}

View File

@@ -0,0 +1,24 @@
package com.ruoyi.erp.domain.enums;
/** 商品成色 */
public enum StuffStatus {
NONE(0),
NEW_100(100),
LIKE_NEW(-1),
NINETY_NINE(99),
NINETY_FIVE(95),
NINETY(90),
EIGHTY(80),
SEVENTY(70),
SIXTY(60),
FIFTY(50),
BRAND_CLEAR_40(40),
BRAND_CLEAR_30(30),
BRAND_CLEAR_20(20),
BRAND_CLEAR_10(10);
public final int code;
StuffStatus(int code) { this.code = code; }
}