diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductDetailDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductDetailDao.java index 02b5527..7606ef6 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductDetailDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductDetailDao.java @@ -11,6 +11,9 @@ import com.heyu.api.data.entity.vv.VvProductDetailEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface VvProductDetailDao extends BaseMapper { @@ -33,4 +36,5 @@ public interface VvProductDetailDao extends BaseMapper { int deleteVvProductDetailById(@Param("id")Long id); + List selectVvProductDetailByProductId(Long productId); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvSkuDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvSkuDao.java index 704d550..d64631b 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvSkuDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvSkuDao.java @@ -7,10 +7,14 @@ package com.heyu.api.data.dao.vv; * @author quyixiao * @since 2025-08-20 */ -import com.heyu.api.data.entity.vv.VvSkuEntity; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.heyu.api.data.entity.vv.VvSkuEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface VvSkuDao extends BaseMapper { @@ -33,4 +37,6 @@ public interface VvSkuDao extends BaseMapper { int deleteVvSkuById(@Param("id")Long id); + + List selectVvSkuByProductId(Long productId); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VvProductDTO.java b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VvProductDTO.java index f05d9d7..b3ea6bd 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VvProductDTO.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VvProductDTO.java @@ -9,4 +9,15 @@ public class VvProductDTO extends VvPropertyEntity { + + + + + + + + + + + } diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductEntity.java index 9cfed63..089efbb 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductEntity.java @@ -56,7 +56,7 @@ private static final long serialVersionUID = 1L; private String title; //销售价格 private BigDecimal showSalePrice; - //销售数量 + //销售数量,用于展示用 private Integer saleCount; //默认排序 private Integer defaultSort; diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvProductDetailRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvProductDetailRequest.java new file mode 100644 index 0000000..2106ec3 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvProductDetailRequest.java @@ -0,0 +1,18 @@ +package com.heyu.api.alibaba.request.mm; + + +import lombok.Data; + +@Data +public class VvProductDetailRequest { + + + /*** + * 商品id + */ + private Long productId; + + + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/ProductController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/ProductController.java index 9300b4b..3b7c61c 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/ProductController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/ProductController.java @@ -2,14 +2,21 @@ package com.heyu.api.controller.mm; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.heyu.api.alibaba.request.mm.VvProductDetailRequest; import com.heyu.api.alibaba.request.mm.VvProductRequest; import com.heyu.api.data.dao.vv.VvProductDao; -import com.heyu.api.data.entity.vv.VvPropertyEntity; +import com.heyu.api.data.dao.vv.VvProductDetailDao; +import com.heyu.api.data.dao.vv.VvSkuDao; +import com.heyu.api.data.dto.vv.VvProductDTO; +import com.heyu.api.data.entity.vv.VvProductDetailEntity; +import com.heyu.api.data.entity.vv.VvProductEntity; +import com.heyu.api.data.entity.vv.VvSkuEntity; import com.heyu.api.data.utils.R; import com.heyu.api.data.utils.StringUtils; import com.heyu.api.utils.ISelect; import com.heyu.api.utils.PPageUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -26,16 +33,26 @@ public class ProductController { private VvProductDao vvProductDao; + @Autowired + private VvProductDetailDao vvProductDetailDao; + + + @Autowired + private VvSkuDao vvSkuDao; + + /*** * 列表 */ @RequestMapping("/list") public R list(VvProductRequest vvProductRequest) { - if(StringUtils.isNotBlank(vvProductRequest.getRealSaleCountSort()) - && StringUtils.isBlank(vvProductRequest.getCreateTimestampSort()) - && StringUtils.isBlank(vvProductRequest.getModifyTimestampSort())){ + + if (StringUtils.isNotBlank(vvProductRequest.getRealSaleCountSort()) + && StringUtils.isBlank(vvProductRequest.getCreateTimestampSort()) + && StringUtils.isBlank(vvProductRequest.getModifyTimestampSort())) { vvProductRequest.setCreateTimestampSort("DESC"); } + PPageUtils pageUtils = PPageUtils.startPage(vvProductRequest.getPageNum(), vvProductRequest.getPageSize()) .doSelect(new ISelect() { @Override @@ -61,7 +78,23 @@ public class ProductController { } }); - List vvPropertyEntities = pageUtils.getRows(); + return R.ok().setData(pageUtils); + } + + + @RequestMapping("/detail") + public R detail(VvProductDetailRequest vvProductDetailRequest) { + VvProductDTO vvProductDTO = new VvProductDTO(); + + VvProductEntity vvProduct = vvProductDao.selectVvProductById(vvProductDetailRequest.getProductId()); + + BeanUtils.copyProperties(vvProduct, vvProductDTO); + + List productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(vvProductDetailRequest.getProductId()); + + List vvSkuEntities = vvSkuDao.selectVvSkuByProductId(vvProductDetailRequest.getProductId()); + + return R.ok(); }