From 08e9a67dd679f311e79a27b04cd0c53a30b4bccf Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 04 六月 2026 18:33:22 +0800
Subject: [PATCH] aaa
---
server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
index b714aac..c1e1d93 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -354,9 +354,9 @@
goods.setCreateDate(new Date());
goods.setCreator(user.getId());
goods.setIsdeleted(Constants.ZERO);
- //澶勭悊鎷奸煶闂
goods.setPinyin(PinYinUtil.getFullSpell(goods.getName()));
goods.setShortPinyin(PinYinUtil.getFirstSpell(goods.getName()));
+ this.validateSubCategory(goods);
goodsMapper.insert(goods);
List<Multifile> multifileList = goods.getMultifileList();
@@ -484,9 +484,9 @@
goods.setEditDate(new Date());
goods.setEditor(user.getId());
goods.setIsdeleted(Constants.ZERO);
- //澶勭悊鎷奸煶闂
goods.setPinyin(PinYinUtil.getFullSpell(goods.getName()));
goods.setShortPinyin(PinYinUtil.getFirstSpell(goods.getName()));
+ this.validateSubCategory(goods);
goodsMapper.updateById(goods);
multifileMapper.delete(new QueryWrapper<Multifile>().eq("OBJ_ID",goods.getId())
@@ -1255,6 +1255,7 @@
queryWrapper.eq(Goods::getIsdeleted,Constants.ZERO);
queryWrapper.eq(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getCategoryId()), Goods::getCategoryId, pageWrap.getModel().getCategoryId())
+ .eq(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getSubCategoryId()), Goods::getSubCategoryId, pageWrap.getModel().getSubCategoryId())
.eq(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getBrandId()), Goods::getBrandId, pageWrap.getModel().getBrandId())
.and(!Objects.isNull(pageWrap.getModel()) && StringUtils.isNotBlank(pageWrap.getModel().getKeyword()),
i->i.like(Goods::getPinyin,pageWrap.getModel().getKeyword())
@@ -1275,6 +1276,16 @@
this.dealGoodsMsg(goodsIPage.getRecords());
}
return PageData.from(goodsIPage);
+ }
+
+ private void validateSubCategory(Goods goods) {
+ if (goods.getSubCategoryId() == null) {
+ return;
+ }
+ Category sub = categoryMapper.selectById(goods.getSubCategoryId());
+ if (sub == null || sub.getParentId() == null || !sub.getParentId().equals(goods.getCategoryId())) {
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浜岀骇绫诲埆蹇呴』灞炰簬鎵�閫変竴绾у搧绫�");
+ }
}
@@ -1321,6 +1332,7 @@
queryWrapper.eq(Goods::getIsdeleted,Constants.ZERO);
queryWrapper.eq(Goods::getCompanyId,loginUserInfo.getCompanyId());
queryWrapper.eq(!Objects.isNull(goodsRequest) && !Objects.isNull(goodsRequest.getCategoryId()), Goods::getCategoryId, goodsRequest.getCategoryId())
+ .eq(!Objects.isNull(goodsRequest) && !Objects.isNull(goodsRequest.getSubCategoryId()), Goods::getSubCategoryId, goodsRequest.getSubCategoryId())
.eq(!Objects.isNull(goodsRequest) && !Objects.isNull(goodsRequest.getBrandId()), Goods::getBrandId, goodsRequest.getBrandId())
.and(!Objects.isNull(goodsRequest) && StringUtils.isNotBlank(goodsRequest.getKeyword()),
i->i.like(Goods::getPinyin,goodsRequest.getKeyword())
--
Gitblit v1.9.3