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

Commit 3ccbe655 authored by 张国柄's avatar 张国柄

~API:商品管理:分类管理;

parent 080622ce
......@@ -8,6 +8,8 @@ import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@ApiModel(value = "GoblinStoreGoodsCategoryVo", description = "店铺商品分类")
@Data
......@@ -30,45 +32,15 @@ public class GoblinStoreGoodsCategoryVo implements Serializable, Cloneable {
@ApiModelProperty(position = 18, value = "删除标记[0-未删除|1-删除]")
private String delFlg;
public GoblinStoreGoodsCategoryVo setStoreId(String storeId) {
this.storeId = storeId;
return this;
}
public GoblinStoreGoodsCategoryVo setCateId(String cateId) {
this.cateId = cateId;
return this;
}
public GoblinStoreGoodsCategoryVo setName(String name) {
this.name = name;
return this;
}
public GoblinStoreGoodsCategoryVo setSort(Integer sort) {
this.sort = sort;
return this;
}
public GoblinStoreGoodsCategoryVo setGrade(String grade) {
this.grade = grade;
return this;
}
public GoblinStoreGoodsCategoryVo setCatePid(String catePid) {
this.catePid = catePid;
return this;
}
public GoblinStoreGoodsCategoryVo setNeIsbn(String neIsbn) {
this.neIsbn = neIsbn;
return this;
}
public GoblinStoreGoodsCategoryVo setDelFlg(String delFlg) {
this.delFlg = delFlg;
return this;
}
private String createdBy;
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
private String updatedBy;
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
private String deletedBy;
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime deletedAt;
private static final GoblinStoreGoodsCategoryVo obj = new GoblinStoreGoodsCategoryVo();
......@@ -79,4 +51,15 @@ public class GoblinStoreGoodsCategoryVo implements Serializable, Cloneable {
return new GoblinStoreGoodsCategoryVo();
}
}
public GoblinStoreGoodsCategoryVo copy(GoblinSelfGoodsCategoryVo source) {
if (null == source) return this;
this.setCateId(source.getCateId());
this.setName(source.getName());
this.setSort(source.getSort());
this.setGrade(source.getGrade());
this.setCatePid(source.getCatePid());
this.setNeIsbn(source.getNeIsbn());
return this;
}
}
......@@ -16,28 +16,28 @@ public interface IGoblinStoreMgtCategoryService {
/**
* 店铺商品分类:添加
*
* @param uid UID
* @param storeGoodsCategoryVos List<GoblinStoreGoodsCategoryVo>
* @return boolean
* @param storeId 店铺ID
* @param addStoreGoodsCategoryVos List<GoblinStoreGoodsCategoryVo>
* @param storeGoodsCategoryVosCache List<GoblinStoreGoodsCategoryVo>
*/
boolean add(String uid, List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVos);
void add(String storeId, List<GoblinStoreGoodsCategoryVo> addStoreGoodsCategoryVos, List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVosCache);
/**
* 店铺商品分类:编辑
*
* @param uid UID
* @param storeGoodsCategoryVo GoblinStoreGoodsCategoryVo
* @param updateStoreGoodsCategoryVo GoblinStoreGoodsCategoryVo
* @param storeGoodsCategoryVosCache List<GoblinStoreGoodsCategoryVo>
* @return boolean
*/
boolean edit(String uid, GoblinStoreGoodsCategoryVo storeGoodsCategoryVo);
boolean edit(GoblinStoreGoodsCategoryVo updateStoreGoodsCategoryVo, List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVosCache);
/**
* 店铺商品分类:删除
*
* @param uid UID
* @param storeId 店铺ID
* @param cateid 店铺分类ID
* @param cateId 店铺分类ID
* @return boolean
*/
boolean del(String uid, String storeId, String cateid);
boolean del(String uid, String storeId, String cateId);
}
......@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfGoodsCategoryVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreGoodsCategoryVo;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtCategoryService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
......@@ -16,6 +17,7 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -24,11 +26,13 @@ import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@ApiSupport(order = 149005)
@Api(tags = "店铺商品分类管理")
@Api(tags = "店铺商品分类")
@Slf4j
@Validated
@RestController
......@@ -53,67 +57,131 @@ public class GoblinStoreMgtCategoryController {
@ApiOperation(value = "添加")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catefid", value = "平台一级分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catesid", value = "平台二级分类ID[30]"),
// @ApiImplicitParam(type = "form", required = false, dataType = "String", name = "catetid", value = "平台三级分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catename", value = "店铺三级分类名称[50]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catefid", value = "平台分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catesid", value = "平台分类ID[30]"),
// @ApiImplicitParam(type = "form", required = false, dataType = "String", name = "catetid", value = "平台分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catename", value = "店铺分类名称[50]"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "sort", value = "排序[数值越小,排序越前]"),
})
@GetMapping("add")
public ResponseDto<Object> add(@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId,
@NotBlank(message = "平台一级分类ID不能为空") @RequestParam String catefid,
@NotBlank(message = "平台二级分类不能为空") @RequestParam String catesid,
// @NotBlank(message = "平台三级分类不能为空") @RequestParam String catetid,
@NotBlank(message = "店铺三级分类名称不能为空") @RequestParam String catename,
@Min(value = 0, message = "排序不能小于0") @RequestParam Integer sort) {
@NotBlank(message = "平台分类ID不能为空") @RequestParam String catefid,
@NotBlank(message = "平台分类不能为空") @RequestParam String catesid,
// @NotBlank(message = "平台分类不能为空") @RequestParam String catetid,
@NotBlank(message = "店铺分类名称不能为空") @RequestParam String catename,
@Min(value = 0, message = "排序不能小于0") @RequestParam(required = false) Integer sort) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
return ResponseDto.failure(ErrorMapping.get("149002"));
}
// TODO: 2022/1/11 zhanggb 逻辑校验,数据整理
String catefname = "1级分类", catesname = "2级分类", catefgrade = "1", catesgrade = "2";
int catefsort = 1, catessort=1;
List<GoblinSelfGoodsCategoryVo> selfGoodsCategoryVos = goblinRedisUtils.getSelfGoodsCategoryVos();
if (CollectionUtils.isEmpty(selfGoodsCategoryVos)) {
log.warn("店铺商品分类管理:添加:平台分类未创建[UID={},storeId={},catefid={},catesid={}]", currentUid, storeId, catefid, catesid);
return ResponseDto.failure(ErrorMapping.get("149001"));
}
List<String> catePidList = Arrays.asList(catefid, catesid);
Map<String, GoblinSelfGoodsCategoryVo> filterMap = selfGoodsCategoryVos.stream()
.filter(r -> catePidList.contains(r.getCateId())).collect(Collectors.toMap(GoblinSelfGoodsCategoryVo::getCateId, Function.identity()));
if (CollectionUtils.isEmpty(filterMap) || filterMap.size() < 2) {
log.warn("店铺商品分类管理:添加:平台分类ID有误[UID={},storeId={},catefid={},catesid={}]", currentUid, storeId, catefid, catesid);
return ResponseDto.failure(ErrorMapping.get("149001"));
}
ArrayList<GoblinStoreGoodsCategoryVo> addStoreGoodsCategoryVoList = ObjectUtil.getGoblinStoreGoodsCategoryVoArrayList();
LocalDateTime now = LocalDateTime.now();
List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVosCache = goblinRedisUtils.getStoreGoodsCategoryVos(storeId);
if (CollectionUtils.isEmpty(storeGoodsCategoryVosCache)) {// 不存在店铺商品分类,则直接初始化
filterMap.forEach((k, v) -> {
GoblinStoreGoodsCategoryVo storeGoodsCategoryVo = GoblinStoreGoodsCategoryVo.getNew().copy(v);
storeGoodsCategoryVo.setDelFlg("0");
storeGoodsCategoryVo.setStoreId(storeId);
storeGoodsCategoryVo.setCreatedBy(currentUid);
storeGoodsCategoryVo.setCreatedAt(now);
addStoreGoodsCategoryVoList.add(storeGoodsCategoryVo);
});
} else {// 存在则判断,是否为已存在的父级分类
Map<String, GoblinStoreGoodsCategoryVo> existFilterMap = storeGoodsCategoryVosCache.stream().filter(r -> catePidList.contains(r.getCateId()))
.collect(Collectors.toMap(GoblinStoreGoodsCategoryVo::getCateId, Function.identity()));
GoblinStoreGoodsCategoryVo fStoreGoodsCategoryVo = existFilterMap.get(catefid);
GoblinStoreGoodsCategoryVo sStoreGoodsCategoryVo = existFilterMap.get(catesid);
if (null == fStoreGoodsCategoryVo) {
GoblinStoreGoodsCategoryVo storeGoodsCategoryVo = GoblinStoreGoodsCategoryVo.getNew().copy(filterMap.get(catefid));
storeGoodsCategoryVo.setDelFlg("0");
storeGoodsCategoryVo.setStoreId(storeId);
storeGoodsCategoryVo.setCreatedBy(currentUid);
storeGoodsCategoryVo.setCreatedAt(now);
addStoreGoodsCategoryVoList.add(storeGoodsCategoryVo);
}
if (null == sStoreGoodsCategoryVo) {
GoblinStoreGoodsCategoryVo storeGoodsCategoryVo = GoblinStoreGoodsCategoryVo.getNew().copy(filterMap.get(catesid));
storeGoodsCategoryVo.setDelFlg("0");
storeGoodsCategoryVo.setStoreId(storeId);
storeGoodsCategoryVo.setCreatedBy(currentUid);
storeGoodsCategoryVo.setCreatedAt(now);
addStoreGoodsCategoryVoList.add(storeGoodsCategoryVo);
}
}
GoblinStoreGoodsCategoryVo storeGoodsCategoryVo = GoblinStoreGoodsCategoryVo.getNew();
storeGoodsCategoryVo.setStoreId(storeId);
storeGoodsCategoryVo.setCateId(IDGenerator.nextMilliId2());
storeGoodsCategoryVo.setName(catename);
storeGoodsCategoryVo.setSort(null == sort ? 1 : sort);
storeGoodsCategoryVo.setGrade("3");
storeGoodsCategoryVo.setCatePid(catesid);
storeGoodsCategoryVo.setNeIsbn("0");
storeGoodsCategoryVo.setDelFlg("0");
storeGoodsCategoryVo.setCreatedBy(currentUid);
storeGoodsCategoryVo.setCreatedAt(now);
addStoreGoodsCategoryVoList.add(storeGoodsCategoryVo);
ArrayList<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVoList = ObjectUtil.getGoblinStoreGoodsCategoryVoArrayList();
storeGoodsCategoryVoList.add(GoblinStoreGoodsCategoryVo.getNew().setStoreId(storeId).setCateId(catefid).setName(catefname)
.setSort(catefsort).setGrade(catefgrade).setCatePid(null));
storeGoodsCategoryVoList.add(GoblinStoreGoodsCategoryVo.getNew().setStoreId(storeId).setCateId(catesid).setName(catesname)
.setSort(catessort).setGrade(catesgrade).setCatePid(catefid));
storeGoodsCategoryVoList.add(GoblinStoreGoodsCategoryVo.getNew().setStoreId(storeId).setCateId(IDGenerator.nextMilliId2()).setName(catename)
.setSort(null == sort ? 0 : sort).setGrade("3").setCatePid(catesid));
return ResponseDto.success(goblinStoreMgtCategoryService.add(currentUid, storeGoodsCategoryVoList));
goblinStoreMgtCategoryService.add(currentUid, addStoreGoodsCategoryVoList, storeGoodsCategoryVosCache);
return ResponseDto.success(storeGoodsCategoryVo.getCateId());
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "编辑")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "cateid", value = "平台三级分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catename", value = "店铺三级分类名称[50]"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "sort", value = "排序[数值越小,排序越前]"), })
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "cateid", value = "店铺分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catename", value = "店铺分类名称[50]"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "sort", value = "排序[数值越小,排序越前]"),
})
@GetMapping("edit")
public ResponseDto<Object> edit(@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId,
@NotBlank(message = "店铺三级分类ID不能为空") @RequestParam String cateid,
@NotBlank(message = "店铺三级分类名称不能为空") @RequestParam String catename,
@Min(value = 0, message = "排序不能小于0") @RequestParam Integer sort) {
@NotBlank(message = "店铺分类ID不能为空") @RequestParam String cateid,
@NotBlank(message = "店铺分类名称不能为空") @RequestParam String catename,
@Min(value = 0, message = "排序不能小于0") @RequestParam(required = false) Integer sort) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
return ResponseDto.failure(ErrorMapping.get("149002"));
}
GoblinStoreGoodsCategoryVo storeGoodsCategoryVo = GoblinStoreGoodsCategoryVo.getNew()
.setStoreId(storeId).setCateId(cateid).setName(catename).setSort(sort);
return ResponseDto.success(goblinStoreMgtCategoryService.edit(currentUid, storeGoodsCategoryVo));
List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVosCache = goblinRedisUtils.getStoreGoodsCategoryVos(storeId);
if (CollectionUtils.isEmpty(storeGoodsCategoryVosCache)) {
log.warn("店铺商品分类管理:编辑:请先添加商品分类[UID={},storeId={},cateid={},catename={}]", currentUid, storeId, cateid, catename);
return ResponseDto.failure(ErrorMapping.get("149001"));
}
Optional<GoblinStoreGoodsCategoryVo> filterOpt = storeGoodsCategoryVosCache.stream().filter(r -> r.getCateId().equals(cateid)).findAny();
if (!filterOpt.isPresent()) {
log.warn("店铺商品分类管理:编辑:不存在的分类ID[UID={},storeId={},cateid={},catename={}]", currentUid, storeId, cateid, catename);
return ResponseDto.failure(ErrorMapping.get("149001"));
}
GoblinStoreGoodsCategoryVo updateStoreGoodsCategoryVo = filterOpt.get();
updateStoreGoodsCategoryVo.setName(catename);
updateStoreGoodsCategoryVo.setSort(null == sort ? 1 : sort);
updateStoreGoodsCategoryVo.setUpdatedBy(currentUid);
updateStoreGoodsCategoryVo.setUpdatedAt(LocalDateTime.now());
return ResponseDto.success(goblinStoreMgtCategoryService.edit(updateStoreGoodsCategoryVo, storeGoodsCategoryVosCache));
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "删除")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "cateid", value = "店铺三级分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "cateid", value = "店铺分类ID[30]"),
})
@GetMapping("del")
public ResponseDto<Object> del(@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId,
@NotBlank(message = "店铺三级分类ID不能为空") @RequestParam String cateid) {
@NotBlank(message = "店铺分类ID不能为空") @RequestParam String cateid) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
return ResponseDto.failure(ErrorMapping.get("149002"));
......
package com.liquidnet.service.goblin.service.impl.manage;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreGoodsCategoryVo;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtCategoryService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils;
......@@ -7,8 +10,12 @@ import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.QueueUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
@Service
public class GoblinStoreMgtCategoryServiceImpl implements IGoblinStoreMgtCategoryService {
......@@ -25,20 +32,65 @@ public class GoblinStoreMgtCategoryServiceImpl implements IGoblinStoreMgtCategor
}
@Override
public boolean add(String uid, List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVos) {
// TODO: 2022/1/11 zhanggb
return true;
public void add(String storeId, List<GoblinStoreGoodsCategoryVo> addStoreGoodsCategoryVos, List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVosCache) {
goblinMongoUtils.setStoreGoodsCategoryVos(addStoreGoodsCategoryVos);
if (CollectionUtils.isEmpty(storeGoodsCategoryVosCache)) {
storeGoodsCategoryVosCache = addStoreGoodsCategoryVos;
} else {
storeGoodsCategoryVosCache.addAll(addStoreGoodsCategoryVos);
}
goblinRedisUtils.setStoreGoodsCategoryVos(storeId, storeGoodsCategoryVosCache);
LinkedList<Object[]> initStoreGoodsCategoryObjs = CollectionUtil.linkedListObjectArr();
addStoreGoodsCategoryVos.forEach(r -> initStoreGoodsCategoryObjs.add(new Object[]{
r.getStoreId(), r.getCateId(), r.getName(), r.getSort(), r.getGrade(), r.getCatePid(), r.getNeIsbn(), r.getCreatedBy(), r.getCreatedAt()
}));
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_STORE.getKey(),
SqlMapping.get("goblin_store_goods_category.insert", initStoreGoodsCategoryObjs));
}
@Override
public boolean edit(String uid, GoblinStoreGoodsCategoryVo storeGoodsCategoryVo) {
// TODO: 2022/1/11 zhanggb
public boolean edit(GoblinStoreGoodsCategoryVo updateStoreGoodsCategoryVo, List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVosCache) {
if (goblinMongoUtils.updateStoreGoodsCategoryVo(updateStoreGoodsCategoryVo)) {
goblinRedisUtils.setStoreGoodsCategoryVos(updateStoreGoodsCategoryVo.getStoreId(), storeGoodsCategoryVosCache);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_STORE.getKey(), SqlMapping.get("goblin_store_goods_category.update",
updateStoreGoodsCategoryVo.getName(), updateStoreGoodsCategoryVo.getSort(), updateStoreGoodsCategoryVo.getUpdatedBy(),
updateStoreGoodsCategoryVo.getUpdatedAt(), updateStoreGoodsCategoryVo.getStoreId(), updateStoreGoodsCategoryVo.getCateId())
);
return true;
}
return false;
}
@Override
public boolean del(String uid, String storeId, String cateid) {
// TODO: 2022/1/11 zhanggb
public boolean del(String uid, String storeId, String cateId) {
List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVosCache = goblinRedisUtils.getStoreGoodsCategoryVos(storeId);
int beforeSize = storeGoodsCategoryVosCache.size();
storeGoodsCategoryVosCache.removeIf(r -> r.getCateId().equals(cateId));
int afterSize = storeGoodsCategoryVosCache.size();
if (beforeSize > afterSize) {
LocalDateTime now = LocalDateTime.now();
GoblinStoreGoodsCategoryVo delStoreGoodsCategoryVo = GoblinStoreGoodsCategoryVo.getNew();
delStoreGoodsCategoryVo.setStoreId(storeId);
delStoreGoodsCategoryVo.setCateId(cateId);
delStoreGoodsCategoryVo.setDelFlg("1");
delStoreGoodsCategoryVo.setUpdatedBy(uid);
delStoreGoodsCategoryVo.setUpdatedAt(now);
delStoreGoodsCategoryVo.setDeletedBy(uid);
delStoreGoodsCategoryVo.setDeletedAt(now);
if (goblinMongoUtils.updateStoreGoodsCategoryVo(delStoreGoodsCategoryVo)) {
goblinRedisUtils.setStoreGoodsCategoryVos(storeId, storeGoodsCategoryVosCache);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_STORE.getKey(),
SqlMapping.get("goblin_store_goods_category.remove",
uid, now, uid, now, storeId, cateId)
);
}
}
return true;
}
}
......@@ -54,6 +54,17 @@ public class GoblinMongoUtils {
/* ---------------------------------------- 店铺分类数据源 ---------------------------------------- */
public void setStoreGoodsCategoryVos(List<GoblinStoreGoodsCategoryVo> vos) {
mongoTemplate.insert(vos, GoblinStoreGoodsCategoryVo.class.getSimpleName());
}
public boolean updateStoreGoodsCategoryVo(GoblinStoreGoodsCategoryVo vo) {
return mongoTemplate.getCollection(GoblinStoreGoodsCategoryVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("storeId").is(vo.getStoreId()).and("cateId").is(vo.getCateId())).getQueryObject(),
ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(vo))
).getModifiedCount() > 0;
}
public List<GoblinStoreGoodsCategoryVo> getStoreGoodsCategoryVos(String storeId) {
return mongoTemplate.find(Query.query(Criteria.where("storeId").is(storeId)),
GoblinStoreGoodsCategoryVo.class, GoblinStoreGoodsCategoryVo.class.getSimpleName());
......@@ -300,7 +311,7 @@ public class GoblinMongoUtils {
// SPU分页
public PagedResult<GoblinStoreMgtGoodsListVo> getGoodsInfoVo(GoblinStoreMgtGoodsFilterParam filterParam) {
Criteria criteria = Criteria.where("delFlg").is("0");
Criteria criteria = Criteria.where("delFlg").is("0").and("storeId").is(filterParam.getStoreId());
if (StringUtils.isNotBlank(filterParam.getKeyword())) {
Pattern pattern = Pattern.compile("^.*" + filterParam.getKeyword() + ".*$", Pattern.CASE_INSENSITIVE);
criteria.andOperator(
......
......@@ -119,6 +119,10 @@ public class GoblinRedisUtils {
/* ---------------------------------------- 店铺分类数据源 ---------------------------------------- */
public boolean setStoreGoodsCategoryVos(String storeId, List<GoblinStoreGoodsCategoryVo> vos) {
return redisUtil.set(GoblinRedisConst.BASIC_STORE_GOODS_CATEGORY.concat(storeId), JsonUtils.toJson(vos));
}
public List<GoblinStoreGoodsCategoryVo> getStoreGoodsCategoryVos(String storeId) {
String rk = GoblinRedisConst.BASIC_STORE_GOODS_CATEGORY.concat(storeId);
String valStr = (String) redisUtil.get(rk);
......
......@@ -16,6 +16,10 @@ goblin_store_notice.update=UPDATE goblin_store_notice set content=?,release_time
goblin_store_notice.release=UPDATE goblin_store_notice SET release_time=?,status='1',updated_by=?,updated_at=? WHERE store_id=? AND notice_id=?
goblin_store_notice.remove=UPDATE goblin_store_notice SET del_flg='1',updated_by=?,updated_at=? WHERE store_id=? AND notice_id=?
#---- 店铺商品分类信息
goblin_store_goods_category.insert=INSERT INTO goblin_store_goods_category (store_id,cate_id,name,sort,grade,cate_pid,ne_isbn,created_by,created_at)VALUES(?,?,?,?,?,?,?,?,?)
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_goods.insert=INSERT INTO goblin_goods (spu_id,spu_no,name,subtitle,sell_price, price_ge,price_le,intro,details,cover_pic, video,spec_mode,store_id,cate_fid,cate_sid, cate_tid,store_cate_fid,store_cate_sid,store_cate_tid,brand_id, shelves_handle,shelves_time,spu_validity,virtual_flg,status, shelves_status,spu_appear,shelves_at,created_by,created_at, logistics_template)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin_goods.update_by_shelves=UPDATE goblin_goods SET shelves_status=?,shelves_at=?,updated_by=?,updated_at=? WHERE spu_id=? AND store_id=? AND spu_appear='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