后端:增加商品推荐增删改查接口

This commit is contained in:
YunaiV
2019-03-31 13:14:43 +08:00
parent 1f827e2d2c
commit b333340c20
21 changed files with 1057 additions and 10 deletions

View File

@@ -0,0 +1,26 @@
package cn.iocoder.mall.promotion.api;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.promotion.api.bo.ProductRecommendBO;
import cn.iocoder.mall.promotion.api.bo.ProductRecommendPageBO;
import cn.iocoder.mall.promotion.api.dto.ProductRecommendAddDTO;
import cn.iocoder.mall.promotion.api.dto.ProductRecommendPageDTO;
import cn.iocoder.mall.promotion.api.dto.ProductRecommendUpdateDTO;
import java.util.List;
public interface ProductRecommendService {
CommonResult<List<ProductRecommendBO>> getProductRecommendList(Integer type, Integer status);
CommonResult<ProductRecommendPageBO> getProductRecommendPage(ProductRecommendPageDTO productRecommendPageDTO);
CommonResult<ProductRecommendBO> addProductRecommend(Integer adminId, ProductRecommendAddDTO productRecommendAddDTO);
CommonResult<Boolean> updateProductRecommend(Integer adminId, ProductRecommendUpdateDTO productRecommendUpdateDTO);
CommonResult<Boolean> updateProductRecommendStatus(Integer adminId, Integer productRecommendId, Integer status);
CommonResult<Boolean> deleteProductRecommend(Integer adminId, Integer productRecommendId);
}

View File

@@ -0,0 +1,106 @@
package cn.iocoder.mall.promotion.api.bo;
import java.util.Date;
/**
* 商品推荐 BO
*/
public class ProductRecommendBO {
/**
* 编号
*/
private Integer id;
/**
* 类型
*
* {@link cn.iocoder.mall.promotion.api.constant.ProductRecommendType}
*/
private Integer type;
/**
* 商品 Spu 编号
*/
private Integer productSpuId;
/**
* 排序
*/
private Integer sort;
/**
* 状态
*
* {@link cn.iocoder.common.framework.constant.CommonStatusEnum}
*/
private Integer status;
/**
* 备注
*/
private String memo;
/**
* 创建时间
*/
private Date createTime;
public Integer getId() {
return id;
}
public ProductRecommendBO setId(Integer id) {
this.id = id;
return this;
}
public Integer getType() {
return type;
}
public ProductRecommendBO setType(Integer type) {
this.type = type;
return this;
}
public Integer getProductSpuId() {
return productSpuId;
}
public ProductRecommendBO setProductSpuId(Integer productSpuId) {
this.productSpuId = productSpuId;
return this;
}
public Integer getSort() {
return sort;
}
public ProductRecommendBO setSort(Integer sort) {
this.sort = sort;
return this;
}
public Integer getStatus() {
return status;
}
public ProductRecommendBO setStatus(Integer status) {
this.status = status;
return this;
}
public String getMemo() {
return memo;
}
public ProductRecommendBO setMemo(String memo) {
this.memo = memo;
return this;
}
public Date getCreateTime() {
return createTime;
}
public ProductRecommendBO setCreateTime(Date createTime) {
this.createTime = createTime;
return this;
}
}

View File

@@ -0,0 +1,34 @@
package cn.iocoder.mall.promotion.api.bo;
import java.util.List;
public class ProductRecommendPageBO {
/**
* ProductRecommend 数组
*/
private List<ProductRecommendBO> list;
/**
* 总量
*/
private Integer total;
public List<ProductRecommendBO> getList() {
return list;
}
public ProductRecommendPageBO setList(List<ProductRecommendBO> list) {
this.list = list;
return this;
}
public Integer getTotal() {
return total;
}
public ProductRecommendPageBO setTotal(Integer total) {
this.total = total;
return this;
}
}

View File

@@ -0,0 +1,43 @@
package cn.iocoder.mall.promotion.api.constant;
/**
* 商品推荐类型
*/
public enum ProductRecommendType {
HOT(1, "热卖推荐"),
NEW(2, "新品推荐"),
;
/**
* 状态值
*/
private final Integer value;
/**
* 状态名
*/
private final String name;
ProductRecommendType(Integer value, String name) {
this.value = value;
this.name = name;
}
public Integer getValue() {
return value;
}
public String getName() {
return name;
}
public static boolean isValid(Integer status) {
if (status == null) {
return false;
}
return HOT.value.equals(status)
|| NEW.value.equals(status);
}
}

