记得上下班打卡 | git大法好,push需谨慎

Commit 96fada6d authored by 张国柄's avatar 张国柄

~API:商品管理:SKU库存展示;

parent 019c8662
...@@ -165,7 +165,8 @@ public class GoblinStoreMgtGoodsAddParam implements Serializable { ...@@ -165,7 +165,8 @@ public class GoblinStoreMgtGoodsAddParam implements Serializable {
vo.setVirtualFlg(this.getVirtualFlg()); vo.setVirtualFlg(this.getVirtualFlg());
vo.setStatus("1"); vo.setStatus("1");
// vo.setReason(null); // vo.setReason(null);
vo.setShelvesStatus("0"); // vo.setShelvesStatus("0");
vo.setShelvesStatus(vo.getShelvesHandle().equals("2") ? "3" : "0");// 只有`上架处理方式`:2-直接上架售卖,直接上架
vo.setSpuAppear("0"); vo.setSpuAppear("0");
vo.setDelFlg("0"); vo.setDelFlg("0");
// vo.setShelvesAt(null); // vo.setShelvesAt(null);
......
...@@ -43,9 +43,9 @@ public class GoblinStoreMgtGoodsEditSkuParam implements Serializable { ...@@ -43,9 +43,9 @@ public class GoblinStoreMgtGoodsEditSkuParam implements Serializable {
private BigDecimal priceMember; private BigDecimal priceMember;
@ApiModelProperty(position = 18, required = false, value = "单品的重量[20,2]") @ApiModelProperty(position = 18, required = false, value = "单品的重量[20,2]")
private BigDecimal weight; private BigDecimal weight;
@ApiModelProperty(position = 19, required = true, value = "总库存") @ApiModelProperty(position = 19, required = false, value = "总库存[添加SKU必传]")
private Integer stock; private Integer stock;
@ApiModelProperty(position = 20, required = true, value = "SKU库存") @ApiModelProperty(position = 20, required = false, value = "SKU库存")
private Integer skuStock; private Integer skuStock;
@ApiModelProperty(position = 21, required = false, value = "预警库存") @ApiModelProperty(position = 21, required = false, value = "预警库存")
private Integer warningStock; private Integer warningStock;
......
...@@ -94,7 +94,6 @@ public class GoblinGoodsSkuInfoVo implements Serializable, Cloneable { ...@@ -94,7 +94,6 @@ public class GoblinGoodsSkuInfoVo implements Serializable, Cloneable {
/* -------------------------------- 只展示,不存储 -------------------------------- */ /* -------------------------------- 只展示,不存储 -------------------------------- */
@ApiModelProperty(position = 50, value = "剩余库存") @ApiModelProperty(position = 50, value = "剩余库存")
@JsonIgnore
private Integer surplusStock; private Integer surplusStock;
private static final GoblinGoodsSkuInfoVo obj = new GoblinGoodsSkuInfoVo(); private static final GoblinGoodsSkuInfoVo obj = new GoblinGoodsSkuInfoVo();
......
...@@ -155,6 +155,9 @@ public class GoblinStoreMgtGoodsController { ...@@ -155,6 +155,9 @@ public class GoblinStoreMgtGoodsController {
if (null != mgtGoodsInfoVo) { if (null != mgtGoodsInfoVo) {
return ResponseDto.failure(ErrorMapping.get("149007")); return ResponseDto.failure(ErrorMapping.get("149007"));
} }
if (storeMgtGoodsAddParam.getShelvesHandle().equals("3") && null == storeMgtGoodsAddParam.getShelvesTime()) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "预约上架时间未指定");
}
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
GoblinGoodsInfoVo goodsInfoVo = storeMgtGoodsAddParam.initGoodsInfoVo(); GoblinGoodsInfoVo goodsInfoVo = storeMgtGoodsAddParam.initGoodsInfoVo();
......
...@@ -44,28 +44,30 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -44,28 +44,30 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
public PagedResult<GoblinStoreMgtGoodsListVo> goodsList(GoblinStoreMgtGoodsFilterParam filterParam) { public PagedResult<GoblinStoreMgtGoodsListVo> goodsList(GoblinStoreMgtGoodsFilterParam filterParam) {
PagedResult<GoblinStoreMgtGoodsListVo> goodsListVoPagedResult = goblinMongoUtils.getMgtGoodsInfoVos(filterParam); PagedResult<GoblinStoreMgtGoodsListVo> goodsListVoPagedResult = goblinMongoUtils.getMgtGoodsInfoVos(filterParam);
if (goodsListVoPagedResult.getTotal() > 0) { if (goodsListVoPagedResult.getTotal() > 0) {
List<GoblinSelfGoodsCategoryVo> selfGoodsCategoryVos = goblinStoreMgtExtraService.listCategoryVo(); List<GoblinStoreMgtGoodsListVo> voList = goodsListVoPagedResult.getList();
List<GoblinSelfGoodsCategoryVo> selfGoodsCategoryVos = goblinStoreMgtExtraService.listCategoryVo();
voList.forEach(vo -> {
GoblinGoodsInfoVo mgtGoodsInfoVo = goblinRedisUtils.getMgtGoodsInfoVo(vo.getSpuId());
int totalStock = 0, surplusStock = 0;
for (String skuId : mgtGoodsInfoVo.getSkuIdList()) {
GoblinGoodsSkuInfoVo mgtGoodsSkuInfoVo = goblinRedisUtils.getMgtGoodsSkuInfoVo(skuId);
totalStock += mgtGoodsSkuInfoVo.getStock();
surplusStock += goblinRedisUtils.getSkuStock(null, skuId);
}
vo.setTotalStock(totalStock);
vo.setSurplusStock(surplusStock);
List<GoblinStoreMgtGoodsListVo> list = goodsListVoPagedResult.getList(); String cateFid = vo.getCateFid(), cateSid = vo.getCateSid(), cateTid = vo.getCateTid();
list.forEach(r -> {
String cateFid = r.getCateFid(), cateSid = r.getCateSid(), cateTid = r.getCateTid();
List<GoblinSelfGoodsCategoryVo> categoryVoList = selfGoodsCategoryVos.stream() List<GoblinSelfGoodsCategoryVo> categoryVoList = selfGoodsCategoryVos.stream()
.filter(cr -> Arrays.asList(cateFid, cateSid, cateTid).contains(cr.getCateId())).collect(Collectors.toList()); .filter(cr -> Arrays.asList(cateFid, cateSid, cateTid).contains(cr.getCateId())).collect(Collectors.toList());
categoryVoList.forEach(cr -> { categoryVoList.forEach(cr -> {
if (cr.getCateId().equals(cateFid)) { if (cr.getCateId().equals(cateFid)) vo.setCateFid(cr.getName());
r.setCateFid(cr.getName()); if (cr.getCateId().equals(cateSid)) vo.setCateSid(cr.getName());
} if (cr.getCateId().equals(cateSid)) vo.setCateTid(cr.getName());
if (cr.getCateId().equals(cateSid)) {
r.setCateFid(cr.getName());
}
if (cr.getCateId().equals(cateSid)) {
r.setCateFid(cr.getName());
}
}); });
}); });
goodsListVoPagedResult.setList(list); goodsListVoPagedResult.setList(voList);
} }
return goodsListVoPagedResult; return goodsListVoPagedResult;
} }
...@@ -204,7 +206,11 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -204,7 +206,11 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
List<String> skuIdList = goodsInfoVo.getSkuIdList(); List<String> skuIdList = goodsInfoVo.getSkuIdList();
if (!CollectionUtils.isEmpty(skuIdList)) { if (!CollectionUtils.isEmpty(skuIdList)) {
List<GoblinGoodsSkuInfoVo> goodsSkuInfoVoList = ObjectUtil.getGoblinGoodsSkuInfoVoArrayList(); List<GoblinGoodsSkuInfoVo> goodsSkuInfoVoList = ObjectUtil.getGoblinGoodsSkuInfoVoArrayList();
skuIdList.forEach(skuId -> goodsSkuInfoVoList.add(goblinRedisUtils.getMgtGoodsSkuInfoVo(skuId))); skuIdList.forEach(skuId -> {
GoblinGoodsSkuInfoVo mgtGoodsSkuInfoVo = goblinRedisUtils.getMgtGoodsSkuInfoVo(skuId);
mgtGoodsSkuInfoVo.setSurplusStock(goblinRedisUtils.getSkuStock(null, skuId));
goodsSkuInfoVoList.add(mgtGoodsSkuInfoVo);
});
vo.setGoodsSkuInfoVoList(goodsSkuInfoVoList); vo.setGoodsSkuInfoVoList(goodsSkuInfoVoList);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment