From fdb6ddebb3309d8f0a856666f9b6cb7189780f10 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 25 Apr 2022 17:54:26 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java | 185 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 179 insertions(+), 6 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
index 379d795..391a690 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -2,15 +2,11 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.mall.dto.AddMallGoodsDto;
-import cc.mrbird.febs.mall.dto.AddMallGoodsSkuDto;
-import cc.mrbird.febs.mall.dto.UpMallGoodsDto;
+import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminMallGoodsService;
-import cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo;
-import cc.mrbird.febs.mall.vo.AdminMailGoodsSkuDetailVo;
-import cc.mrbird.febs.mall.vo.AdminMallGoodsVo;
+import cc.mrbird.febs.mall.vo.*;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -23,6 +19,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -30,6 +27,7 @@
@Slf4j
@Service
@RequiredArgsConstructor
+@Transactional
public class AdminMallGoodsService extends ServiceImpl<MallGoodsMapper, MallGoods> implements IAdminMallGoodsService {
private final MallGoodsCategoryMapper mallGoodsCategoryMapper;
@@ -37,6 +35,7 @@
private final MallGoodsSkuMapper mallGoodsSkuMapper;
private final MallGoodsStyleMapper mallGoodsStyleMapper;
private final MallGoodsImagesMapper mallGoodsImagesMapper;
+ private final MallShoppingCartMapper mallShoppingCartMapper;
@Override
public IPage<AdminMallGoodsVo> getCategoryListInPage(MallGoods mallGoods, QueryRequest request) {
@@ -76,6 +75,10 @@
String skuName = addSku.getSkuName();
if(StrUtil.isEmpty(skuName)){
return new FebsResponse().fail().message("商品规格名称不能为空");
+ }
+ String skuImage = addSku.getSkuImage();
+ if(StrUtil.isEmpty(skuImage)){
+ return new FebsResponse().fail().message("商品规格图片不能为空");
}
Integer skuVolume = addSku.getSkuVolume()==null?0: addSku.getSkuVolume();
if(skuVolume < 0){
@@ -189,6 +192,7 @@
}
@Override
+ @Transactional
public FebsResponse delMallGoods(Long id) {
MallGoods mallGoods = mallGoodsMapper.selectById(id);
if(ObjectUtil.isEmpty(mallGoods)){
@@ -202,6 +206,8 @@
mallGoodsStyleMapper.deleteByGoodsId(id);
mallGoodsSkuMapper.deleteByGoodsId(id);
mallGoodsMapper.deleteById(mallGoods);
+ mallShoppingCartMapper.deleteByGoodsId(id);
+
return new FebsResponse().success();
}
@@ -213,5 +219,172 @@
return adminMailGoodsDetailVo;
}
+ @Override
+ public AdminMailGoodsUpdateVo getMallGoodsUpdateInfoById(long id) {
+ AdminMailGoodsUpdateVo adminMailGoodsUpdateVo = mallGoodsMapper.getMallGoodsUpdateInfoById(id);
+ List<AdminMailGoodsSkuDetailVo> adminMailGoodsSkuDetailVos = mallGoodsSkuMapper.selectByGoodId(id);
+ if(CollUtil.isNotEmpty(adminMailGoodsSkuDetailVos)){
+ adminMailGoodsUpdateVo.setMailGoodsSkuDetailVo(adminMailGoodsSkuDetailVos);
+ }
+ List<String> adminMailGoodsImagesVos = mallGoodsImagesMapper.selectByGoodId(id);
+ if(CollUtil.isNotEmpty(adminMailGoodsImagesVos)){
+ adminMailGoodsUpdateVo.setMailGoodsImagesVo(adminMailGoodsImagesVos);
+ }
+ return adminMailGoodsUpdateVo;
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse updateMallGoods(MallGoodsUpdateDto mallGoodsUpdateDto) {
+ String goodsName = mallGoodsUpdateDto.getGoodsName();
+ if(StrUtil.isEmpty(goodsName)){
+ return new FebsResponse().fail().message("商品名称不能为空");
+ }
+ Integer mallGoodsByGoodsName = mallGoodsMapper.selectMallGoodsCountByGoodsNameAndGoodId(goodsName,mallGoodsUpdateDto.getId());
+ if(mallGoodsByGoodsName > 0){
+ return new FebsResponse().fail().message("商品名称不能重复");
+ }
+ String goodsNo = mallGoodsUpdateDto.getGoodsNo();
+ if(StrUtil.isEmpty(goodsNo)){
+ return new FebsResponse().fail().message("商品编号不能为空");
+ }
+ Integer mallGoodsByGoodsNo = mallGoodsMapper.selectMallGoodsCountByGoodsNoAndGoodId(goodsNo,mallGoodsUpdateDto.getId());
+ if(mallGoodsByGoodsNo > 0){
+ return new FebsResponse().fail().message("商品编号不能重复");
+ }
+ Long categoryId = mallGoodsUpdateDto.getCategoryId();
+ if(ObjectUtil.isEmpty(categoryId)){
+ return new FebsResponse().fail().message("商品分类不能为空");
+ }
+ List<MailGoodsSkuDto> addSkus = mallGoodsUpdateDto.getMailGoodsSkuDto();
+ if(CollUtil.isEmpty(addSkus)){
+ return new FebsResponse().fail().message("商品规格不能为空");
+ }
+ for(MailGoodsSkuDto addSku : addSkus){
+ String skuName = addSku.getSkuName();
+ if(StrUtil.isEmpty(skuName)){
+ return new FebsResponse().fail().message("商品规格名称不能为空");
+ }
+ String skuImage = addSku.getSkuImage();
+ if(StrUtil.isEmpty(skuImage)){
+ return new FebsResponse().fail().message("商品规格图片不能为空");
+ }
+ Integer skuVolume = addSku.getSkuVolume()==null?0: addSku.getSkuVolume();
+ if(skuVolume < 0){
+ return new FebsResponse().fail().message("商品规格销售数量不能小于0");
+ }
+ Integer stock = addSku.getStock()==null?0: addSku.getStock();
+ if(stock < 0){
+ return new FebsResponse().fail().message("商品规格库存必须大于0");
+ }
+ BigDecimal originalPrice = addSku.getOriginalPrice();
+ if(originalPrice.compareTo(BigDecimal.ZERO) <= 0){
+ return new FebsResponse().fail().message("商品规格原价不能小于0");
+ }
+ BigDecimal presentPrice = addSku.getPresentPrice();
+ if(presentPrice.compareTo(BigDecimal.ZERO) <= 0){
+ return new FebsResponse().fail().message("商品规格现价不能小于0");
+ }
+
+ }
+ //新增商品
+ MallGoods mallGoods = mallGoodsMapper.selectById(mallGoodsUpdateDto.getId());
+ mallGoods.setGoodsNo(mallGoodsUpdateDto.getGoodsNo());
+ mallGoods.setGoodsName(mallGoodsUpdateDto.getGoodsName());
+ mallGoods.setGoodsIntrodution(mallGoodsUpdateDto.getGoodsIntrodution());
+ mallGoods.setUnit(mallGoodsUpdateDto.getUnit());
+ mallGoods.setThumb(mallGoodsUpdateDto.getThumb());
+ mallGoods.setGoodsDetails(mallGoodsUpdateDto.getGoodsDetails());
+ mallGoods.setOriginalPrice(mallGoodsUpdateDto.getOriginalPrice());
+ mallGoods.setCategoryId(mallGoodsUpdateDto.getCategoryId());
+ mallGoods.setPresentPrice(mallGoodsUpdateDto.getPresentPrice());
+ mallGoods.setIsHot(mallGoodsUpdateDto.getIsHot());
+// mallGoods.setIsSale(MallGoods.ISSALE_STATUS_DISABLED);
+ mallGoodsMapper.updateById(mallGoods);
+
+ mallGoodsImagesMapper.deleteByGoodsId(mallGoodsUpdateDto.getId());
+
+ String thumbs = mallGoodsUpdateDto.getThumbs();
+ if(StrUtil.isNotEmpty(thumbs)){
+ List<String> imgs = StrUtil.splitTrim(thumbs, ",");
+ if(CollUtil.isNotEmpty(imgs)){
+ int i = 1;
+ for(String img : imgs){
+ MallGoodsImages mallGoodsImages = new MallGoodsImages();
+ mallGoodsImages.setGoodsId(mallGoods.getId());
+ mallGoodsImages.setImageUrl(img);
+ mallGoodsImages.setSeq(i);
+ mallGoodsImagesMapper.insert(mallGoodsImages);
+ i++;
+ }
+ }
+ }
+
+ List<MailGoodsSkuDto> mailGoodsSkuDto = mallGoodsUpdateDto.getMailGoodsSkuDto();
+ Set<String> styles = new HashSet<>();
+ if(CollUtil.isNotEmpty(mailGoodsSkuDto)){
+ for(MailGoodsSkuDto addStyleDto : mailGoodsSkuDto){
+ if(ObjectUtil.isNotEmpty(addStyleDto.getDelLog())){
+ mallGoodsSkuMapper.deleteById(addStyleDto.getId());
+
+ mallShoppingCartMapper.deleteByGoodsIdAndSkuId(addStyleDto.getId(),addStyleDto.getGoodsId());
+ }
+ if(ObjectUtil.isEmpty(addStyleDto.getStyleId())){
+ MallGoodsStyle mallGoodsStyleSku = mallGoodsStyleMapper.selectByStyleName(addStyleDto.getStyleName(),mallGoods.getId());
+ if(ObjectUtil.isEmpty(mallGoodsStyleSku)){
+ styles.add(addStyleDto.getStyleName());
+ }
+ }
+ }
+ }
+ if(CollUtil.isNotEmpty(styles)){
+ for(String style : styles){
+ //新增样式
+ MallGoodsStyle mallGoodsStyle = new MallGoodsStyle();
+ mallGoodsStyle.setName(style);
+ mallGoodsStyle.setGoodsId(mallGoods.getId());
+ mallGoodsStyleMapper.insert(mallGoodsStyle);
+ }
+ }
+
+ if(CollUtil.isNotEmpty(mailGoodsSkuDto)){
+ for(MailGoodsSkuDto addMallGoodsSkuDto : mailGoodsSkuDto){
+ if(StrUtil.isEmpty(addMallGoodsSkuDto.getDelLog())){
+ if(ObjectUtil.isNotEmpty(addMallGoodsSkuDto.getId())){
+ MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(addMallGoodsSkuDto.getId());
+ mallGoodsSku.setSkuName(addMallGoodsSkuDto.getSkuName());
+ mallGoodsSku.setSkuImage(addMallGoodsSkuDto.getSkuImage());
+ mallGoodsSku.setStock(addMallGoodsSkuDto.getStock()==null?0:addMallGoodsSkuDto.getStock());
+ mallGoodsSku.setSkuVolume(addMallGoodsSkuDto.getSkuVolume()==null?0:addMallGoodsSkuDto.getSkuVolume());
+ mallGoodsSku.setOriginalPrice(addMallGoodsSkuDto.getOriginalPrice());
+ mallGoodsSku.setPresentPrice(addMallGoodsSkuDto.getPresentPrice());
+ mallGoodsSku.setStyleId(addMallGoodsSkuDto.getStyleId());
+ mallGoodsSku.setGoodsId(mallGoods.getId());
+ mallGoodsSkuMapper.updateById(mallGoodsSku);
+ }else{
+ //新增商品规格
+ MallGoodsStyle mallGoodsStyleSku = mallGoodsStyleMapper.selectByStyleName(addMallGoodsSkuDto.getStyleName(),mallGoods.getId());
+ MallGoodsSku mallGoodsSku = new MallGoodsSku();
+ mallGoodsSku.setSkuName(addMallGoodsSkuDto.getSkuName());
+ mallGoodsSku.setSkuImage(addMallGoodsSkuDto.getSkuImage());
+ mallGoodsSku.setStock(addMallGoodsSkuDto.getStock()==null?0:addMallGoodsSkuDto.getStock());
+ mallGoodsSku.setSkuVolume(addMallGoodsSkuDto.getSkuVolume()==null?0:addMallGoodsSkuDto.getSkuVolume());
+ mallGoodsSku.setOriginalPrice(addMallGoodsSkuDto.getOriginalPrice());
+ mallGoodsSku.setPresentPrice(addMallGoodsSkuDto.getPresentPrice());
+ mallGoodsSku.setStyleId(mallGoodsStyleSku.getId());
+ mallGoodsSku.setGoodsId(mallGoods.getId());
+ mallGoodsSkuMapper.insert(mallGoodsSku);
+ }
+ }
+ }
+ }
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public List<AdminMallGoodsTreeVo> getAllGoodsTree() {
+ return mallGoodsMapper.getAllGoodsTree();
+ }
+
}
--
Gitblit v1.9.1