View File

@@ -8,10 +8,16 @@ package cn.iocoder.mall.promotion.api.constant;
public enum PromotionErrorCodeEnum {
// ========== Banner 模块 ==========
BANNER_NOT_EXISTS(1002002000, "账号不存在"),
BANNER_NOT_EXISTS(1006000000, "账号不存在"),
// ========== PRODUCT RECOMMEND 模块 ==========
PRODUCT_RECOMMEND_NOT_EXISTS(1006001000, "商品推荐不存在"),
PRODUCT_RECOMMEND_PRODUCT_NOT_EXISTS(1006001001, "商品不存在"),
PRODUCT_RECOMMEND_EXISTS(1006001002, "该商品推荐已经存在"),
;
private final int code;
private final String message;

View File

@@ -0,0 +1,57 @@
package cn.iocoder.mall.promotion.api.dto;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
/**
* 商品推荐添加 DTO
*/
public class ProductRecommendAddDTO {
@NotNull(message = "推荐类型不能为空")
private Integer type;
@NotNull(message = "商品编号不能为空")
private Integer productSpuId;
@NotNull(message = "排序不能为空")
private Integer sort;
@Length(max = 255, message = "备注最大长度为 255 位")
private String memo;
public Integer getType() {
return type;
}
public ProductRecommendAddDTO setType(Integer type) {
this.type = type;
return this;
}
public Integer getProductSpuId() {
return productSpuId;
}
public ProductRecommendAddDTO setProductSpuId(Integer productSpuId) {
this.productSpuId = productSpuId;
return this;
}
public Integer getSort() {
return sort;
}
public ProductRecommendAddDTO setSort(Integer sort) {
this.sort = sort;
return this;
}
public String getMemo() {
return memo;
}
public ProductRecommendAddDTO setMemo(String memo) {
this.memo = memo;
return this;
}
}

View File

@@ -0,0 +1,44 @@
package cn.iocoder.mall.promotion.api.dto;
import javax.validation.constraints.NotNull;
public class ProductRecommendPageDTO {
/**
* 推荐类型
*/
private Integer type;
@NotNull(message = "页码不能为空")
private Integer pageNo;
@NotNull(message = "每页条数不能为空")
private Integer pageSize;
public Integer getPageNo() {
return pageNo;
}
public ProductRecommendPageDTO setPageNo(Integer pageNo) {
this.pageNo = pageNo;
return this;
}
public Integer getPageSize() {
return pageSize;
}
public ProductRecommendPageDTO setPageSize(Integer pageSize) {
this.pageSize = pageSize;
return this;
}
public Integer getType() {
return type;
}
public ProductRecommendPageDTO setType(Integer type) {
this.type = type;
return this;
}
}

View File

@@ -0,0 +1,68 @@
package cn.iocoder.mall.promotion.api.dto;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
/**
* 商品推荐更新 DTO
*/
public class ProductRecommendUpdateDTO {
@NotNull(message = "编号不能为空")
private Integer id;
@NotNull(message = "类型不能为空")
private Integer type;
@NotNull(message = "商品编号不能为空")
private Integer productSpuId;
@NotNull(message = "排序不能为空")
private Integer sort;
@Length(max = 255, message = "备注最大长度为 255 位")
private String memo;
public Integer getId() {
return id;
}
public ProductRecommendUpdateDTO setId(Integer id) {
this.id = id;
return this;
}
public Integer getType() {
return type;
}
public ProductRecommendUpdateDTO setType(Integer type) {
this.type = type;
return this;
}
public Integer getProductSpuId() {
return productSpuId;
}
public ProductRecommendUpdateDTO setProductSpuId(Integer productSpuId) {
this.productSpuId = productSpuId;
return this;
}
public Integer getSort() {
return sort;
}
public ProductRecommendUpdateDTO setSort(Integer sort) {
this.sort = sort;
return this;
}
public String getMemo() {
return memo;
}
public ProductRecommendUpdateDTO setMemo(String memo) {
this.memo = memo;
return this;
}
}