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

Commit ee44a556 authored by 姜秀龙's avatar 姜秀龙

sqb edit商品类型错误修复

parent e9e4488a
...@@ -17,7 +17,11 @@ import com.liquidnet.service.goblin.dto.GoblinGoodsSpecDto; ...@@ -17,7 +17,11 @@ import com.liquidnet.service.goblin.dto.GoblinGoodsSpecDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsSqbAddParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsSqbAddParam;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinGoods;
import com.liquidnet.service.goblin.entity.GoblinGoodsSku;
import com.liquidnet.service.goblin.entity.GoblinSqbGoodsExt; import com.liquidnet.service.goblin.entity.GoblinSqbGoodsExt;
import com.liquidnet.service.goblin.mapper.GoblinGoodsMapper;
import com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper;
import com.liquidnet.service.goblin.mapper.GoblinSqbGoodsExtMapper; import com.liquidnet.service.goblin.mapper.GoblinSqbGoodsExtMapper;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtSqbGoodsService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtSqbGoodsService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils; import com.liquidnet.service.goblin.util.GoblinMongoUtils;
...@@ -50,6 +54,10 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood ...@@ -50,6 +54,10 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood
@Autowired @Autowired
GoblinSqbGoodsExtMapper goblinSqbGoodsExtMapper; GoblinSqbGoodsExtMapper goblinSqbGoodsExtMapper;
@Autowired @Autowired
private GoblinGoodsMapper goblinGoodsMapper;
@Autowired
private GoblinGoodsSkuMapper goblinGoodsSkuMapper;
@Autowired
private SqbBiz goblinShouQianBaService; private SqbBiz goblinShouQianBaService;
...@@ -311,6 +319,15 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood ...@@ -311,6 +319,15 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood
GoblinStoreMgtGoodsSqbAddParam initParam = new GoblinStoreMgtGoodsSqbAddParam(); GoblinStoreMgtGoodsSqbAddParam initParam = new GoblinStoreMgtGoodsSqbAddParam();
GoblinGoodsInfoVo updateSpuInfoVo = initParam.initEditGoodsInfoVo(mgtGoodsAddParam, mgtGoodsInfoVo); GoblinGoodsInfoVo updateSpuInfoVo = initParam.initEditGoodsInfoVo(mgtGoodsAddParam, mgtGoodsInfoVo);
// Redis 反序列化缺 spuType 时 primitive int 为 0,全量 $set 会误覆盖 Mongo 中的 33 等类型;以 MySQL 为准回填
LambdaQueryWrapper<GoblinGoods> spuTypeQ = new LambdaQueryWrapper<GoblinGoods>()
.eq(GoblinGoods::getSpuId, spuId)
.select(GoblinGoods::getSpuType)
.last("LIMIT 1");
GoblinGoods goodsRow = goblinGoodsMapper.selectOne(spuTypeQ);
if (goodsRow != null && goodsRow.getSpuType() != null) {
updateSpuInfoVo.setSpuType(goodsRow.getSpuType());
}
boolean updateImageFlg = false; boolean updateImageFlg = false;
List<String> paramImageList = mgtGoodsAddParam.getConverImages(); List<String> paramImageList = mgtGoodsAddParam.getConverImages();
...@@ -398,6 +415,19 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood ...@@ -398,6 +415,19 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood
.filter(ext -> StringUtils.isNotBlank(ext.getSqbSkuId()) && StringUtils.isNotBlank(ext.getSkuId())) .filter(ext -> StringUtils.isNotBlank(ext.getSqbSkuId()) && StringUtils.isNotBlank(ext.getSkuId()))
.collect(Collectors.toMap(GoblinSqbGoodsExt::getSqbSkuId, GoblinSqbGoodsExt::getSkuId, (a, b) -> a)); .collect(Collectors.toMap(GoblinSqbGoodsExt::getSqbSkuId, GoblinSqbGoodsExt::getSkuId, (a, b) -> a));
List<String> localSkuIdsForType = new ArrayList<>(new LinkedHashSet<>(sqbSkuToLocalSkuMap.values()));
Map<String, Integer> skuTypeByLocalId = new HashMap<>();
if (!localSkuIdsForType.isEmpty()) {
LambdaQueryWrapper<GoblinGoodsSku> typeQ = new LambdaQueryWrapper<GoblinGoodsSku>()
.in(GoblinGoodsSku::getSkuId, localSkuIdsForType)
.select(GoblinGoodsSku::getSkuId, GoblinGoodsSku::getSkuType);
for (GoblinGoodsSku row : goblinGoodsSkuMapper.selectList(typeQ)) {
if (row.getSkuId() != null && row.getSkuType() != null) {
skuTypeByLocalId.put(row.getSkuId(), row.getSkuType());
}
}
}
boolean updated = false; boolean updated = false;
LinkedList<Object[]> updateGoodsSkuObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> updateGoodsSkuObjs = CollectionUtil.linkedListObjectArr();
for (MallProductsQueryData.Sku sqbSku : skuResults) { for (MallProductsQueryData.Sku sqbSku : skuResults) {
...@@ -413,6 +443,10 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood ...@@ -413,6 +443,10 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood
if (skuInfoVo == null || !"0".equals(skuInfoVo.getDelFlg())) { if (skuInfoVo == null || !"0".equals(skuInfoVo.getDelFlg())) {
continue; continue;
} }
Integer persistedSkuType = skuTypeByLocalId.get(localSkuId);
if (persistedSkuType != null) {
skuInfoVo.setSkuType(persistedSkuType);
}
skuInfoVo.setName(sqbSku.getSkuName()); skuInfoVo.setName(sqbSku.getSkuName());
if (sqbSku.getPrice() != null) { if (sqbSku.getPrice() != null) {
skuInfoVo.setPrice(SqbAmountUtils.fenToYuan(sqbSku.getPrice())); skuInfoVo.setPrice(SqbAmountUtils.fenToYuan(sqbSku.getPrice()));
......
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