Bladeren bron

新增获取分类列表接口;商品新增商品评分及销量字段;

woody 1 jaar geleden
bovenliggende
commit
67f286eb9c

+ 10 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/GoodsDTO.java

@@ -62,6 +62,16 @@ public class GoodsDTO implements Serializable {
      */
      */
     private Double specialPrice;
     private Double specialPrice;
 
 
+    /**
+     * 商品评分
+     */
+    private Double score;
+
+    /**
+     * 订单销量
+     */
+    private Integer sale;
+
     /**
     /**
      * 优惠券列表
      * 优惠券列表
      */
      */

+ 8 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/CategoryService.java

@@ -44,4 +44,12 @@ public interface CategoryService {
      * @return 分类信息列表
      * @return 分类信息列表
      */
      */
     List<CategoryDTO> listActiveCategories();
     List<CategoryDTO> listActiveCategories();
+
+    /**
+     * 获取推荐分类信息
+     *
+     * @param size 分类个数
+     * @return 分类信息列表
+     */
+    List<CategoryDTO> listRecommendCategories(int size);
 }
 }

+ 10 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/CategoryMapper.java

@@ -1,8 +1,11 @@
 package com.chelvc.cloud.vehicle.server.dao;
 package com.chelvc.cloud.vehicle.server.dao;
 
 
+import java.util.List;
+
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.chelvc.cloud.vehicle.server.entity.Category;
 import com.chelvc.cloud.vehicle.server.entity.Category;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 
 /**
 /**
  * 分类数据操作接口
  * 分类数据操作接口
@@ -12,4 +15,11 @@ import org.apache.ibatis.annotations.Mapper;
  */
  */
 @Mapper
 @Mapper
 public interface CategoryMapper extends BaseMapper<Category> {
 public interface CategoryMapper extends BaseMapper<Category> {
+    /**
+     * 获取推荐分类信息
+     *
+     * @param size 分类个数
+     * @return 分类信息列表
+     */
+    List<Category> listRecommendCategories(@Param("size") int size);
 }
 }

+ 10 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Goods.java

@@ -73,6 +73,16 @@ public class Goods extends ModifyEntity<Long> {
      */
      */
     private Double specialPrice;
     private Double specialPrice;
 
 
+    /**
+     * 商品评分
+     */
+    private Double score;
+
+    /**
+     * 订单销量
+     */
+    private Integer sale;
+
     /**
     /**
      * 优惠券列表
      * 优惠券列表
      */
      */

+ 10 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CategoryServiceImpl.java

@@ -1,5 +1,6 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 package com.chelvc.cloud.vehicle.server.service.impl;
 
 
+import java.util.Comparator;
 import java.util.List;
 import java.util.List;
 import java.util.Objects;
 import java.util.Objects;
 
 
@@ -53,7 +54,15 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
 
 
     @Override
     @Override
     public List<CategoryDTO> listActiveCategories() {
     public List<CategoryDTO> listActiveCategories() {
-        List<Category> categories = this.lambdaQuery().eq(Category::getEnabled, true).list();
+        List<Category> categories = this.lambdaQuery().eq(Category::getEnabled, true)
+                .orderByAsc(Category::getSort).list();
+        categories.sort(Comparator.comparing(Category::getType).thenComparing(Category::getSort));
+        return CategoryCopier.INSTANCE.copying(categories);
+    }
+
+    @Override
+    public List<CategoryDTO> listRecommendCategories(int size) {
+        List<Category> categories = this.baseMapper.listRecommendCategories(size);
         return CategoryCopier.INSTANCE.copying(categories);
         return CategoryCopier.INSTANCE.copying(categories);
     }
     }
 }
 }

+ 15 - 0
vehicle-server/src/main/resources/mapper/CategoryMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.chelvc.cloud.vehicle.server.dao.CategoryMapper">
+    <sql id="BASIC_CATEGORY_SELECT">
+        select cy.id, cy.type, cy.name, cy.icon, cy.sort, cy.enabled, cy.recommend, cy.creator, cy.create_time,
+        cy.updater, cy.update_time
+        from `category` cy
+    </sql>
+
+    <select id="listRecommendCategories" resultType="com.chelvc.cloud.vehicle.server.entity.Category">
+        <include refid="BASIC_CATEGORY_SELECT"/>
+        where cy.enabled = 1 and cy.recommend = 1
+        order by cy.sort asc limit #{size}
+    </select>
+</mapper>