商品库接入代码提交

This commit is contained in:
danmo 2024-05-06 14:12:47 +08:00
parent 1f3c19257b
commit d19655db23
23 changed files with 1929 additions and 5 deletions

View File

@ -9,10 +9,7 @@ import com.dyj.applet.handler.*;
import com.dyj.common.client.BaseClient;
import com.dyj.common.config.AgentConfiguration;
import com.dyj.common.config.DyConfiguration;
import com.dyj.common.domain.DyAppletResult;
import com.dyj.common.domain.DyResult;
import com.dyj.common.domain.DySimpleResult;
import com.dyj.common.domain.UserTokenInfo;
import com.dyj.common.domain.*;
import com.dyj.common.domain.vo.*;
import java.util.List;
@ -804,6 +801,123 @@ public class DyAppletClient extends BaseClient {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).spuQuery(spuExtId, needSpuDraft, spuDraftCount, supplierIdsForFilterReason);
}
/**
* 创建/修改团购商品
*
* @param query 入参
* @return DyProductResult<SaveGoodsProductVo>
*/
public DyProductResult<SaveGoodsProductVo> saveGoodsProduct(SaveGoodsProductQuery query) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).saveGoodsProduct(query);
}
/**
* 免审修改商品
*
* @param query 入参
* @return DyProductResult<String>
*/
public DyProductResult<String> freeAuditGoodsProduct(FreeAuditGoodsProductQuery query) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).freeAuditGoodsProduct(query);
}
/**
* 上下架商品
*
* @param productId 商品ID
* @param outId 商品外部ID
* @param opType 操作类型 1-上线 2-下线
* @return DyProductResult<String>
*/
public DyProductResult<String> operateGoodsProduct(String productId, String outId, Integer opType) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).operateGoodsProduct(productId, outId, opType);
}
/**
* 同步库存
*
* @param query 入参
* @return DyProductResult<String>
*/
public DyProductResult<String> syncGoodsStock(SyncGoodsStockQuery query) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).syncGoodsStock(query);
}
/**
* 查询商品模板
*
* @param categoryId 行业类目详细见 商品类目表
* @param productType 商品类型 1 : 团购套餐 3 : 预售券 4 : 日历房 5 : 门票 7 : 旅行跟拍 8 : 一日游 11 : 代金券
* @return DyProductResult<GoodsTemplateVo>
*/
public DyProductResult<GoodsTemplateVo> getGoodsTemplate(String categoryId, Integer productType) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).getGoodsTemplate(categoryId, productType);
}
/**
* 查询商品草稿数据
*
* @param productIds 商品ID列表逗号分隔
* @param outIds 外部商品ID列表逗号分隔
* @return DyProductResult<GoodsProductDraftVo>
*/
public DyProductResult<GoodsProductDraftVo> getGoodsProductDraft(String productIds, String outIds) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).getGoodsProductDraft(productIds, outIds);
}
/**
* 查询商品线上数据
*
* @param productIds 商品ID列表逗号分隔
* @param outIds 外部商品ID列表逗号分隔
* @return DyProductResult<GoodsProductOnlineVo>
*/
public DyProductResult<GoodsProductOnlineVo> getGoodsProductOnline(String productIds, String outIds) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).getGoodsProductOnline(productIds, outIds);
}
/**
* 查询商品线上数据列表
*
* @param cursor 第一页不传之后用前一次返回的next_cursor传入进行翻页
* @param count 分页数量不传默认为5
* @param status 过滤在线状态 1-在线 2-下线 3-封禁
* @return DyProductResult
*/
public DyProductResult<GoodsProductOnlineVo> queryGoodsProductOnlineList(String cursor, Integer count, Integer status) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).queryGoodsProductOnlineList(cursor, count, status);
}
/**
* 查询商品草稿数据列表
* @param cursor 第一页不传之后用前一次返回的next_cursor传入进行翻页
* @param count 分页数量不传默认为5
* @param status 过滤草稿状态10-审核中 12-审核失败 1-审核通过
* @return DyProductResult<GoodsProductDraftVo>
*/
public DyProductResult<GoodsProductDraftVo> queryGoodsProductDraftList(String cursor, Integer count, Integer status){
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).queryGoodsProductDraftList(cursor, count, status);
}
/**
* 创建/更新多SKU商品的SKU列表
* @param query 入参
* @return DyProductResult<String>
*/
public DyProductResult<String> batchSaveGoodsSku(BatchSaveGoodsSkuQuery query){
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).batchSaveGoodsSku(query);
}
/**
* 查询商品品类
* @param categoryId 行业类目ID返回当前id下的直系子类目信息传0或者不传均返回所有一级行业类目
* @param accountId 服务商的入驻商户ID/代运营的商户ID不传时默认为服务商身份
* @return GoodsCategoryVo
*/
public GoodsCategoryVo getGoodsCategory(String categoryId, String accountId){
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).getGoodsCategory(categoryId, accountId);
}
/**
* 查询用户可用券信息

View File

@ -4,9 +4,12 @@ import com.dtflys.forest.annotation.*;
import com.dtflys.forest.backend.ContentType;
import com.dyj.applet.domain.query.*;
import com.dyj.applet.domain.vo.*;
import com.dyj.common.domain.DyProductResult;
import com.dyj.common.domain.DyResult;
import com.dyj.common.domain.query.BaseQuery;
import com.dyj.common.domain.vo.BaseVo;
import com.dyj.applet.domain.vo.SaveGoodsProductVo;
import com.dyj.common.interceptor.ClientQueryTokenInterceptor;
import com.dyj.common.interceptor.ClientTokenInterceptor;
import java.util.List;
@ -161,5 +164,105 @@ public interface LifeServicesClient {
DyResult<SpuVo> spuQuery(@Var("query") BaseQuery query, @Query("spu_ext_id") String spuExtId, @Query("need_spu_draft") Boolean needSpuDraft, @Query("spu_draft_count") Integer spuDraftCount, @Query("supplier_ids_for_filter_reason") List<String> supplierIdsForFilterReason);
/**
* 创建/修改团购商品
* @param query 入参
* @return DyProductResult<SaveGoodsProductVo>
*/
@Post(url = "${saveGoodsProduct}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<SaveGoodsProductVo> saveGoodsProduct(@JSONBody SaveGoodsProductQuery query);
/**
* 免审修改商品
* @param query 入参
* @return DyProductResult<String>
*/
@Post(url = "${freeAuditGoodsProduct}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<String> freeAuditGoodsProduct(@JSONBody FreeAuditGoodsProductQuery query);
/**
* 上下架商品
* @param query 入参
* @return DyProductResult<String>
*/
@Post(url = "${operateGoodsProduct}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<String> operateGoodsProduct(@JSONBody OperateGoodsProductQuery query);
/**
* 同步库存
* @param query 入参
* @return DyProductResult<String>
*/
@Post(url = "${syncGoodsStock}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<String> syncGoodsStock(@JSONBody SyncGoodsStockQuery query);
/**
* 查询商品模板
* @param query 应用信息
* @param categoryId 行业类目详细见 商品类目表
* @param productType 商品类型 1 : 团购套餐 3 : 预售券 4 : 日历房 5 : 门票 7 : 旅行跟拍 8 : 一日游 11 : 代金券
* @return DyProductResult<GoodsTemplateVo>
*/
@Get(url = "${getGoodsTemplate}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<GoodsTemplateVo> getGoodsTemplate(@Var("query") BaseQuery query, @Query("category_id") String categoryId, @Query("product_type") Integer productType);
/**
* 查询商品草稿数据
* @param query 应用信息
* @param productIds 商品ID列表逗号分隔
* @param outIds 外部商品ID列表逗号分隔
* @return DyProductResult<GoodsProductDraftVo>
*/
@Get(url = "${getGoodsProductDraft}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<GoodsProductDraftVo> getGoodsProductDraft(@Var("query") BaseQuery query, @Query("product_ids") String productIds,@Query("out_ids") String outIds);
/**
* 查询商品线上数据
* @param query 应用信息
* @param productIds 商品ID列表逗号分隔
* @param outIds 外部商品ID列表逗号分隔
* @return DyProductResult<GoodsProductOnlineVo>
*/
@Get(url = "${getGoodsProductOnline}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<GoodsProductOnlineVo> getGoodsProductOnline(@Var("query") BaseQuery query, @Query("product_ids") String productIds,@Query("out_ids") String outIds);
/**
* 查询商品线上数据列表
* @param query 应用信息
* @param cursor 第一页不传之后用前一次返回的next_cursor传入进行翻页
* @param count 分页数量不传默认为5
* @param status 过滤在线状态 1-在线 2-下线 3-封禁
* @return DyProductResult
*/
@Get(url = "${queryGoodsProductOnlineList}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<GoodsProductOnlineVo> queryGoodsProductOnlineList(@Var("query") BaseQuery query, @Query("cursor") String cursor, @Query("count") Integer count, @Query("status") Integer status);
/**
* 查询商品草稿数据列表
* @param query 应用信息
* @param cursor 第一页不传之后用前一次返回的next_cursor传入进行翻页
* @param count 分页数量不传默认为5
* @param status 过滤草稿状态10-审核中 12-审核失败 1-审核通过
* @return DyProductResult<GoodsProductDraftVo>
*/
@Get(url = "${queryGoodsProductDraftList}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<GoodsProductDraftVo> queryGoodsProductDraftList(@Var("query") BaseQuery query, @Query("cursor") String cursor, @Query("count") Integer count, @Query("status") Integer status);
/**
* 创建/更新多SKU商品的SKU列表
* @param query 入参
* @return DyProductResult<String>
*/
@Post(url = "${batchSaveGoodsSku}", interceptor = ClientQueryTokenInterceptor.class)
DyProductResult<String> batchSaveGoodsSku(@JSONBody BatchSaveGoodsSkuQuery query);
/**
* 查询商品品类
* @param query 应用信息
* @param categoryId 行业类目ID返回当前id下的直系子类目信息传0或者不传均返回所有一级行业类目
* @param accountId 服务商的入驻商户ID/代运营的商户ID不传时默认为服务商身份
* @return GoodsCategoryVo
*/
@Get(url = "${getGoodsCategory}", interceptor = ClientQueryTokenInterceptor.class)
GoodsCategoryVo getGoodsCategory(@Var("query") BaseQuery query, @Query("category_id") String categoryId, @Query("account_id") String accountId);
}

View File

@ -0,0 +1,82 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-05-06 13:53
**/
public class CategoryInfo {
/**
*
* 类目ID
*/
private Long category_id;
/**
* 类目名称
*/
private String name;
/**
* 父类目ID
*/
private Long parent_id;
/**
* 类目层级
*/
private Integer level;
/**
* 是否是叶子结点
*/
private Boolean is_leaf;
/**
* 类目是否开放
*/
private Boolean enable;
public Long getCategory_id() {
return category_id;
}
public void setCategory_id(Long category_id) {
this.category_id = category_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getParent_id() {
return parent_id;
}
public void setParent_id(Long parent_id) {
this.parent_id = parent_id;
}
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
public Boolean getIs_leaf() {
return is_leaf;
}
public void setIs_leaf(Boolean is_leaf) {
this.is_leaf = is_leaf;
}
public Boolean getEnable() {
return enable;
}
public void setEnable(Boolean enable) {
this.enable = enable;
}
}

View File

@ -0,0 +1,94 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-05-06 11:29
**/
public class ProductAttr {
/**
* 属性描述
*/
private String desc;
/**
*
* 是否列表
*/
private Boolean is_multi;
/**
* 是否必填
*/
private Boolean is_required;
/**
* 属性key
*/
private String key;
/**
* 属性名称
*/
private String name;
/**
* 属性类型
*/
private String value_type;
/**
* 属性样例
*/
private String value_demo;
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public Boolean getIs_multi() {
return is_multi;
}
public void setIs_multi(Boolean is_multi) {
this.is_multi = is_multi;
}
public Boolean getIs_required() {
return is_required;
}
public void setIs_required(Boolean is_required) {
this.is_required = is_required;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue_type() {
return value_type;
}
public void setValue_type(String value_type) {
this.value_type = value_type;
}
public String getValue_demo() {
return value_demo;
}
public void setValue_demo(String value_demo) {
this.value_demo = value_demo;
}
}

View File

@ -0,0 +1,57 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-05-06 11:35
**/
public class ProductDraft {
/**
* 草稿状态
* 10-审核中
* 12-审核失败
* 1-审核通过
* 11-审核通过老库存量数据,新接口保存后擦除
*/
private Integer draft_status;
/**
* 审核失败原因
*/
private String audit_msg;
private ProductStruct product;
private SkuStruct sku;
public Integer getDraft_status() {
return draft_status;
}
public void setDraft_status(Integer draft_status) {
this.draft_status = draft_status;
}
public String getAudit_msg() {
return audit_msg;
}
public void setAudit_msg(String audit_msg) {
this.audit_msg = audit_msg;
}
public ProductStruct getProduct() {
return product;
}
public void setProduct(ProductStruct product) {
this.product = product;
}
public SkuStruct getSku() {
return sku;
}
public void setSku(SkuStruct sku) {
this.sku = sku;
}
}

View File

@ -0,0 +1,44 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-05-06 13:37
**/
public class ProductOnline {
/**
* 在线状态 1-在线 2-下线 3-封禁
*/
private Integer online_status;
/**
* 商品
*/
private ProductStruct product;
/**
* 售卖单元
*/
private SkuStruct sku;
public Integer getOnline_status() {
return online_status;
}
public void setOnline_status(Integer online_status) {
this.online_status = online_status;
}
public ProductStruct getProduct() {
return product;
}
public void setProduct(ProductStruct product) {
this.product = product;
}
public SkuStruct getSku() {
return sku;
}
public void setSku(SkuStruct sku) {
this.sku = sku;
}
}

View File

@ -0,0 +1,284 @@
package com.dyj.applet.domain;
import java.util.List;
import java.util.Map;
/**
* 商品
* @author danmo
* @date 2024-05-06 10:26
**/
public class ProductStruct {
/**
* 商品Id创建时不必填写更新时如有 out_id 可不填写
*/
private String product_id;
/**
* 外部商品id
*/
private String out_id;
/**
* 商品名
*/
private String product_name;
/**
* 品类全名保存时不必填写
*/
private String category_full_name;
/**
* 品类id
*/
private Integer category_id;
/**
* 商品类型
* 1 : 团购套餐
* 3 : 预售券
* 4 : 日历房
* 5 : 门票
* 7 : 旅行跟拍
* 8 : 一日游
* 11 : 代金券
* 14: x项目
*/
private Integer product_type;
/**
* 业务线
* 1闭环自研开发者
* 3直连服务商
* 5小程序
*/
private Integer biz_line;
/**
* 商家名
*/
private String account_name;
/**
* 售卖开始时间
*/
private Long sold_start_time;
/**
* 售卖结束时间
*/
private Long sold_end_time;
/**
* 第三方跳转链接小程序商品必填
*/
private String out_url;
/**
* 店铺列表
*/
private List<Map<String, Object>> poi_list;
/**
* 商品属性 KV填写时参考下文attr_key_value_map 的格式
*/
private Map<String, Object> attr_key_value_map;
private List<String> telephone;
public static ProductStructBuilder builder() {
return new ProductStructBuilder();
}
public static class ProductStructBuilder {
private String productId;
private String outId;
private String productName;
private String categoryFullName;
private Integer categoryId;
private Integer productType;
private Integer bizLine;
private String accountName;
private Long soldStartTime;
private Long soldEndTime;
private String outUrl;
private List<Map<String, Object>> poiList;
private Map<String, Object> attrKeyValueMap;
private List<String> telephone;
public ProductStructBuilder productId(String productId) {
this.productId = productId;
return this;
}
public ProductStructBuilder outId(String outId) {
this.outId = outId;
return this;
}
public ProductStructBuilder productName(String productName) {
this.productName = productName;
return this;
}
public ProductStructBuilder categoryFullName(String categoryFullName) {
this.categoryFullName = categoryFullName;
return this;
}
public ProductStructBuilder categoryId(Integer categoryId) {
this.categoryId = categoryId;
return this;
}
public ProductStructBuilder productType(Integer productType) {
this.productType = productType;
return this;
}
public ProductStructBuilder bizLine(Integer bizLine) {
this.bizLine = bizLine;
return this;
}
public ProductStructBuilder accountName(String accountName) {
this.accountName = accountName;
return this;
}
public ProductStructBuilder soldStartTime(Long soldStartTime) {
this.soldStartTime = soldStartTime;
return this;
}
public ProductStructBuilder soldEndTime(Long soldEndTime) {
this.soldEndTime = soldEndTime;
return this;
}
public ProductStructBuilder outUrl(String outUrl) {
this.outUrl = outUrl;
return this;
}
public ProductStructBuilder poiList(List<Map<String, Object>> poiList) {
this.poiList = poiList;
return this;
}
public ProductStructBuilder attrKeyValueMap(Map<String, Object> attrKeyValueMap) {
this.attrKeyValueMap = attrKeyValueMap;
return this;
}
public ProductStructBuilder telephone(List<String> telephone) {
this.telephone = telephone;
return this;
}
public ProductStruct build() {
ProductStruct productStruct = new ProductStruct();
productStruct.setProduct_id(productId);
productStruct.setOut_id(outId);
productStruct.setProduct_name(productName);
productStruct.setCategory_full_name(categoryFullName);
productStruct.setCategory_id(categoryId);
productStruct.setProduct_type(productType);
productStruct.setBiz_line(bizLine);
productStruct.setAccount_name(accountName);
productStruct.setSold_start_time(soldStartTime);
productStruct.setSold_end_time(soldEndTime);
productStruct.setOut_url(outUrl);
productStruct.setPoi_list(poiList);
productStruct.setAttr_key_value_map(attrKeyValueMap);
productStruct.setTelephone(telephone);
return productStruct;
}
}
public String getProduct_id() {
return product_id;
}
public void setProduct_id(String product_id) {
this.product_id = product_id;
}
public String getOut_id() {
return out_id;
}
public void setOut_id(String out_id) {
this.out_id = out_id;
}
public String getProduct_name() {
return product_name;
}
public void setProduct_name(String product_name) {
this.product_name = product_name;
}
public String getCategory_full_name() {
return category_full_name;
}
public void setCategory_full_name(String category_full_name) {
this.category_full_name = category_full_name;
}
public Integer getCategory_id() {
return category_id;
}
public void setCategory_id(Integer category_id) {
this.category_id = category_id;
}
public Integer getProduct_type() {
return product_type;
}
public void setProduct_type(Integer product_type) {
this.product_type = product_type;
}
public Integer getBiz_line() {
return biz_line;
}
public void setBiz_line(Integer biz_line) {
this.biz_line = biz_line;
}
public String getAccount_name() {
return account_name;
}
public void setAccount_name(String account_name) {
this.account_name = account_name;
}
public Long getSold_start_time() {
return sold_start_time;
}
public void setSold_start_time(Long sold_start_time) {
this.sold_start_time = sold_start_time;
}
public Long getSold_end_time() {
return sold_end_time;
}
public void setSold_end_time(Long sold_end_time) {
this.sold_end_time = sold_end_time;
}
public String getOut_url() {
return out_url;
}
public void setOut_url(String out_url) {
this.out_url = out_url;
}
public List<Map<String, Object>> getPoi_list() {
return poi_list;
}
public void setPoi_list(List<Map<String, Object>> poi_list) {
this.poi_list = poi_list;
}
public Map<String, Object> getAttr_key_value_map() {
return attr_key_value_map;
}
public void setAttr_key_value_map(Map<String, Object> attr_key_value_map) {
this.attr_key_value_map = attr_key_value_map;
}
public List<String> getTelephone() {
return telephone;
}
public void setTelephone(List<String> telephone) {
this.telephone = telephone;
}
}

View File

@ -0,0 +1,167 @@
package com.dyj.applet.domain;
import java.util.Map;
/**
* 售卖单元
* @author danmo
* @date 2024-05-06 10:38
**/
public class SkuStruct {
/**
* sku id创建时不必填写
*/
private String sku_id;
/**
* sku名
*/
private String sku_name;
/**
* 原价团购创建时如有commodity属性可不填会根据菜品搭配计算原价
*/
private Integer origin_amount;
/**
* 实际支付价格
*/
private Integer actual_amount;
/**
* 库存信息
*/
private StockStruct stock;
/**
* 第三方id
*/
private String out_sku_id;
/**
* 状态1在线 -1-删除 默认传1
*/
private Integer status;
/**
* sku属性KV填写时参考下文attr_key_value_map的格式
*/
private Map<String, Object> attr_key_value_map;
public static SkuStructBuilder builder() {
return new SkuStructBuilder();
}
public static class SkuStructBuilder {
private String skuId;
private String skuName;
private Integer originAmount;
private Integer actualAmount;
private StockStruct stock;
private String outSkuId;
private Integer status;
private Map<String, Object> attrKeyValueMap;
public SkuStructBuilder skuId(String skuId) {
this.skuId = skuId;
return this;
}
public SkuStructBuilder skuName(String skuName) {
this.skuName = skuName;
return this;
}
public SkuStructBuilder originAmount(Integer originAmount) {
this.originAmount = originAmount;
return this;
}
public SkuStructBuilder actualAmount(Integer actualAmount) {
this.actualAmount = actualAmount;
return this;
}
public SkuStructBuilder stock(StockStruct stock) {
this.stock = stock;
return this;
}
public SkuStructBuilder outSkuId(String outSkuId) {
this.outSkuId = outSkuId;
return this;
}
public SkuStructBuilder status(Integer status) {
this.status = status;
return this;
}
public SkuStructBuilder attrKeyValueMap(Map<String, Object> attrKeyValueMap) {
this.attrKeyValueMap = attrKeyValueMap;
return this;
}
public SkuStruct build() {
SkuStruct skuStruct = new SkuStruct();
skuStruct.setSku_id(skuId);
skuStruct.setSku_name(skuName);
skuStruct.setOrigin_amount(originAmount);
skuStruct.setActual_amount(actualAmount);
skuStruct.setStock(stock);
skuStruct.setOut_sku_id(outSkuId);
skuStruct.setStatus(status);
skuStruct.setAttr_key_value_map(attrKeyValueMap);
return skuStruct;
}
}
public String getSku_id() {
return sku_id;
}
public void setSku_id(String sku_id) {
this.sku_id = sku_id;
}
public String getSku_name() {
return sku_name;
}
public void setSku_name(String sku_name) {
this.sku_name = sku_name;
}
public Integer getOrigin_amount() {
return origin_amount;
}
public void setOrigin_amount(Integer origin_amount) {
this.origin_amount = origin_amount;
}
public Integer getActual_amount() {
return actual_amount;
}
public void setActual_amount(Integer actual_amount) {
this.actual_amount = actual_amount;
}
public StockStruct getStock() {
return stock;
}
public void setStock(StockStruct stock) {
this.stock = stock;
}
public String getOut_sku_id() {
return out_sku_id;
}
public void setOut_sku_id(String out_sku_id) {
this.out_sku_id = out_sku_id;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Map<String, Object> getAttr_key_value_map() {
return attr_key_value_map;
}
public void setAttr_key_value_map(Map<String, Object> attr_key_value_map) {
this.attr_key_value_map = attr_key_value_map;
}
}

View File

@ -0,0 +1,58 @@
package com.dyj.applet.domain;
/**
* 库存信息
* @author danmo
* @date 2024-05-06 10:37
**/
public class StockStruct {
/**
* 上限类型为2时stock_qty和avail_qty字段无意义 1-有限库存 2-无限库存
*/
private Integer limit_type;
/**
* 总库存limit_type=2时无意义
*/
private Integer stock_qty;
public static StockStructBuilder builder() {
return new StockStructBuilder();
}
public static class StockStructBuilder {
private Integer limitType;
private Integer stockQty;
public StockStructBuilder limitType(Integer limitType) {
this.limitType = limitType;
return this;
}
public StockStructBuilder stockQty(Integer stockQty) {
this.stockQty = stockQty;
return this;
}
public StockStruct build() {
StockStruct stockStruct = new StockStruct();
stockStruct.setLimit_type(limitType);
stockStruct.setStock_qty(stockQty);
return stockStruct;
}
}
public Integer getLimit_type() {
return limit_type;
}
public void setLimit_type(Integer limit_type) {
this.limit_type = limit_type;
}
public Integer getStock_qty() {
return stock_qty;
}
public void setStock_qty(Integer stock_qty) {
this.stock_qty = stock_qty;
}
}

View File

@ -0,0 +1,93 @@
package com.dyj.applet.domain.query;
import com.dyj.applet.domain.SkuStruct;
import com.dyj.common.domain.query.BaseQuery;
import java.util.List;
/**
* @author danmo
* @date 2024-05-06 13:47
**/
public class BatchSaveGoodsSkuQuery extends BaseQuery {
/**
* 商品id
*/
private String product_id;
/**
*
* 商品外部id
*/
private String out_id;
/**
* SKU列表
*/
private List<SkuStruct> sku_list;
public static BatchSaveGoodsSkuQueryBuilder builder() {
return new BatchSaveGoodsSkuQueryBuilder();
}
public static class BatchSaveGoodsSkuQueryBuilder {
private String productId;
private String outId;
private List<SkuStruct> skuList;
private Integer tenantId;
private String clientKey;
public BatchSaveGoodsSkuQueryBuilder productId(String productId) {
this.productId = productId;
return this;
}
public BatchSaveGoodsSkuQueryBuilder outId(String outId) {
this.outId = outId;
return this;
}
public BatchSaveGoodsSkuQueryBuilder skuList(List<SkuStruct> skuList) {
this.skuList = skuList;
return this;
}
public BatchSaveGoodsSkuQueryBuilder tenantId(Integer tenantId) {
this.tenantId = tenantId;
return this;
}
public BatchSaveGoodsSkuQueryBuilder clientKey(String clientKey) {
this.clientKey = clientKey;
return this;
}
public BatchSaveGoodsSkuQuery build() {
BatchSaveGoodsSkuQuery batchSaveGoodsSkuQuery = new BatchSaveGoodsSkuQuery();
batchSaveGoodsSkuQuery.setProduct_id(productId);
batchSaveGoodsSkuQuery.setOut_id(outId);
batchSaveGoodsSkuQuery.setSku_list(skuList);
batchSaveGoodsSkuQuery.setTenantId(tenantId);
batchSaveGoodsSkuQuery.setClientKey(clientKey);
return batchSaveGoodsSkuQuery;
}
}
public String getProduct_id() {
return product_id;
}
public void setProduct_id(String product_id) {
this.product_id = product_id;
}
public String getOut_id() {
return out_id;
}
public void setOut_id(String out_id) {
this.out_id = out_id;
}
public List<SkuStruct> getSku_list() {
return sku_list;
}
public void setSku_list(List<SkuStruct> sku_list) {
this.sku_list = sku_list;
}
}

View File

@ -0,0 +1,126 @@
package com.dyj.applet.domain.query;
import com.dyj.common.domain.query.BaseQuery;
/**
* @author danmo
* @date 2024-05-06 11:07
**/
public class FreeAuditGoodsProductQuery extends BaseQuery {
/**
* 商品id (商品id或商品外部id 选其一
*/
private String product_id;
/**
* 商品外部id (商品id或商品外部id 选其一
*/
private String out_id;
/**
* 售卖结束时间
*/
private Long sold_end_time;
/**
* 总库存
*/
private Long stock_qty;
/**
* 商品归属账户ID非必传传入时须与该商家满足商服关系
*/
private String owner_account_id;
public static FreeAuditGoodsProductQueryBuilder build() {
return new FreeAuditGoodsProductQueryBuilder();
}
public static class FreeAuditGoodsProductQueryBuilder {
private String productId;
private String outId;
private Long soldEndTime;
private Long stockQty;
private String ownerAccountId;
private Integer tenantId;
private String clientKey;
public FreeAuditGoodsProductQueryBuilder productId(String productId) {
this.productId = productId;
return this;
}
public FreeAuditGoodsProductQueryBuilder outId(String outId) {
this.outId = outId;
return this;
}
public FreeAuditGoodsProductQueryBuilder soldEndTime(Long soldEndTime) {
this.soldEndTime = soldEndTime;
return this;
}
public FreeAuditGoodsProductQueryBuilder stockQty(Long stockQty) {
this.stockQty = stockQty;
return this;
}
public FreeAuditGoodsProductQueryBuilder ownerAccountId(String ownerAccountId) {
this.ownerAccountId = ownerAccountId;
return this;
}
public FreeAuditGoodsProductQueryBuilder tenantId(Integer tenantId) {
this.tenantId = tenantId;
return this;
}
public FreeAuditGoodsProductQueryBuilder clientKey(String clientKey) {
this.clientKey = clientKey;
return this;
}
public FreeAuditGoodsProductQuery build() {
FreeAuditGoodsProductQuery freeAuditGoodsProductQuery = new FreeAuditGoodsProductQuery();
freeAuditGoodsProductQuery.setProduct_id(productId);
freeAuditGoodsProductQuery.setOut_id(outId);
freeAuditGoodsProductQuery.setSold_end_time(soldEndTime);
freeAuditGoodsProductQuery.setStock_qty(stockQty);
freeAuditGoodsProductQuery.setOwner_account_id(ownerAccountId);
freeAuditGoodsProductQuery.setTenantId(tenantId);
freeAuditGoodsProductQuery.setClientKey(clientKey);
return freeAuditGoodsProductQuery;
}
}
public String getProduct_id() {
return product_id;
}
public void setProduct_id(String product_id) {
this.product_id = product_id;
}
public String getOut_id() {
return out_id;
}
public void setOut_id(String out_id) {
this.out_id = out_id;
}
public Long getSold_end_time() {
return sold_end_time;
}
public void setSold_end_time(Long sold_end_time) {
this.sold_end_time = sold_end_time;
}
public Long getStock_qty() {
return stock_qty;
}
public void setStock_qty(Long stock_qty) {
this.stock_qty = stock_qty;
}
public String getOwner_account_id() {
return owner_account_id;
}
public void setOwner_account_id(String owner_account_id) {
this.owner_account_id = owner_account_id;
}
}

View File

@ -0,0 +1,95 @@
package com.dyj.applet.domain.query;
import com.dyj.common.domain.query.BaseQuery;
/**
* @author danmo
* @date 2024-05-06 11:13
**/
public class OperateGoodsProductQuery extends BaseQuery {
/**
*
* 商品id(若有第三方id可不传
*/
private String product_id;
/**
* 商品第三方id
*/
private String out_id;
/**
* 1-上线 2-下线
*/
private Integer op_type;
public static OperateGoodsProductQueryBuilder build() {
return new OperateGoodsProductQueryBuilder();
}
public static final class OperateGoodsProductQueryBuilder {
private String productId;
private String outId;
private Integer opType;
private Integer tenantId;
private String clientKey;
public OperateGoodsProductQueryBuilder productId(String productId) {
this.productId = productId;
return this;
}
public OperateGoodsProductQueryBuilder outId(String outId) {
this.outId = outId;
return this;
}
public OperateGoodsProductQueryBuilder opType(Integer opType) {
this.opType = opType;
return this;
}
public OperateGoodsProductQueryBuilder tenantId(Integer tenantId) {
this.tenantId = tenantId;
return this;
}
public OperateGoodsProductQueryBuilder clientKey(String clientKey) {
this.clientKey = clientKey;
return this;
}
public OperateGoodsProductQuery build() {
OperateGoodsProductQuery operateGoodsProductQuery = new OperateGoodsProductQuery();
operateGoodsProductQuery.setProduct_id(productId);
operateGoodsProductQuery.setOut_id(outId);
operateGoodsProductQuery.setOp_type(opType);
operateGoodsProductQuery.setTenantId(tenantId);
operateGoodsProductQuery.setClientKey(clientKey);
return operateGoodsProductQuery;
}
}
public String getProduct_id() {
return product_id;
}
public void setProduct_id(String product_id) {
this.product_id = product_id;
}
public String getOut_id() {
return out_id;
}
public void setOut_id(String out_id) {
this.out_id = out_id;
}
public Integer getOp_type() {
return op_type;
}
public void setOp_type(Integer op_type) {
this.op_type = op_type;
}
}

View File

@ -0,0 +1,93 @@
package com.dyj.applet.domain.query;
import com.dyj.applet.domain.ProductStruct;
import com.dyj.applet.domain.SkuStruct;
import com.dyj.common.domain.query.BaseQuery;
/**
* @author danmo
* @date 2024-05-06 10:48
**/
public class SaveGoodsProductQuery extends BaseQuery {
/**
* 商品
*/
private ProductStruct product;
/**
* 售卖单元
*/
private SkuStruct sku;
/**
* 商品归属账户ID非必传传入时须与该商家满足商服关系没有还没有商户ID可以先不传
*/
private String owner_account_id;
public static SaveGoodsProductQueryBuilder builder() {
return new SaveGoodsProductQueryBuilder();
}
public static class SaveGoodsProductQueryBuilder {
private ProductStruct product;
private SkuStruct sku;
private String ownerAccountId;
private Integer tenantId;
private String clientKey;
public SaveGoodsProductQueryBuilder product(ProductStruct product) {
this.product = product;
return this;
}
public SaveGoodsProductQueryBuilder sku(SkuStruct sku) {
this.sku = sku;
return this;
}
public SaveGoodsProductQueryBuilder ownerAccountId(String ownerAccountId) {
this.ownerAccountId = ownerAccountId;
return this;
}
public SaveGoodsProductQueryBuilder tenantId(Integer tenantId) {
this.tenantId = tenantId;
return this;
}
public SaveGoodsProductQueryBuilder clientKey(String clientKey) {
this.clientKey = clientKey;
return this;
}
public SaveGoodsProductQuery build() {
SaveGoodsProductQuery saveGoodsProductQuery = new SaveGoodsProductQuery();
saveGoodsProductQuery.setProduct(product);
saveGoodsProductQuery.setSku(sku);
saveGoodsProductQuery.setOwner_account_id(ownerAccountId);
saveGoodsProductQuery.setTenantId(tenantId);
saveGoodsProductQuery.setClientKey(clientKey);
return saveGoodsProductQuery;
}
}
public ProductStruct getProduct() {
return product;
}
public void setProduct(ProductStruct product) {
this.product = product;
}
public SkuStruct getSku() {
return sku;
}
public void setSku(SkuStruct sku) {
this.sku = sku;
}
public String getOwner_account_id() {
return owner_account_id;
}
public void setOwner_account_id(String owner_account_id) {
this.owner_account_id = owner_account_id;
}
}

View File

@ -0,0 +1,87 @@
package com.dyj.applet.domain.query;
import com.dyj.applet.domain.StockStruct;
import com.dyj.common.domain.query.BaseQuery;
/**
* @author danmo
* @date 2024-05-06 11:16
**/
public class SyncGoodsStockQuery extends BaseQuery {
private String product_id;
private String out_id;
private StockStruct stock;
public static SyncGoodsStockQueryBuilder build() {
return new SyncGoodsStockQueryBuilder();
}
public static final class SyncGoodsStockQueryBuilder {
private String productId;
private String outId;
private StockStruct stock;
private Integer tenantId;
private String clientKey;
public SyncGoodsStockQueryBuilder productId(String productId) {
this.productId = productId;
return this;
}
public SyncGoodsStockQueryBuilder outId(String outId) {
this.outId = outId;
return this;
}
public SyncGoodsStockQueryBuilder stock(StockStruct stock) {
this.stock = stock;
return this;
}
public SyncGoodsStockQueryBuilder tenantId(Integer tenantId) {
this.tenantId = tenantId;
return this;
}
public SyncGoodsStockQueryBuilder clientKey(String clientKey) {
this.clientKey = clientKey;
return this;
}
public SyncGoodsStockQuery build() {
SyncGoodsStockQuery syncGoodsStockQuery = new SyncGoodsStockQuery();
syncGoodsStockQuery.setProduct_id(productId);
syncGoodsStockQuery.setOut_id(outId);
syncGoodsStockQuery.setStock(stock);
syncGoodsStockQuery.setTenantId(tenantId);
syncGoodsStockQuery.setClientKey(clientKey);
return syncGoodsStockQuery;
}
}
public String getProduct_id() {
return product_id;
}
public void setProduct_id(String product_id) {
this.product_id = product_id;
}
public String getOut_id() {
return out_id;
}
public void setOut_id(String out_id) {
this.out_id = out_id;
}
public StockStruct getStock() {
return stock;
}
public void setStock(StockStruct stock) {
this.stock = stock;
}
}

View File

@ -0,0 +1,24 @@
package com.dyj.applet.domain.vo;
import com.dyj.applet.domain.CategoryInfo;
import com.dyj.common.domain.DyResult;
import com.dyj.common.domain.vo.BaseVo;
import java.util.List;
/**
* @author danmo
* @date 2024-05-06 13:52
**/
public class GoodsCategoryVo extends DyResult<BaseVo> {
private List<CategoryInfo> category_list;
public List<CategoryInfo> getCategory_list() {
return category_list;
}
public void setCategory_list(List<CategoryInfo> category_list) {
this.category_list = category_list;
}
}

View File

@ -0,0 +1,47 @@
package com.dyj.applet.domain.vo;
import com.dyj.applet.domain.ProductDraft;
import java.util.List;
/**
* @author danmo
* @date 2024-05-06 11:34
**/
public class GoodsProductDraftVo {
/**
* 用于查询下一页
*/
private String next_cursor;
/**
* 是否有下一页
*/
private Boolean has_more;
private List<ProductDraft> product_draft_list;
public String getNext_cursor() {
return next_cursor;
}
public void setNext_cursor(String next_cursor) {
this.next_cursor = next_cursor;
}
public Boolean getHas_more() {
return has_more;
}
public void setHas_more(Boolean has_more) {
this.has_more = has_more;
}
public List<ProductDraft> getProduct_draft_list() {
return product_draft_list;
}
public void setProduct_draft_list(List<ProductDraft> product_draft_list) {
this.product_draft_list = product_draft_list;
}
}

View File

@ -0,0 +1,46 @@
package com.dyj.applet.domain.vo;
import com.dyj.applet.domain.ProductOnline;
import java.util.List;
/**
* @author danmo
* @date 2024-05-06 13:36
**/
public class GoodsProductOnlineVo {
/**
* 用于查询下一页
*/
private String next_cursor;
/**
* 是否有下一页
*/
private Boolean has_more;
private List<ProductOnline> product_online_list;
public String getNext_cursor() {
return next_cursor;
}
public void setNext_cursor(String next_cursor) {
this.next_cursor = next_cursor;
}
public Boolean getHas_more() {
return has_more;
}
public void setHas_more(Boolean has_more) {
this.has_more = has_more;
}
public List<ProductOnline> getProduct_online_list() {
return product_online_list;
}
public void setProduct_online_list(List<ProductOnline> product_online_list) {
this.product_online_list = product_online_list;
}
}

View File

@ -0,0 +1,37 @@
package com.dyj.applet.domain.vo;
import com.dyj.applet.domain.ProductAttr;
import java.util.List;
/**
* @author danmo
* @date 2024-05-06 11:29
**/
public class GoodsTemplateVo {
/**
* 商品属性列表
*/
private List<ProductAttr> product_attrs;
/**
* SKU属性列表
*/
private List<ProductAttr> sku_attrs;
public List<ProductAttr> getProduct_attrs() {
return product_attrs;
}
public void setProduct_attrs(List<ProductAttr> product_attrs) {
this.product_attrs = product_attrs;
}
public List<ProductAttr> getSku_attrs() {
return sku_attrs;
}
public void setSku_attrs(List<ProductAttr> sku_attrs) {
this.sku_attrs = sku_attrs;
}
}

View File

@ -0,0 +1,20 @@
package com.dyj.applet.domain.vo;
/**
* @author danmo
* @date 2024-05-06 10:56
**/
public class SaveGoodsProductVo {
/**
* 创建/更新商品成功后产生与老接口spu_id一致
*/
private String product_id;
public String getProduct_id() {
return product_id;
}
public void setProduct_id(String product_id) {
this.product_id = product_id;
}
}

View File

@ -1,9 +1,14 @@
package com.dyj.applet.handler;
import com.dtflys.forest.annotation.JSONBody;
import com.dtflys.forest.annotation.Query;
import com.dtflys.forest.annotation.Var;
import com.dyj.applet.domain.query.*;
import com.dyj.applet.domain.vo.*;
import com.dyj.common.config.AgentConfiguration;
import com.dyj.common.domain.DyProductResult;
import com.dyj.common.domain.DyResult;
import com.dyj.common.domain.query.BaseQuery;
import com.dyj.common.domain.vo.BaseVo;
import java.util.List;
@ -147,8 +152,9 @@ public class LifeServiceHandler extends AbstractAppletHandler {
/**
* 老版本多门店SPU库存同步
*
* @param spuExtId 接入方商品ID
* @param stock 库存
* @param stock 库存
* @return DyResult<SpuStockVo>
*/
public DyResult<SpuStockVo> spuStockSync(String spuExtId, Long stock) {
@ -172,4 +178,131 @@ public class LifeServiceHandler extends AbstractAppletHandler {
public DyResult<SpuVo> spuQuery(String spuExtId, Boolean needSpuDraft, Integer spuDraftCount, List<String> supplierIdsForFilterReason) {
return getLifeServicesClient().spuQuery(baseQuery(), spuExtId, needSpuDraft, spuDraftCount, supplierIdsForFilterReason);
}
/**
* 创建/修改团购商品
*
* @param query 入参
* @return DyProductResult<SaveGoodsProductVo>
*/
public DyProductResult<SaveGoodsProductVo> saveGoodsProduct(SaveGoodsProductQuery query) {
baseQuery(query);
return getLifeServicesClient().saveGoodsProduct(query);
}
/**
* 免审修改商品
*
* @param query 入参
* @return DyProductResult<String>
*/
public DyProductResult<String> freeAuditGoodsProduct(FreeAuditGoodsProductQuery query) {
baseQuery(query);
return getLifeServicesClient().freeAuditGoodsProduct(query);
}
/**
* 上下架商品
*
* @param productId 商品ID
* @param outId 商品外部ID
* @param opType 操作类型 1-上线 2-下线
* @return DyProductResult<String>
*/
public DyProductResult<String> operateGoodsProduct(String productId, String outId, Integer opType) {
return getLifeServicesClient().operateGoodsProduct(OperateGoodsProductQuery.build()
.productId(productId)
.outId(outId)
.opType(opType)
.tenantId(agentConfiguration.getTenantId())
.clientKey(agentConfiguration.getClientKey())
.build());
}
/**
* 同步库存
*
* @param query 入参
* @return DyProductResult<String>
*/
public DyProductResult<String> syncGoodsStock(SyncGoodsStockQuery query) {
baseQuery(query);
return getLifeServicesClient().syncGoodsStock(query);
}
/**
* 查询商品模板
*
* @param categoryId 行业类目详细见 商品类目表
* @param productType 商品类型 1 : 团购套餐 3 : 预售券 4 : 日历房 5 : 门票 7 : 旅行跟拍 8 : 一日游 11 : 代金券
* @return DyProductResult<GoodsTemplateVo>
*/
public DyProductResult<GoodsTemplateVo> getGoodsTemplate(String categoryId, Integer productType) {
return getLifeServicesClient().getGoodsTemplate(baseQuery(), categoryId, productType);
}
/**
* 查询商品草稿数据
*
* @param productIds 商品ID列表逗号分隔
* @param outIds 外部商品ID列表逗号分隔
* @return DyProductResult<GoodsProductDraftVo>
*/
public DyProductResult<GoodsProductDraftVo> getGoodsProductDraft(String productIds, String outIds) {
return getLifeServicesClient().getGoodsProductDraft(baseQuery(), productIds, outIds);
}
/**
* 查询商品线上数据
*
* @param productIds 商品ID列表逗号分隔
* @param outIds 外部商品ID列表逗号分隔
* @return DyProductResult<GoodsProductOnlineVo>
*/
public DyProductResult<GoodsProductOnlineVo> getGoodsProductOnline(String productIds, String outIds) {
return getLifeServicesClient().getGoodsProductOnline(baseQuery(), productIds, outIds);
}
/**
* 查询商品线上数据列表
*
* @param cursor 第一页不传之后用前一次返回的next_cursor传入进行翻页
* @param count 分页数量不传默认为5
* @param status 过滤在线状态 1-在线 2-下线 3-封禁
* @return DyProductResult
*/
public DyProductResult<GoodsProductOnlineVo> queryGoodsProductOnlineList(String cursor, Integer count, Integer status) {
return getLifeServicesClient().queryGoodsProductOnlineList(baseQuery(), cursor, count, status);
}
/**
* 查询商品草稿数据列表
* @param cursor 第一页不传之后用前一次返回的next_cursor传入进行翻页
* @param count 分页数量不传默认为5
* @param status 过滤草稿状态10-审核中 12-审核失败 1-审核通过
* @return DyProductResult<GoodsProductDraftVo>
*/
public DyProductResult<GoodsProductDraftVo> queryGoodsProductDraftList(String cursor, Integer count, Integer status){
return getLifeServicesClient().queryGoodsProductDraftList(baseQuery(), cursor, count, status);
}
/**
* 创建/更新多SKU商品的SKU列表
* @param query 入参
* @return DyProductResult<String>
*/
public DyProductResult<String> batchSaveGoodsSku(BatchSaveGoodsSkuQuery query){
baseQuery(query);
return getLifeServicesClient().batchSaveGoodsSku(query);
}
/**
* 查询商品品类
* @param categoryId 行业类目ID返回当前id下的直系子类目信息传0或者不传均返回所有一级行业类目
* @param accountId 服务商的入驻商户ID/代运营的商户ID不传时默认为服务商身份
* @return GoodsCategoryVo
*/
public GoodsCategoryVo getGoodsCategory(String categoryId, String accountId){
return getLifeServicesClient().getGoodsCategory(baseQuery(), categoryId, accountId);
}
}

View File

@ -0,0 +1,70 @@
package com.dyj.common.domain;
/**
* @author danmo
* @date 2024-05-06 10:54
**/
public class DyProductBase {
/**
* 请求日志ID
*/
private String log_id;
/**
*
* 网关状态码
*/
private String gateway_code;
/**
* 网关状态信息
*/
private String gateway_msg;
/**
* 业务状态码
*/
private String biz_code;
/**
*
* 业务状态信息
*/
private String biz_msg;
public String getLog_id() {
return log_id;
}
public void setLog_id(String log_id) {
this.log_id = log_id;
}
public String getGateway_code() {
return gateway_code;
}
public void setGateway_code(String gateway_code) {
this.gateway_code = gateway_code;
}
public String getGateway_msg() {
return gateway_msg;
}
public void setGateway_msg(String gateway_msg) {
this.gateway_msg = gateway_msg;
}
public String getBiz_code() {
return biz_code;
}
public void setBiz_code(String biz_code) {
this.biz_code = biz_code;
}
public String getBiz_msg() {
return biz_msg;
}
public void setBiz_msg(String biz_msg) {
this.biz_msg = biz_msg;
}
}

View File

@ -0,0 +1,28 @@
package com.dyj.common.domain;
/**
* @author danmo
* @date 2024-05-06 10:53
**/
public class DyProductResult <T>{
private DyProductBase base;
private T data;
public DyProductBase getBase() {
return base;
}
public void setBase(DyProductBase base) {
this.base = base;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}

View File

@ -148,6 +148,28 @@ public enum DyAppletUrlPathEnum {
SPU_STOCK_SYNC("spuStockSync", "/poi/v2/spu/stock_update/"),
//老版本多门店SPU信息查询
SPU_QUERY("spuQuery", "/poi/v2/spu/get/"),
//创建/修改团购商品
SAVE_GOODS_PRODUCT("saveGoodsProduct", "/life/goods/product/save/"),
//免审修改商品
FREE_AUDIT_GOODS_PRODUCT("freeAuditGoodsProduct", "/life/goods/product/free_audit/"),
//上下架商品
OPERATE_GOODS_PRODUCT("operateGoodsProduct", "/life/goods/product/operate/"),
//同步库存
SYNC_GOODS_STOCK("syncGoodsStock", "/life/goods/stock/sync/"),
//查询商品模板
GET_GOODS_TEMPLATE("getGoodsTemplate", "/life/goods/template/get/"),
//查询商品草稿数据
GET_GOODS_PRODUCT_DRAFT("getGoodsProductDraft", "/life/goods/product/draft/get/"),
//查询商品线上数据
GET_GOODS_PRODUCT_ONLINE("getGoodsProductOnline", "/life/goods/product/online/get/"),
//查询商品线上数据列表
QUERY_GOODS_PRODUCT_ONLINE_LIST("queryGoodsProductOnlineList", "/life/goods/product/online/list/"),
//查询商品草稿数据列表
QUERY_GOODS_PRODUCT_DRAFT_LIST("queryGoodsProductDraftList", "/life/goods/product/draft/list/"),
//创建/更新多SKU商品的SKU列表
BATCH_SAVE_GOODS_SKU("batchSaveGoodsSku", "/life/goods/sku/batch_save/"),
//查询商品品类
GET_GOODS_CATEGORY("getGoodsCategory", "/life/goods/category/get/"),
/**