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

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

~admin:音乐人标签库:删除标签+AR类型关联商品处理;

~API:商品管理:添加、编辑图片、标签、服务支持同步Mysql调整;
parent c1582321
...@@ -42,4 +42,6 @@ public class GoblinStoreMgtGoodsListVo implements Serializable, Cloneable { ...@@ -42,4 +42,6 @@ public class GoblinStoreMgtGoodsListVo implements Serializable, Cloneable {
private Integer totalStock; private Integer totalStock;
@ApiModelProperty(position = 24, value = "剩余库存") @ApiModelProperty(position = 24, value = "剩余库存")
private Integer surplusStock; private Integer surplusStock;
@ApiModelProperty(position = 25, value = "库存不足预警值")
private Integer warningStock;
} }
...@@ -19,7 +19,7 @@ public interface IGoblinSelfTagService extends IService<GoblinSelfTag> { ...@@ -19,7 +19,7 @@ public interface IGoblinSelfTagService extends IService<GoblinSelfTag> {
boolean editSave(GoblinSelfTag selfTag); boolean editSave(GoblinSelfTag selfTag);
boolean remove(String[] tagIdArr, String tagBelong); boolean remove(Object[] tagIdArr, String tagBelong);
List<GoblinSelfTag> countsForList(List<String> tagIds); List<GoblinSelfTag> countsForList(List<String> tagIds);
} }
...@@ -11,8 +11,10 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -11,8 +11,10 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo; import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfTagVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfTagVo;
import com.liquidnet.service.goblin.entity.GoblinGoodsArtag;
import com.liquidnet.service.goblin.entity.GoblinGoodsTag; import com.liquidnet.service.goblin.entity.GoblinGoodsTag;
import com.liquidnet.service.goblin.entity.GoblinSelfTag; import com.liquidnet.service.goblin.entity.GoblinSelfTag;
import com.liquidnet.service.goblin.mapper.GoblinGoodsArtagMapper;
import com.liquidnet.service.goblin.mapper.GoblinGoodsTagMapper; import com.liquidnet.service.goblin.mapper.GoblinGoodsTagMapper;
import com.liquidnet.service.goblin.mapper.GoblinSelfTagMapper; import com.liquidnet.service.goblin.mapper.GoblinSelfTagMapper;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
...@@ -48,6 +50,8 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G ...@@ -48,6 +50,8 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G
private GoblinSelfTagMapper goblinSelfTagMapper; private GoblinSelfTagMapper goblinSelfTagMapper;
@Autowired @Autowired
private GoblinGoodsTagMapper goblinGoodsTagMapper; private GoblinGoodsTagMapper goblinGoodsTagMapper;
@Autowired
private GoblinGoodsArtagMapper goblinGoodsArtagMapper;
@Transactional @Transactional
@Override @Override
...@@ -123,7 +127,7 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G ...@@ -123,7 +127,7 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G
@Transactional @Transactional
@Override @Override
public boolean remove(String[] tagIdArr, String tagBelong) { public boolean remove(Object[] tagIdArr, String tagBelong) {
boolean rmvResultFlg = this.update(Wrappers.lambdaUpdate(GoblinSelfTag.class) boolean rmvResultFlg = this.update(Wrappers.lambdaUpdate(GoblinSelfTag.class)
.in(GoblinSelfTag::getTagId, tagIdArr) .in(GoblinSelfTag::getTagId, tagIdArr)
.eq(GoblinSelfTag::getTagBelong, tagBelong) .eq(GoblinSelfTag::getTagBelong, tagBelong)
...@@ -147,22 +151,34 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G ...@@ -147,22 +151,34 @@ public class GoblinSelfTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, G
redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_EXTAG); redisGoblinUtil.del(GoblinRedisConst.BASIC_SELF_EXTAG);
try { try {
GoblinGoodsTag updateRelateGoods = new GoblinGoodsTag(); int updateGoodsTagCount = -1, updateGoodsArtagCount = -1;
updateRelateGoods.setDelFlg("1"); GoblinGoodsTag updateGoodsTag = new GoblinGoodsTag();
int updateRelateGoodsCount = goblinGoodsTagMapper.update(updateRelateGoods, Wrappers.lambdaUpdate(GoblinGoodsTag.class) updateGoodsTag.setDelFlg("1");
updateGoodsTagCount = goblinGoodsTagMapper.update(updateGoodsTag, Wrappers.lambdaUpdate(GoblinGoodsTag.class)
.in(GoblinGoodsTag::getTagId, tagIdArr).eq(GoblinGoodsTag::getTagBelong, tagBelong).eq(GoblinGoodsTag::getDelFlg, "0")); .in(GoblinGoodsTag::getTagId, tagIdArr).eq(GoblinGoodsTag::getTagBelong, tagBelong).eq(GoblinGoodsTag::getDelFlg, "0"));
//
boolean isTagVoListFlg = tagBelong.equals("0");
if (!isTagVoListFlg) {
GoblinGoodsArtag updateGoodsArtag = new GoblinGoodsArtag();
updateGoodsArtag.setDelFlg("1");
updateGoodsArtagCount = goblinGoodsArtagMapper.update(updateGoodsArtag, Wrappers.lambdaUpdate(GoblinGoodsArtag.class)
.in(GoblinGoodsArtag::getTagId, tagIdArr).eq(GoblinGoodsArtag::getTagBelong, tagBelong).eq(GoblinGoodsArtag::getDelFlg, "0"));
}
String subDocName = tagBelong.equals("0") ? "tagVoList" : "extagVoList"; Query query = Query.query(isTagVoListFlg ? Criteria.where("tagVoList.tagId").in(tagIdArr) :
Query query = Query.query(Criteria.where(subDocName.concat(".tagId")).in(tagIdArr)); new Criteria().orOperator(Criteria.where("extagVoList.tagId").in(tagIdArr), Criteria.where("artagVoList.tagId").in(tagIdArr)));
query.fields().include("spuId"); query.fields().include("spuId");
List<GoblinGoodsInfoVo> matchedGoodsInfoVoList = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); List<GoblinGoodsInfoVo> matchedGoodsInfoVoList = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
if (!CollectionUtils.isEmpty(matchedGoodsInfoVoList)) { if (!CollectionUtils.isEmpty(matchedGoodsInfoVoList)) {
List<String> matchedSpuIdList = matchedGoodsInfoVoList.stream().map(GoblinGoodsInfoVo::getSpuId).collect(Collectors.toList()); List<String> matchedSpuIdList = matchedGoodsInfoVoList.stream().map(GoblinGoodsInfoVo::getSpuId).collect(Collectors.toList());
Update update = isTagVoListFlg ? new Update().pull("tagVoList", Query.query(Criteria.where("tagId").in(tagIdArr))) :
new Update().pull("extagVoList", Query.query(Criteria.where("tagId").in(tagIdArr)))
.pull("artagVoList", Query.query(Criteria.where("tagId").in(tagIdArr)));
UpdateResult updateRelateGoodsResult = mongoTemplate.updateMulti(Query.query(Criteria.where("spuId").in(matchedSpuIdList)), UpdateResult updateRelateGoodsResult = mongoTemplate.updateMulti(Query.query(Criteria.where("spuId").in(matchedSpuIdList)),
new Update().pull(subDocName, Query.query(Criteria.where("tagId").in(tagIdArr))), update, GoblinGoodsInfoVo.class.getSimpleName());
GoblinGoodsInfoVo.class.getSimpleName()); log.info("店铺管理:标签管理:删除:MDB更新关联商品[匹配={},更新={},MYSQL更新:TAG={},ARTAG={}]",
log.info("店铺管理:标签管理:删除:MDB更新关联商品[匹配={},更新={},MYSQL更新={}]", updateRelateGoodsResult.getMatchedCount(), updateRelateGoodsResult.getModifiedCount(), updateGoodsTagCount, updateGoodsArtagCount);
updateRelateGoodsResult.getMatchedCount(), updateRelateGoodsResult.getModifiedCount(), updateRelateGoodsCount);
if (updateRelateGoodsResult.getModifiedCount() > 0) { if (updateRelateGoodsResult.getModifiedCount() > 0) {
matchedSpuIdList.forEach(spuId -> { matchedSpuIdList.forEach(spuId -> {
......
package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 商品关联标签
* </p>
*
* @author liquidnet
* @since 2022-02-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinGoodsArtag implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 商品id
*/
private String spuId;
/**
* 标签id,对应 goblin_self_tag.tag_id
*/
private String tagId;
/**
* 排序[数值越小,排序越前]
*/
private Integer sort;
/**
* 标签所属[0-普通标签|1-专属标签]
*/
private String tagBelong;
/**
* 删除标记[0-未删除|1-删除]
*/
private String delFlg;
private String comment;
}
package com.liquidnet.service.goblin.mapper;
import com.liquidnet.service.goblin.entity.GoblinGoodsArtag;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 商品关联标签 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2022-02-25
*/
public interface GoblinGoodsArtagMapper extends BaseMapper<GoblinGoodsArtag> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.goblin.mapper.GoblinGoodsArtagMapper">
</mapper>
...@@ -50,7 +50,7 @@ public class GoblinStoreMgtExtraServiceImpl implements IGoblinStoreMgtExtraServi ...@@ -50,7 +50,7 @@ public class GoblinStoreMgtExtraServiceImpl implements IGoblinStoreMgtExtraServi
serviceSupportVos.forEach(vo -> upsertServiceSupportObjs.add(new Object[]{vo.getSsid(), vo.getName(), vo.getDesc(), vo.getUrl()})); serviceSupportVos.forEach(vo -> upsertServiceSupportObjs.add(new Object[]{vo.getSsid(), vo.getName(), vo.getDesc(), vo.getUrl()}));
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_STORE.getKey(), queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_STORE.getKey(),
SqlMapping.get("goblin_service_support.insert_by_replace", upsertServiceSupportObjs)); SqlMapping.get("goblin_service_support.insert_byreplace", upsertServiceSupportObjs));
} }
return serviceSupportVos; return serviceSupportVos;
} }
......
...@@ -14,6 +14,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo; ...@@ -14,6 +14,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsInfoVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsInfoVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.enums.GoblinStoreConf;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtExtraService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtExtraService;
import com.liquidnet.service.goblin.service.manage.IGoblinstoreMgtGoodsService; import com.liquidnet.service.goblin.service.manage.IGoblinstoreMgtGoodsService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils; import com.liquidnet.service.goblin.util.GoblinMongoUtils;
...@@ -49,6 +50,10 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -49,6 +50,10 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
if (goodsListVoPagedResult.getTotal() > 0) { if (goodsListVoPagedResult.getTotal() > 0) {
List<GoblinStoreMgtGoodsListVo> voList = goodsListVoPagedResult.getList(); List<GoblinStoreMgtGoodsListVo> voList = goodsListVoPagedResult.getList();
List<GoblinStoreConfigVo> storeConfigVos = goblinRedisUtils.getStoreConfigVos(filterParam.getStoreId());
Optional<GoblinStoreConfigVo> optional = storeConfigVos.stream().filter(r -> r.getConfigKey().equals(GoblinStoreConf.LIMIT_WARNING_STOCK.name())).findAny();
Integer warningStock = optional.map(goblinStoreConfigVo -> Integer.parseInt(goblinStoreConfigVo.getConfigVal())).orElse(5);
List<GoblinSelfGoodsCategoryVo> selfGoodsCategoryVos = goblinStoreMgtExtraService.listCategoryVo(); List<GoblinSelfGoodsCategoryVo> selfGoodsCategoryVos = goblinStoreMgtExtraService.listCategoryVo();
voList.forEach(vo -> { voList.forEach(vo -> {
GoblinGoodsInfoVo mgtGoodsInfoVo = goblinRedisUtils.getMgtGoodsInfoVo(vo.getSpuId()); GoblinGoodsInfoVo mgtGoodsInfoVo = goblinRedisUtils.getMgtGoodsInfoVo(vo.getSpuId());
...@@ -71,6 +76,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -71,6 +76,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
} }
vo.setTotalStock(totalStock); vo.setTotalStock(totalStock);
vo.setSurplusStock(surplusStock); vo.setSurplusStock(surplusStock);
vo.setWarningStock(warningStock);
String cateFid = vo.getCateFid(), cateSid = vo.getCateSid(), cateTid = vo.getCateTid(); String cateFid = vo.getCateFid(), cateSid = vo.getCateSid(), cateTid = vo.getCateTid();
List<GoblinSelfGoodsCategoryVo> categoryVoList = selfGoodsCategoryVos.stream() List<GoblinSelfGoodsCategoryVo> categoryVoList = selfGoodsCategoryVos.stream()
...@@ -161,12 +167,12 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -161,12 +167,12 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
goodsInfoVo.getLogisticsTemplate() goodsInfoVo.getLogisticsTemplate()
}); });
toMqSqls.add(SqlMapping.get("goblin_goods_sku.insert")); toMqSqls.add(SqlMapping.get("goblin_goods_sku.insert"));
toMqSqls.add(SqlMapping.get("goblin_goods_image.insert")); toMqSqls.add(SqlMapping.get("goblin_goods_image.insert_byreplace"));
LinkedList<Object[]> initGoodsImageObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsImageObjs = CollectionUtil.linkedListObjectArr();
if (CollectionUtils.isEmpty(goodsInfoVo.getImageList())) { if (CollectionUtils.isEmpty(goodsInfoVo.getImageList())) {
goodsInfoVo.getImageList().forEach(imageUrl -> initGoodsImageObjs.add(new Object[]{spuId, imageUrl})); goodsInfoVo.getImageList().forEach(imageUrl -> initGoodsImageObjs.add(new Object[]{spuId, imageUrl}));
} }
toMqSqls.add(SqlMapping.get("goblin_goods_tag.insert")); toMqSqls.add(SqlMapping.get("goblin_goods_tag.insert_byreplace"));
LinkedList<Object[]> initGoodsTagObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsTagObjs = CollectionUtil.linkedListObjectArr();
if (!CollectionUtils.isEmpty(goodsInfoVo.getTagVoList())) { if (!CollectionUtils.isEmpty(goodsInfoVo.getTagVoList())) {
goodsInfoVo.getTagVoList().forEach(tagVo -> initGoodsTagObjs.add(new Object[]{spuId, tagVo.getTagId(), tagVo.getSort(), "0"})); goodsInfoVo.getTagVoList().forEach(tagVo -> initGoodsTagObjs.add(new Object[]{spuId, tagVo.getTagId(), tagVo.getSort(), "0"}));
...@@ -174,10 +180,12 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -174,10 +180,12 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
if (!CollectionUtils.isEmpty(goodsInfoVo.getExtagVoList())) { if (!CollectionUtils.isEmpty(goodsInfoVo.getExtagVoList())) {
goodsInfoVo.getExtagVoList().forEach(exTagVo -> initGoodsTagObjs.add(new Object[]{spuId, exTagVo.getTagId(), exTagVo.getSort(), "1"})); goodsInfoVo.getExtagVoList().forEach(exTagVo -> initGoodsTagObjs.add(new Object[]{spuId, exTagVo.getTagId(), exTagVo.getSort(), "1"}));
} }
toMqSqls.add(SqlMapping.get("goblin_goods_artag.insert_byreplace"));
LinkedList<Object[]> initGoodsArTagObjs = CollectionUtil.linkedListObjectArr();
if (!CollectionUtils.isEmpty(goodsInfoVo.getArtagVoList())) { if (!CollectionUtils.isEmpty(goodsInfoVo.getArtagVoList())) {
goodsInfoVo.getArtagVoList().forEach(arTagVo -> initGoodsTagObjs.add(new Object[]{spuId, arTagVo.getTagId(), arTagVo.getSort(), "1"})); goodsInfoVo.getArtagVoList().forEach(arTagVo -> initGoodsArTagObjs.add(new Object[]{spuId, arTagVo.getTagId(), arTagVo.getSort(), "1"}));
} }
toMqSqls.add(SqlMapping.get("goblin_goods_service_support.insert")); toMqSqls.add(SqlMapping.get("goblin_goods_service_support.insert_byreplace"));
LinkedList<Object[]> initGoodsServiceSupportObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsServiceSupportObjs = CollectionUtil.linkedListObjectArr();
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()}));
...@@ -203,7 +211,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -203,7 +211,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
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, initGoodsSpecObjs, initGoodsSpecValueObjs, initGoodsTagObjs, initGoodsArTagObjs, initGoodsServiceSupportObjs, initGoodsSpecObjs, initGoodsSpecValueObjs,
initGoodsSpuSpecValueObjs, initGoodsSkuSpecValueObjs, initGoodsCategorySpecObjs) initGoodsSpuSpecValueObjs, initGoodsSkuSpecValueObjs, initGoodsCategorySpecObjs)
); );
} }
...@@ -349,7 +357,6 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -349,7 +357,6 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
} }
} }
boolean updateSsidFlg = false; boolean updateSsidFlg = false;
List<String> ssidList = storeMgtGoodsAddParam.getSsidList(); List<String> ssidList = storeMgtGoodsAddParam.getSsidList();
boolean paramSsidListIsEmptyFlg = CollectionUtils.isEmpty(ssidList); boolean paramSsidListIsEmptyFlg = CollectionUtils.isEmpty(ssidList);
...@@ -377,6 +384,25 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -377,6 +384,25 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
updateSpuInfoVo.setServiceSupportVoList(paramSsidListIsEmptyFlg ? ObjectUtil.getGoblinServiceSupportVoArrayList() : goblinMongoUtils.getServiceSupportVos(ssidList)); updateSpuInfoVo.setServiceSupportVoList(paramSsidListIsEmptyFlg ? ObjectUtil.getGoblinServiceSupportVoArrayList() : goblinMongoUtils.getServiceSupportVos(ssidList));
} }
} }
boolean updateImageFlg = false;
List<String> paramImageList = storeMgtGoodsAddParam.getImageList();
List<String> befImageList = mgtGoodsInfoVo.getImageList();
{// 图片处理
if (befImageList.size() != paramImageList.size()) {
updateImageFlg = true;
} else {
for (String imageUrl : paramImageList) {
if (!befImageList.contains(imageUrl)) {
updateImageFlg = true;
break;
}
}
}
if (updateImageFlg) {
updateSpuInfoVo.setImageList(paramImageList);
}
}
updateSpuInfoVo.setUpdatedBy(uid); updateSpuInfoVo.setUpdatedBy(uid);
updateSpuInfoVo.setUpdatedAt(LocalDateTime.now()); updateSpuInfoVo.setUpdatedAt(LocalDateTime.now());
if (goblinMongoUtils.updateGoodsInfoVo(updateSpuInfoVo)) { if (goblinMongoUtils.updateGoodsInfoVo(updateSpuInfoVo)) {
...@@ -433,7 +459,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -433,7 +459,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
toMqSqls.add(SqlMapping.get("goblin_goods_tag.delete")); toMqSqls.add(SqlMapping.get("goblin_goods_tag.delete"));
LinkedList<Object[]> deleteGoodsTagObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> deleteGoodsTagObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods_tag.insert")); toMqSqls.add(SqlMapping.get("goblin_goods_tag.insert_byreplace"));
LinkedList<Object[]> initGoodsTagObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initGoodsTagObjs = CollectionUtil.linkedListObjectArr();
if (updateTagFlg) { if (updateTagFlg) {
if (!befTagIsEmptyFlg) { if (!befTagIsEmptyFlg) {
...@@ -446,27 +472,31 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -446,27 +472,31 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
if (updateExtagFlg) { if (updateExtagFlg) {
if (!befExtagIsEmptyFlg) { if (!befExtagIsEmptyFlg) {
deleteGoodsTagObjs.add(new Object[]{spuId, '1'}); deleteGoodsTagObjs.add(new Object[]{spuId, '1'});
List<GoblinGoodsExtagVo> artagVoList = updateArtagFlg ? updateSpuInfoVo.getArtagVoList() : mgtGoodsInfoVo.getArtagVoList(); // List<GoblinGoodsExtagVo> artagVoList = updateArtagFlg ? updateSpuInfoVo.getArtagVoList() : mgtGoodsInfoVo.getArtagVoList();
artagVoList.forEach(vo -> initGoodsTagObjs.add(new Object[]{spuId, vo.getTagId(), vo.getSort(), "1"})); // artagVoList.forEach(vo -> initGoodsTagObjs.add(new Object[]{spuId, vo.getTagId(), vo.getSort(), "1"}));
} }
if (!paramExtagIsEmptyFlg) { if (!paramExtagIsEmptyFlg) {
updateSpuInfoVo.getExtagVoList().forEach(vo -> initGoodsTagObjs.add(new Object[]{spuId, vo.getTagId(), vo.getSort(), "1"})); updateSpuInfoVo.getExtagVoList().forEach(vo -> initGoodsTagObjs.add(new Object[]{spuId, vo.getTagId(), vo.getSort(), "1"}));
} }
} }
toMqSqls.add(SqlMapping.get("goblin_goods_artag.delete"));
LinkedList<Object[]> deleteGoodsArTagObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods_artag.insert_byreplace"));
LinkedList<Object[]> initGoodsArTagObjs = CollectionUtil.linkedListObjectArr();
if (updateArtagFlg) { if (updateArtagFlg) {
if (!befArtagIsEmptyFlg) { if (!befArtagIsEmptyFlg) {
deleteGoodsTagObjs.add(new Object[]{spuId, '1'}); deleteGoodsArTagObjs.add(new Object[]{spuId, '1'});
List<GoblinGoodsExtagVo> extagVoList = updateExtagFlg ? updateSpuInfoVo.getExtagVoList() : mgtGoodsInfoVo.getExtagVoList(); // List<GoblinGoodsExtagVo> extagVoList = updateExtagFlg ? updateSpuInfoVo.getExtagVoList() : mgtGoodsInfoVo.getExtagVoList();
extagVoList.forEach(vo -> initGoodsTagObjs.add(new Object[]{spuId, vo.getTagId(), vo.getSort(), "1"})); // extagVoList.forEach(vo -> initGoodsArTagObjs.add(new Object[]{spuId, vo.getTagId(), vo.getSort(), "1"}));
} }
if (!paramArtagIsEmptyFlg) { if (!paramArtagIsEmptyFlg) {
updateSpuInfoVo.getArtagVoList().forEach(vo -> initGoodsTagObjs.add(new Object[]{spuId, vo.getTagId(), vo.getSort(), "1"})); updateSpuInfoVo.getArtagVoList().forEach(vo -> initGoodsArTagObjs.add(new Object[]{spuId, vo.getTagId(), vo.getSort(), "1"}));
} }
} }
toMqSqls.add(SqlMapping.get("goblin_goods_service_support.delete")); toMqSqls.add(SqlMapping.get("goblin_goods_service_support.delete"));
LinkedList<Object[]> deleteServiceSupportObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> deleteServiceSupportObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods_service_support.insert")); toMqSqls.add(SqlMapping.get("goblin_goods_service_support.insert_byreplace"));
LinkedList<Object[]> initServiceSupportObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> initServiceSupportObjs = CollectionUtil.linkedListObjectArr();
if (updateSsidFlg) { if (updateSsidFlg) {
if (!befServiceSupportVoListIsEmptyFlg) { if (!befServiceSupportVoListIsEmptyFlg) {
...@@ -477,9 +507,19 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -477,9 +507,19 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
} }
} }
toMqSqls.add(SqlMapping.get("goblin_goods_image.delete"));
LinkedList<Object[]> deleteGoodsImageObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("goblin_goods_image.insert_byreplace"));
LinkedList<Object[]> initGoodsImageObjs = CollectionUtil.linkedListObjectArr();
if (updateImageFlg) {
deleteGoodsImageObjs.add(new Object[]{spuId});
updateSpuInfoVo.getImageList().forEach(imageUrl -> initGoodsImageObjs.add(new Object[]{spuId, imageUrl}));
}
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(), queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
SqlMapping.gets(toMqSqls, updateGoodsInfoObjs, updateGoodsSkuObjs, SqlMapping.gets(toMqSqls, updateGoodsInfoObjs, updateGoodsSkuObjs,
deleteGoodsTagObjs, initGoodsTagObjs, deleteServiceSupportObjs, initServiceSupportObjs)); deleteGoodsTagObjs, initGoodsTagObjs, deleteGoodsArTagObjs, initGoodsArTagObjs,
deleteServiceSupportObjs, initServiceSupportObjs, deleteGoodsImageObjs, initGoodsImageObjs));
return true; return true;
} }
return false; return false;
......
#---- 服务支持信息 #---- 服务支持信息
goblin_service_support.insert_by_replace=REPLACE INTO goblin_service_support (ssid,name,`desc`,url,created_by,created_at)VALUES(?,?,?,?,'-',sysdate()) goblin_service_support.insert_byreplace=REPLACE INTO goblin_service_support (ssid,name,`desc`,url,created_by,created_at)VALUES(?,?,?,?,'-',sysdate())
#---- 店铺信息 #---- 店铺信息
goblin_store_info.insert_by_cert=INSERT INTO goblin_store_info (store_id,uid,status,store_type,cert_type,created_by,created_at)VALUES(?,?,?,?,?,?,?) goblin_store_info.insert_by_cert=INSERT INTO goblin_store_info (store_id,uid,status,store_type,cert_type,created_by,created_at)VALUES(?,?,?,?,?,?,?)
goblin_store_info.update_by_cert1=UPDATE goblin_store_info SET store_type=?,cert_type=?,updated_by=?,updated_at=? WHERE store_id=? goblin_store_info.update_by_cert1=UPDATE goblin_store_info SET store_type=?,cert_type=?,updated_by=?,updated_at=? WHERE store_id=?
...@@ -50,10 +50,13 @@ goblin_goods_sku.update_by_edit_spu=UPDATE goblin_goods_sku SET sku_no=?,virtual ...@@ -50,10 +50,13 @@ goblin_goods_sku.update_by_edit_spu=UPDATE goblin_goods_sku SET sku_no=?,virtual
goblin_goods_sku.update_by_shelves=UPDATE goblin_goods_sku SET shelves_status=?,shelves_at=?,updated_by=?,updated_at=? WHERE spu_id=? AND store_id=? AND sku_appear='0' goblin_goods_sku.update_by_shelves=UPDATE goblin_goods_sku SET shelves_status=?,shelves_at=?,updated_by=?,updated_at=? WHERE spu_id=? AND store_id=? AND sku_appear='0'
goblin_goods_sku.update_by_del_store=UPDATE goblin_goods_sku SET del_flg='1',updated_by=?,updated_at=?,deleted_by=?,deleted_at=? WHERE store_id=? goblin_goods_sku.update_by_del_store=UPDATE goblin_goods_sku SET del_flg='1',updated_by=?,updated_at=?,deleted_by=?,deleted_at=? WHERE store_id=?
goblin_goods_sku.update_by_del=UPDATE goblin_goods_sku SET del_flg='1',updated_by=?,updated_at=?,deleted_by=?,deleted_at=? WHERE spu_id=? AND store_id=? goblin_goods_sku.update_by_del=UPDATE goblin_goods_sku SET del_flg='1',updated_by=?,updated_at=?,deleted_by=?,deleted_at=? WHERE spu_id=? AND store_id=?
goblin_goods_image.insert=INSERT INTO goblin_goods_image (spu_id,url)VALUES(?,?) goblin_goods_image.insert_byreplace=REPLACE 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_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)VALUES(?,?,?,?)
goblin_goods_tag.delete=UPDATE goblin_goods_tag SET del_flg='1' WHERE spu_id=? AND tag_belong=? AND del_flg='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_service_support.insert=INSERT INTO goblin_goods_service_support (spu_id,ssid)VALUES(?,?) goblin_goods_artag.insert_byreplace=REPLACE INTO goblin_goods_tag (spu_id,tag_id,sort,tag_belong)VALUES(?,?,?,?)
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)VALUES(?,?)
goblin_goods_service_support.delete=UPDATE goblin_goods_service_support SET del_flg='1' WHERE spu_id=? AND del_flg='0' goblin_goods_service_support.delete=UPDATE goblin_goods_service_support SET del_flg='1' WHERE spu_id=? AND del_flg='0'
#---- 商铺活动 #---- 商铺活动
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 (?,?,?,?,?,?,?,?,?,?,?)
......
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