parent
7d20ddd53e
commit
0e994a168c
@ -1,15 +1,25 @@
|
|||||||
package com.xjs.mall.product.service.impl;
|
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.xjs.mall.product.dao.SkuImagesDao;
|
import com.xjs.mall.product.dao.SkuImagesDao;
|
||||||
import com.xjs.mall.product.entity.SkuImagesEntity;
|
import com.xjs.mall.product.entity.SkuImagesEntity;
|
||||||
import com.xjs.mall.product.service.SkuImagesService;
|
import com.xjs.mall.product.service.SkuImagesService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@Service("skuImagesService")
|
@Service("skuImagesService")
|
||||||
public class SkuImagesServiceImpl extends ServiceImpl<SkuImagesDao, SkuImagesEntity> implements SkuImagesService {
|
public class SkuImagesServiceImpl extends ServiceImpl<SkuImagesDao, SkuImagesEntity> implements SkuImagesService {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SkuImagesEntity> getImagesBySkuId(Long skuId) {
|
||||||
|
SkuImagesDao skuImagesDao = super.baseMapper;
|
||||||
|
|
||||||
|
return skuImagesDao.selectList(new LambdaQueryWrapper<SkuImagesEntity>()
|
||||||
|
.eq(SkuImagesEntity::getSkuId, skuId));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -1,20 +1,23 @@
|
|||||||
package com.xjs.mall.product.service.impl;
|
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.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.dao.SkuSaleAttrValueDao;
|
||||||
import com.xjs.mall.product.entity.SkuSaleAttrValueEntity;
|
import com.xjs.mall.product.entity.SkuSaleAttrValueEntity;
|
||||||
import com.xjs.mall.product.service.SkuSaleAttrValueService;
|
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")
|
@Service("skuSaleAttrValueService")
|
||||||
public class SkuSaleAttrValueServiceImpl extends ServiceImpl<SkuSaleAttrValueDao, SkuSaleAttrValueEntity> implements SkuSaleAttrValueService {
|
public class SkuSaleAttrValueServiceImpl extends ServiceImpl<SkuSaleAttrValueDao, SkuSaleAttrValueEntity> implements SkuSaleAttrValueService {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SkuItemSaleAttrVo> getSaleAttrsBySpuId(Long spuId) {
|
||||||
|
SkuSaleAttrValueDao baseMapper = super.baseMapper;
|
||||||
|
|
||||||
|
return baseMapper.getSaleAttrsBySpuId(spuId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
}
|
@ -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;
|
||||||
|
|
||||||
|
}
|
@ -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<AttrValueWithSkuIdVO> attrValues;
|
||||||
|
}
|
@ -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<SkuImagesEntity> images;
|
||||||
|
|
||||||
|
//3、获取spu的销售属性组合
|
||||||
|
private List<SkuItemSaleAttrVo> saleAttr;
|
||||||
|
|
||||||
|
//4、获取spu的介绍
|
||||||
|
private SpuInfoDescEntity desc;
|
||||||
|
|
||||||
|
//5、获取spu的规格参数信息
|
||||||
|
private List<SpuItemAttrGroupVo> groupAttrs;
|
||||||
|
|
||||||
|
//6、秒杀商品的优惠信息
|
||||||
|
private SeckillSkuVo seckillSkuVo;
|
||||||
|
|
||||||
|
}
|
@ -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<Attr> attrs;
|
||||||
|
}
|
@ -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<SpuItemAttrGroupVo> group = attrGroupService.getAttrGroupWithAttrsBySpuId(1505547655116955650L, 225L);
|
||||||
|
|
||||||
|
System.out.println(group);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -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<SkuItemSaleAttrVo> saleAttrsBySpuId = skuSaleAttrValueService.getSaleAttrsBySpuId(1505566927104974849L);
|
||||||
|
System.out.println(saleAttrsBySpuId);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue