支付宝支付 第七集:产品数据接口的定义和测试

支付宝支付 第七集:产品数据接口的定义和测试



一、目录结构

在这里插入图片描述



二、代码
  • 数据库SQL脚本(使用查询-新建查询)
    /*
    Navicat MySQL Data Transfer
    Source Server         : localhost
    Source Server Version : 50733
    Source Host           : localhost:3306
    Source Database       : kuangstudy-db
    Target Server Type    : MYSQL
    Target Server Version : 50733
    File Encoding         : 65001
    Date: 2021-04-01 19:48:54
    */
    SET FOREIGN_KEY_CHECKS=0;
    -- ----------------------------
    -- Table structure for kss_courses
    -- ----------------------------
    DROP TABLE IF EXISTS `kss_courses`;
    CREATE TABLE `kss_courses` (
      `courseid` varchar(32) NOT NULL COMMENT '课程唯一id',
      `title` varchar(100) DEFAULT NULL COMMENT '课程标题',
      `intro` varchar(500) DEFAULT NULL COMMENT '课程简短介绍',
      `img` varchar(300) DEFAULT NULL COMMENT '课程封面地址',
      `price` decimal(10,2) DEFAULT NULL COMMENT '课程的活动价',
      `status` int(1) DEFAULT NULL COMMENT '状态:已发布/未发布',
      `create_time` datetime DEFAULT NULL COMMENT '创建时间',
      `update_time` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`courseid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    -- ----------------------------
    -- Records of kss_courses
    -- ----------------------------
    INSERT INTO `kss_courses` VALUES ('1317503462556848129', '预科阶段', '学习编程之前你要了解的知识!', '/assert/course/c1/02.jpg', '0.01', '1', '2020-10-18 00:31:18', '2021-04-01 10:56:38');
    INSERT INTO `kss_courses` VALUES ('1317503769349214209', '入门环境搭建', '工欲善其事,必先利其器!', '/assert/course/c1/03.jpg', '0.01', '1', '2020-10-18 00:32:31', '2021-04-01 10:53:10');
    INSERT INTO `kss_courses` VALUES ('1317504142650658818', '基础语法学习', '基础决定你未来的高度!', '/assert/course/c1/04.jpg', '0.01', '1', '2020-10-18 00:34:00', '2021-04-01 10:54:18');
    INSERT INTO `kss_courses` VALUES ('1317504447027105793', '流程控制学习', '程序的本质就是这些!', '/assert/course/c1/05.jpg', '0.01', '1', '2020-10-18 00:35:13', '2021-04-01 10:56:03');
    INSERT INTO `kss_courses` VALUES ('1317504610634321921', '方法详解', '封装的思想!', '/assert/course/c1/06.jpg', '0.01', '1', '2020-10-18 00:35:52', '2021-04-01 10:55:04');
    INSERT INTO `kss_courses` VALUES ('1317504817342205954', '数组详解', '最简单的数据结构!', '/assert/course/c1/07.jpg', '0.01', '1', '2020-10-18 00:35:52', '2020-10-18 00:35:52');
    INSERT INTO `kss_courses` VALUES ('1317504988834713602', '面向对象编程', 'Java的精髓OOP!', '/assert/course/c1/08.jpg', '0.01', '1', '2020-10-18 00:35:52', '2020-10-18 00:35:52');
    INSERT INTO `kss_courses` VALUES ('1377518279077142529', '第三方支付课程-支付宝', '第三方支付课程-支付宝', '/assert/course/c10/07.jpg', '0.01', '1', '2020-10-18 00:18:08', '2021-04-01 10:54:25');
    -- ----------------------------
    -- Table structure for kss_order_detail
    -- ----------------------------
    DROP TABLE IF EXISTS `kss_order_detail`;
    CREATE TABLE `kss_order_detail` (
      `id` bigint(20) NOT NULL,
      `courseid` varchar(20) DEFAULT NULL,
      `coursetitle` varchar(255) DEFAULT NULL,
      `courseimg` varchar(255) DEFAULT NULL,
      `userid` varchar(32) DEFAULT NULL,
      `ordernumber` varchar(100) DEFAULT NULL,
      `tradeno` varchar(100) DEFAULT NULL,
      `create_time` datetime DEFAULT NULL,
      `update_time` datetime DEFAULT NULL,
      `username` varchar(100) DEFAULT NULL,
      `price` varchar(10) DEFAULT NULL,
      `paymethod` varchar(10) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    -- ----------------------------
    -- Records of kss_order_detail
    -- ----------------------------
    INSERT INTO `kss_order_detail` VALUES ('1377561070331342849', '1317503462556848129', '预科阶段', '/assert/course/c1/02.jpg', '1', '2021040117565301', '2021040122001474081439646913', '2021-04-01 17:58:48', '2021-04-01 17:58:48', '飞哥', '0.01', '1');
    INSERT INTO `kss_order_detail` VALUES ('1377561833455484929', '1317503769349214209', '入门环境搭建', '/assert/course/c1/03.jpg', '1', '2021040118015901', '2021040122001474081440101072', '2021-04-01 18:01:50', '2021-04-01 18:01:50', '飞哥', '0.01', '1');
    INSERT INTO `kss_order_detail` VALUES ('1377562728612233218', '1317503769349214209', '入门环境搭建', '/assert/course/c1/03.jpg', '1', '2021040118053301', '2021040122001474081440405818', '2021-04-01 18:05:23', '2021-04-01 18:05:23', '飞哥', '0.01', '1');
    INSERT INTO `kss_order_detail` VALUES ('1377564997252657153', '1317504142650658818', '基础语法学习', '/assert/course/c1/04.jpg', '1', '2021040118134201', '2021040122001474081440148822', '2021-04-01 18:14:24', '2021-04-01 18:14:24', '飞哥', '0.01', '1');
    
  • 增加依赖
    <!--mysql-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.17</version>
    </dependency>
    <!--mybatis-plus-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.0</version>
    </dependency>
    
  • 在application-dev.xml 配置数据的链接相关信息
    # 数据库连接
    spring:
      datasource:
        type: com.zaxxer.hikari.HikariDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/kuangstudy-db?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf-8&useSSL=false
        username: root
        password: root
        hikari:
          connection-timeout: 60000
          validation-timeout: 3000
          idle-timeout: 60000
          login-timeout: 5
          max-lifetime: 60000
          maximum-pool-size: 400
          minimum-idle: 100
          read-only: false
    # 日志管理
    logging:
      level:
        root: info
    
  • application.properties
    #基本配置
    server.port=8989
    spring.freemarker.suffix=.html
    spring.profiles.active=dev
    
    #数据库连接时配置
    spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
    spring.jackson.time-zone=GMT+8
    spring.jackson.locale=zh_CN
    spring.jackson.generator.write-numbers-as-strings=true
    spring.jackson.generator.write-bigdecimal-as-plain=true
    spring.jackson.servlet.content-type=text/html
    spring.jackson.servlet.multipart.max-file-size=2MB
    spring.jackson.servlet.multipart.max-request-size=2MB
    spring.jackson.mvc.servlet.load-on-startup=1
    spring.jackson.session.store-type=redis
    spring.jackson.session.timeout=1800
    spring.jackson.main.allow-bean-definition-overriding=true
    
    #配置静态资源访问路径
    spring.web.resources.static-locations=classpath:/
    
  • ProductCourse.java
    package com.dzy.alipay.entity;
    import com.baomidou.mybatisplus.annotation.*;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import lombok.ToString;
    import lombok.experimental.Accessors;
    import java.math.BigDecimal;
    import java.util.Date;
    
    @Data
    @ToString
    @AllArgsConstructor
    @NoArgsConstructor
    @Accessors(chain = true)
    @TableName("kss_courses")
    public class ProductCourse {
        // 课程ID
        @TableId(type = IdType.ASSIGN_ID)
        private Long courseid;
        // 课程标题
        private String title;
        // 课程介绍
        private String intro;
        // 课程封面
        private String img;
        // 课程价格
        private BigDecimal price;
        // 课程状态
        private Integer status;
        // 课程创建时间
        @TableField(fill = FieldFill.INSERT)
        private Date createTime;
        // 课程更新时间
        @TableField(fill = FieldFill.INSERT_UPDATE)
        private Date updateTime;
    }
    
  • ProductCourseMapper.java
    package com.dzy.alipay.mapper;
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import com.dzy.alipay.entity.ProductCourse;
    import org.springframework.stereotype.Repository;
    
    @Repository
    public interface ProductCourseMapper extends BaseMapper<ProductCourse> {
    }
    
  • ProductCourseService.java
    package com.dzy.alipay.service.course;
    import com.baomidou.mybatisplus.extension.service.IService;
    import com.dzy.alipay.entity.ProductCourse;
    
    
    public interface ProductCourseService extends IService<ProductCourse> {
    }
    
  • ProductCourseServiceImpl.java
    package com.dzy.alipay.service.course;
    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    import com.dzy.alipay.entity.ProductCourse;
    import com.dzy.alipay.mapper.ProductCourseMapper;
    import org.springframework.stereotype.Service;
    
    @Service
    public class ProductCourseServiceImpl extends ServiceImpl<ProductCourseMapper,ProductCourse> implements ProductCourseService {
    }
    
  • CourseController.java
    package com.dzy.alipay.web.course;
    import com.dzy.alipay.entity.ProductCourse;
    import com.dzy.alipay.service.course.ProductCourseService;
    import com.dzy.alipay.vo.R;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import java.util.List;
    
    @Controller
    public class CourseController {
        private final ProductCourseService productCourseService;
    
        public CourseController(ProductCourseService productCourseService) {
            this.productCourseService = productCourseService;
        }
        
        @GetMapping("/api/course/list")
        @ResponseBody
        public R main() {
            List<ProductCourse> courseList = productCourseService.list();
            return R.ok().data("courseList", courseList);
        }
    }
    


三、运行截图

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值