Procházet zdrojové kódy

update the sql file and modify the property of CourseOrder entity

tubinyan před 5 roky
rodič
revize
bbd284a672

+ 29 - 5
sql/courselearning.sql

@@ -28,11 +28,11 @@ CREATE TABLE `course` (
 -- ----------------------------
 -- Records of course
 -- ----------------------------
-INSERT INTO `course` VALUES ('1', '软件工程与计算 I', '中级', '通过Scheme、Python和Java语言,让你分别体会函数式编程范式、结构化编程范式和面向对象编程范式', 'course1.png', '南京大学', '2020-12-20 10:00:00', null, '1', 1, '刘钦');
-INSERT INTO `course` VALUES ('2', '软件工程与计算 II', '中级', '基于DevOps培养团队开发中小规模软件系统的能力', 'course2.png', '南京大学', '2020-12-20 10:00:00', null, '1', 1, '刘钦');
-INSERT INTO `course` VALUES ('3', '程序猿与攻城狮', '初级', '我们将由5位老师从不同的角度来说说他们对软件工程的理解。我们并非试图去覆盖所有软件工程的知识点,我们只是希望去让对软件工程有兴趣的你们了解到“我要学什么”“我应如何学”“我今后能做什么”这样一些基本的问题的部分答案。\r\n\r\n   刘钦老师会介绍软件工程的历史和软件工程建模;丁二玉老师会谈谈软件工程师和软件工程团队;冯桂焕老师会通过案例让大家体验人机交互的魅力;陈振宇老师会从概率统计讲到软件测试;刘嘉老师会娓娓道来他对最热门的移动互联网发展的本质的理解。', 'course3.png', '南京大学', '2020-12-20 10:00:00', null, '1', 1, '刘钦');
-INSERT INTO `course` VALUES ('4', '基于Java的面向对象编程范式', '初级', '本课程完成了编程思维、结构化编程范式、面向对象编程方式的介绍,并且着重强调了面向对象编程中封装、协作和可修改性三个重要概念。通过客观题和6道编程题的训练,进一步加深对面向对象编程范式的理解,初步领略面向对象编程范式的风采。', 'course4.png', '南京大学', '2020-12-20 10:00:00', null, '1', 1, '刘钦');
-INSERT INTO `course` VALUES ('5', '移动互联网软件工程', '高级', '本课程结合软件工程方法学,从移动互联网需求出发,结合现有的互联网企业产品架构分析,探讨移动互联网软件开发的各种关注点、应用架构基础。', 'no.png', '南京大学', '2020-12-20 10:00:00', null, '1', 1, '刘钦');
+INSERT INTO `course` VALUES ('1', '软件工程与计算 I', '中级', '通过Scheme、Python和Java语言,让你分别体会函数式编程范式、结构化编程范式和面向对象编程范式', 'course1.png', '南京大学', '2020-12-20 10:00:00', null, '1', 100, '刘钦');
+INSERT INTO `course` VALUES ('2', '软件工程与计算 II', '中级', '基于DevOps培养团队开发中小规模软件系统的能力', 'course2.png', '南京大学', '2020-12-20 10:00:00', null, '1', 200, '刘钦');
+INSERT INTO `course` VALUES ('3', '程序猿与攻城狮', '初级', '我们将由5位老师从不同的角度来说说他们对软件工程的理解。我们并非试图去覆盖所有软件工程的知识点,我们只是希望去让对软件工程有兴趣的你们了解到“我要学什么”“我应如何学”“我今后能做什么”这样一些基本的问题的部分答案。\r\n\r\n   刘钦老师会介绍软件工程的历史和软件工程建模;丁二玉老师会谈谈软件工程师和软件工程团队;冯桂焕老师会通过案例让大家体验人机交互的魅力;陈振宇老师会从概率统计讲到软件测试;刘嘉老师会娓娓道来他对最热门的移动互联网发展的本质的理解。', 'course3.png', '南京大学', '2020-12-20 10:00:00', null, '1', 300, '刘钦');
+INSERT INTO `course` VALUES ('4', '基于Java的面向对象编程范式', '初级', '本课程完成了编程思维、结构化编程范式、面向对象编程方式的介绍,并且着重强调了面向对象编程中封装、协作和可修改性三个重要概念。通过客观题和6道编程题的训练,进一步加深对面向对象编程范式的理解,初步领略面向对象编程范式的风采。', 'course4.png', '南京大学', '2020-12-20 10:00:00', null, '1', 400, '刘钦');
+INSERT INTO `course` VALUES ('5', '移动互联网软件工程', '高级', '本课程结合软件工程方法学,从移动互联网需求出发,结合现有的互联网企业产品架构分析,探讨移动互联网软件开发的各种关注点、应用架构基础。', 'no.png', '南京大学', '2020-12-20 10:00:00', null, '1', 500, '刘钦');
 
 -- ----------------------------
 -- Table structure for `course_order`
@@ -40,6 +40,7 @@ INSERT INTO `course` VALUES ('5', '移动互联网软件工程', '高级', '本
 DROP TABLE IF EXISTS `course_order`;
 CREATE TABLE `course_order` (
   `id` int NOT NULL AUTO_INCREMENT,
+  `origin` int NOT NULL,
   `cost` int NOT NULL,
   `course_id` int NOT NULL,
   `course_name` varchar(255) NOT NULL,
@@ -311,4 +312,27 @@ CREATE TABLE `recharge_order` (
   CONSTRAINT `fk_user_recharge` FOREIGN KEY (`user_id`) REFERENCES `user_info` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
+
+-- ----------------------------
+-- Table structure for `coupon`
+-- ----------------------------
+
+DROP TABLE IF EXISTS `coupon`;
+CREATE TABLE `coupon` (
+  `id` int NOT NULL AUTO_INCREMENT,
+  `type` varchar(255) NOT NULL,
+  `name` varchar(255) NOT NULL,
+  `description` varchar(255) NOT NULL,
+  `course_id` int DEFAULT '-1',
+  `user_id` int DEFAULT '-1',
+  `threshold` int DEFAULT '0',
+  `discount` double DEFAULT '1.0',
+  `cut_down` int DEFAULT '0',
+  `start_time` datetime DEFAULT NULL,
+  `end_time` datetime DEFAULT NULL,
+  `effective` tinyint(1) NOT NULL DEFAULT '1',
+  `sharable` tinyint(1) NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
+
 SET FOREIGN_KEY_CHECKS=1;

+ 11 - 0
src/main/java/cn/seecoder/courselearning/po/CourseOrder.java

@@ -8,6 +8,8 @@ import java.util.Date;
 public class CourseOrder {
     private Integer id;
 
+    private Integer origin;
+
     private Integer cost;
 
     private Integer courseId;
@@ -28,6 +30,14 @@ public class CourseOrder {
         this.id = id;
     }
 
+    public Integer getOrigin() {
+        return origin;
+    }
+
+    public void setOrigin(Integer origin) {
+        this.origin = origin;
+    }
+
     public Integer getCost() {
         return cost;
     }
@@ -81,6 +91,7 @@ public class CourseOrder {
 
     public CourseOrder(@NonNull CourseOrderVO orderVO){
         this.id = orderVO.getId();
+        this.origin = orderVO.getOrigin();
         this.cost = orderVO.getCost();
         this.courseId = orderVO.getCourseId();
         this.courseName = orderVO.getCourseName();

+ 5 - 0
src/main/java/cn/seecoder/courselearning/vo/CourseOrderVO.java

@@ -11,6 +11,10 @@ import java.util.Date;
 public class CourseOrderVO {
     private Integer id;
 
+    // 课程原价
+    private Integer origin;
+
+    // 实际支付金额
     private Integer cost;
 
     private Integer courseId;
@@ -29,6 +33,7 @@ public class CourseOrderVO {
 
     public CourseOrderVO(@NonNull CourseOrder order) {
         id = order.getId();
+        origin = order.getOrigin();
         cost = order.getCost();
         courseId = order.getCourseId();
         courseName = order.getCourseName();

+ 8 - 6
src/main/resources/mapper/CourseOrderMapper.xml

@@ -3,6 +3,7 @@
 <mapper namespace="cn.seecoder.courselearning.mapperservice.CourseOrderMapper">
   <resultMap id="BaseResultMap" type="cn.seecoder.courselearning.po.CourseOrder">
     <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="origin" jdbcType="INTEGER" property="cost" />
     <result column="cost" jdbcType="INTEGER" property="cost" />
     <result column="course_id" jdbcType="INTEGER" property="courseId" />
     <result column="course_name" jdbcType="VARCHAR" property="courseName" />
@@ -15,16 +16,17 @@
     where id = #{id,jdbcType=INTEGER}
   </delete>
   <insert id="insert" parameterType="cn.seecoder.courselearning.po.CourseOrder" useGeneratedKeys="true" keyProperty="id">
-    insert into course_order (id, cost, course_id, 
+    insert into course_order (id, origin, cost, course_id,
       course_name, create_time, user_id, 
       status)
-    values (#{id,jdbcType=INTEGER}, #{cost,jdbcType=INTEGER}, #{courseId,jdbcType=INTEGER}, 
+    values (#{id,jdbcType=INTEGER}, #{origin,jdbcType=INTEGER}, #{cost,jdbcType=INTEGER}, #{courseId,jdbcType=INTEGER},
       #{courseName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{userId,jdbcType=INTEGER}, 
       #{status,jdbcType=INTEGER})
   </insert>
   <update id="updateByPrimaryKey" parameterType="cn.seecoder.courselearning.po.CourseOrder">
     update course_order
     set cost = #{cost,jdbcType=INTEGER},
+      orgin = #{origin,jdbcType=INTEGER},
       course_id = #{courseId,jdbcType=INTEGER},
       course_name = #{courseName,jdbcType=VARCHAR},
       create_time = #{createTime,jdbcType=TIMESTAMP},
@@ -33,21 +35,21 @@
     where id = #{id,jdbcType=INTEGER}
   </update>
   <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-    select id, cost, course_id, course_name, create_time, user_id, status
+    select id, origin, cost, course_id, course_name, create_time, user_id, status
     from course_order
     where id = #{id,jdbcType=INTEGER}
   </select>
   <select id="selectAll" resultMap="BaseResultMap">
-    select id, cost, course_id, course_name, create_time, user_id, status
+    select id, origin, cost, course_id, course_name, create_time, user_id, status
     from course_order
   </select>
   <select id="selectByUserId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-    select id, cost, course_id, course_name, create_time, user_id, status
+    select id, origin, cost, course_id, course_name, create_time, user_id, status
     from course_order
     where user_id=#{userId}
   </select>
   <select id="queryMostRecentOrder" parameterType="java.lang.Integer" resultMap="BaseResultMap">
-    select id, cost, course_id, course_name, create_time, user_id, status
+    select id, origin, cost, course_id, course_name, create_time, user_id, status
     from course_order
     where user_id=#{userId} and course_id=#{courseId}
     order by create_time desc limit 1