wangming 1 mēnesi atpakaļ
vecāks
revīzija
f0be9d7700

+ 1 - 3
yami-shop-api/src/main/java/com/yami/shop/api/config/SwaggerConfiguration.java

@@ -13,8 +13,6 @@ package com.yami.shop.api.config;
 import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-
-import org.springframework.context.annotation.Profile;
 import springfox.documentation.builders.ApiInfoBuilder;
 import springfox.documentation.builders.ParameterBuilder;
 import springfox.documentation.builders.PathSelectors;
@@ -49,7 +47,7 @@ public class SwaggerConfiguration {
                 .required(true).build(); //header中的ticket参数非必填,传空也可以
         t.name("t").description("时间戳")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个
                 .modelRef(new ModelRef("string")).parameterType("query")
-                .required(true).build(); //header中的ticket参数非必填,传空也可以
+                .required(false).build(); //header中的ticket参数非必填,传空也可以
         pars.add(t.build());
         return new Docket(DocumentationType.SWAGGER_2)
                 .apiInfo(apiInfo())

+ 37 - 0
yami-shop-api/src/main/java/com/yami/shop/api/controller/SearchTermController.java

@@ -0,0 +1,37 @@
+package com.yami.shop.api.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yami.shop.bean.model.SearchTerm;
+import com.yami.shop.common.util.PageParam;
+import com.yami.shop.service.SearchTermService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@Api(tags = "搜索词")
+@AllArgsConstructor
+@RequestMapping("/searchTerm")
+public class SearchTermController {
+
+    private final SearchTermService searchTermService;
+
+    @GetMapping("/hotSearchWord")
+    @ApiOperation(value = "小程序主页-热门搜索词")
+    public ResponseEntity<IPage<SearchTerm>> hotSearchWord(PageParam<SearchTerm> page) {
+        IPage<SearchTerm> searchTermIPage = searchTermService.hotSearchWord(page);
+        return ResponseEntity.ok(searchTermIPage);
+    }
+
+    @GetMapping("/recommendSearchWord")
+    @ApiOperation(value = "小程序主页-推荐搜索词")
+    public ResponseEntity<IPage<SearchTerm>> recommendSearchWord(PageParam<SearchTerm> page) {
+        IPage<SearchTerm> searchTermIPage = searchTermService.recommendSearchWord(page);
+        return ResponseEntity.ok(searchTermIPage);
+    }
+}

+ 4 - 0
yami-shop-service/src/main/java/com/yami/shop/dao/SearchTermMapper.java

@@ -1,8 +1,12 @@
 package com.yami.shop.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yami.shop.bean.model.SearchTerm;
+import com.yami.shop.common.util.PageParam;
+import org.apache.ibatis.annotations.Param;
 
 public interface SearchTermMapper extends BaseMapper<SearchTerm> {
 
+    IPage<SearchTerm> hotSearchWord(@Param("page") PageParam<SearchTerm> page, @Param("type") Integer type);
 }

+ 5 - 0
yami-shop-service/src/main/java/com/yami/shop/service/SearchTermService.java

@@ -1,8 +1,13 @@
 package com.yami.shop.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yami.shop.bean.model.SearchTerm;
+import com.yami.shop.common.util.PageParam;
 
 public interface SearchTermService extends IService<SearchTerm> {
 
+    IPage<SearchTerm> hotSearchWord(PageParam<SearchTerm> page);
+
+    IPage<SearchTerm> recommendSearchWord(PageParam<SearchTerm> page);
 }

+ 11 - 6
yami-shop-service/src/main/java/com/yami/shop/service/impl/SearchTermServiceImpl.java

@@ -1,18 +1,14 @@
 package com.yami.shop.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yami.shop.bean.dto.HotSearchDto;
 import com.yami.shop.bean.model.SearchTerm;
-import com.yami.shop.dao.HotSearchMapper;
+import com.yami.shop.common.util.PageParam;
 import com.yami.shop.dao.SearchTermMapper;
 import com.yami.shop.service.SearchTermService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 @Service
 public class SearchTermServiceImpl extends ServiceImpl<SearchTermMapper, SearchTerm> implements SearchTermService {
 
@@ -20,4 +16,13 @@ public class SearchTermServiceImpl extends ServiceImpl<SearchTermMapper, SearchT
     private SearchTermMapper searchTermMapper;
 
 
+    @Override
+    public IPage<SearchTerm> hotSearchWord(PageParam<SearchTerm> page) {
+        return searchTermMapper.hotSearchWord(page,2);
+    }
+
+    @Override
+    public IPage<SearchTerm> recommendSearchWord(PageParam<SearchTerm> page) {
+        return searchTermMapper.hotSearchWord(page, 3);
+    }
 }

+ 9 - 0
yami-shop-service/src/main/resources/mapper/SearchTermMapper.xml

@@ -2,4 +2,13 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yami.shop.dao.SearchTermMapper">
 
+    <select id="hotSearchWord" resultType="com.yami.shop.bean.model.SearchTerm">
+        SELECT *
+        FROM tz_search_term
+        WHERE type = #{type}
+          and `status` = 1
+          and effective_time &lt;= CURDATE()
+          AND end_time &gt;= CURDATE()
+        ORDER BY create_time desc, id desc
+    </select>
 </mapper>