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

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

+API:商品规格编辑;

parent b07a660e
......@@ -22,7 +22,7 @@ public class GoblinStoreMgtGoodsAddSkuParam implements Serializable {
@ApiModelProperty(position = 10, required = false, value = "单品ID[编辑时必传]")
private String skuId;
@ApiModelProperty(position = 11, required = true, value = "单品默认图片的url[256]")
@NotBlank(message = "图片不能为空")
@NotBlank(message = "单品图片不能为空")
private String skuPic;
@ApiModelProperty(position = 12, required = true, value = "单品规格信息")
@NotNull(message = "规格信息不能为空")
......
......@@ -83,6 +83,7 @@ public class GoblinStoreMgtGoodsEditSkuParam implements Serializable {
for (GoblinGoodsSpecDto goblinGoodsSpecDto : skuSpecList) {
goodsSkuInfoVo.setName(goodsSkuInfoVo.getName().concat(goblinGoodsSpecDto.getSpecVname()));
}
goodsSkuInfoVo.setSkuSpecList(skuSpecList);
}
goodsSkuInfoVo.setSkuId(this.getSkuId());
goodsSkuInfoVo.setSkuPic(this.getSkuPic());
......
......@@ -53,11 +53,11 @@ public interface IGoblinstoreMgtGoodsService {
* @param mgtGoodsEditSkuParam GoblinStoreMgtGoodsEditSkuParam
* @param goodsInfoVo GoblinGoodsInfoVo
* @param delSpuSpecMap Map<String, String>
* @param beUpdateSpuSpecFlg boolean
* @param addSpuSpecMap Map<String, String>
* @return boolean
*/
boolean goodsEditSku(String uid, GoblinStoreMgtGoodsEditSkuParam mgtGoodsEditSkuParam,
GoblinGoodsInfoVo goodsInfoVo, Map<String, String> delSpuSpecMap, boolean beUpdateSpuSpecFlg);
GoblinGoodsInfoVo goodsInfoVo, Map<String, String> delSpuSpecMap, Map<String, String> addSpuSpecMap);
/**
* 商品管理:商品编辑:SKU添加
......
......@@ -79,6 +79,9 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G
updateWrapper.set(GoblinSelfTag::getTagName, selfTag.getTagName());
updateWrapper.set(GoblinSelfTag::getTagPic, selfTag.getTagPic());
if (this.update(updateWrapper)) {
AbstractRedisUtil redisGoblinUtil = redisDataSourceUtil.getRedisGoblinUtil();
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_TAG);
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_EXTAG);
UpdateResult updateResult = mongoTemplate.getCollection(GoblinSelfTagVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("tagId").is(selfTag.getTagId()).and("tagBelong").is(selfTag.getTagBelong()).and("delFlg").is("0")).getQueryObject(),
Update.update("tagType", selfTag.getTagType()).set("tagName", selfTag.getTagName()).set("tagPic", selfTag.getTagPic()).getUpdateObject()
......@@ -89,10 +92,6 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G
}
log.info("店铺管理:标签管理:编辑[selfTag={},MONGO.UpdateResult={}]", JsonUtils.toJson(selfTag), JsonUtils.toJson(updateResult));
AbstractRedisUtil redisGoblinUtil = redisDataSourceUtil.getRedisGoblinUtil();
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_TAG);
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_EXTAG);
try {
boolean isTagFlg = selfTag.getTagBelong().equals("0");
String subDocName = isTagFlg ? "tagVoList" : "extagVoList";
......@@ -136,6 +135,9 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G
);
if (rmvResultFlg) {
AbstractRedisUtil redisGoblinUtil = redisDataSourceUtil.getRedisGoblinUtil();
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_TAG);
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_EXTAG);
UpdateResult updateResult = mongoTemplate.updateMulti(Query.query(Criteria.where("tagId").in(tagIdArr).and("delFlg").is("0").and("tagBelong").is(tagBelong)),
Update.update("delFlg", "1"),
GoblinSelfTagVo.class.getSimpleName()
......@@ -146,10 +148,6 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G
}
log.info("店铺管理:标签管理:删除[tagIdArr={},tagBelong={},MONGO.UpdateResult={}]", JsonUtils.toJson(tagIdArr), tagBelong, JsonUtils.toJson(updateResult));
AbstractRedisUtil redisGoblinUtil = redisDataSourceUtil.getRedisGoblinUtil();
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_TAG);
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_EXTAG);
try {
int updateGoodsTagCount = -1, updateGoodsArtagCount = -1;
GoblinGoodsTag updateGoodsTag = new GoblinGoodsTag();
......
......@@ -46,7 +46,6 @@ import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@ApiSupport(order = 149004)
@Api(tags = "商品管理")
......@@ -500,90 +499,106 @@ public class GoblinStoreMgtGoodsController {
}
}
List<GoblinGoodsSpecDto> paramSkuSpecList = mgtGoodsEditSkuParam.getSkuSpecList();
List<String> skuIdList = goodsInfoVo.getSkuIdList();
Map<String, List<GoblinGoodsSpecDto>> otherSkuSpecListMap = new HashMap<>();
Map<String, String> delSpuSpecMap = CollectionUtil.mapStringString();
boolean beUpdateSpuSpecFlg = false;
for (String skuId : skuIdList) {// 比对所有SKU规格信息
GoblinGoodsSkuInfoVo existMgtGoodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuId);
List<GoblinGoodsSpecDto> skuSpecList = existMgtGoodsSkuInfoVo.getSkuSpecList();
otherSkuSpecListMap.put(skuId, skuSpecList);
Map<String, String> editBefSkuSpecMap = skuSpecList.stream()
.collect(Collectors.toMap(GoblinGoodsSpecDto::getSpecName, GoblinGoodsSpecDto::getSpecVname, (k1, k2) -> k2));
if (paramSkuSpecList.size() != editBefSkuSpecMap.size()) {
log.warn("商品管理:商品编辑:SKU编辑:规格信息不一致[skuId={},editBefSkuSpecMap={},paramGoodsSpecDto={}]",
paramSkuId, editBefSkuSpecMap, paramSkuSpecList);
return ResponseDto.failure(ErrorMapping.get("149014"));
}
boolean diffSpecFlg = false;
for (GoblinGoodsSpecDto paramGoodsSpecDto : paramSkuSpecList) {// 入参规格逐个与当前商品所有SKU规格比对
String editBefSkuSpecVname = editBefSkuSpecMap.get(paramGoodsSpecDto.getSpecName());
if (null == editBefSkuSpecVname) {// 入参规格名称不存在于原SKU中,则参数有误
log.warn("商品管理:商品编辑:SKU编辑:规格信息不一致[skuId={},editBefSkuSpecMap={},paramGoodsSpecDto={}]",
paramSkuId, editBefSkuSpecMap, paramGoodsSpecDto);
return ResponseDto.failure(ErrorMapping.get("149014"));
}
if (!editBefSkuSpecVname.equals(paramGoodsSpecDto.getSpecVname())) {
diffSpecFlg = true;// 多个规格中只要存在一个不一致,即可跳过,标记为允许添加
break;
Map<String, String> addSpuSpecMap = CollectionUtil.mapStringString();
{// 规格校验、处理
Map<String, String> befSkuSpecNameVnameMap = mgtGoodsSkuInfoVo.getSkuSpecList().stream()
.collect(Collectors.toMap(GoblinGoodsSpecDto::getSpecName, GoblinGoodsSpecDto::getSpecVname));
List<GoblinGoodsSpecDto> paramSkuSpecList = mgtGoodsEditSkuParam.getSkuSpecList();
Set<String> befSkuSpecNameSet = befSkuSpecNameVnameMap.keySet();
Map<String, String> paramUpdateSkuSpecMap = CollectionUtil.mapStringString();
Map<String, String> paramSkuSpecMap = CollectionUtil.mapStringString();
for (GoblinGoodsSpecDto paramSkuSpecDto : paramSkuSpecList) {
String paramSkuSpecDtoSpecName = paramSkuSpecDto.getSpecName();
String paramSkuSpecDtoSpecVname = paramSkuSpecDto.getSpecVname();
if (!befSkuSpecNameSet.contains(paramSkuSpecDtoSpecName)) return ResponseDto.failure(ErrorMapping.get("149014"));
paramSkuSpecMap.put(paramSkuSpecDtoSpecName, paramSkuSpecDtoSpecVname);
if (!befSkuSpecNameVnameMap.get(paramSkuSpecDtoSpecName).equals(paramSkuSpecDtoSpecVname)) {
paramUpdateSkuSpecMap.put(paramSkuSpecDtoSpecName, paramSkuSpecDtoSpecVname);
}
}
if (skuId.equals(paramSkuId)) {
otherSkuSpecListMap.remove(skuId);
if (diffSpecFlg) {// 更改了规格,则同步修改SPU里的规格信息(新增 + 删除,不做更新)
Map<String, String> paramSkuSpecMap = paramSkuSpecList.stream()
.collect(Collectors.toMap(GoblinGoodsSpecDto::getSpecName, GoblinGoodsSpecDto::getSpecVname, (k1, k2) -> k2));
List<GoblinGoodsSpecVo> specVoList = goodsInfoVo.getSpecVoList();// SPU规格集
for (Map.Entry<String, String> entry : editBefSkuSpecMap.entrySet()) {
String specName = entry.getKey();
String oldSpecVname = entry.getValue();
for (GoblinGoodsSpecVo specVo : specVoList) {// SPU规格集遍历
if (specVo.getSpecName().equals(specName)) {// SPU规格集中筛选出当前所编辑SKU的规格
List<GoblinGoodsSpecValueVo> specValues = specVo.getSpecValues();// 筛选得到的SPU的规格对应值集合
String newSpecVname = paramSkuSpecMap.get(specVo.getSpecName());
if (!newSpecVname.equals(oldSpecVname)) {
// 规格值集合中当前所编辑SKU规格值的索引
int idx = IntStream.range(0, specValues.size())
.filter(i -> specValues.get(i).getSpecVname().equals(newSpecVname)).findFirst().orElse(-1);
if (idx == -1) {// 不存在则新增且处理旧规格值,存在则不做处理
beUpdateSpuSpecFlg = true;
specValues.add(GoblinGoodsSpecValueVo.getNew().setSpecVname(newSpecVname).setSpecVsort(specValues.size() + 2));
}
boolean toDelOldSpecVnameFlg = true;// 其他SKU中只要存在该规格值,即不可删除该规格值
Set<Map.Entry<String, List<GoblinGoodsSpecDto>>> entries = otherSkuSpecListMap.entrySet();
for (Map.Entry<String, List<GoblinGoodsSpecDto>> ent : entries) {
for (GoblinGoodsSpecDto specDto : ent.getValue()) {
if (specDto.getSpecName().equals(specName) && specDto.getSpecVname().equals(oldSpecVname)) {
toDelOldSpecVnameFlg = false;
}
}
}
if (toDelOldSpecVnameFlg) {
specValues.removeIf(rmr -> rmr.getSpecVname().equals(oldSpecVname));
delSpuSpecMap.put(specName, oldSpecVname);
beUpdateSpuSpecFlg = true;
}
}
if (!paramUpdateSkuSpecMap.isEmpty()) {
List<String> skuIdList = goodsInfoVo.getSkuIdList();// SPU下所有SKUID
ArrayList<String> skuIdListTmp = CollectionUtil.arrayListString();
skuIdListTmp.addAll(skuIdList);
skuIdListTmp.removeIf(r -> r.equals(paramSkuId));
Map<String, Set<String>> remainSkuSpecNameVnameMap = new HashMap<>();
List<GoblinGoodsSkuInfoVo> remainGoodsSkuInfoVos = CollectionUtils.isEmpty(skuIdListTmp)
? ObjectUtil.getGoblinGoodsSkuInfoVoArrayList() : goblinMongoUtils.getGoodsSkuInfoVos(skuIdListTmp);
int remainGoodsSkuInfoVoSize = remainGoodsSkuInfoVos.size();
for (int i = 0; i < remainGoodsSkuInfoVoSize; i++) {
GoblinGoodsSkuInfoVo remainGoodsSkuInfoVo = remainGoodsSkuInfoVos.get(i);
if (remainGoodsSkuInfoVo.getDelFlg().equals("0")) {// 有效SKU
boolean existingSkuSpecFlg = true;
List<GoblinGoodsSpecDto> remainGoodsSkuSpecDtoList = remainGoodsSkuInfoVo.getSkuSpecList();
for (GoblinGoodsSpecDto remainGoodsSkuSpecDto : remainGoodsSkuSpecDtoList) {
String remainGoodsSkuSpecDtoSpecName = remainGoodsSkuSpecDto.getSpecName();
String remainGoodsSkuSpecDtoSpecVname = remainGoodsSkuSpecDto.getSpecVname();
if (!paramSkuSpecMap.get(remainGoodsSkuSpecDtoSpecName).equals(remainGoodsSkuSpecDtoSpecVname)) {
existingSkuSpecFlg = false;// 多个规格中只要又一个规格不一样即通过
}
Set<String> remainSkuSpecVnameTmpSet = remainSkuSpecNameVnameMap.get(remainGoodsSkuSpecDtoSpecName);
if (CollectionUtils.isEmpty(remainSkuSpecVnameTmpSet)) {
remainSkuSpecVnameTmpSet = CollectionUtil.getStringArraySet();
}
remainSkuSpecVnameTmpSet.add(remainGoodsSkuSpecDtoSpecVname);
remainSkuSpecNameVnameMap.put(remainGoodsSkuSpecDtoSpecName, remainSkuSpecVnameTmpSet);
}
if (existingSkuSpecFlg) {
log.warn("商品管理:商品编辑:SKU编辑:重复的规格信息[paramSkuId={},paramSkuSpecMap={} <==> existSkuId={},existSkuSpecDtoList={}]",
paramSkuId, paramSkuSpecMap, remainGoodsSkuInfoVo.getSkuId(), JsonUtils.toJson(remainGoodsSkuSpecDtoList));
return ResponseDto.failure(ErrorMapping.get("149015"));
}
}
}
continue;
}
if (!diffSpecFlg) {
log.warn("商品管理:商品编辑:SKU编辑:重复的规格信息[skuId={},editBefSkuSpecMap={},paramSkuSpecMap={}]",
paramSkuId, editBefSkuSpecMap, JsonUtils.toJson(paramSkuSpecList));
return ResponseDto.failure(ErrorMapping.get("149015"));
List<GoblinGoodsSpecVo> spuSpecVoList = goodsInfoVo.getSpecVoList();// SPU规格集
for (Map.Entry<String, String> entrie : paramUpdateSkuSpecMap.entrySet()) {
String paramUpdateSkuSpecName = entrie.getKey(), paramUpdateSkuSpecVname = entrie.getValue();
String befSkuSpecVname = befSkuSpecNameVnameMap.get(paramUpdateSkuSpecName);
Set<String> remainSkuSpecVnameSet = remainSkuSpecNameVnameMap.get(paramUpdateSkuSpecName);
if (CollectionUtils.isEmpty(remainSkuSpecVnameSet) || !remainSkuSpecVnameSet.contains(befSkuSpecVname)) {// 其他SKU规格值中不存在当前编辑SKU旧规格值,则删除该规格值
delSpuSpecMap.put(paramUpdateSkuSpecName, befSkuSpecVname);
for (GoblinGoodsSpecVo spuSpecVo : spuSpecVoList) {
if (spuSpecVo.getSpecName().equals(paramUpdateSkuSpecName)) {
List<GoblinGoodsSpecValueVo> spuSpecVoSpecValueList = spuSpecVo.getSpecValues();
spuSpecVoSpecValueList.removeIf(r -> r.getSpecVname().equals(befSkuSpecVname));
spuSpecVoSpecValueList.sort(Comparator.comparing(GoblinGoodsSpecValueVo::getSpecVsort));
for (int i = 0; i < spuSpecVoSpecValueList.size(); i++)
spuSpecVoSpecValueList.get(i).setSpecVsort(i);
break;
}
}
}
if (CollectionUtils.isEmpty(remainSkuSpecVnameSet) || !remainSkuSpecVnameSet.contains(paramUpdateSkuSpecVname)) {// 其他SKU规格值中不存在当前编辑SKU新规格值,则新增该规格值
addSpuSpecMap.put(paramUpdateSkuSpecName, paramUpdateSkuSpecVname);
for (GoblinGoodsSpecVo spuSpecVo : spuSpecVoList) {
if (spuSpecVo.getSpecName().equals(paramUpdateSkuSpecName)) {
List<GoblinGoodsSpecValueVo> spuSpecVoSpecValueList = spuSpecVo.getSpecValues();
spuSpecVoSpecValueList.add(GoblinGoodsSpecValueVo.getNew().setSpecVname(paramUpdateSkuSpecVname).setSpecVsort(spuSpecVoSpecValueList.size() * 100));
spuSpecVoSpecValueList.sort(Comparator.comparing(GoblinGoodsSpecValueVo::getSpecVsort));
for (int i = 0; i < spuSpecVoSpecValueList.size(); i++)
spuSpecVoSpecValueList.get(i).setSpecVsort(i);
break;
}
}
}
}
} else {
mgtGoodsEditSkuParam.setSkuSpecList(null);
}
}
String buyRoster = mgtGoodsEditSkuParam.getBuyRoster(), befBuyRoster = mgtGoodsSkuInfoVo.getBuyRoster();
if (!mgtGoodsEditSkuParam.getBuyFactor().equals("2") || StringUtils.equals(befBuyRoster, buyRoster) || !buyRoster.startsWith("http")) {
mgtGoodsEditSkuParam.setBuyRoster(null);
}
if (goblinstoreMgtGoodsService.goodsEditSku(currentUid, mgtGoodsEditSkuParam, goodsInfoVo, delSpuSpecMap, beUpdateSpuSpecFlg)) {
if (goblinstoreMgtGoodsService.goodsEditSku(currentUid, mgtGoodsEditSkuParam, goodsInfoVo, delSpuSpecMap, addSpuSpecMap)) {
mgtGoodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(paramSkuId);
mgtGoodsSkuInfoVo.setSurplusStock(goblinRedisUtils.getSkuStock(null, paramSkuId));
return ResponseDto.success(mgtGoodsSkuInfoVo);
......
......@@ -530,7 +530,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
@Override
public boolean goodsEditSku(String uid, GoblinStoreMgtGoodsEditSkuParam mgtGoodsEditSkuParam, GoblinGoodsInfoVo goodsInfoVo,
Map<String, String> updateSpuSpecMap, boolean beUpdateSpuSpecFlg) {
Map<String, String> delSpuSpecMap, Map<String, String> addSpuSpecMap) {
LocalDateTime now = LocalDateTime.now();
GoblinGoodsSkuInfoVo updateSkuInfoVo = mgtGoodsEditSkuParam.initEditGoodsSkuInfoVo();
......@@ -560,7 +560,6 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
LinkedList<Object[]> updateSkuSpecValueObjs = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> initSpuSpecValueObjs = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> delSpuSpecValueObjs = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> updateSpuSpecValueObjs = CollectionUtil.linkedListObjectArr();
List<GoblinGoodsSpecVo> specVoList = goodsInfoVo.getSpecVoList();
List<GoblinGoodsSpecDto> skuSpecList = mgtGoodsEditSkuParam.getSkuSpecList();
......@@ -568,35 +567,25 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
String specName = spec.getSpecName(), specVname = spec.getSpecVname();
GoblinGoodsSpecVo specVo = specVoList.stream().filter(r -> r.getSpecName().equals(specName)).findAny().get();
GoblinGoodsSpecValueVo specValueVo = specVo.getSpecValues().stream().filter(rv -> rv.getSpecVname().equals(specVname)).findAny().get();
initSpuSpecValueObjs.add(new Object[]{spuId, specName, specVname, specValueVo.getSpecVsort()});
specVo.getSpecValues().forEach(r -> initSpuSpecValueObjs.add(new Object[]{spuId, specName, r.getSpecVname(), r.getSpecVsort()}));
updateSkuSpecValueObjs.add(new Object[]{specVname, skuId, specName});
if (!CollectionUtils.isEmpty(marketSkuIdList)) {
marketSkuIdList.forEach(marketSkuId -> updateSkuSpecValueObjs.add(new Object[]{specVname, marketSkuId, specName}));
}
});
if (beUpdateSpuSpecFlg) {
for (GoblinGoodsSpecVo specVo : specVoList) {
List<GoblinGoodsSpecValueVo> specValues = specVo.getSpecValues();
specValues.sort(Comparator.comparing(GoblinGoodsSpecValueVo::getSpecVsort));
for (int i = 0; i < specValues.size(); i++) {
GoblinGoodsSpecValueVo specValueVo = specValues.get(i);
specValueVo.setSpecVsort(i);
updateSpuSpecValueObjs.add(new Object[]{i, spuId, specVo.getSpecName(), specValueVo.getSpecVname()});
}
}
if (!CollectionUtils.isEmpty(updateSpuSpecMap)) {// 更改了规格,需要同步SPU里的规格信息
goodsInfoVo.setUpdatedBy(uid);
goodsInfoVo.setUpdatedAt(now);
goblinMongoUtils.updateGoodsInfoVo(goodsInfoVo);
goblinRedisUtils.delGoodsInfoVo(spuId);
boolean updateGoodsInfoVoFlg = false;
if (!delSpuSpecMap.isEmpty()) {// 删除了规格值,需要同步SPU里的规格信息
updateGoodsInfoVoFlg = true;
goodsInfoVo.setUpdatedBy(uid);
goodsInfoVo.setUpdatedAt(now);
updateSpuSpecMap.forEach((k, v) -> delSpuSpecValueObjs.add(new Object[]{spuId, k, v}));
}
delSpuSpecMap.forEach((k, v) -> delSpuSpecValueObjs.add(new Object[]{spuId, k, v}));
}
if (!addSpuSpecMap.isEmpty()) {// 新增了规格值,需要同步SPU里的规格信息
updateGoodsInfoVoFlg = true;
goodsInfoVo.setUpdatedBy(uid);
goodsInfoVo.setUpdatedAt(now);
}
BigDecimal priceGe = BigDecimal.ZERO, priceLe = BigDecimal.ZERO;
......@@ -609,15 +598,17 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
}
LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
if (priceGe.compareTo(goodsInfoVo.getPriceGe()) != 0 || priceLe.compareTo(goodsInfoVo.getPriceLe()) != 0) {
updateGoodsInfoVoFlg = true;
goodsInfoVo.setPriceGe(priceGe);
goodsInfoVo.setPriceLe(priceLe);
goodsInfoVo.setUpdatedBy(uid);
goodsInfoVo.setUpdatedAt(now);
updateGoodsObjs.add(new Object[]{priceGe, priceLe, uid, now, spuId});
}
if (updateGoodsInfoVoFlg) {
goblinMongoUtils.updateGoodsInfoVo(goodsInfoVo);
goblinRedisUtils.delGoodsInfoVo(spuId);
updateGoodsObjs.add(new Object[]{priceGe, priceLe, uid, now, spuId});
}
String buyRoster = mgtGoodsEditSkuParam.getBuyRoster();
if (StringUtils.isNotEmpty(buyRoster)) {
......@@ -642,14 +633,12 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
// LinkedList<Object[]> initSpuSpecValueObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods_spu_spec_value.update_by_editdel"));
// LinkedList<Object[]> delSpuSpecValueObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods_spu_spec_value.update_by_edit"));
// LinkedList<Object[]> updateSpuSpecValueObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods.update_by_edit_sku"));
// LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
SqlMapping.gets(toMqSqls, updateGoodsSkuForMarketObjs, updateGoodsSkuObjs,
updateSkuSpecValueObjs, initSpuSpecValueObjs, delSpuSpecValueObjs, updateSpuSpecValueObjs, updateGoodsObjs));
updateSkuSpecValueObjs, initSpuSpecValueObjs, delSpuSpecValueObjs, updateGoodsObjs));
return true;
}
Integer operStock = mgtGoodsEditSkuParam.getOperStock();
......
......@@ -122,7 +122,7 @@ public class GoblinRedisUtils {
List<GoblinSelfTagVo> vos;
if (valStrIsEmptyFlg) {
if (!CollectionUtils.isEmpty(vos = goblinMongoUtils.getSelfTagVos("0"))) {
redisUtil.set(GoblinRedisConst.BASIC_SELF_TAG, JsonUtils.toJson(vos));
redisUtil.set(GoblinRedisConst.BASIC_SELF_TAG, JsonUtils.toJson(vos), 60 * 60);
}
} else {
vos = JsonUtils.fromJson(valStr, new TypeReference<List<GoblinSelfTagVo>>() {
......@@ -144,7 +144,7 @@ public class GoblinRedisUtils {
List<GoblinSelfTagVo> vos;
if (StringUtils.isEmpty(valStr)) {
if (!CollectionUtils.isEmpty(vos = goblinMongoUtils.getSelfTagVos("1"))) {
redisUtil.set(GoblinRedisConst.BASIC_SELF_TAG, JsonUtils.toJson(vos));
redisUtil.set(GoblinRedisConst.BASIC_SELF_TAG, JsonUtils.toJson(vos), 60 * 60);
}
} else {
vos = JsonUtils.fromJson(valStr, new TypeReference<List<GoblinSelfTagVo>>() {
......
......@@ -29,7 +29,6 @@ goblin_goods_spec_value.insert_byreplace=REPLACE INTO goblin_goods_spec_value (s
#---- 商品关联规格信息
goblin_goods_spu_spec_value.insert_byreplace=REPLACE INTO goblin_goods_spu_spec_value (spu_id,spec_name,spec_vname,sort,del_flg)VALUES(?,?,?,?,'0')
goblin_goods_spu_spec_value.update_by_editdel=UPDATE goblin_goods_spu_spec_value SET del_flg='1' WHERE spu_id=? AND spec_name=? AND spec_vname=? AND del_flg='0'
goblin_goods_spu_spec_value.update_by_edit=UPDATE goblin_goods_spu_spec_value SET sort=? WHERE spu_id=? AND spec_name=? AND spec_vname=? AND del_flg='0'
goblin_goods_spu_spec_value.update_by_del_sku=UPDATE goblin_goods_spu_spec_value SET sort=?,del_flg=? WHERE spu_id=? AND spec_name=? AND spec_vname=?
goblin_goods_sku_spec_value.insert_byreplace=REPLACE INTO goblin_goods_sku_spec_value (spu_id,sku_id,spec_name,spec_vname,del_flg)VALUES(?,?,?,?,'0')
goblin_goods_sku_spec_value.update_by_edit=UPDATE goblin_goods_sku_spec_value SET spec_vname=? WHERE sku_id=? AND spec_name=? AND del_flg='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