微信小程序主页完成
This commit is contained in:
		@@ -13,6 +13,8 @@
 | 
			
		||||
    <packaging>pom</packaging>
 | 
			
		||||
    <modules>
 | 
			
		||||
        <module>service-product-client</module>
 | 
			
		||||
        <module>service-user-client</module>
 | 
			
		||||
        <module>service-search-client</module>
 | 
			
		||||
    </modules>
 | 
			
		||||
    <dependencies>
 | 
			
		||||
        <dependency>
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,6 @@ import java.util.List;
 | 
			
		||||
public interface ProductFeignClient {
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据分类id获取分类信息
 | 
			
		||||
     * \
 | 
			
		||||
     *
 | 
			
		||||
     * @param categoryId
 | 
			
		||||
     * @return
 | 
			
		||||
@@ -64,4 +63,20 @@ public interface ProductFeignClient {
 | 
			
		||||
     */
 | 
			
		||||
    @PostMapping("/api/product/inner/findCategoryList")
 | 
			
		||||
    List<Category> findCategoryList(@RequestBody List<Long> categoryIdList);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取所有分类
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @GetMapping("/api/product/inner/findAllCategoryList")
 | 
			
		||||
    public List<Category> findAllCategoryList();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取新人优惠
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @GetMapping("/api/product/inner/findNewPersonSkuInfoList")
 | 
			
		||||
    public List<SkuInfo> findNewPersonSkuInfoList();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
         xmlns="http://maven.apache.org/POM/4.0.0"
 | 
			
		||||
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 | 
			
		||||
    <modelVersion>4.0.0</modelVersion>
 | 
			
		||||
    <parent>
 | 
			
		||||
        <groupId>com.atguigu</groupId>
 | 
			
		||||
        <artifactId>service-client</artifactId>
 | 
			
		||||
        <version>1.0-SNAPSHOT</version>
 | 
			
		||||
    </parent>
 | 
			
		||||
 | 
			
		||||
    <artifactId>service-search-client</artifactId>
 | 
			
		||||
 | 
			
		||||
    <properties>
 | 
			
		||||
        <maven.compiler.source>8</maven.compiler.source>
 | 
			
		||||
        <maven.compiler.target>8</maven.compiler.target>
 | 
			
		||||
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
			
		||||
    </properties>
 | 
			
		||||
 | 
			
		||||
</project>
 | 
			
		||||
@@ -0,0 +1,21 @@
 | 
			
		||||
package com.atguigu.ssyx.client.search;
 | 
			
		||||
 | 
			
		||||
import com.atguigu.ssyx.model.search.SkuEs;
 | 
			
		||||
import org.springframework.cloud.openfeign.FeignClient;
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: SkuFeignClient
 | 
			
		||||
 * Package: com.atguigu.ssyx.client.search
 | 
			
		||||
 *
 | 
			
		||||
 * @author yovinchen
 | 
			
		||||
 * @Create 2023/9/25 22:44
 | 
			
		||||
 */
 | 
			
		||||
@FeignClient("service-search")
 | 
			
		||||
public interface SkuFeignClient {
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/api/search/sku/inner/findHotSkuList")
 | 
			
		||||
    public List<SkuEs> findHotSkuList();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								guigu-ssyx-parent/service-client/service-user-client/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								guigu-ssyx-parent/service-client/service-user-client/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
         xmlns="http://maven.apache.org/POM/4.0.0"
 | 
			
		||||
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 | 
			
		||||
    <modelVersion>4.0.0</modelVersion>
 | 
			
		||||
    <parent>
 | 
			
		||||
        <groupId>com.atguigu</groupId>
 | 
			
		||||
        <artifactId>service-client</artifactId>
 | 
			
		||||
        <version>1.0-SNAPSHOT</version>
 | 
			
		||||
    </parent>
 | 
			
		||||
 | 
			
		||||
    <artifactId>service-user-client</artifactId>
 | 
			
		||||
 | 
			
		||||
    <properties>
 | 
			
		||||
        <maven.compiler.source>8</maven.compiler.source>
 | 
			
		||||
        <maven.compiler.target>8</maven.compiler.target>
 | 
			
		||||
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
			
		||||
    </properties>
 | 
			
		||||
 | 
			
		||||
</project>
 | 
			
		||||
@@ -0,0 +1,26 @@
 | 
			
		||||
package com.atguigu.ssyx.client.user;
 | 
			
		||||
 | 
			
		||||
import com.atguigu.ssyx.vo.user.LeaderAddressVo;
 | 
			
		||||
import org.springframework.cloud.openfeign.FeignClient;
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.PathVariable;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: UserFeignClient
 | 
			
		||||
 * Package: com.atguigu.ssyx.client.user
 | 
			
		||||
 *
 | 
			
		||||
 * @author yovinchen
 | 
			
		||||
 * @Create 2023/9/25 12:27
 | 
			
		||||
 */
 | 
			
		||||
@FeignClient(value = "service-user")
 | 
			
		||||
public interface UserFeignClient {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 提货点地址信息
 | 
			
		||||
     *
 | 
			
		||||
     * @param userId
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @GetMapping("/api/user/leader/inner/getUserAddressByUserId/{userId}")
 | 
			
		||||
    LeaderAddressVo getUserAddressByUserId(@PathVariable(value = "userId") Long userId);
 | 
			
		||||
}
 | 
			
		||||
@@ -18,9 +18,18 @@
 | 
			
		||||
        <module>service-search</module>
 | 
			
		||||
        <module>service-activity</module>
 | 
			
		||||
        <module>service-user</module>
 | 
			
		||||
        <module>service-home</module>
 | 
			
		||||
    </modules>
 | 
			
		||||
 | 
			
		||||
    <dependencies>
 | 
			
		||||
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>p6spy</groupId>
 | 
			
		||||
            <artifactId>p6spy</artifactId>
 | 
			
		||||
            <version>3.9.1</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        <!--依赖服务的工具类-->
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>com.atguigu</groupId>
 | 
			
		||||
 
 | 
			
		||||
@@ -8,11 +8,14 @@ mybatis-plus:
 | 
			
		||||
spring:
 | 
			
		||||
  datasource:
 | 
			
		||||
    type: com.zaxxer.hikari.HikariDataSource
 | 
			
		||||
    driver-class-name: com.mysql.cj.jdbc.Driver
 | 
			
		||||
    url: jdbc:mysql://82.157.68.223:3306/shequ-acl?characterEncoding=utf-8&useSSL=false
 | 
			
		||||
    #    driver-class-name: com.mysql.cj.jdbc.Driver
 | 
			
		||||
    #    url: jdbc:mysql://82.157.68.223:3306/shequ-acl?characterEncoding=utf-8&useSSL=false
 | 
			
		||||
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver
 | 
			
		||||
    url: jdbc:p6spy:mysql://82.157.68.223:3306/shequ-acl?characterEncoding=utf-8&useSSL=false
 | 
			
		||||
    username: shequ-acl
 | 
			
		||||
    password: shequ-acl
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  jackson:
 | 
			
		||||
    date-format: yyyy-MM-dd HH:mm:ss
 | 
			
		||||
    time-zone: GMT+8
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,19 @@
 | 
			
		||||
module.log=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
 | 
			
		||||
# \u81EA\u5B9A\u4E49\u65E5\u5FD7\u6253\u5370
 | 
			
		||||
#logMessageFormat=com.p6spy.engine.spy.appender.SingleLineFormat
 | 
			
		||||
logMessageFormat=com.p6spy.engine.spy.appender.CustomLineFormat
 | 
			
		||||
customLogMessageFormat=%(currentTime) | SQL\u8017\u65F6\uFF1A %(executionTime) ms | \u8FDE\u63A5\u4FE1\u606F\uFF1A %(category)-%(connectionId) | \u6267\u884C\u8BED\u53E5\uFF1A %(sql)
 | 
			
		||||
# \u4F7F\u7528\u63A7\u5236\u53F0\u8BB0\u5F55sql
 | 
			
		||||
appender=com.p6spy.engine.spy.appender.StdoutLogger
 | 
			
		||||
## \u914D\u7F6E\u8BB0\u5F55Log\u4F8B\u5916
 | 
			
		||||
excludecategories=info,debug,result,batc,resultset
 | 
			
		||||
# \u8BBE\u7F6E\u4F7F\u7528p6spy driver\u6765\u505A\u4EE3\u7406
 | 
			
		||||
deregisterdrivers=true
 | 
			
		||||
# \u65E5\u671F\u683C\u5F0F
 | 
			
		||||
dateformat=yyyy-MM-dd HH:mm:ss
 | 
			
		||||
# \u5B9E\u9645\u9A71\u52A8
 | 
			
		||||
driverlist=com.mysql.jdbc.Driver
 | 
			
		||||
# \u662F\u5426\u5F00\u542F\u6162SQL\u8BB0\u5F55
 | 
			
		||||
outagedetection=true
 | 
			
		||||
# \u6162SQL\u8BB0\u5F55\u6807\u51C6 \u79D2
 | 
			
		||||
outagedetectioninterval=2
 | 
			
		||||
							
								
								
									
										5
									
								
								guigu-ssyx-parent/service/service-home/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								guigu-ssyx-parent/service/service-home/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
FROM openjdk:8-jdk-alpine
 | 
			
		||||
LABEL authors="yovinchen"
 | 
			
		||||
VOLUME /tmp
 | 
			
		||||
ADD ./target/service-home.jar service-home.jar
 | 
			
		||||
ENTRYPOINT ["java","-jar","/service-home.jar", "&"]
 | 
			
		||||
							
								
								
									
										40
									
								
								guigu-ssyx-parent/service/service-home/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								guigu-ssyx-parent/service/service-home/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
         xmlns="http://maven.apache.org/POM/4.0.0"
 | 
			
		||||
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 | 
			
		||||
    <modelVersion>4.0.0</modelVersion>
 | 
			
		||||
    <parent>
 | 
			
		||||
        <groupId>com.atguigu</groupId>
 | 
			
		||||
        <artifactId>service</artifactId>
 | 
			
		||||
        <version>1.0-SNAPSHOT</version>
 | 
			
		||||
    </parent>
 | 
			
		||||
 | 
			
		||||
    <artifactId>service-home</artifactId>
 | 
			
		||||
 | 
			
		||||
    <properties>
 | 
			
		||||
        <maven.compiler.source>8</maven.compiler.source>
 | 
			
		||||
        <maven.compiler.target>8</maven.compiler.target>
 | 
			
		||||
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
			
		||||
    </properties>
 | 
			
		||||
    <dependencies>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>com.atguigu</groupId>
 | 
			
		||||
            <artifactId>service-user-client</artifactId>
 | 
			
		||||
            <version>1.0-SNAPSHOT</version>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>com.atguigu</groupId>
 | 
			
		||||
            <artifactId>service-product-client</artifactId>
 | 
			
		||||
            <version>1.0-SNAPSHOT</version>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>com.atguigu</groupId>
 | 
			
		||||
            <artifactId>service-search-client</artifactId>
 | 
			
		||||
            <version>1.0-SNAPSHOT</version>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
    </dependencies>
 | 
			
		||||
 | 
			
		||||
</project>
 | 
			
		||||
@@ -0,0 +1,24 @@
 | 
			
		||||
package com.atguigu.ssyx;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.SpringApplication;
 | 
			
		||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 | 
			
		||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 | 
			
		||||
import org.springframework.cloud.openfeign.EnableFeignClients;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: ServiceHomeApplication
 | 
			
		||||
 * Package: com.atguigu.ssyx
 | 
			
		||||
 *
 | 
			
		||||
 * @author yovinchen
 | 
			
		||||
 * @Create 2023/9/25 12:06
 | 
			
		||||
 */
 | 
			
		||||
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)//取消数据源自动配置
 | 
			
		||||
@EnableDiscoveryClient
 | 
			
		||||
@EnableFeignClients
 | 
			
		||||
public class ServiceHomeApplication {
 | 
			
		||||
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
        SpringApplication.run(ServiceHomeApplication.class, args);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,42 @@
 | 
			
		||||
package com.atguigu.ssyx.home.controller;
 | 
			
		||||
 | 
			
		||||
import com.atguigu.ssyx.common.auth.AuthContextHolder;
 | 
			
		||||
import com.atguigu.ssyx.common.result.Result;
 | 
			
		||||
import com.atguigu.ssyx.home.service.HomeService;
 | 
			
		||||
import io.swagger.annotations.Api;
 | 
			
		||||
import io.swagger.annotations.ApiOperation;
 | 
			
		||||
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 javax.servlet.http.HttpServletRequest;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: HomeApiController
 | 
			
		||||
 * Package: com.atguigu.ssyx.home.controller
 | 
			
		||||
 *
 | 
			
		||||
 * @author yovinchen
 | 
			
		||||
 * @Create 2023/9/25 12:10
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@Api(tags = "首页接口")
 | 
			
		||||
@RestController
 | 
			
		||||
@RequestMapping("api/home")
 | 
			
		||||
public class HomeApiController {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private HomeService homeService;
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "获取首页数据")
 | 
			
		||||
    @GetMapping("index")
 | 
			
		||||
    public Result index(HttpServletRequest request) {
 | 
			
		||||
        // 获取用户Id
 | 
			
		||||
        Long userId = AuthContextHolder.getUserId();
 | 
			
		||||
        Map<String, Object> map = homeService.homeData(userId);
 | 
			
		||||
        return Result.ok(map);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
package com.atguigu.ssyx.home.service;
 | 
			
		||||
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: HomeService
 | 
			
		||||
 * Package: com.atguigu.ssyx.home.service
 | 
			
		||||
 *
 | 
			
		||||
 * @author yovinchen
 | 
			
		||||
 * @Create 2023/9/25 12:12
 | 
			
		||||
 */
 | 
			
		||||
public interface HomeService {
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取首页数据
 | 
			
		||||
     *
 | 
			
		||||
     * @param userId
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    Map<String, Object> homeData(Long userId);
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,72 @@
 | 
			
		||||
package com.atguigu.ssyx.home.service.impl;
 | 
			
		||||
 | 
			
		||||
import com.atguigu.ssyx.client.product.ProductFeignClient;
 | 
			
		||||
import com.atguigu.ssyx.client.search.SkuFeignClient;
 | 
			
		||||
import com.atguigu.ssyx.client.user.UserFeignClient;
 | 
			
		||||
import com.atguigu.ssyx.home.service.HomeService;
 | 
			
		||||
import com.atguigu.ssyx.model.product.Category;
 | 
			
		||||
import com.atguigu.ssyx.model.product.SkuInfo;
 | 
			
		||||
import com.atguigu.ssyx.model.search.SkuEs;
 | 
			
		||||
import com.atguigu.ssyx.vo.user.LeaderAddressVo;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: HomeServiceImpl
 | 
			
		||||
 * Package: com.atguigu.ssyx.home.service.impl
 | 
			
		||||
 *
 | 
			
		||||
 * @author yovinchen
 | 
			
		||||
 * @Create 2023/9/25 12:12
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
public class HomeServiceImpl implements HomeService {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private UserFeignClient userFeignClient;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private ProductFeignClient productFeignClient;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private SkuFeignClient skuFeignClient;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取首页数据
 | 
			
		||||
     *
 | 
			
		||||
     * @param userId
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public Map<String, Object> homeData(Long userId) {
 | 
			
		||||
 | 
			
		||||
        Map<String, Object> result = new HashMap<>();
 | 
			
		||||
        //1 根据userId获取当前登录用户提货地址信息
 | 
			
		||||
        // 远程调用service-user模块接口获取需要数据
 | 
			
		||||
        LeaderAddressVo leaderAddressVo = userFeignClient.getUserAddressByUserId(userId);
 | 
			
		||||
        result.put("leaderAddressVo", leaderAddressVo);
 | 
			
		||||
 | 
			
		||||
        //2 获取所有分类
 | 
			
		||||
        // 远程调用service-product模块接口
 | 
			
		||||
        List<Category> categoryList = productFeignClient.findAllCategoryList();
 | 
			
		||||
        result.put("categoryList", categoryList);
 | 
			
		||||
 | 
			
		||||
        //3 获取新人专享商品
 | 
			
		||||
        // 远程调用service-product模块接口
 | 
			
		||||
        List<SkuInfo> newPersonSkuInfoList = productFeignClient.findNewPersonSkuInfoList();
 | 
			
		||||
        result.put("newPersonSkuInfoList", newPersonSkuInfoList);
 | 
			
		||||
 | 
			
		||||
        //4 获取爆款商品
 | 
			
		||||
        // 远程调用service-search模块接口
 | 
			
		||||
        // hotscore 热门评分降序排序
 | 
			
		||||
        List<SkuEs> hotSkuList = skuFeignClient.findHotSkuList();
 | 
			
		||||
        result.put("hotSkuList", hotSkuList);
 | 
			
		||||
 | 
			
		||||
        //5 封装获取数据到map集合,返回
 | 
			
		||||
        return result;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,34 @@
 | 
			
		||||
server:
 | 
			
		||||
  port: 8207
 | 
			
		||||
feign:
 | 
			
		||||
  sentinel:
 | 
			
		||||
    enabled: true
 | 
			
		||||
  client:
 | 
			
		||||
    config:
 | 
			
		||||
      default: #配置全局的feign的调用超时时间  如果 有指定的服务配置 默认的配置不会生效
 | 
			
		||||
        connectTimeout: 50000 # 指定的是 消费者 连接服务提供者的连接超时时间 是否能连接  单位是毫秒
 | 
			
		||||
        readTimeout: 50000  # 指定的是调用服务提供者的 服务 的超时时间()  单位是毫秒
 | 
			
		||||
 | 
			
		||||
mybatis-plus:
 | 
			
		||||
  configuration:
 | 
			
		||||
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 | 
			
		||||
  type-enums-package: com.atguigu.ssyx.enums
 | 
			
		||||
 | 
			
		||||
spring:
 | 
			
		||||
  main:
 | 
			
		||||
    allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
 | 
			
		||||
  jackson:
 | 
			
		||||
    date-format: yyyy-MM-dd HH:mm:ss
 | 
			
		||||
    time-zone: GMT+8
 | 
			
		||||
  redis:
 | 
			
		||||
    host: 82.157.68.223
 | 
			
		||||
    port: 6379
 | 
			
		||||
    database: 0
 | 
			
		||||
    timeout: 1800000
 | 
			
		||||
    password:
 | 
			
		||||
    lettuce:
 | 
			
		||||
      pool:
 | 
			
		||||
        max-active: 20 #最大连接数
 | 
			
		||||
        max-wait: -1    #最大阻塞等待时间(负数表示没限制)
 | 
			
		||||
        max-idle: 5    #最大空闲
 | 
			
		||||
        min-idle: 0     #最小空闲
 | 
			
		||||
@@ -0,0 +1,11 @@
 | 
			
		||||
spring:
 | 
			
		||||
  application:
 | 
			
		||||
    name: service-home
 | 
			
		||||
  profiles:
 | 
			
		||||
    active: dev
 | 
			
		||||
  cloud:
 | 
			
		||||
    nacos:
 | 
			
		||||
      discovery:
 | 
			
		||||
        server-addr: 82.157.68.223:8848
 | 
			
		||||
        username: nacos
 | 
			
		||||
        password: nacos
 | 
			
		||||
@@ -56,4 +56,16 @@ public class ProductInnnerController {
 | 
			
		||||
    public List<SkuInfo> findSkuInfoByKeyword(@PathVariable("keyword") String keyword) {
 | 
			
		||||
        return skuInfoService.findSkuInfoByKeyword(keyword);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "获取所有分类")
 | 
			
		||||
    @GetMapping("inner/findAllCategoryList")
 | 
			
		||||
    public List<Category> findAllCategoryList() {
 | 
			
		||||
        return categoryService.list();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "获取新人专享商品")
 | 
			
		||||
    @GetMapping("inner/findNewPersonSkuInfoList")
 | 
			
		||||
    public List<SkuInfo> findNewPersonSkuInfoList() {
 | 
			
		||||
        return skuInfoService.findNewPersonSkuInfoList();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -98,4 +98,11 @@ public interface SkuInfoService extends IService<SkuInfo> {
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<SkuInfo> findSkuInfoByKeyword(String keyword);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取新人专享商品
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<SkuInfo> findNewPersonSkuInfoList();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -286,6 +286,25 @@ public class SkuInfoServiceImpl extends ServiceImpl<SkuInfoMapper, SkuInfo> impl
 | 
			
		||||
        return baseMapper.selectList(new LambdaQueryWrapper<SkuInfo>().like(SkuInfo::getSkuName, keyword));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取新人专享商品
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<SkuInfo> findNewPersonSkuInfoList() {
 | 
			
		||||
        //条件1 : is_new_person=1
 | 
			
		||||
        //条件2 : publish_status=1
 | 
			
		||||
        //条件3 :显示其中三个
 | 
			
		||||
        //获取第一页数据,每页显示三条记录
 | 
			
		||||
        Page<SkuInfo> pageParam = new Page<>(1, 3);
 | 
			
		||||
        //调用方法查询
 | 
			
		||||
        IPage<SkuInfo> skuInfoPage = baseMapper.selectPage(pageParam, new LambdaQueryWrapper<SkuInfo>().eq(SkuInfo::getIsNewPerson, 1)
 | 
			
		||||
                                                                                                       .eq(SkuInfo::getPublishStatus, 1)
 | 
			
		||||
                                                                                                       .orderByDesc(SkuInfo::getStock));
 | 
			
		||||
        return skuInfoPage.getRecords();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private SkuInfoVo getSkuInfoDB(Long skuId) {
 | 
			
		||||
        SkuInfoVo skuInfoVo = new SkuInfoVo();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -28,11 +28,6 @@
 | 
			
		||||
            <version>1.0-SNAPSHOT</version>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <!--        <dependency>-->
 | 
			
		||||
        <!--            <groupId>com.atguigu</groupId>-->
 | 
			
		||||
        <!--            <artifactId>service-product-api</artifactId>-->
 | 
			
		||||
        <!--            <version>1.0-SNAPSHOT</version>-->
 | 
			
		||||
        <!--        </dependency>-->
 | 
			
		||||
    </dependencies>
 | 
			
		||||
    <properties>
 | 
			
		||||
        <maven.compiler.source>8</maven.compiler.source>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
package com.atguigu.ssyx.search.controller;
 | 
			
		||||
 | 
			
		||||
import com.atguigu.ssyx.common.result.Result;
 | 
			
		||||
import com.atguigu.ssyx.model.search.SkuEs;
 | 
			
		||||
import com.atguigu.ssyx.search.service.SkuService;
 | 
			
		||||
import io.swagger.annotations.ApiOperation;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
@@ -9,6 +10,8 @@ import org.springframework.web.bind.annotation.PathVariable;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: SkuApiController
 | 
			
		||||
 * Package: com.atguigu.ssyx.search.controller
 | 
			
		||||
@@ -36,4 +39,10 @@ public class SkuApiController {
 | 
			
		||||
        skuService.lowerSku(skuId);
 | 
			
		||||
        return Result.ok(null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "获取爆品商品")
 | 
			
		||||
    @GetMapping("inner/findHotSkuList")
 | 
			
		||||
    public List<SkuEs> findHotSkuList() {
 | 
			
		||||
        return skuService.findHotSkuList();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,14 @@
 | 
			
		||||
package com.atguigu.ssyx.search.repository;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import com.atguigu.ssyx.model.search.SkuEs;
 | 
			
		||||
import org.springframework.data.domain.Page;
 | 
			
		||||
import org.springframework.data.domain.Pageable;
 | 
			
		||||
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
 | 
			
		||||
 | 
			
		||||
import java.net.ContentHandler;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: SkuRepository
 | 
			
		||||
 * Package: com.atguigu.ssyx.search.repository
 | 
			
		||||
@@ -11,4 +17,7 @@ import org.springframework.data.elasticsearch.repository.ElasticsearchRepository
 | 
			
		||||
 * @Create 2023/9/16 17:24
 | 
			
		||||
 */
 | 
			
		||||
public interface SkuRepository extends ElasticsearchRepository<SkuEs, Long> {
 | 
			
		||||
    //获取爆款商品
 | 
			
		||||
    Page<SkuEs> findByOrderByHotScoreDesc(Pageable pageable);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,10 @@
 | 
			
		||||
package com.atguigu.ssyx.search.service;
 | 
			
		||||
 | 
			
		||||
import com.atguigu.ssyx.model.search.SkuEs;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: SkuService
 | 
			
		||||
 * Package: com.atguigu.ssyx.search.service
 | 
			
		||||
@@ -26,4 +29,11 @@ public interface SkuService {
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    void lowerSku(Long skuId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取爆品商品
 | 
			
		||||
     *
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<SkuEs> findHotSkuList();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -10,8 +10,12 @@ import com.atguigu.ssyx.search.repository.SkuRepository;
 | 
			
		||||
import com.atguigu.ssyx.search.service.SkuService;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.data.domain.Page;
 | 
			
		||||
import org.springframework.data.domain.PageRequest;
 | 
			
		||||
import org.springframework.data.domain.Pageable;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Objects;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -29,7 +33,7 @@ public class SkuServiceImpl implements SkuService {
 | 
			
		||||
    private ProductFeignClient productFeignClient;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private SkuRepository skuEsRepository;
 | 
			
		||||
    private SkuRepository skuRepository;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 上架商品列表
 | 
			
		||||
@@ -60,9 +64,8 @@ public class SkuServiceImpl implements SkuService {
 | 
			
		||||
 | 
			
		||||
        if (Objects.equals(skuInfo.getSkuType(), SkuType.COMMON.getCode())) {
 | 
			
		||||
            skuEs.setSkuType(0);
 | 
			
		||||
            skuEs.setPrice(skuInfo
 | 
			
		||||
                    .getPrice()
 | 
			
		||||
                    .doubleValue());
 | 
			
		||||
            skuEs.setPrice(skuInfo.getPrice()
 | 
			
		||||
                                  .doubleValue());
 | 
			
		||||
            skuEs.setStock(skuInfo.getStock());
 | 
			
		||||
            skuEs.setSale(skuInfo.getSale());
 | 
			
		||||
            skuEs.setPerLimit(skuInfo.getPerLimit());
 | 
			
		||||
@@ -70,18 +73,26 @@ public class SkuServiceImpl implements SkuService {
 | 
			
		||||
            //TODO 待完善-秒杀商品
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        SkuEs save = skuEsRepository.save(skuEs);
 | 
			
		||||
        SkuEs save = skuRepository.save(skuEs);
 | 
			
		||||
        log.info("upperSku:" + JSON.toJSONString(save));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * a下架商品列表
 | 
			
		||||
     * 下架商品列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param skuId
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void lowerSku(Long skuId) {
 | 
			
		||||
        skuEsRepository.deleteById(skuId);
 | 
			
		||||
        skuRepository.deleteById(skuId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<SkuEs> findHotSkuList() {
 | 
			
		||||
        Pageable pageable = PageRequest.of(0, 10);
 | 
			
		||||
        Page<SkuEs> page = skuRepository.findByOrderByHotScoreDesc(pageable);
 | 
			
		||||
        List<SkuEs> skuEsList = page.getContent();
 | 
			
		||||
        return skuEsList;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,34 @@
 | 
			
		||||
package com.atguigu.ssyx.user.api;
 | 
			
		||||
 | 
			
		||||
import com.atguigu.ssyx.user.service.UserService;
 | 
			
		||||
import com.atguigu.ssyx.vo.user.LeaderAddressVo;
 | 
			
		||||
import io.swagger.annotations.Api;
 | 
			
		||||
import io.swagger.annotations.ApiOperation;
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.PathVariable;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.Resource;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ClassName: LeaderAddressController
 | 
			
		||||
 * Package: com.atguigu.ssyx.user.api
 | 
			
		||||
 *
 | 
			
		||||
 * @author yovinchen
 | 
			
		||||
 * @Create 2023/9/25 12:23
 | 
			
		||||
 */
 | 
			
		||||
@Api(tags = "团长接口")
 | 
			
		||||
@RestController
 | 
			
		||||
@RequestMapping("api/user/leader")
 | 
			
		||||
public class LeaderAddressController {
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private UserService userService;
 | 
			
		||||
 | 
			
		||||
    @ApiOperation("提货点地址信息")
 | 
			
		||||
    @GetMapping("inner/getUserAddressByUserId/{userId}")
 | 
			
		||||
    public LeaderAddressVo getUserAddressByUserId(@PathVariable(value = "userId") Long userId) {
 | 
			
		||||
        return userService.getLeaderAddressByUserId(userId);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user