欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

电商项目(二十三)订单

程序员文章站 2022-04-14 23:21:56
...

1. 创建frontend_order服务

1.1 添加依赖在pom文件中

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>bz_parent</artifactId>
        <groupId>com.bjsxt</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>frontend_order</artifactId>

    <dependencies>
        <!--mapper-->
        <dependency>
            <groupId>com.bjsxt</groupId>
            <artifactId>common_mapper</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!--utils-->
        <dependency>
            <groupId>com.bjsxt</groupId>
            <artifactId>common_utils</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!--Spring Boot Web Starter-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--Spring Cloud Eureka Client Starter-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>com.bjsxt</groupId>
            <artifactId>common_tx_manager_client</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!--Spring Cloud OpenFeign Starter-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>com.bjsxt</groupId>
            <artifactId>common_redis</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--Spring Cloud Config Client Starter-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

        <!--Spring Cloud AMQP: (RabbitMQ) Starter-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>

        <!--Logback-->
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

1.2 添加配置文件

spring: application: name: frontend-order datasource: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/bz_shop?characterEncoding=UTF-8 username: root password: root type: com.alibaba.druid.pool.DruidDataSource server: port: 9111 eureka: client: serviceUrl: defaultZone: http://eureka-server:8761/eureka/ tx-lcn:
client: manager-address: 192.168.54.171:8070

1.3 创建启动类

电商项目(二十三)订单

2. 在common_redis服务中实现订单id的生成

2.1 创建controller-----OrderController

新增方法:生成订单的id
方法返回值:Long
方法的参数:无

2.2 创建service

2.3 创建serviceImpl

在业务层实现
实现方法:生成订单id
电商项目(二十三)订单

2.4 在common_redis的配置文件中新增

电商项目(二十三)订单

3. 在frontend_order服务中实现订单的创建(涉及三个表)

3.1 创建controller—OrderController

新增方法:创建订单
方法的返回值:Result
方法的参数:String orderItem,TbOrder tbOrder, TbOrderShipping tbOrderShipping

电商项目(二十三)订单

3.2 创建service

3.3 创建serviceImpl

电商项目(二十三)订单

3.4 创建FeignClient

电商项目(二十三)订单

3.5 修改启动类,在启动类上添加@EnableFeignClients,开启Feign服务

4. 提交订单之后将订单中所包含的所有商品在购物车中删除掉

4.1 修改fronten_cart中的CartController

电商项目(二十三)订单

4.2 创建FeignClient

电商项目(二十三)订单

4.3 修改 frontend_order 服务的 serviceImpl

在遍历获取订单的时候,删除操作
电商项目(二十三)订单

5. 结算时检查用户是否登录(用到拦截器)

5.1 在common_redis中检查用户是否登陆

在SSOController中,
新增方法:根据用户的token校验用户在热地中是否失效
方法的返回值:TBUser
方法的参数:@RequestParam String token

在serviceImpl中实现该方法
电商项目(二十三)订单

5.2 在frontend_cart服务中添加校验用户是否登陆的Interceptor

创建interceptor—UserLoginInterceptor

电商项目(二十三)订单

创建配置类,配置拦截器

电商项目(二十三)订单

创建校验用户登录业务层接口实现类

电商项目(二十三)订单

相关标签: 电商