diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dos/DraftGoods.java b/framework/src/main/java/cn/lili/modules/goods/entity/dos/DraftGoods.java index 23e0a4a3..df07486c 100644 --- a/framework/src/main/java/cn/lili/modules/goods/entity/dos/DraftGoods.java +++ b/framework/src/main/java/cn/lili/modules/goods/entity/dos/DraftGoods.java @@ -64,6 +64,10 @@ public class DraftGoods extends BaseEntity { @ApiModelProperty(value = "详情") private String intro; + + @ApiModelProperty(value = "商品移动端详情") + private String mobileIntro; + @Max(value = 99999999, message = "价格不能超过99999999") @ApiModelProperty(value = "商品价格") private Double price; @@ -114,11 +118,6 @@ public class DraftGoods extends BaseEntity { @ApiModelProperty(value = "是否自营") private Boolean selfOperated; - /** - * 商品移动端详情 - */ - @ApiModelProperty(value = "商品移动端详情") - private String mobileIntro; @ApiModelProperty(value = "商品视频") private String goodsVideo; diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/vos/SpecValueVO.java b/framework/src/main/java/cn/lili/modules/goods/entity/vos/SpecValueVO.java index 79ee16af..81bbc39b 100644 --- a/framework/src/main/java/cn/lili/modules/goods/entity/vos/SpecValueVO.java +++ b/framework/src/main/java/cn/lili/modules/goods/entity/vos/SpecValueVO.java @@ -26,14 +26,24 @@ public class SpecValueVO implements Serializable { @ApiModelProperty(value = "规格值") private String specValue; - /** - * 规格类型,1图片 0 非图片 - */ @ApiModelProperty(value = "该规格是否有图片,1 有 0 没有") private Integer specType; /** * 规格图片 */ @ApiModelProperty(value = "规格的图片") - private List specImage; + private List specImage; + + @Data + public static class SpecImages implements Serializable { + + private static final long serialVersionUID = 1816357809660916086L; + + private String url; + + private String name; + + private String status; + + } } diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsParamsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsParamsServiceImpl.java index 4fae7285..93296051 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsParamsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsParamsServiceImpl.java @@ -2,7 +2,6 @@ package cn.lili.modules.goods.serviceimpl; import cn.lili.modules.goods.entity.dos.CategoryParameterGroup; import cn.lili.modules.goods.entity.dos.GoodsParams; -import cn.lili.modules.goods.entity.dos.Parameters; import cn.lili.modules.goods.entity.vos.GoodsParamsGroupVO; import cn.lili.modules.goods.entity.vos.GoodsParamsVO; import cn.lili.modules.goods.mapper.GoodsParamsMapper; @@ -12,7 +11,6 @@ import cn.lili.modules.goods.service.ParametersService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,8 +36,6 @@ public class GoodsParamsServiceImpl extends ServiceImpl paramList, String goodsId) { @@ -48,12 +44,11 @@ public class GoodsParamsServiceImpl extends ServiceImpl i //商品相册 @Autowired private GoodsGalleryService goodsGalleryService; - //规格 - @Autowired - private SpecificationService specificationService; //缓存 @Autowired private StringRedisTemplate stringRedisTemplate; @@ -317,33 +316,30 @@ public class GoodsSkuServiceImpl extends ServiceImpl i @Override public GoodsSkuVO getGoodsSkuVO(GoodsSku goodsSku) { + //厨师还商品 GoodsSkuVO goodsSkuVO = new GoodsSkuVO(goodsSku); + //获取sku信息 JSONObject jsonObject = JSONUtil.parseObj(goodsSku.getSpecs()); + //用于接受sku信息 List specValueVOS = new ArrayList<>(); + //用于接受sku相册 List goodsGalleryList = new ArrayList<>(); -// for (Map.Entry entry : jsonObject.entrySet()) { -// SpecValueVO s = new SpecValueVO(); -// if (entry.getKey().equals("images")) { -// s.setSpecName(entry.getKey()); -// if (entry.getValue().toString().contains("url")) { -// List specImages = JSONUtil.toList(JSONUtil.parseArray(entry.getValue()), SpecValueVO.SpecImages.class); -// s.setSpecImage(specImages); -// goodsGalleryList = specImages.stream().map(SpecValueVO.SpecImages::getUrl).collect(Collectors.toList()); -// } -// } else { -// SpecificationVO specificationVO = new SpecificationVO(); -// specificationVO.setSpecName(entry.getKey()); -// specificationVO.setStoreId(goodsSku.getStoreId()); -// specificationVO.setCategoryPath(goodsSku.getCategoryPath()); -// Specification specification = specificationService.addSpecification(specificationVO); -// s.setSpecNameId(specification.getId()); -// SpecValues specValues = specValuesService.getSpecValues(entry.getValue().toString(), specification.getId()); -// s.setSpecValueId(specValues.getId()); -// s.setSpecName(entry.getKey()); -// s.setSpecValue(entry.getValue().toString()); -// } -// specValueVOS.add(s); -// } + //循环提交的sku表单 + for (Map.Entry entry : jsonObject.entrySet()) { + SpecValueVO specValueVO = new SpecValueVO(); + if (entry.getKey().equals("images")) { + specValueVO.setSpecName(entry.getKey()); + if (entry.getValue().toString().contains("url")) { + List specImages = JSONUtil.toList(JSONUtil.parseArray(entry.getValue()), SpecValueVO.SpecImages.class); + specValueVO.setSpecImage(specImages); + goodsGalleryList = specImages.stream().map(SpecValueVO.SpecImages::getUrl).collect(Collectors.toList()); + } + } else { + specValueVO.setSpecName(entry.getKey()); + specValueVO.setSpecValue(entry.getValue().toString()); + } + specValueVOS.add(specValueVO); + } goodsSkuVO.setGoodsGalleryList(goodsGalleryList); goodsSkuVO.setSpecList(specValueVOS); return goodsSkuVO; @@ -603,29 +599,34 @@ public class GoodsSkuServiceImpl extends ServiceImpl i List attributes = new ArrayList<>(); //获取规格信息 - for (Map.Entry m : map.entrySet()) { + for (Map.Entry spec : map.entrySet()) { //保存规格信息 - if (m.getKey().equals("id") || m.getKey().equals("sn") || m.getKey().equals("cost") || m.getKey().equals("price") || m.getKey().equals("quantity") || m.getKey().equals("weight")) { + if (spec.getKey().equals("id") || spec.getKey().equals("sn") || spec.getKey().equals("cost") + || spec.getKey().equals("price") || spec.getKey().equals("quantity") + || spec.getKey().equals("weight")) { continue; } else { - specMap.put(m.getKey(), m.getValue()); - if (m.getKey().equals("images")) { + specMap.put(spec.getKey(), spec.getValue()); + if (spec.getKey().equals("images")) { //设置规格商品缩略图 - List> images = (List>) m.getValue(); + List> images = (List>) spec.getValue(); if (images == null || images.isEmpty()) { - throw new ServiceException("sku图片至少为一个"); + continue; + } + //设置规格商品缩略图 + //如果规格没有图片,则用商品图片复盖。有则增加规格图片,放在商品图片集合之前 + if (spec.getValue() != null && StringUtils.isNotEmpty(spec.getValue().toString())) { + thumbnail = goodsGalleryService.getGoodsGallery(images.get(0).get("url")).getThumbnail(); + small = goodsGalleryService.getGoodsGallery(images.get(0).get("url")).getSmall(); + } else { + //设置商品名称 + goodsName.append(" ").append(spec.getValue()); + //规格简短信息 + simpleSpecs.append(" ").append(spec.getValue()); } - thumbnail = goodsGalleryService.getGoodsGallery(images.get(0).get("url")).getThumbnail(); - small = goodsGalleryService.getGoodsGallery(images.get(0).get("url")).getSmall(); - } else { - //设置商品名称 - goodsName.append(" ").append(m.getValue()); - //规格简短信息 - simpleSpecs.append(" ").append(m.getValue()); } } } - //设置规格信息 sku.setGoodsName(goodsName.toString()); sku.setThumbnail(thumbnail); @@ -656,4 +657,4 @@ public class GoodsSkuServiceImpl extends ServiceImpl i public void setGoodsIndexService(EsGoodsIndexService goodsIndexService) { this.goodsIndexService = goodsIndexService; } -} \ No newline at end of file +} diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewDataServiceImpl.java index 8d69e54f..2d358804 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewDataServiceImpl.java @@ -4,7 +4,6 @@ import cn.lili.common.cache.Cache; import cn.lili.common.cache.CachePrefix; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.CurrencyUtil; -import cn.lili.common.utils.DateUtil; import cn.lili.config.properties.StatisticsProperties; import cn.lili.modules.base.entity.enums.ClientTypeEnum; import cn.lili.modules.member.entity.vo.MemberDistributionVO; @@ -221,8 +220,6 @@ public class PlatformViewDataServiceImpl extends ServiceImpl getSpecifications(String categoryId) { + public List getSpecifications(@PathVariable String categoryId) { return categorySpecificationService.getCategorySpecList(categoryId); }