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

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

~api:店铺商品管理:批量导入数据;

parent bec2e19b
......@@ -9,6 +9,8 @@ import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.dto.GoblinGoodsImportDto;
import com.liquidnet.service.goblin.dto.GoblinGoodsSpecDto;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
......@@ -62,7 +64,7 @@ public class GoblinStoreMgtGoodsImportService {
}
/* 商品名称校验|------------------------------------------------------------------------------ */
if (StringUtils.isEmpty(dto.getSpuName()) || dto.getSpuName().length() > 100) {
throw new LiquidnetServiceException("-1", String.format("数据内容不规范【第%s行商品名称超出长度限制】", rowNum));
throw new LiquidnetServiceException("-1", String.format("数据内容不规范【第%s行商品名称有误】", rowNum));
}
/* 商品图片校验|------------------------------------------------------------------------------ */
if (StringUtils.isNotEmpty(dto.getSpuImgs())) {
......@@ -188,6 +190,7 @@ public class GoblinStoreMgtGoodsImportService {
LocalDateTime.now(), goodsSkuInfoVos, initGoodsSkuObjs);
if (null != goodsInfoVo) {
log.debug("dt2:{}", goodsInfoVo);
goodsInfoVos.add(goodsInfoVo);
}
}
......@@ -200,29 +203,29 @@ public class GoblinStoreMgtGoodsImportService {
List<String> existGoodsSkuNoList = goblinMongoUtils.existGoodsSkuNoBySkuNoList(storeId, skuBarCodeTmpList);
if (!CollectionUtils.isEmpty(existGoodsSkuNoList)) {
if (existGoodsSkuNoList.size() > 3) {
throw new LiquidnetServiceException("-1", String.format("规格条码与已添加商品条码重复【%s,...】", StringUtils.join(existGoodsSkuNoList.subList(0, 3), ",")));
}
throw new LiquidnetServiceException("-1", String.format("规格条码与已添加商品条码重复【%s,...】", StringUtils.join(existGoodsSkuNoList, ",")));
}
// goblinMongoUtils.insertMgtGoodsInfoVos(goodsInfoVos);
// goblinMongoUtils.insertMgtGoodsSkuInfoVos(goodsSkuInfoVos);
// goodsSkuInfoVos.forEach(r -> goblinRedisUtils.setSkuStock(null, r.getSkuId(), r.getSkuStock()));
//
// LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
// toMqSqls.add(SqlMapping.get("goblin_goods.insert"));
// LinkedList<Object[]> initGoodsObjs = CollectionUtil.linkedListObjectArr();
// goodsInfoVos.forEach(r -> initGoodsObjs.add(new Object[]{
// r.getSpuId(), r.getSpuNo(), r.getName(), r.getSubtitle(), r.getSellPrice(),
// r.getPriceGe(), r.getPriceLe(), r.getIntro(), r.getDetails(), r.getCoverPic(),
// r.getVideo(), r.getSpecMode(), r.getStoreId(), r.getCateFid(), r.getCateSid(),
// r.getCateTid(), r.getStoreCateFid(), r.getStoreCateSid(), r.getStoreCateTid(), r.getBrandId(),
// r.getShelvesHandle(), r.getShelvesTime(), r.getSpuValidity(), r.getVirtualFlg(), r.getStatus(),
// r.getShelvesStatus(), r.getSpuAppear(), r.getShelvesAt(), r.getCreatedBy(), r.getCreatedAt(),
// r.getLogisticsTemplate()
// }));
// toMqSqls.add(SqlMapping.get("goblin_goods_sku.insert"));
// queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(), SqlMapping.gets(toMqSqls, initGoodsObjs, initGoodsSkuObjs));
throw new LiquidnetServiceException("-1", String.format("规格条码与已添加商品条码重复,重复条码如下: %s,...", StringUtils.join(existGoodsSkuNoList.subList(0, 3), ",")));
}
throw new LiquidnetServiceException("-1", String.format("规格条码与已添加商品条码重复,重复条码如下: %s", StringUtils.join(existGoodsSkuNoList, ",")));
}
goblinMongoUtils.insertMgtGoodsInfoVos(goodsInfoVos);
goblinMongoUtils.insertMgtGoodsSkuInfoVos(goodsSkuInfoVos);
goodsSkuInfoVos.forEach(r -> goblinRedisUtils.setSkuStock(null, r.getSkuId(), r.getSkuStock()));
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
toMqSqls.add(SqlMapping.get("goblin_goods.insert"));
LinkedList<Object[]> initGoodsObjs = CollectionUtil.linkedListObjectArr();
goodsInfoVos.forEach(r -> initGoodsObjs.add(new Object[]{
r.getSpuId(), r.getSpuNo(), r.getName(), r.getSubtitle(), r.getSellPrice(),
r.getPriceGe(), r.getPriceLe(), r.getIntro(), r.getDetails(), r.getCoverPic(),
r.getVideo(), r.getSpecMode(), r.getStoreId(), r.getCateFid(), r.getCateSid(),
r.getCateTid(), r.getStoreCateFid(), r.getStoreCateSid(), r.getStoreCateTid(), r.getBrandId(),
r.getShelvesHandle(), r.getShelvesTime(), r.getSpuValidity(), r.getVirtualFlg(), r.getStatus(),
r.getShelvesStatus(), r.getSpuAppear(), r.getShelvesAt(), r.getCreatedBy(), r.getCreatedAt(),
r.getLogisticsTemplate()
}));
toMqSqls.add(SqlMapping.get("goblin_goods_sku.insert"));
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(), SqlMapping.gets(toMqSqls, initGoodsObjs, initGoodsSkuObjs));
}
}
).sheet(0).doReadSync();
......@@ -238,7 +241,6 @@ public class GoblinStoreMgtGoodsImportService {
lastGoodsInfoVo = GoblinGoodsInfoVo.getNew();
tobeNextSpuFlg = true;
}
GoblinGoodsSkuInfoVo skuInfoVo;
if (tobeNextSpuFlg) {
lastGoodsInfoVo.setName(dt.getSpuName());//*
if (StringUtils.isNotEmpty(dt.getSpuCode())) {
......@@ -269,21 +271,19 @@ public class GoblinStoreMgtGoodsImportService {
lastGoodsInfoVo.setCreatedAt(now);
lastGoodsInfoVo.setCreatedBy(uid);//*
lastGoodsInfoVo.setStoreId(storeId);//*
skuInfoVo = this.goodsInformationDataAnalysisProcessingForSku(dt, lastGoodsInfoVo, uid, storeId, now, true);
} else {
skuInfoVo = this.goodsInformationDataAnalysisProcessingForSku(dt, lastGoodsInfoVo, uid, storeId, now, false);
}
goodsSkuInfoVos.add(skuInfoVo);
GoblinGoodsSkuInfoVo lastGoodsSkuInfoVo = this.goodsInformationDataAnalysisProcessingForSku(dt, lastGoodsInfoVo, uid, storeId, now, tobeNextSpuFlg);
if (null != lastGoodsSkuInfoVo) {
goodsSkuInfoVos.add(lastGoodsSkuInfoVo);
initGoodsSkuObjs.add(new Object[]{
skuInfoVo.getSkuId(), skuInfoVo.getSpuId(), skuInfoVo.getSkuNo(), skuInfoVo.getName(), skuInfoVo.getSubtitle(),
skuInfoVo.getSellPrice(), skuInfoVo.getSkuPic(), skuInfoVo.getSkuIsbn(), skuInfoVo.getStock(), skuInfoVo.getSkuStock(),
skuInfoVo.getWarningStock(), skuInfoVo.getPrice(), skuInfoVo.getPriceMember(), skuInfoVo.getWeight(), skuInfoVo.getBuyFactor(),
skuInfoVo.getBuyRoster(), skuInfoVo.getBuyLimit(), skuInfoVo.getStoreId(), skuInfoVo.getSkuValidity(), skuInfoVo.getVirtualFlg(),
skuInfoVo.getStatus(), skuInfoVo.getShelvesStatus(), skuInfoVo.getSkuAppear(), skuInfoVo.getShelvesAt(), uid,
now, skuInfoVo.getLogisticsTemplate()
lastGoodsSkuInfoVo.getSkuId(), lastGoodsSkuInfoVo.getSpuId(), lastGoodsSkuInfoVo.getSkuNo(), lastGoodsSkuInfoVo.getName(), lastGoodsSkuInfoVo.getSubtitle(),
lastGoodsSkuInfoVo.getSellPrice(), lastGoodsSkuInfoVo.getSkuPic(), lastGoodsSkuInfoVo.getSkuIsbn(), lastGoodsSkuInfoVo.getStock(), lastGoodsSkuInfoVo.getSkuStock(),
lastGoodsSkuInfoVo.getWarningStock(), lastGoodsSkuInfoVo.getPrice(), lastGoodsSkuInfoVo.getPriceMember(), lastGoodsSkuInfoVo.getWeight(), lastGoodsSkuInfoVo.getBuyFactor(),
lastGoodsSkuInfoVo.getBuyRoster(), lastGoodsSkuInfoVo.getBuyLimit(), lastGoodsSkuInfoVo.getStoreId(), lastGoodsSkuInfoVo.getSkuValidity(), lastGoodsSkuInfoVo.getVirtualFlg(),
lastGoodsSkuInfoVo.getStatus(), lastGoodsSkuInfoVo.getShelvesStatus(), lastGoodsSkuInfoVo.getSkuAppear(), lastGoodsSkuInfoVo.getShelvesAt(), uid,
now, lastGoodsSkuInfoVo.getLogisticsTemplate()
});
log.debug("dt2:{}", lastGoodsInfoVo);
}
return tobeNextSpuFlg ? lastGoodsInfoVo : null;
}
......
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