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

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

~API;

parent 5756440a
...@@ -58,8 +58,28 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -58,8 +58,28 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
LinkedList<Object[]> initGoodsSkuObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsSkuObjs = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> initGoodsSkuSpecValueObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsSkuSpecValueObjs = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> initGoodsCategorySpecObjs = CollectionUtil.linkedListObjectArr();
{// 分类规格记录
String cateFid = goodsInfoVo.getCateFid(), cateSid = goodsInfoVo.getCateSid(), cateTid = goodsInfoVo.getCateTid();
String filterCateId = StringUtils.isBlank(cateTid) ? (StringUtils.isBlank(cateSid) ? cateFid : cateSid) : cateTid;
GoblinMgtCategorySpecVo mgtCategorySpecVoCache = goblinRedisUtils.getCategorySpec(filterCateId);// 分类绑定的规格信息
List<String> addSpecNameList = goodsSkuInfoVoList.get(0).getSkuSpecList().stream().map(GoblinGoodsSpecDto::getSpecName).collect(Collectors.toList());
if (null == mgtCategorySpecVoCache) {// 根据分类ID未查取到规格信息,则Cache、数据库新增
GoblinMgtCategorySpecVo initMgtCategorySpecVo = GoblinMgtCategorySpecVo.getNew().setCateId(filterCateId).setSpecNameList(addSpecNameList);
goblinMongoUtils.setCategorySpecVo(initMgtCategorySpecVo);
// goblinRedisUtils.setCategorySpec(filterCateId, initMgtCategorySpecVo);// TODO: 2022/1/19 zhanggb==
addSpecNameList.forEach(r -> initGoodsCategorySpecObjs.add(new Object[]{filterCateId, r}));
} else {// 根据分类ID查取到规格信息,则进一步比对判断是否新增
List<String> confirmAddSpecNameList = addSpecNameList.stream().filter(r -> !mgtCategorySpecVoCache.getSpecNameList().contains(r)).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(confirmAddSpecNameList)) {// 不存在于`mgtCategorySpecVoCache`的,则更新Cache,数据库新增
mgtCategorySpecVoCache.getSpecNameList().addAll(confirmAddSpecNameList);
goblinMongoUtils.updateCategorySpecVo(mgtCategorySpecVoCache);
// goblinRedisUtils.setCategorySpec(filterCateId, mgtCategorySpecVoCache);// TODO: 2022/1/19 zhanggb==
confirmAddSpecNameList.forEach(r -> initGoodsCategorySpecObjs.add(new Object[]{filterCateId, r}));
}
}
}
// TODO: 2022/1/18 zhanggb==
int skuSize = goodsSkuInfoVoList.size(); int skuSize = goodsSkuInfoVoList.size();
for (int i = 0; i < skuSize; i++) { for (int i = 0; i < skuSize; i++) {
GoblinGoodsSkuInfoVo skuInfoVo = goodsSkuInfoVoList.get(i); GoblinGoodsSkuInfoVo skuInfoVo = goodsSkuInfoVoList.get(i);
...@@ -73,8 +93,8 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -73,8 +93,8 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
skuInfoVo.getSellPrice(), skuInfoVo.getSkuPic(), skuInfoVo.getSkuIsbn(), skuInfoVo.getStock(), skuInfoVo.getSkuStock(), skuInfoVo.getSellPrice(), skuInfoVo.getSkuPic(), skuInfoVo.getSkuIsbn(), skuInfoVo.getStock(), skuInfoVo.getSkuStock(),
skuInfoVo.getWarningStock(), skuInfoVo.getPrice(), skuInfoVo.getPriceMember(), skuInfoVo.getWeight(), skuInfoVo.getBuyFactor(), skuInfoVo.getWarningStock(), skuInfoVo.getPrice(), skuInfoVo.getPriceMember(), skuInfoVo.getWeight(), skuInfoVo.getBuyFactor(),
skuInfoVo.getBuyRoster(), skuInfoVo.getBuyLimit(), skuInfoVo.getStoreId(), skuInfoVo.getSkuValidity(), skuInfoVo.getVirtualFlg(), skuInfoVo.getBuyRoster(), skuInfoVo.getBuyLimit(), skuInfoVo.getStoreId(), skuInfoVo.getSkuValidity(), skuInfoVo.getVirtualFlg(),
skuInfoVo.getStatus(), skuInfoVo.getShelvesStatus(), skuInfoVo.getSkuAppear(), skuInfoVo.getShelvesAt(), skuInfoVo.getCreatedBy(), skuInfoVo.getStatus(), skuInfoVo.getShelvesStatus(), skuInfoVo.getSkuAppear(), skuInfoVo.getShelvesAt(), createdBy,
skuInfoVo.getCreatedAt(), skuInfoVo.getLogisticsTemplate() createdAt, skuInfoVo.getLogisticsTemplate()
}); });
skuInfoVo.getSkuSpecList().forEach(skuSpecDto -> initGoodsSkuSpecValueObjs.add(new Object[]{ skuInfoVo.getSkuSpecList().forEach(skuSpecDto -> initGoodsSkuSpecValueObjs.add(new Object[]{
...@@ -91,7 +111,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -91,7 +111,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
goodsInfoVo.getVideo(), goodsInfoVo.getSpecMode(), goodsInfoVo.getStoreId(), goodsInfoVo.getCateFid(), goodsInfoVo.getCateSid(), goodsInfoVo.getVideo(), goodsInfoVo.getSpecMode(), goodsInfoVo.getStoreId(), goodsInfoVo.getCateFid(), goodsInfoVo.getCateSid(),
goodsInfoVo.getCateTid(), goodsInfoVo.getStoreCateFid(), goodsInfoVo.getStoreCateSid(), goodsInfoVo.getStoreCateTid(), goodsInfoVo.getBrandId(), goodsInfoVo.getCateTid(), goodsInfoVo.getStoreCateFid(), goodsInfoVo.getStoreCateSid(), goodsInfoVo.getStoreCateTid(), goodsInfoVo.getBrandId(),
goodsInfoVo.getShelvesHandle(), goodsInfoVo.getShelvesTime(), goodsInfoVo.getSpuValidity(), goodsInfoVo.getVirtualFlg(), goodsInfoVo.getStatus(), goodsInfoVo.getShelvesHandle(), goodsInfoVo.getShelvesTime(), goodsInfoVo.getSpuValidity(), goodsInfoVo.getVirtualFlg(), goodsInfoVo.getStatus(),
goodsInfoVo.getShelvesStatus(), goodsInfoVo.getSpuAppear(), goodsInfoVo.getShelvesAt(), goodsInfoVo.getCreatedBy(), createdAt, goodsInfoVo.getShelvesStatus(), goodsInfoVo.getSpuAppear(), goodsInfoVo.getShelvesAt(), createdBy, createdAt,
goodsInfoVo.getLogisticsTemplate() goodsInfoVo.getLogisticsTemplate()
}); });
toMqSqls.add(SqlMapping.get("goblin_goods_sku.insert")); toMqSqls.add(SqlMapping.get("goblin_goods_sku.insert"));
...@@ -121,50 +141,35 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -121,50 +141,35 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
if (!CollectionUtils.isEmpty(goodsInfoVo.getServiceSupportVoList())) { if (!CollectionUtils.isEmpty(goodsInfoVo.getServiceSupportVoList())) {
goodsInfoVo.getServiceSupportVoList().forEach(ssvo -> initGoodsServiceSupportObjs.add(new Object[]{spuId, ssvo.getSsid()})); goodsInfoVo.getServiceSupportVoList().forEach(ssvo -> initGoodsServiceSupportObjs.add(new Object[]{spuId, ssvo.getSsid()}));
} }
// toMqSqls.add(SqlMapping.get("goblin_goods_spec.insert_by_ignore")); toMqSqls.add(SqlMapping.get("goblin_goods_spec.insert_by_ignore"));
// toMqSqls.add(SqlMapping.get("goblin_goods_spec_value.insert_by_ignore")); toMqSqls.add(SqlMapping.get("goblin_goods_spec_value.insert_by_ignore"));
// LinkedList<Object[]> initGoodsSpecObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsSpecObjs = CollectionUtil.linkedListObjectArr();
// LinkedList<Object[]> initGoodsSpecValueObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsSpecValueObjs = CollectionUtil.linkedListObjectArr();
// toMqSqls.add(SqlMapping.get("goblin_goods_spu_spec_value.insert_by_ignore"));// SPU规格信息 toMqSqls.add(SqlMapping.get("goblin_goods_spu_spec_value.insert_by_ignore"));// SPU规格信息
// LinkedList<Object[]> initGoodsSpuSpecValueObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsSpuSpecValueObjs = CollectionUtil.linkedListObjectArr();
// toMqSqls.add(SqlMapping.get("goblin_goods_sku_spec_value.insert_by_ignore"));// SKU规格信息 toMqSqls.add(SqlMapping.get("goblin_goods_sku_spec_value.insert_by_ignore"));// SKU规格信息
// {// 规格记录 {// 规格记录
// List<GoblinGoodsSpecVo> specVoList = goodsInfoVo.getSpecVoList(); List<GoblinGoodsSpecVo> specVoList = goodsInfoVo.getSpecVoList();
// specVoList.forEach(s -> { specVoList.forEach(s -> {
// initGoodsSpecObjs.add(new Object[]{s.getSpecName(), createdAt}); initGoodsSpecObjs.add(new Object[]{s.getSpecName(), createdAt});
// s.getSpecValues().forEach(sv -> { s.getSpecValues().forEach(sv -> {
// initGoodsSpecValueObjs.add(new Object[]{s.getSpecName(), sv.getSpecVname(), createdAt}); initGoodsSpecValueObjs.add(new Object[]{s.getSpecName(), sv.getSpecVname(), createdAt});
// initGoodsSpuSpecValueObjs.add(new Object[]{spuId, s.getSpecName(), sv.getSpecVname(), sv.getSpecVsort()}); initGoodsSpuSpecValueObjs.add(new Object[]{spuId, s.getSpecName(), sv.getSpecVname(), sv.getSpecVsort()});
// }); });
// }); });
// } }
// {// 分类规格记录 toMqSqls.add(SqlMapping.get("goblin_goods_category_spec.insert"));// 分类关联规格信息
// String cateFid = goodsInfoVo.getCateFid(), cateSid = goodsInfoVo.getCateSid(), cateTid = goodsInfoVo.getCateTid();
// String filterCateId = StringUtils.isBlank(cateTid) ? (StringUtils.isBlank(cateSid) ? cateFid : cateSid) : cateTid;
// GoblinMgtCategorySpecVo mgtCategorySpecVoCache = goblinRedisUtils.getCategorySpec(filterCateId);// 分类绑定的规格信息
// List<String> addSpecNameList = goodsSkuInfoVoList.get(0).getSkuSpecList().stream().map(GoblinGoodsSpecDto::getSpecName).collect(Collectors.toList());
// if (null == mgtCategorySpecVoCache) {// 根据分类ID未查取到规格信息,则新增
// GoblinMgtCategorySpecVo initMgtCategorySpecVo = GoblinMgtCategorySpecVo.getNew().setCateId(filterCateId).setSpecNameList(addSpecNameList);
// // TODO: 2022/1/18 zhanggb==insert
// } else {// 根据分类ID查取到规格信息,则进一步比对判断是否新增
// List<String> confirmAddSpecNameList = addSpecNameList.stream().filter(r -> !mgtCategorySpecVoCache.getSpecNameList().contains(r)).collect(Collectors.toList());
// if (!CollectionUtils.isEmpty(confirmAddSpecNameList)) {// 不存在于`mgtCategorySpecVoCache`的,则更新
// mgtCategorySpecVoCache.getSpecNameList().addAll(confirmAddSpecNameList);
// // TODO: 2022/1/18 zhanggb==update
// }
// }
// }
//
// queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
// SqlMapping.gets(toMqSqls, initGoodsObjs, initGoodsSkuObjs, initGoodsImageObjs,
// initGoodsTagObjs, initGoodsServiceSupportObjs, initGoodsSpecObjs, initGoodsSpecValueObjs,
// initGoodsSpecObjs, initGoodsSpecValueObjs, initGoodsSpuSpecValueObjs, initGoodsSkuSpecValueObjs)
// );
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(), queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
SqlMapping.gets(toMqSqls, initGoodsObjs, initGoodsSkuObjs, initGoodsImageObjs, SqlMapping.gets(toMqSqls, initGoodsObjs, initGoodsSkuObjs, initGoodsImageObjs,
initGoodsTagObjs, initGoodsServiceSupportObjs) initGoodsTagObjs, initGoodsServiceSupportObjs, initGoodsSpecObjs, initGoodsSpecValueObjs,
initGoodsSpuSpecValueObjs, initGoodsSkuSpecValueObjs, initGoodsCategorySpecObjs)
); );
// queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
// SqlMapping.gets(toMqSqls, initGoodsObjs, initGoodsSkuObjs, initGoodsImageObjs,
// initGoodsTagObjs, initGoodsServiceSupportObjs)
// );
} }
@Override @Override
......
...@@ -71,6 +71,17 @@ public class GoblinMongoUtils { ...@@ -71,6 +71,17 @@ public class GoblinMongoUtils {
/* ---------------------------------------- 平台分类规格数据源 ---------------------------------------- */ /* ---------------------------------------- 平台分类规格数据源 ---------------------------------------- */
public void setCategorySpecVo(GoblinMgtCategorySpecVo vo) {
mongoTemplate.insert(vo, GoblinMgtCategorySpecVo.class.getSimpleName());
}
public boolean updateCategorySpecVo(GoblinMgtCategorySpecVo vo) {
return mongoTemplate.getCollection(GoblinMgtCategorySpecVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("cateId").is(vo.getCateId())).getQueryObject(),
Update.update("specNameList", vo.getSpecNameList()).getUpdateObject()
).getModifiedCount() > 0;
}
public GoblinMgtCategorySpecVo getCategorySpecVo(String cateId) { public GoblinMgtCategorySpecVo getCategorySpecVo(String cateId) {
return mongoTemplate.findOne(Query.query(Criteria.where("cateId").is(cateId)), return mongoTemplate.findOne(Query.query(Criteria.where("cateId").is(cateId)),
GoblinMgtCategorySpecVo.class, GoblinMgtCategorySpecVo.class.getSimpleName()); GoblinMgtCategorySpecVo.class, GoblinMgtCategorySpecVo.class.getSimpleName());
......
...@@ -141,6 +141,10 @@ public class GoblinRedisUtils { ...@@ -141,6 +141,10 @@ public class GoblinRedisUtils {
/* ---------------------------------------- 平台分类规格数据源 ---------------------------------------- */ /* ---------------------------------------- 平台分类规格数据源 ---------------------------------------- */
public boolean setCategorySpec(String cateId, GoblinMgtCategorySpecVo vo) {
return redisUtil.set(GoblinRedisConst.BASIC_SELF_GOODS_CATEGORY_SPEC.concat(cateId), vo);
}
public GoblinMgtCategorySpecVo getCategorySpec(String cateId) { public GoblinMgtCategorySpecVo getCategorySpec(String cateId) {
String rk = GoblinRedisConst.BASIC_SELF_GOODS_CATEGORY_SPEC.concat(cateId); String rk = GoblinRedisConst.BASIC_SELF_GOODS_CATEGORY_SPEC.concat(cateId);
GoblinMgtCategorySpecVo vo = (GoblinMgtCategorySpecVo) redisUtil.get(rk); GoblinMgtCategorySpecVo vo = (GoblinMgtCategorySpecVo) redisUtil.get(rk);
......
...@@ -21,7 +21,7 @@ goblin_store_goods_category.insert=INSERT INTO goblin_store_goods_category (stor ...@@ -21,7 +21,7 @@ goblin_store_goods_category.insert=INSERT INTO goblin_store_goods_category (stor
goblin_store_goods_category.update=UPDATE goblin_store_goods_category SET name=?,sort=?,updated_by=?,updated_at=? WHERE store_id=? AND cate_id=? goblin_store_goods_category.update=UPDATE goblin_store_goods_category SET name=?,sort=?,updated_by=?,updated_at=? WHERE store_id=? AND cate_id=?
goblin_store_goods_category.remove=UPDATE goblin_store_goods_category SET del_flg='1',updated_by=?,updated_at=?,deleted_by=?,updated_at=? WHERE store_id=? AND cate_id=? goblin_store_goods_category.remove=UPDATE goblin_store_goods_category SET del_flg='1',updated_by=?,updated_at=?,deleted_by=?,updated_at=? WHERE store_id=? AND cate_id=?
#---- 商品分类规格信息 #---- 商品分类规格信息
goblin_goods_category_spec.insert=INSERT INTO goblin_goods_category_spec (cate_id, spec_name)VALUES(?,?)
#---- 商品规格信息 #---- 商品规格信息
goblin_goods_spec.insert_by_ignore=INSERT IGNORE INTO goblin_goods_spec (spec_name,created_by,created_at)VALUES(?,'-',?) goblin_goods_spec.insert_by_ignore=INSERT IGNORE INTO goblin_goods_spec (spec_name,created_by,created_at)VALUES(?,'-',?)
goblin_goods_spec_value.insert_by_ignore=INSERT IGNORE INTO goblin_goods_spec_value (spec_name,spec_vname,created_by,created_at)VALUES(?,?,'-',?) goblin_goods_spec_value.insert_by_ignore=INSERT IGNORE INTO goblin_goods_spec_value (spec_name,spec_vname,created_by,created_at)VALUES(?,?,'-',?)
...@@ -42,14 +42,6 @@ goblin_goods_sku.update_by_del=UPDATE goblin_goods_sku SET del_flg=1,updated_by= ...@@ -42,14 +42,6 @@ goblin_goods_sku.update_by_del=UPDATE goblin_goods_sku SET del_flg=1,updated_by=
goblin_goods_image.insert=INSERT INTO goblin_goods_image (spu_id,url)VALUES(?,?) goblin_goods_image.insert=INSERT INTO goblin_goods_image (spu_id,url)VALUES(?,?)
goblin_goods_tag.insert=insert into goblin_goods_tag (spu_id,tag_id,sort,tag_belong)VALUES(?,?,?,?) goblin_goods_tag.insert=insert into goblin_goods_tag (spu_id,tag_id,sort,tag_belong)VALUES(?,?,?,?)
goblin_goods_service_support.insert=INSERT INTO goblin_goods_service_support (spu_id,ssid)VALUES(?,?) goblin_goods_service_support.insert=INSERT INTO goblin_goods_service_support (spu_id,ssid)VALUES(?,?)
goblin_goods_spu_spec_value.insert=INSERT INTO goblin_goods_spu_spec_value (spu_id,spec_id,spec_vid)VALUES(?,?,?)
goblin_goods_sku_spec_value.insert=INSERT INTO goblin_goods_sku_spec_value (spu_id,sku_id,spec_id,spec_vid)VALUES(?,?,?,?)
goblin_goods_category_spec.insert=insert into goblin_goods_category_spec (cate_id, spec_id)VALUES(?,?)
goblin_goods_spec.insert=INSERT INTO goblin_goods_spec (spec_id,spec_name,created_by,created_at)VALUES(?,?,?,?)
goblin_goods_spec_value.insert=INSERT INTO goblin_goods_spec_value (spec_id,spec_vid,spec_vname,created_by,created_at)VALUES(?,?,?,?,?)
#---- 商铺活动 #---- 商铺活动
goblin.store.market.insert=INSERT INTO goblin_store_marketing (`store_market_id`,`name`,`type`,`status`,`store_id`,`start_time`,`end_time`,`del_flag`,`is_pre`,`pre_time`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?) goblin.store.market.insert=INSERT INTO goblin_store_marketing (`store_market_id`,`name`,`type`,`status`,`store_id`,`start_time`,`end_time`,`del_flag`,`is_pre`,`pre_time`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?)
goblin.store.market.status=UPDATE goblin_store_marketing SET status=? , del_flag=? WHERE store_market_id =? and store_id =? goblin.store.market.status=UPDATE goblin_store_marketing SET status=? , del_flag=? WHERE store_market_id =? and store_id =?
......
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