From e648c9b1ee655a942e9940121263ba78bf19c3a8 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Wed, 27 Mar 2024 13:01:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=A2=9E-=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=AE=A1=E7=90=86):=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: bunny <1319900154@qq.com> --- .../com/atguigu/spzx/model/vo/h5/IndexVo.java | 12 ++++-- .../product/controller/IndexController.java | 38 +++++++++++++++++++ .../product/mapper/CategoryMapper.java | 16 ++++++++ .../product/mapper/ProductSkuMapper.java | 16 ++++++++ .../product/service/CategoryService.java | 14 +++++++ .../product/service/ProductService.java | 14 +++++++ .../service/impl/CategoryServiceImpl.java | 25 ++++++++++++ .../service/impl/ProductServiceImpl.java | 25 ++++++++++++ .../src/main/resources/application-dev.yml | 5 ++- .../src/main/resources/application.yml | 2 +- .../mapper/product/CategoryMapper.xml | 17 +++++++++ .../mapper/product/ProductSkuMapper.xml | 16 ++++++++ 12 files changed, 194 insertions(+), 6 deletions(-) create mode 100644 spzx-service/service-product/src/main/java/com/atguigu/product/controller/IndexController.java create mode 100644 spzx-service/service-product/src/main/java/com/atguigu/product/mapper/CategoryMapper.java create mode 100644 spzx-service/service-product/src/main/java/com/atguigu/product/mapper/ProductSkuMapper.java create mode 100644 spzx-service/service-product/src/main/java/com/atguigu/product/service/CategoryService.java create mode 100644 spzx-service/service-product/src/main/java/com/atguigu/product/service/ProductService.java create mode 100644 spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/CategoryServiceImpl.java create mode 100644 spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/ProductServiceImpl.java create mode 100644 spzx-service/service-product/src/main/resources/mapper/product/CategoryMapper.xml create mode 100644 spzx-service/service-product/src/main/resources/mapper/product/ProductSkuMapper.xml diff --git a/spzx-model/src/main/java/com/atguigu/spzx/model/vo/h5/IndexVo.java b/spzx-model/src/main/java/com/atguigu/spzx/model/vo/h5/IndexVo.java index 4df17e5..acbd9b5 100644 --- a/spzx-model/src/main/java/com/atguigu/spzx/model/vo/h5/IndexVo.java +++ b/spzx-model/src/main/java/com/atguigu/spzx/model/vo/h5/IndexVo.java @@ -2,14 +2,18 @@ package com.atguigu.spzx.model.vo.h5; import com.atguigu.spzx.model.entity.product.Category; import com.atguigu.spzx.model.entity.product.ProductSku; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.List; @Data +@Builder +@AllArgsConstructor +@NoArgsConstructor public class IndexVo { - - private List categoryList ; // 一级分类的类别数据 - private List productSkuList ; // 畅销商品列表数据 - + private List categoryList; // 一级分类的类别数据 + private List productSkuList; // 畅销商品列表数据 } \ No newline at end of file diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/controller/IndexController.java b/spzx-service/service-product/src/main/java/com/atguigu/product/controller/IndexController.java new file mode 100644 index 0000000..19f21f8 --- /dev/null +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/controller/IndexController.java @@ -0,0 +1,38 @@ +package com.atguigu.product.controller; + +import com.atguigu.product.service.CategoryService; +import com.atguigu.product.service.ProductService; +import com.atguigu.spzx.model.entity.product.Category; +import com.atguigu.spzx.model.entity.product.ProductSku; +import com.atguigu.spzx.model.vo.h5.IndexVo; +import com.atguigu.spzx.model.vo.result.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Tag(name = "首页接口管理") +@RestController +@RequestMapping(value = "/api/product/index") +public class IndexController { + @Autowired + private CategoryService categoryService; + @Autowired + private ProductService productService; + + @Operation(summary = "获取首页数据", description = "获取首页数据") + @GetMapping + public Result findData() { + // 查询以及分类 + List categoryList = categoryService.selectOneCategory(); + // 根据销量排序,获取前十条数据 + List productSkuList = productService.selectProductSkuBySale(); + + IndexVo vo = IndexVo.builder().categoryList(categoryList).productSkuList(productSkuList).build(); + return Result.success(vo); + } +} diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/CategoryMapper.java b/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/CategoryMapper.java new file mode 100644 index 0000000..0625e91 --- /dev/null +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/CategoryMapper.java @@ -0,0 +1,16 @@ +package com.atguigu.product.mapper; + +import com.atguigu.spzx.model.entity.product.Category; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface CategoryMapper { + /** + * 查询以及分类 + * + * @return 分类列表 + */ + List findOneCategory(); +} diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/ProductSkuMapper.java b/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/ProductSkuMapper.java new file mode 100644 index 0000000..8b80ee5 --- /dev/null +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/mapper/ProductSkuMapper.java @@ -0,0 +1,16 @@ +package com.atguigu.product.mapper; + +import com.atguigu.spzx.model.entity.product.ProductSku; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface ProductSkuMapper { + /** + * 根据销量排序,获取前十条数据 + * + * @return ProductSku列表 + */ + List selectProductSkuBySale(); +} diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/service/CategoryService.java b/spzx-service/service-product/src/main/java/com/atguigu/product/service/CategoryService.java new file mode 100644 index 0000000..86f85d4 --- /dev/null +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/service/CategoryService.java @@ -0,0 +1,14 @@ +package com.atguigu.product.service; + +import com.atguigu.spzx.model.entity.product.Category; + +import java.util.List; + +public interface CategoryService { + /** + * 查询以及分类 + * + * @return 分类实体类列表 + */ + List selectOneCategory(); +} diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/service/ProductService.java b/spzx-service/service-product/src/main/java/com/atguigu/product/service/ProductService.java new file mode 100644 index 0000000..3e49023 --- /dev/null +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/service/ProductService.java @@ -0,0 +1,14 @@ +package com.atguigu.product.service; + +import com.atguigu.spzx.model.entity.product.ProductSku; + +import java.util.List; + +public interface ProductService { + /** + * 根据销量排序,获取前十条数据 + * + * @return ProductSku 列表 + */ + List selectProductSkuBySale(); +} diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/CategoryServiceImpl.java b/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/CategoryServiceImpl.java new file mode 100644 index 0000000..7d49f22 --- /dev/null +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/CategoryServiceImpl.java @@ -0,0 +1,25 @@ +package com.atguigu.product.service.impl; + +import com.atguigu.product.mapper.CategoryMapper; +import com.atguigu.product.service.CategoryService; +import com.atguigu.spzx.model.entity.product.Category; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class CategoryServiceImpl implements CategoryService { + @Autowired + private CategoryMapper categoryMapper; + + /** + * 查询以及分类 + * + * @return 分类实体类列表 + */ + @Override + public List selectOneCategory() { + return categoryMapper.findOneCategory(); + } +} diff --git a/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/ProductServiceImpl.java b/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/ProductServiceImpl.java new file mode 100644 index 0000000..0258fa9 --- /dev/null +++ b/spzx-service/service-product/src/main/java/com/atguigu/product/service/impl/ProductServiceImpl.java @@ -0,0 +1,25 @@ +package com.atguigu.product.service.impl; + +import com.atguigu.product.mapper.ProductSkuMapper; +import com.atguigu.product.service.ProductService; +import com.atguigu.spzx.model.entity.product.ProductSku; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ProductServiceImpl implements ProductService { + @Autowired + private ProductSkuMapper productSkuMapper; + + /** + * 根据销量排序,获取前十条数据 + * + * @return ProductSku 列表 + */ + @Override + public List selectProductSkuBySale() { + return productSkuMapper.selectProductSkuBySale(); + } +} diff --git a/spzx-service/service-product/src/main/resources/application-dev.yml b/spzx-service/service-product/src/main/resources/application-dev.yml index 5c51c8b..93c5aa3 100644 --- a/spzx-service/service-product/src/main/resources/application-dev.yml +++ b/spzx-service/service-product/src/main/resources/application-dev.yml @@ -4,4 +4,7 @@ bunny: port: 3305 sqlData: db_spzx username: root - password: "02120212" \ No newline at end of file + password: "02120212" + + nacos: + server-addr: z-bunny.cn:8848 \ No newline at end of file diff --git a/spzx-service/service-product/src/main/resources/application.yml b/spzx-service/service-product/src/main/resources/application.yml index 09d4936..a9dfd31 100644 --- a/spzx-service/service-product/src/main/resources/application.yml +++ b/spzx-service/service-product/src/main/resources/application.yml @@ -8,7 +8,7 @@ spring: cloud: nacos: - server-addr: 192.168.1.5:8848 + server-addr: ${bunny.nacos.server-addr} datasource: type: com.zaxxer.hikari.HikariDataSource diff --git a/spzx-service/service-product/src/main/resources/mapper/product/CategoryMapper.xml b/spzx-service/service-product/src/main/resources/mapper/product/CategoryMapper.xml new file mode 100644 index 0000000..a06193c --- /dev/null +++ b/spzx-service/service-product/src/main/resources/mapper/product/CategoryMapper.xml @@ -0,0 +1,17 @@ + + + + + + id,name,image_url,parent_id,status,order_num,create_time,update_time,is_deleted + + + + + diff --git a/spzx-service/service-product/src/main/resources/mapper/product/ProductSkuMapper.xml b/spzx-service/service-product/src/main/resources/mapper/product/ProductSkuMapper.xml new file mode 100644 index 0000000..cf55410 --- /dev/null +++ b/spzx-service/service-product/src/main/resources/mapper/product/ProductSkuMapper.xml @@ -0,0 +1,16 @@ + + + + + + +