This commit is contained in:
2025-10-09 19:45:14 +08:00
parent e6ced14040
commit 2a93522bcf
15 changed files with 2158 additions and 1 deletions

View File

@@ -0,0 +1,206 @@
package com.ruoyi.jarvis.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 批量发品明细对象 batch_publish_item
*
* @author ruoyi
* @date 2025-01-10
*/
public class BatchPublishItem extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 明细ID */
private Long id;
/** 任务ID */
@Excel(name = "任务ID")
private Long taskId;
/** SKUID */
@Excel(name = "SKUID")
private String skuid;
/** 商品名称 */
@Excel(name = "商品名称")
private String productName;
/** 目标ERP账号 */
@Excel(name = "目标账号")
private String targetAccount;
/** 账号备注名 */
@Excel(name = "账号名称")
private String accountRemark;
/** 发品状态0待发布 1发布中 2发布成功 3发布失败 4上架中 5已上架 6上架失败 */
@Excel(name = "发品状态", readConverterExp = "0=待发布,1=发布中,2=发布成功,3=发布失败,4=上架中,5=已上架,6=上架失败")
private Integer status;
/** ERP商品ID发品成功后返回 */
@Excel(name = "商品ID")
private Long productId;
/** 商品状态(发品成功后返回) */
private Integer productStatus;
/** 商家编码(发品成功后返回) */
@Excel(name = "商家编码")
private String outerId;
/** 发品价格(分) */
@Excel(name = "发品价格")
private Long publishPrice;
/** 失败原因 */
@Excel(name = "失败原因")
private String errorMessage;
/** 上架时间 */
@Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date publishTime;
/** 延迟上架时间(秒) */
private Integer delaySeconds;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getTaskId() {
return taskId;
}
public void setTaskId(Long taskId) {
this.taskId = taskId;
}
public String getSkuid() {
return skuid;
}
public void setSkuid(String skuid) {
this.skuid = skuid;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getTargetAccount() {
return targetAccount;
}
public void setTargetAccount(String targetAccount) {
this.targetAccount = targetAccount;
}
public String getAccountRemark() {
return accountRemark;
}
public void setAccountRemark(String accountRemark) {
this.accountRemark = accountRemark;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Long getProductId() {
return productId;
}
public void setProductId(Long productId) {
this.productId = productId;
}
public Integer getProductStatus() {
return productStatus;
}
public void setProductStatus(Integer productStatus) {
this.productStatus = productStatus;
}
public String getOuterId() {
return outerId;
}
public void setOuterId(String outerId) {
this.outerId = outerId;
}
public Long getPublishPrice() {
return publishPrice;
}
public void setPublishPrice(Long publishPrice) {
this.publishPrice = publishPrice;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public Date getPublishTime() {
return publishTime;
}
public void setPublishTime(Date publishTime) {
this.publishTime = publishTime;
}
public Integer getDelaySeconds() {
return delaySeconds;
}
public void setDelaySeconds(Integer delaySeconds) {
this.delaySeconds = delaySeconds;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("taskId", getTaskId())
.append("skuid", getSkuid())
.append("productName", getProductName())
.append("targetAccount", getTargetAccount())
.append("accountRemark", getAccountRemark())
.append("status", getStatus())
.append("productId", getProductId())
.append("productStatus", getProductStatus())
.append("outerId", getOuterId())
.append("publishPrice", getPublishPrice())
.append("errorMessage", getErrorMessage())
.append("publishTime", getPublishTime())
.append("delaySeconds", getDelaySeconds())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@@ -0,0 +1,193 @@
package com.ruoyi.jarvis.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 批量发品任务对象 batch_publish_task
*
* @author ruoyi
* @date 2025-01-10
*/
public class BatchPublishTask extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 任务ID */
private Long id;
/** 任务名称 */
@Excel(name = "任务名称")
private String taskName;
/** 原始线报消息 */
@Excel(name = "原始线报消息")
private String originalMessage;
/** 解析出的商品数量 */
@Excel(name = "解析商品数量")
private Integer totalProducts;
/** 选中的商品数量 */
@Excel(name = "选中商品数量")
private Integer selectedProducts;
/** 目标ERP账号JSON数组 */
@Excel(name = "目标账号")
private String targetAccounts;
/** 任务状态0待处理 1处理中 2已完成 3失败 */
@Excel(name = "任务状态", readConverterExp = "0=待处理,1=处理中,2=已完成,3=失败")
private Integer status;
/** 成功发品数量 */
@Excel(name = "成功数量")
private Integer successCount;
/** 失败发品数量 */
@Excel(name = "失败数量")
private Integer failCount;
/** 通用参数JSON */
private String commonParams;
/** 创建人ID */
private Long createUserId;
/** 创建人姓名 */
@Excel(name = "创建人")
private String createUserName;
/** 完成时间 */
@Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date completeTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public String getOriginalMessage() {
return originalMessage;
}
public void setOriginalMessage(String originalMessage) {
this.originalMessage = originalMessage;
}
public Integer getTotalProducts() {
return totalProducts;
}
public void setTotalProducts(Integer totalProducts) {
this.totalProducts = totalProducts;
}
public Integer getSelectedProducts() {
return selectedProducts;
}
public void setSelectedProducts(Integer selectedProducts) {
this.selectedProducts = selectedProducts;
}
public String getTargetAccounts() {
return targetAccounts;
}
public void setTargetAccounts(String targetAccounts) {
this.targetAccounts = targetAccounts;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getSuccessCount() {
return successCount;
}
public void setSuccessCount(Integer successCount) {
this.successCount = successCount;
}
public Integer getFailCount() {
return failCount;
}
public void setFailCount(Integer failCount) {
this.failCount = failCount;
}
public String getCommonParams() {
return commonParams;
}
public void setCommonParams(String commonParams) {
this.commonParams = commonParams;
}
public Long getCreateUserId() {
return createUserId;
}
public void setCreateUserId(Long createUserId) {
this.createUserId = createUserId;
}
public String getCreateUserName() {
return createUserName;
}
public void setCreateUserName(String createUserName) {
this.createUserName = createUserName;
}
public Date getCompleteTime() {
return completeTime;
}
public void setCompleteTime(Date completeTime) {
this.completeTime = completeTime;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("taskName", getTaskName())
.append("originalMessage", getOriginalMessage())
.append("totalProducts", getTotalProducts())
.append("selectedProducts", getSelectedProducts())
.append("targetAccounts", getTargetAccounts())
.append("status", getStatus())
.append("successCount", getSuccessCount())
.append("failCount", getFailCount())
.append("commonParams", getCommonParams())
.append("createUserId", getCreateUserId())
.append("createUserName", getCreateUserName())
.append("createTime", getCreateTime())
.append("completeTime", getCompleteTime())
.toString();
}
}

View File

@@ -0,0 +1,319 @@
package com.ruoyi.jarvis.domain.request;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 批量发品请求对象
*
* @author ruoyi
* @date 2025-01-10
*/
public class BatchPublishRequest {
/** 任务名称 */
private String taskName;
/** 原始线报消息 */
private String originalMessage;
/** 选中的商品列表 */
@NotEmpty(message = "商品列表不能为空")
private List<ProductItem> products;
/** 目标ERP账号列表 */
@NotEmpty(message = "目标账号不能为空")
private List<String> targetAccounts;
/** 通用参数 */
@NotNull(message = "通用参数不能为空")
private CommonParams commonParams;
/** 延迟上架时间默认3秒 */
private Integer delaySeconds = 3;
public static class ProductItem {
/** SKUID */
@NotBlank(message = "SKUID不能为空")
private String skuid;
/** 商品名称 */
private String productName;
/** 商品价格(元) */
private Double price;
/** 商品图片 */
private String productImage;
/** 店铺名称 */
private String shopName;
/** 店铺ID */
private String shopId;
/** 佣金比例 */
private String commissionInfo;
public String getSkuid() {
return skuid;
}
public void setSkuid(String skuid) {
this.skuid = skuid;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public String getProductImage() {
return productImage;
}
public void setProductImage(String productImage) {
this.productImage = productImage;
}
public String getShopName() {
return shopName;
}
public void setShopName(String shopName) {
this.shopName = shopName;
}
public String getShopId() {
return shopId;
}
public void setShopId(String shopId) {
this.shopId = shopId;
}
public String getCommissionInfo() {
return commissionInfo;
}
public void setCommissionInfo(String commissionInfo) {
this.commissionInfo = commissionInfo;
}
}
public static class CommonParams {
/** 会员名 */
@NotBlank(message = "会员名不能为空")
private String userName;
/** 省 */
@NotNull(message = "省不能为空")
private Integer province;
/** 市 */
@NotNull(message = "市不能为空")
private Integer city;
/** 区 */
@NotNull(message = "区不能为空")
private Integer district;
/** 商品类型 */
@NotNull(message = "商品类型不能为空")
private Integer itemBizType;
/** 行业类型 */
@NotNull(message = "行业类型不能为空")
private Integer spBizType;
/** 类目ID */
@NotBlank(message = "类目ID不能为空")
private String channelCatId;
/** 邮费(元) */
@NotNull(message = "邮费不能为空")
private Double expressFee;
/** 库存 */
@NotNull(message = "库存不能为空")
private Integer stock;
/** 成色 */
private Integer stuffStatus;
/** 服务支持(逗号分隔) */
private String serviceSupport;
/** 商品属性JSON */
private String channelPv;
/** 白底图链接 */
private String whiteImages;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Integer getProvince() {
return province;
}
public void setProvince(Integer province) {
this.province = province;
}
public Integer getCity() {
return city;
}
public void setCity(Integer city) {
this.city = city;
}
public Integer getDistrict() {
return district;
}
public void setDistrict(Integer district) {
this.district = district;
}
public Integer getItemBizType() {
return itemBizType;
}
public void setItemBizType(Integer itemBizType) {
this.itemBizType = itemBizType;
}
public Integer getSpBizType() {
return spBizType;
}
public void setSpBizType(Integer spBizType) {
this.spBizType = spBizType;
}
public String getChannelCatId() {
return channelCatId;
}
public void setChannelCatId(String channelCatId) {
this.channelCatId = channelCatId;
}
public Double getExpressFee() {
return expressFee;
}
public void setExpressFee(Double expressFee) {
this.expressFee = expressFee;
}
public Integer getStock() {
return stock;
}
public void setStock(Integer stock) {
this.stock = stock;
}
public Integer getStuffStatus() {
return stuffStatus;
}
public void setStuffStatus(Integer stuffStatus) {
this.stuffStatus = stuffStatus;
}
public String getServiceSupport() {
return serviceSupport;
}
public void setServiceSupport(String serviceSupport) {
this.serviceSupport = serviceSupport;
}
public String getChannelPv() {
return channelPv;
}
public void setChannelPv(String channelPv) {
this.channelPv = channelPv;
}
public String getWhiteImages() {
return whiteImages;
}
public void setWhiteImages(String whiteImages) {
this.whiteImages = whiteImages;
}
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public String getOriginalMessage() {
return originalMessage;
}
public void setOriginalMessage(String originalMessage) {
this.originalMessage = originalMessage;
}
public List<ProductItem> getProducts() {
return products;
}
public void setProducts(List<ProductItem> products) {
this.products = products;
}
public List<String> getTargetAccounts() {
return targetAccounts;
}
public void setTargetAccounts(List<String> targetAccounts) {
this.targetAccounts = targetAccounts;
}
public CommonParams getCommonParams() {
return commonParams;
}
public void setCommonParams(CommonParams commonParams) {
this.commonParams = commonParams;
}
public Integer getDelaySeconds() {
return delaySeconds;
}
public void setDelaySeconds(Integer delaySeconds) {
this.delaySeconds = delaySeconds;
}
}

View File

@@ -0,0 +1,25 @@
package com.ruoyi.jarvis.domain.request;
import javax.validation.constraints.NotBlank;
/**
* 解析线报消息请求对象
*
* @author ruoyi
* @date 2025-01-10
*/
public class ParseLineReportRequest {
/** 线报消息内容 */
@NotBlank(message = "线报消息不能为空")
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}