Skip to content

Commit

Permalink
feat: 商品服务-上架功能
Browse files Browse the repository at this point in the history
  • Loading branch information
zsy0216 committed Mar 13, 2021
1 parent b3b56da commit ab8aade
Show file tree
Hide file tree
Showing 42 changed files with 1,577 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

public class ProductConstant {

public enum AttrEnum{
ATTR_TYPE_BASE(1,"基本属性"),ATTR_TYPE_SALE(0,"销售属性");
public enum AttrEnum {
ATTR_TYPE_BASE(1, "基本属性"), ATTR_TYPE_SALE(0, "销售属性");
private int code;
private String msg;

AttrEnum(int code,String msg){
AttrEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
Expand All @@ -20,4 +20,28 @@ public String getMsg() {
return msg;
}
}

public enum ProductStatusEnum {
NEW_SPU(0, "新建"),
SPU_UP(1, "商品上架"),
SPU_DOWN(2, "商品下架"),
;

private int code;

private String msg;

public int getCode() {
return code;
}

public String getMsg() {
return msg;
}

ProductStatusEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,16 @@ public enum BizCodeEnum {
/**
* 参数校验错误
*/
VALID_EXCEPTION(10001, "参数格式校验失败");
VALID_EXCEPTION(10001, "参数格式校验失败"),

TO_MANY_REQUEST(10002, "请求流量过大,请稍后再试"),
SMS_CODE_EXCEPTION(10002, "验证码获取频率太高,请稍后再试"),
PRODUCT_UP_EXCEPTION(11000, "商品上架异常"),
USER_EXIST_EXCEPTION(15001, "存在相同的用户"),
PHONE_EXIST_EXCEPTION(15002, "存在相同的手机号"),
NO_STOCK_EXCEPTION(21000, "商品库存不足"),
LOGINACCT_PASSWORD_EXCEPTION(15003, "账号或密码错误"),
;

private final int code;
private final String msg;
Expand Down
16 changes: 16 additions & 0 deletions mall-common/src/main/java/com/zsy/common/to/SkuHasStockVo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.zsy.common.to;

import lombok.Data;

/**
* @author: zhangshuaiyin
* @date: 2021/3/13 10:21
*/
@Data
public class SkuHasStockVo {

private Long skuId;

private Boolean hasStock;

}
60 changes: 60 additions & 0 deletions mall-common/src/main/java/com/zsy/common/to/es/SkuEsModel.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package com.zsy.common.to.es;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
* 传输对象,存储到es的数据
*
* @author: zhangshuaiyin
* @date: 2021/3/12 15:37
*/
@Data
public class SkuEsModel {

private Long skuId;

private Long spuId;

private String skuTitle;

private BigDecimal skuPrice;

private String skuImg;

private Long saleCount;

/**
* 是否有库存
*/
private Boolean hasStock;

/**
* 热度
*/
private Long hotScore;

private Long brandId;

private Long catalogId;

private String brandName;

private String brandImg;

private String catalogName;

private List<Attrs> attrs;

@Data
public static class Attrs {

private Long attrId;

private String attrName;

private String attrValue;
}
}
24 changes: 24 additions & 0 deletions mall-common/src/main/java/com/zsy/common/utils/R.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

package com.zsy.common.utils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import org.apache.http.HttpStatus;

import java.util.HashMap;
Expand All @@ -26,6 +28,27 @@ public R() {
put("msg", "success");
}

public R setData(Object data) {
put("data", data);
return this;
}

// 利用fastjson进行反序列化
public <T> T getData(TypeReference<T> typeReference) {
// 默认是map
Object data = get("data");
String jsonString = JSON.toJSONString(data);
return JSON.parseObject(jsonString, typeReference);
}

// 利用fastjson进行反序列化
public <T> T getData(String key, TypeReference<T> typeReference) {
// 默认是map
Object data = get(key);
String jsonString = JSON.toJSONString(data);
return JSON.parseObject(jsonString, typeReference);
}

public static R error() {
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请联系管理员");
}
Expand Down Expand Up @@ -57,6 +80,7 @@ public static R ok() {
return new R();
}

@Override
public R put(String key, Object value) {
super.put(key, value);
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class AttrController {
@GetMapping("/base/listforspu/{spuId}")
public R baseAttrlistforspu(@PathVariable("spuId") Long spuId){

List<ProductAttrValueEntity> entities = productAttrValueService.baseAttrlistforspu(spuId);
List<ProductAttrValueEntity> entities = productAttrValueService.baseAttrListforspu(spuId);

return R.ok().put("data",entities);
}
Expand Down
4 changes: 4 additions & 0 deletions mall-product/src/main/java/com/zsy/product/dao/AttrDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import com.zsy.product.entity.AttrEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* 商品属性
Expand All @@ -14,4 +17,5 @@
@Mapper
public interface AttrDao extends BaseMapper<AttrEntity> {

List<Long> selectSearchAttrIds(@Param("attrIds") List<Long> attrIds);
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.zsy.product.entity.SpuInfoEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
* spu信息
Expand All @@ -14,4 +15,5 @@
@Mapper
public interface SpuInfoDao extends BaseMapper<SpuInfoEntity> {

void updaSpuStatus(@Param("spuId") Long spuId, @Param("code") int code);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.zsy.product.feign;


import com.zsy.common.to.es.SkuEsModel;
import com.zsy.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
* @author: zhangshuaiyin
* @date: 2021/3/13 10:11
*/
@FeignClient("mall-search")
public interface SearchFeignService {

@PostMapping(value = "/search/save/product")
R productStatusUp(@RequestBody List<SkuEsModel> skuEsModels);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.zsy.product.feign;

import com.zsy.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
* @author: zhangshuaiyin
* @date: 2021/3/13 10:11
*/
@FeignClient("mall-ware")
public interface WareFeignService {

@PostMapping(value = "/ware/waresku/hasStock")
R getSkuHasStock(@RequestBody List<Long> skuIds);

}
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,24 @@ public interface AttrService extends IService<AttrEntity> {

void updateAttr(AttrVo attr);

/**
* 根据分组id找到关联的所有属性
*
* @param attrgroupId
* @return
*/
List<AttrEntity> getRelationAttr(Long attrgroupId);

void deleteRelation(AttrGroupRelationVo[] vos);

PageUtils getNoRelationAttr(Map<String, Object> params, Long attrgroupId);

/**
* 在指定的所有属性集合里面,挑出检索属性
*
* @param attrIds
* @return
*/
List<Long> selectSearchAttrs(List<Long> attrIds);
}

Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ public interface ProductAttrValueService extends IService<ProductAttrValueEntity

void saveProductAttr(List<ProductAttrValueEntity> collect);


List<ProductAttrValueEntity> baseAttrlistforspu(Long spuId);

List<ProductAttrValueEntity> baseAttrListforspu(Long spuId);

void updateSpuAttr(Long spuId, List<ProductAttrValueEntity> entities);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.zsy.common.utils.PageUtils;
import com.zsy.product.entity.SkuInfoEntity;

import java.util.List;
import java.util.Map;

/**
Expand All @@ -21,6 +22,12 @@ public interface SkuInfoService extends IService<SkuInfoEntity> {

PageUtils queryPageByCondition(Map<String, Object> params);


/**
* 查出当前spuId对应的所有sku信息,品牌的名字
*
* @param spuId
* @return
*/
List<SkuInfoEntity> getSkusBySpuId(Long spuId);
}

Original file line number Diff line number Diff line change
Expand Up @@ -266,4 +266,8 @@ public PageUtils getNoRelationAttr(Map<String, Object> params, Long attrgroupId)
return pageUtils;
}

@Override
public List<Long> selectSearchAttrs(List<Long> attrIds) {
return this.baseMapper.selectSearchAttrIds(attrIds);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public void saveProductAttr(List<ProductAttrValueEntity> collect) {
}

@Override
public List<ProductAttrValueEntity> baseAttrlistforspu(Long spuId) {
public List<ProductAttrValueEntity> baseAttrListforspu(Long spuId) {
List<ProductAttrValueEntity> entities = this.baseMapper.selectList(new QueryWrapper<ProductAttrValueEntity>().eq("spu_id", spuId));
return entities;
}
Expand Down
Loading

0 comments on commit ab8aade

Please sign in to comment.