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

Commit abd87f42 authored by 张国柄's avatar 张国柄

~API:商品管理:数字藏品SKU编辑;

parent af69d64b
......@@ -166,7 +166,7 @@ public class GoblinStoreMgtDigitalGoodsAddSkuParam implements Serializable {
public GoblinGoodsSkuInfoVo initEditGoodsSkuInfoVo() {
GoblinGoodsSkuInfoVo updateVo = GoblinGoodsSkuInfoVo.getNew();
updateVo.setSkuId(this.getSpuId().concat(StringUtils.right(String.valueOf(System.nanoTime()), 5)));
updateVo.setSkuId(this.getSkuId());
updateVo.setDetails(this.getDetails());
updateVo.setShelvesHandle(this.getShelvesHandle());
......
......@@ -750,12 +750,58 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
public boolean digitalGoodsEditSku(String uid, GoblinStoreMgtDigitalGoodsAddSkuParam mgtDigitalGoodsAddSkuParam, GoblinGoodsInfoVo mgtGoodsInfoVo) {
GoblinGoodsSkuInfoVo updateSkuInfoVo = mgtDigitalGoodsAddSkuParam.initEditGoodsSkuInfoVo();
String skuId = updateSkuInfoVo.getSkuId();
LocalDateTime now = LocalDateTime.now();
updateSkuInfoVo.setUpdatedBy(uid);
updateSkuInfoVo.setUpdatedAt(now);
LinkedList<Object[]> deleteGoodsSkuTagObjs = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> initGoodsSkuTagObjs = CollectionUtil.linkedListObjectArr();
{// 标签处理
List<GoblinGoodsExtagVo> befExtagVoList = mgtGoodsInfoVo.getExtagVoList();
List<GoblinGoodsExtagVo> paramExtagVoList = ObjectUtil.getGoblinGoodsExtagVoArrayList();
List<String> paramExtagIdList = mgtDigitalGoodsAddSkuParam.getExtagList();
if (!CollectionUtils.isEmpty(paramExtagIdList)) {
List<GoblinSelfTagVo> selfExtagVos = goblinRedisUtils.getSelfExtagVos();
for (int i = 0; i < paramExtagIdList.size(); i++)
for (GoblinSelfTagVo r : selfExtagVos)
if (r.getTagId().equals(paramExtagIdList.get(i)) && r.getTagBelong().equals("1") && !r.getTagType().equals("5")) {
paramExtagVoList.add(GoblinGoodsExtagVo.getNew().copy(r).setSort(i));
break;
}
}
boolean paramExtagIsEmptyFlg = CollectionUtils.isEmpty(paramExtagVoList), befExtagIsEmptyFlg = CollectionUtils.isEmpty(befExtagVoList);
if (!befExtagIsEmptyFlg || !paramExtagIsEmptyFlg) {
boolean updateExtagFlg = false;
if (!befExtagIsEmptyFlg && !paramExtagIsEmptyFlg) {
if (paramExtagVoList.size() != befExtagVoList.size()) {
updateExtagFlg = true;
} else {
List<String> befExtagIdList = befExtagVoList.stream().map(GoblinGoodsExtagVo::getTagId).collect(Collectors.toList());
for (GoblinGoodsExtagVo vo : paramExtagVoList)
if (!befExtagIdList.contains(vo.getTagId())) {
updateExtagFlg = true;
break;
}
}
} else {
updateExtagFlg = true;
}
if (updateExtagFlg) {
updateSkuInfoVo.setExtagVoList(paramExtagIsEmptyFlg ? ObjectUtil.getGoblinGoodsExtagVoArrayList() : paramExtagVoList);
if (!befExtagIsEmptyFlg) {
deleteGoodsSkuTagObjs.add(new Object[]{skuId, '1'});
}
if (!paramExtagIsEmptyFlg) {
updateSkuInfoVo.getExtagVoList().forEach(vo -> initGoodsSkuTagObjs.add(new Object[]{skuId, vo.getTagId(), vo.getSort(), "1"}));
}
}
}
}
if (goblinMongoUtils.updateGoodsSkuInfoVo(updateSkuInfoVo)) {
log.info("商品管理:SKU编辑[UID={},PARAMS={}]", uid, JsonUtils.toJson(mgtDigitalGoodsAddSkuParam));
goblinRedisUtils.delGoodsSkuInfoVo(updateSkuInfoVo.getSkuId());
goblinRedisUtils.delGoodsSkuInfoVo(skuId);
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
......@@ -786,24 +832,29 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
updateSkuInfoVo.getName(), updateSkuInfoVo.getSubtitle(), updateSkuInfoVo.getSkuPic(), updateSkuInfoVo.getSkuWatch(), updateSkuInfoVo.getWatchType(),
updateSkuInfoVo.getPrice(), updateSkuInfoVo.getPriceMember(), updateSkuInfoVo.getIntro(), updateSkuInfoVo.getDetails(), updateSkuInfoVo.getShelvesHandle(),
updateSkuInfoVo.getShelvesTime(), updateSkuInfoVo.getSaleStartTime(), updateSkuInfoVo.getOpeningTime(), updateSkuInfoVo.getUpdatedBy(), updateSkuInfoVo.getUpdatedAt(),
updateSkuInfoVo.getSkuId()
skuId
});
} else {
String buyRoster = mgtDigitalGoodsAddSkuParam.getBuyRoster();
if (StringUtils.isNotEmpty(buyRoster)) {
queueUtils.sendMsgByRedisXls(buyRoster, mgtDigitalGoodsAddSkuParam.getBuyRosterType(), updateSkuInfoVo.getSkuId());
queueUtils.sendMsgByRedisXls(buyRoster, mgtDigitalGoodsAddSkuParam.getBuyRosterType(), skuId);
}
toMqSqls.add(SqlMapping.get("goblin_goods_sku.update_by_edit_for_digital"));
updateGoodsSkuObjs.add(new Object[]{
updateSkuInfoVo.getHitRatio(), updateSkuInfoVo.getBuyFactor(), updateSkuInfoVo.getBuyRoster(), updateSkuInfoVo.getBuyLimit(), updateSkuInfoVo.getShelvesHandle(),
updateSkuInfoVo.getShelvesTime(), updateSkuInfoVo.getSaleStartTime(), updateSkuInfoVo.getUpdatedBy(), updateSkuInfoVo.getUpdatedAt(), updateSkuInfoVo.getSkuId()
updateSkuInfoVo.getShelvesTime(), updateSkuInfoVo.getSaleStartTime(), updateSkuInfoVo.getUpdatedBy(), updateSkuInfoVo.getUpdatedAt(), skuId
});
}
toMqSqls.add(SqlMapping.get("goblin_goods.update_by_edit_sku"));
// LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods_sku_tag.delete"));
// LinkedList<Object[]> deleteGoodsSkuTagObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods_sku_tag.insert_byreplace"));
// LinkedList<Object[]> initGoodsSkuTagObjs = CollectionUtil.linkedListObjectArr();
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(), SqlMapping.gets(toMqSqls, updateGoodsSkuObjs, updateGoodsObjs));
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
SqlMapping.gets(toMqSqls, updateGoodsSkuObjs, updateGoodsObjs, deleteGoodsSkuTagObjs, initGoodsSkuTagObjs));
return true;
}
return false;
......@@ -906,10 +957,6 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
initGoodsSkuInfoVo.setCreatedAt(now);
initGoodsSkuInfoVo.setCreatedBy(uid);
goblinMongoUtils.setGoodsSkuInfoVo(initGoodsSkuInfoVo);
log.info("藏品管理:SKU添加[UID={},PARAMS={}]", uid, JsonUtils.toJson(initGoodsSkuInfoVo));
goblinRedisUtils.setSkuStock(null, initGoodsSkuInfoVo.getSkuId(), initGoodsSkuInfoVo.getSkuStock());
String spuId = initGoodsSkuInfoVo.getSpuId(), skuId = initGoodsSkuInfoVo.getSkuId();
List<String> skuIdList = mgtGoodsInfoVo.getSkuIdList();
if (CollectionUtils.isEmpty(skuIdList)) {
......@@ -925,6 +972,20 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
priceLe = priceLe.compareTo(skuInfoVo.getPrice()) < 0 ? skuInfoVo.getPrice() : priceLe;
}
}
LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
if (priceGe.compareTo(mgtGoodsInfoVo.getPriceGe()) != 0 || priceLe.compareTo(mgtGoodsInfoVo.getPriceLe()) != 0) {
mgtGoodsInfoVo.setPriceGe(priceGe);
mgtGoodsInfoVo.setPriceLe(priceLe);
mgtGoodsInfoVo.setUpdatedBy(uid);
mgtGoodsInfoVo.setUpdatedAt(now);
updateGoodsObjs.add(new Object[]{priceGe, priceLe, uid, now, spuId});
goblinMongoUtils.updateGoodsInfoVo(mgtGoodsInfoVo);
goblinRedisUtils.delGoodsInfoVo(spuId);
}
log.info("藏品管理:SKU添加[UID={},PARAMS={}]", uid, JsonUtils.toJson(initGoodsSkuInfoVo));
goblinMongoUtils.setGoodsSkuInfoVo(initGoodsSkuInfoVo);
goblinRedisUtils.setSkuStock(null, initGoodsSkuInfoVo.getSkuId(), initGoodsSkuInfoVo.getSkuStock());
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
toMqSqls.add(SqlMapping.get("goblin_goods_sku.insert_for_digital"));
......@@ -939,14 +1000,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
initGoodsSkuInfoVo.getUnbox(), initGoodsSkuInfoVo.getOpeningTime(), initGoodsSkuInfoVo.getRouteType(), initGoodsSkuInfoVo.getUpchain(), uid, now
});
toMqSqls.add(SqlMapping.get("goblin_goods.update_by_edit_sku"));// SPU价格区间
LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
if (priceGe.compareTo(mgtGoodsInfoVo.getPriceGe()) != 0 || priceLe.compareTo(mgtGoodsInfoVo.getPriceLe()) != 0) {
mgtGoodsInfoVo.setPriceGe(priceGe);
mgtGoodsInfoVo.setPriceLe(priceLe);
mgtGoodsInfoVo.setUpdatedBy(uid);
mgtGoodsInfoVo.setUpdatedAt(now);
updateGoodsObjs.add(new Object[]{priceGe, priceLe, uid, now, spuId});
}
// LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(), SqlMapping.gets(toMqSqls, initGoodsSkuObjs, updateGoodsObjs));
}
......
......@@ -59,6 +59,8 @@ goblin_goods_image.insert_byreplace=REPLACE INTO goblin_goods_image (spu_id,url,
goblin_goods_image.delete=UPDATE goblin_goods_image SET del_flg='1' WHERE spu_id=? AND del_flg='0'
goblin_goods_tag.insert_byreplace=REPLACE INTO goblin_goods_tag (spu_id,tag_id,sort,tag_belong,del_flg)VALUES(?,?,?,?,'0')
goblin_goods_tag.delete=UPDATE goblin_goods_tag SET del_flg='1' WHERE spu_id=? AND tag_belong=? AND del_flg='0'
goblin_goods_sku_tag.delete=UPDATE goblin_goods_sku_tag SET del_flg='1' WHERE sku_id=? AND tag_belong=? AND del_flg='0'
goblin_goods_sku_tag.insert_byreplace=REPLACE INTO goblin_goods_sku_tag (sku_id,tag_id,sort,tag_belong,del_flg)VALUES(?,?,?,?,'0')
goblin_goods_artag.insert_byreplace=REPLACE INTO goblin_goods_tag (spu_id,tag_id,sort,tag_belong,del_flg)VALUES(?,?,?,?,'0')
goblin_goods_artag.delete=UPDATE goblin_goods_tag SET del_flg='1' WHERE spu_id=? AND tag_belong=? AND del_flg='0'
goblin_goods_service_support.insert_byreplace=REPLACE INTO goblin_goods_service_support (spu_id,ssid,del_flg)VALUES(?,?,'0')
......
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