diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/controller/web/ItemController.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/controller/web/ItemController.java index 7b1c07ca..a49d2791 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/controller/web/ItemController.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/controller/web/ItemController.java @@ -1,27 +1,37 @@ package com.xjs.mall.product.controller.web; +import com.xjs.mall.product.service.SkuInfoService; +import com.xjs.mall.product.vo.sku.SkuItemVo; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; /** * 详情页面控制器 + * * @author xiejs * @since 2022-05-12 */ @Controller public class ItemController { + @Autowired + private SkuInfoService skuInfoService; + /** * 展示当前Sku的详情 - * @param skuId - * @return + * + * @param skuId 商品id + * @return 跳转 */ @GetMapping("/{skuId}.html") - public String skuItem(@PathVariable Long skuId) { + public String skuItem(@PathVariable Long skuId, Model model) { - System.out.println(skuId); + SkuItemVo vo = skuInfoService.item(skuId); + model.addAttribute("item", vo); return "item"; } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/dao/AttrGroupDao.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/dao/AttrGroupDao.java index 729e3dc5..1fd8f66c 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/dao/AttrGroupDao.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/dao/AttrGroupDao.java @@ -2,14 +2,25 @@ package com.xjs.mall.product.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xjs.mall.product.entity.AttrGroupEntity; +import com.xjs.mall.product.vo.sku.SpuItemAttrGroupVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 属性分组 - * + * * @author xiejs * @email 1294405880@qq.com * @date 2022-03-15 10:16:53 */ public interface AttrGroupDao extends BaseMapper { - + + /** + * 通过 Spu Id 获取具有 Attrs 的 Attr 组 + * + * @param spuId spuId + * @return SpuItemAttrGroupVo + */ + List getAttrGroupWithAttrsBySpuId(@Param("spuId") Long spuId, @Param("catalogId") Long catalogId); } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/dao/SkuSaleAttrValueDao.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/dao/SkuSaleAttrValueDao.java index 677584d8..937f5c1b 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/dao/SkuSaleAttrValueDao.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/dao/SkuSaleAttrValueDao.java @@ -2,14 +2,24 @@ package com.xjs.mall.product.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xjs.mall.product.entity.SkuSaleAttrValueEntity; +import com.xjs.mall.product.vo.sku.SkuItemSaleAttrVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * sku销售属性&值 - * + * * @author xiejs * @email 1294405880@qq.com * @date 2022-03-15 10:16:53 */ public interface SkuSaleAttrValueDao extends BaseMapper { - + + /** + * 通过 Spu Id 获取销售属性 + * @param spuId spuId + * @return list + */ + List getSaleAttrsBySpuId(@Param("spuId") Long spuId); } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/AttrGroupService.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/AttrGroupService.java index 95b1d4e5..bef4a9a9 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/AttrGroupService.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/AttrGroupService.java @@ -3,6 +3,7 @@ package com.xjs.mall.product.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xjs.mall.product.entity.AttrGroupEntity; import com.xjs.mall.product.vo.AttrGroupWithAttrsVo; +import com.xjs.mall.product.vo.sku.SpuItemAttrGroupVo; import com.xjs.utils.PageUtils; import java.util.List; @@ -36,9 +37,18 @@ public interface AttrGroupService extends IService { /** * 根据分类id查出所有的分组以及这些组里面的属性 + * * @param categoryId 分类id * @return list */ List getAttrGroupWithAttrsByCatelogId(Long categoryId); + + /** + * 通过 Spu Id 获取具有 Attrs 的 Attr 组 + * + * @param spuId spuId + * @return SpuItemAttrGroupVo + */ + List getAttrGroupWithAttrsBySpuId(Long spuId, Long catalogId); } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuImagesService.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuImagesService.java index f8d3ca4a..a42c8aa1 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuImagesService.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuImagesService.java @@ -3,6 +3,8 @@ package com.xjs.mall.product.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xjs.mall.product.entity.SkuImagesEntity; +import java.util.List; + /** * sku图片 * @@ -12,5 +14,11 @@ import com.xjs.mall.product.entity.SkuImagesEntity; */ public interface SkuImagesService extends IService { + /** + * 按 Sku Id 获取图片 + * @param skuId skuid + * @return image实体 + */ + List getImagesBySkuId(Long skuId); } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuInfoService.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuInfoService.java index 9331d72b..023bac7a 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuInfoService.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuInfoService.java @@ -1,6 +1,7 @@ package com.xjs.mall.product.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.xjs.mall.product.vo.sku.SkuItemVo; import com.xjs.utils.PageUtils; import com.xjs.mall.product.entity.SkuInfoEntity; @@ -36,5 +37,12 @@ public interface SkuInfoService extends IService { * @return list */ List getSkusBySpuId(Long spuId); + + /** + * 查询商品详情 + * @param skuId 商品id + * @return 商品详情vo + */ + SkuItemVo item(Long skuId); } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuSaleAttrValueService.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuSaleAttrValueService.java index c800bbe1..e78022cf 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuSaleAttrValueService.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/SkuSaleAttrValueService.java @@ -2,6 +2,9 @@ package com.xjs.mall.product.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xjs.mall.product.entity.SkuSaleAttrValueEntity; +import com.xjs.mall.product.vo.sku.SkuItemSaleAttrVo; + +import java.util.List; /** * sku销售属性&值 @@ -12,5 +15,11 @@ import com.xjs.mall.product.entity.SkuSaleAttrValueEntity; */ public interface SkuSaleAttrValueService extends IService { + /** + * 通过 Spu Id 获取销售属性 + * @param spuId spuId + * @return list + */ + List getSaleAttrsBySpuId(Long spuId); } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/AttrGroupServiceImpl.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/AttrGroupServiceImpl.java index 5ffd6314..953d3ee6 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/AttrGroupServiceImpl.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/AttrGroupServiceImpl.java @@ -17,6 +17,7 @@ import com.xjs.mall.product.service.AttrService; import com.xjs.mall.product.service.CategoryService; import com.xjs.mall.product.vo.AttrGroupResponseVo; import com.xjs.mall.product.vo.AttrGroupWithAttrsVo; +import com.xjs.mall.product.vo.sku.SpuItemAttrGroupVo; import com.xjs.utils.PageUtils; import com.xjs.utils.Query; import org.apache.commons.lang3.StringUtils; @@ -82,11 +83,11 @@ public class AttrGroupServiceImpl extends ServiceImpl relationEntityList = attrAttrgroupRelationService .list(new LambdaQueryWrapper() - .eq(AttrAttrgroupRelationEntity::getAttrGroupId, id)); + .eq(AttrAttrgroupRelationEntity::getAttrGroupId, id)); if (CollUtil.isEmpty(relationEntityList)) { super.removeById(id); - }else { + } else { throw new MallException("含有被引用的规格参数未删除,请先删除规格参数"); } } @@ -113,12 +114,19 @@ public class AttrGroupServiceImpl extends ServiceImpl { AttrGroupWithAttrsVo attrsVo = new AttrGroupWithAttrsVo(); - BeanUtils.copyProperties(group,attrsVo); + BeanUtils.copyProperties(group, attrsVo); List attrs = attrService.getRelationAttr(attrsVo.getAttrGroupId()); attrsVo.setAttrs(attrs); return attrsVo; }).collect(Collectors.toList()); } + @Override + public List getAttrGroupWithAttrsBySpuId(Long spuId, Long catalogId) { + //查出当前spu对应的所有属性的分组信息以及分组下的所有属性对应的值 + + return super.baseMapper.getAttrGroupWithAttrsBySpuId(spuId,catalogId); + } + } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuImagesServiceImpl.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuImagesServiceImpl.java index f7c0a285..38b58a05 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuImagesServiceImpl.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuImagesServiceImpl.java @@ -1,15 +1,25 @@ package com.xjs.mall.product.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xjs.mall.product.dao.SkuImagesDao; import com.xjs.mall.product.entity.SkuImagesEntity; import com.xjs.mall.product.service.SkuImagesService; import org.springframework.stereotype.Service; +import java.util.List; + @Service("skuImagesService") public class SkuImagesServiceImpl extends ServiceImpl implements SkuImagesService { + @Override + public List getImagesBySkuId(Long skuId) { + SkuImagesDao skuImagesDao = super.baseMapper; + + return skuImagesDao.selectList(new LambdaQueryWrapper() + .eq(SkuImagesEntity::getSkuId, skuId)); + } } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuInfoServiceImpl.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuInfoServiceImpl.java index 2ce4d91e..0c7a9180 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuInfoServiceImpl.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuInfoServiceImpl.java @@ -5,14 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.StringUtils; import com.xjs.mall.product.dao.SkuInfoDao; -import com.xjs.mall.product.entity.BrandEntity; -import com.xjs.mall.product.entity.CategoryEntity; -import com.xjs.mall.product.entity.SkuInfoEntity; -import com.xjs.mall.product.entity.SpuInfoEntity; -import com.xjs.mall.product.service.BrandService; -import com.xjs.mall.product.service.CategoryService; -import com.xjs.mall.product.service.SkuInfoService; -import com.xjs.mall.product.service.SpuInfoService; +import com.xjs.mall.product.entity.*; +import com.xjs.mall.product.service.*; +import com.xjs.mall.product.vo.sku.SkuItemSaleAttrVo; +import com.xjs.mall.product.vo.sku.SkuItemVo; +import com.xjs.mall.product.vo.sku.SpuItemAttrGroupVo; import com.xjs.mall.product.vo.spu.SkuInfoVo; import com.xjs.utils.PageUtils; import com.xjs.utils.Query; @@ -34,6 +31,14 @@ public class SkuInfoServiceImpl extends ServiceImpl i private CategoryService categoryService; @Autowired private BrandService brandService; + @Autowired + private SkuImagesService skuImagesService; + @Autowired + private SpuInfoDescService spuInfoDescService; + @Autowired + private AttrGroupService attrGroupService; + @Autowired + private SkuSaleAttrValueService skuSaleAttrValueService; @Override public void saveSkuInfo(SkuInfoEntity skuInfoEntity) { @@ -93,8 +98,38 @@ public class SkuInfoServiceImpl extends ServiceImpl i @Override public List getSkusBySpuId(Long spuId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(SkuInfoEntity::getSpuId,spuId); + wrapper.eq(SkuInfoEntity::getSpuId, spuId); return super.list(wrapper); } + @Override + public SkuItemVo item(Long skuId) { + SkuItemVo skuItemVo = new SkuItemVo(); + + //1、spu基本信息获取 pms_sku_info + SkuInfoEntity skuInfoEntity = this.getById(skuId); + skuItemVo.setInfo(skuInfoEntity); + + Long spuId = skuInfoEntity.getSpuId(); + Long catalogId = skuInfoEntity.getCatalogId(); + + //2、sku的图片信息 pms_sku_images + List skuImagesEntityList = skuImagesService.getImagesBySkuId(skuId); + skuItemVo.setImages(skuImagesEntityList); + + //3、获取spu的销售属性组合 + List skuItemSaleAttrVoList = skuSaleAttrValueService.getSaleAttrsBySpuId(spuId); + skuItemVo.setSaleAttr(skuItemSaleAttrVoList); + + //4、获取spu的介绍 + SpuInfoDescEntity spuInfoDescEntity = spuInfoDescService.getById(spuId); + skuItemVo.setDesc(spuInfoDescEntity); + + //5、获取spu的规格参数信息 + List attrGroupVos = attrGroupService.getAttrGroupWithAttrsBySpuId(spuId, catalogId); + skuItemVo.setGroupAttrs(attrGroupVos); + + return skuItemVo; + } + } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuSaleAttrValueServiceImpl.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuSaleAttrValueServiceImpl.java index 60b0fc68..a1edea26 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuSaleAttrValueServiceImpl.java +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/service/impl/SkuSaleAttrValueServiceImpl.java @@ -1,20 +1,23 @@ package com.xjs.mall.product.service.impl; -import org.springframework.stereotype.Service; -import java.util.Map; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xjs.utils.PageUtils; -import com.xjs.utils.Query; - import com.xjs.mall.product.dao.SkuSaleAttrValueDao; import com.xjs.mall.product.entity.SkuSaleAttrValueEntity; import com.xjs.mall.product.service.SkuSaleAttrValueService; +import com.xjs.mall.product.vo.sku.SkuItemSaleAttrVo; +import org.springframework.stereotype.Service; + +import java.util.List; @Service("skuSaleAttrValueService") public class SkuSaleAttrValueServiceImpl extends ServiceImpl implements SkuSaleAttrValueService { + @Override + public List getSaleAttrsBySpuId(Long spuId) { + SkuSaleAttrValueDao baseMapper = super.baseMapper; + + return baseMapper.getSaleAttrsBySpuId(spuId); + } } diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/AttrValueWithSkuIdVO.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/AttrValueWithSkuIdVO.java new file mode 100644 index 00000000..c1941012 --- /dev/null +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/AttrValueWithSkuIdVO.java @@ -0,0 +1,17 @@ +package com.xjs.mall.product.vo.sku; + +import lombok.Data; +import lombok.ToString; + +/** + * 带有 Sku Id VO 的 Attr 值 + * @author xiejs + * @since 2022-05-12 + */ +@Data +@ToString +public class AttrValueWithSkuIdVO { + private String attrValue; + + private String skuIds; +} diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SeckillSkuVo.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SeckillSkuVo.java new file mode 100644 index 00000000..9c3d852c --- /dev/null +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SeckillSkuVo.java @@ -0,0 +1,52 @@ +package com.xjs.mall.product.vo.sku; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 秒杀 Sku Vo + * @author xiejs + * @since 2022-05-12 + */ +@Data +public class SeckillSkuVo { + /** + * 活动id + */ + private Long promotionId; + /** + * 活动场次id + */ + private Long promotionSessionId; + /** + * 商品id + */ + private Long skuId; + /** + * 秒杀价格 + */ + private BigDecimal seckillPrice; + /** + * 秒杀总量 + */ + private Integer seckillCount; + /** + * 每人限购数量 + */ + private Integer seckillLimit; + /** + * 排序 + */ + private Integer seckillSort; + + //当前商品秒杀的开始时间 + private Long startTime; + + //当前商品秒杀的结束时间 + private Long endTime; + + //当前商品秒杀的随机码 + private String randomCode; + +} diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SkuItemSaleAttrVo.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SkuItemSaleAttrVo.java new file mode 100644 index 00000000..22d267ae --- /dev/null +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SkuItemSaleAttrVo.java @@ -0,0 +1,21 @@ +package com.xjs.mall.product.vo.sku; + +import lombok.Data; +import lombok.ToString; + +import java.util.List; + +/** + * Sku 项目销售 Attr Vo + * @author xiejs + * @since 2022-05-12 + */ +@Data +@ToString +public class SkuItemSaleAttrVo { + private Long attrId; + + private String attrName; + + private List attrValues; +} diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SkuItemVo.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SkuItemVo.java new file mode 100644 index 00000000..796980e0 --- /dev/null +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SkuItemVo.java @@ -0,0 +1,43 @@ +package com.xjs.mall.product.vo.sku; + +import com.xjs.mall.product.entity.SkuImagesEntity; +import com.xjs.mall.product.entity.SkuInfoEntity; +import com.xjs.mall.product.entity.SpuInfoDescEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import java.util.List; + +/** + * 商品详情vo + * @author xiejs + * @since 2022-05-12 + */ +@Data +@ToString +@AllArgsConstructor +@NoArgsConstructor +public class SkuItemVo { + //1、sku基本信息的获取 pms_sku_info + private SkuInfoEntity info; + + private boolean hasStock = true; + + //2、sku的图片信息 pms_sku_images + private List images; + + //3、获取spu的销售属性组合 + private List saleAttr; + + //4、获取spu的介绍 + private SpuInfoDescEntity desc; + + //5、获取spu的规格参数信息 + private List groupAttrs; + + //6、秒杀商品的优惠信息 + private SeckillSkuVo seckillSkuVo; + +} diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SpuItemAttrGroupVo.java b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SpuItemAttrGroupVo.java new file mode 100644 index 00000000..001800f0 --- /dev/null +++ b/xjs-business/xjs-project-mall/mall-product/src/main/java/com/xjs/mall/product/vo/sku/SpuItemAttrGroupVo.java @@ -0,0 +1,18 @@ +package com.xjs.mall.product.vo.sku; + +import com.xjs.mall.product.vo.spu.Attr; +import lombok.Data; + +import java.util.List; + +/** + * Spu 项目属性组 Vo + * @author xiejs + * @since 2022-05-12 + */ +@Data +public class SpuItemAttrGroupVo { + private String groupName; + + private List attrs; +} diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/resources/mapper/product/AttrGroupDao.xml b/xjs-business/xjs-project-mall/mall-product/src/main/resources/mapper/product/AttrGroupDao.xml index 87cc36d3..839b1250 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/resources/mapper/product/AttrGroupDao.xml +++ b/xjs-business/xjs-project-mall/mall-product/src/main/resources/mapper/product/AttrGroupDao.xml @@ -13,5 +13,28 @@ + + + + + + + + + + + - \ No newline at end of file + diff --git a/xjs-business/xjs-project-mall/mall-product/src/main/resources/mapper/product/SkuSaleAttrValueDao.xml b/xjs-business/xjs-project-mall/mall-product/src/main/resources/mapper/product/SkuSaleAttrValueDao.xml index a3665add..8c34f960 100644 --- a/xjs-business/xjs-project-mall/mall-product/src/main/resources/mapper/product/SkuSaleAttrValueDao.xml +++ b/xjs-business/xjs-project-mall/mall-product/src/main/resources/mapper/product/SkuSaleAttrValueDao.xml @@ -3,7 +3,7 @@ - + @@ -13,5 +13,27 @@ + + + + + + + + + + + - \ No newline at end of file + diff --git a/xjs-business/xjs-project-mall/mall-product/src/test/java/com/xjs/mall/product/service/impl/AttrGroupServiceImplTest.java b/xjs-business/xjs-project-mall/mall-product/src/test/java/com/xjs/mall/product/service/impl/AttrGroupServiceImplTest.java new file mode 100644 index 00000000..494f1639 --- /dev/null +++ b/xjs-business/xjs-project-mall/mall-product/src/test/java/com/xjs/mall/product/service/impl/AttrGroupServiceImplTest.java @@ -0,0 +1,29 @@ +package com.xjs.mall.product.service.impl; + +import com.xjs.mall.product.MallProductApp; +import com.xjs.mall.product.service.AttrGroupService; +import com.xjs.mall.product.vo.sku.SpuItemAttrGroupVo; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.List; + +/** + * @author xiejs + * @since 2022-05-12 + */ +@SpringBootTest(classes = MallProductApp.class) +class AttrGroupServiceImplTest { + + @Autowired + private AttrGroupService attrGroupService; + + @Test + void getAttrGroupWithAttrsBySpuId() { + List group = attrGroupService.getAttrGroupWithAttrsBySpuId(1505547655116955650L, 225L); + + System.out.println(group); + + } +} diff --git a/xjs-business/xjs-project-mall/mall-product/src/test/java/com/xjs/mall/product/service/impl/SkuSaleAttrValueServiceImplTest.java b/xjs-business/xjs-project-mall/mall-product/src/test/java/com/xjs/mall/product/service/impl/SkuSaleAttrValueServiceImplTest.java new file mode 100644 index 00000000..48a96bf2 --- /dev/null +++ b/xjs-business/xjs-project-mall/mall-product/src/test/java/com/xjs/mall/product/service/impl/SkuSaleAttrValueServiceImplTest.java @@ -0,0 +1,29 @@ +package com.xjs.mall.product.service.impl; + +import com.xjs.mall.product.MallProductApp; +import com.xjs.mall.product.service.SkuSaleAttrValueService; +import com.xjs.mall.product.vo.sku.SkuItemSaleAttrVo; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * @author xiejs + * @since 2022-05-12 + */ +@SpringBootTest(classes = MallProductApp.class) +class SkuSaleAttrValueServiceImplTest { + + @Autowired + private SkuSaleAttrValueService skuSaleAttrValueService; + + @Test + void getSaleAttrsBySpuId() { + List saleAttrsBySpuId = skuSaleAttrValueService.getSaleAttrsBySpuId(1505566927104974849L); + System.out.println(saleAttrsBySpuId); + } +}