Преглед изворни кода

1.添加课程、学习、作业实体类;
2.添加新增实体类对应的数据仓库及数据服务类和实现类。

Yumin пре 6 година
родитељ
комит
be4d6454a9

+ 7 - 7
src/main/java/cn/minbb/edu/controller/rest/UserController.java

@@ -30,19 +30,19 @@ public class UserController {
         if (user == null) {
             // 用户不存在
             result.setCode(0);
-            result.setStatus(false);
+            result.setSuccess(false);
             result.setMessage("用户不存在");
         } else {
             if (password.equals(user.getPassword())) {
                 // OK
                 result.setCode(1);
-                result.setStatus(true);
+                result.setSuccess(true);
                 result.setMessage("登录成功");
                 result.setData(user);
             } else {
                 // 密码错误
                 result.setCode(0);
-                result.setStatus(false);
+                result.setSuccess(false);
                 result.setMessage("密码错误");
             }
         }
@@ -61,25 +61,25 @@ public class UserController {
                 if (user != null) {
                     // 注册成功
                     result.setCode(1);
-                    result.setStatus(true);
+                    result.setSuccess(true);
                     result.setMessage("注册成功");
                     result.setData(user);
                 } else {
                     // 注册失败
                     result.setCode(0);
-                    result.setStatus(false);
+                    result.setSuccess(false);
                     result.setMessage("注册失败");
                 }
             } else {
                 // 用户存在 - 不可以注册
                 result.setCode(0);
-                result.setStatus(false);
+                result.setSuccess(false);
                 result.setMessage("用户已存在");
             }
         } else {
             // 错误的注册请求
             result.setCode(0);
-            result.setStatus(false);
+            result.setSuccess(false);
             result.setMessage("错误的注册请求");
         }
         return result;

+ 1 - 1
src/main/java/cn/minbb/edu/data/ResponseResult.java

@@ -10,7 +10,7 @@ public class ResponseResult<T extends Serializable> implements Serializable {
 
     private Integer code = -1;
 
-    private Boolean status = false;
+    private Boolean success = false;
 
     private String message = "";
 

+ 77 - 0
src/main/java/cn/minbb/edu/model/Course.java

@@ -0,0 +1,77 @@
+package cn.minbb.edu.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import org.hibernate.annotations.CreationTimestamp;
+import org.hibernate.annotations.UpdateTimestamp;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+@Entity
+@Table(name = "course")
+@NoArgsConstructor
+@AllArgsConstructor
+public class Course implements Serializable {
+
+    @Getter
+    @Setter
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false, columnDefinition = "INT COMMENT '课程实体'")
+    private Integer id;
+
+    @Getter
+    @Setter
+    @Column(name = "name", nullable = false, columnDefinition = "VARCHAR(64) COMMENT '名称'")
+    private String name;
+
+    @Getter
+    @Setter
+    @Column(name = "introduction", nullable = false, columnDefinition = "VARCHAR(255) COMMENT '介绍'")
+    private String introduction;
+
+    @Getter
+    @Setter
+    @Column(name = "cover", columnDefinition = "VARCHAR(255) COMMENT '封面'")
+    private String cover;
+
+    @Getter
+    @Setter
+    @Column(name = "video", columnDefinition = "VARCHAR(255) COMMENT '视频'")
+    private String video;
+
+    @Getter
+    @Setter
+    @Column(name = "remark", columnDefinition = "VARCHAR(255) COMMENT '备注'")
+    private String remark;
+
+    @Getter
+    @Setter
+    @Column(name = "teacher_id", nullable = false, columnDefinition = "INT COMMENT '关联用户(教师)'")
+    private Integer teacherId;
+
+    @Getter
+    @Setter
+    @Column(name = "created_at", columnDefinition = "DATETIME COMMENT '创建时间'")
+    @CreationTimestamp
+    private Date createdAt;
+
+    @Getter
+    @Setter
+    @Column(name = "updated_at", columnDefinition = "DATETIME COMMENT '更新时间'")
+    @UpdateTimestamp
+    private Date updatedAt;
+
+    @Version
+    @Column(name = "version", columnDefinition = "INTEGER COMMENT '版本号'")
+    public Integer version;
+
+    @Getter
+    @Setter
+    @Transient
+    private User voTeacher;
+}

+ 57 - 0
src/main/java/cn/minbb/edu/model/Homework.java

@@ -0,0 +1,57 @@
+package cn.minbb.edu.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import org.hibernate.annotations.CreationTimestamp;
+import org.hibernate.annotations.UpdateTimestamp;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+@Entity
+@Table(name = "homework")
+@NoArgsConstructor
+@AllArgsConstructor
+public class Homework implements Serializable {
+
+    @Getter
+    @Setter
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false, columnDefinition = "INT COMMENT '作业实体'")
+    private Integer id;
+
+    @Getter
+    @Setter
+    @Column(name = "name", nullable = false, columnDefinition = "VARCHAR(64) COMMENT '名称'")
+    private String name;
+
+    @Getter
+    @Setter
+    @Column(name = "introduction", nullable = false, columnDefinition = "VARCHAR(255) COMMENT '介绍'")
+    private String introduction;
+
+    @Getter
+    @Setter
+    @Column(name = "remark", columnDefinition = "VARCHAR(255) COMMENT '备注'")
+    private String remark;
+
+    @Getter
+    @Setter
+    @Column(name = "created_at", columnDefinition = "DATETIME COMMENT '创建时间'")
+    @CreationTimestamp
+    private Date createdAt;
+
+    @Getter
+    @Setter
+    @Column(name = "updated_at", columnDefinition = "DATETIME COMMENT '更新时间'")
+    @UpdateTimestamp
+    private Date updatedAt;
+
+    @Version
+    @Column(name = "version", columnDefinition = "INTEGER COMMENT '版本号'")
+    public Integer version;
+}

+ 67 - 0
src/main/java/cn/minbb/edu/model/Study.java

@@ -0,0 +1,67 @@
+package cn.minbb.edu.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import org.hibernate.annotations.CreationTimestamp;
+import org.hibernate.annotations.UpdateTimestamp;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+@Entity
+@Table(name = "study")
+@NoArgsConstructor
+@AllArgsConstructor
+public class Study implements Serializable {
+
+    @Getter
+    @Setter
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false, columnDefinition = "INT COMMENT '用户课程实体'")
+    private Integer id;
+
+    @Getter
+    @Setter
+    @Column(name = "user_id", nullable = false, columnDefinition = "INT COMMENT '关联用户'")
+    private Integer userId;
+
+    @Getter
+    @Setter
+    @Column(name = "course_id", nullable = false, columnDefinition = "INT COMMENT '关联课程'")
+    private Integer courseId;
+
+    @Getter
+    @Setter
+    @Column(name = "remark", columnDefinition = "VARCHAR(255) COMMENT '备注'")
+    private String remark;
+
+    @Getter
+    @Setter
+    @Column(name = "created_at", columnDefinition = "DATETIME COMMENT '创建时间'")
+    @CreationTimestamp
+    private Date createdAt;
+
+    @Getter
+    @Setter
+    @Column(name = "updated_at", columnDefinition = "DATETIME COMMENT '更新时间'")
+    @UpdateTimestamp
+    private Date updatedAt;
+
+    @Version
+    @Column(name = "version", columnDefinition = "INTEGER COMMENT '版本号'")
+    public Integer version;
+
+    @Getter
+    @Setter
+    @Transient
+    private User voUser;
+
+    @Getter
+    @Setter
+    @Transient
+    private Course voCourse;
+}

+ 61 - 1
src/main/java/cn/minbb/edu/model/User.java

@@ -4,10 +4,13 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
+import org.hibernate.annotations.CreationTimestamp;
+import org.hibernate.annotations.UpdateTimestamp;
 
 import javax.persistence.*;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
+import java.util.Date;
 
 @Entity
 @Table(name = "user")
@@ -19,7 +22,7 @@ public class User implements Serializable {
     @Setter
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "id", nullable = false, columnDefinition = "INT COMMENT '用户实体ID'")
+    @Column(name = "id", nullable = false, columnDefinition = "INT COMMENT '用户实体'")
     private Integer id;
 
     @Getter
@@ -37,18 +40,75 @@ public class User implements Serializable {
     @Column(name = "name", columnDefinition = "VARCHAR(64) COMMENT '姓名'")
     private String name;
 
+    @Getter
+    @Setter
+    @Column(name = "nickname", columnDefinition = "VARCHAR(32) COMMENT '昵称'")
+    private String nickname;
+
+    @Getter
+    @Setter
+    @Column(name = "signature", columnDefinition = "VARCHAR(255) COMMENT '签名'")
+    private String signature;
+
+    @Getter
+    @Setter
+    @Column(name = "email", columnDefinition = "VARCHAR(255) COMMENT '电子邮箱'")
+    private String email;
+
+    @Getter
+    @Setter
+    @Column(name = "phone", columnDefinition = "VARCHAR(16) COMMENT '电话'")
+    private String phone;
+
+    @Getter
+    @Setter
+    @Column(name = "qq", columnDefinition = "VARCHAR(16) COMMENT 'QQ'")
+    private String qq;
+
     @Getter
     @Setter
     @Column(name = "avatar", columnDefinition = "VARCHAR(255) COMMENT '头像'")
     private String avatar;
 
+    @Getter
+    @Setter
+    @Enumerated(EnumType.STRING)
+    @Column(name = "type", columnDefinition = "VARCHAR(16) COMMENT '用户类型'")
+    private Type type;
+
+    @Getter
+    @Setter
+    @Column(name = "is_enabled", nullable = false, columnDefinition = "TINYINT DEFAULT '1' COMMENT '帐户启用'")
+    private Boolean isEnabled;
+
     @Getter
     @Setter
     @Column(name = "school", columnDefinition = "VARCHAR(64) COMMENT '学校'")
     private String school;
 
+    @Getter
+    @Setter
+    @Column(name = "created_at", columnDefinition = "DATETIME COMMENT '创建时间'")
+    @CreationTimestamp
+    private Date createdAt;
+
+    @Getter
+    @Setter
+    @Column(name = "updated_at", columnDefinition = "DATETIME COMMENT '更新时间'")
+    @UpdateTimestamp
+    private Date updatedAt;
+
+    @Version
+    @Column(name = "version", columnDefinition = "INTEGER COMMENT '版本号'")
+    public Integer version;
+
     public User(@NotNull String username, @NotNull String password) {
         this.username = username;
         this.password = password;
     }
+
+    public enum Type {
+        // 学生,教师,管理员
+        STUDENT, TEACHER, ADMIN
+    }
 }

+ 7 - 0
src/main/java/cn/minbb/edu/model/repository/CourseRepository.java

@@ -0,0 +1,7 @@
+package cn.minbb.edu.model.repository;
+
+import cn.minbb.edu.model.Course;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface CourseRepository extends JpaRepository<Course, Integer> {
+}

+ 7 - 0
src/main/java/cn/minbb/edu/model/repository/HomeworkRepository.java

@@ -0,0 +1,7 @@
+package cn.minbb.edu.model.repository;
+
+import cn.minbb.edu.model.Homework;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface HomeworkRepository extends JpaRepository<Homework, Integer> {
+}

+ 7 - 0
src/main/java/cn/minbb/edu/model/repository/StudyRepository.java

@@ -0,0 +1,7 @@
+package cn.minbb.edu.model.repository;
+
+import cn.minbb.edu.model.Study;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface StudyRepository extends JpaRepository<Study, Integer> {
+}

+ 7 - 0
src/main/java/cn/minbb/edu/service/CourseService.java

@@ -0,0 +1,7 @@
+package cn.minbb.edu.service;
+
+import cn.minbb.edu.model.Course;
+
+public interface CourseService {
+    Course save(Course course);
+}

+ 7 - 0
src/main/java/cn/minbb/edu/service/HomeworkService.java

@@ -0,0 +1,7 @@
+package cn.minbb.edu.service;
+
+import cn.minbb.edu.model.Homework;
+
+public interface HomeworkService {
+    Homework save(Homework homework);
+}

+ 7 - 0
src/main/java/cn/minbb/edu/service/StudyService.java

@@ -0,0 +1,7 @@
+package cn.minbb.edu.service;
+
+import cn.minbb.edu.model.Study;
+
+public interface StudyService {
+    Study save(Study study);
+}

+ 22 - 0
src/main/java/cn/minbb/edu/service/impl/CourseServiceImpl.java

@@ -0,0 +1,22 @@
+package cn.minbb.edu.service.impl;
+
+import cn.minbb.edu.model.Course;
+import cn.minbb.edu.service.CourseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CourseServiceImpl implements CourseService {
+
+    private CourseService courseService;
+
+    @Autowired
+    public CourseServiceImpl(CourseService courseService) {
+        this.courseService = courseService;
+    }
+
+    @Override
+    public Course save(Course course) {
+        return courseService.save(course);
+    }
+}

+ 22 - 0
src/main/java/cn/minbb/edu/service/impl/HomeworkServiceImpl.java

@@ -0,0 +1,22 @@
+package cn.minbb.edu.service.impl;
+
+import cn.minbb.edu.model.Homework;
+import cn.minbb.edu.service.HomeworkService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class HomeworkServiceImpl implements HomeworkService {
+
+    private HomeworkService homeworkService;
+
+    @Autowired
+    public HomeworkServiceImpl(HomeworkService homeworkService) {
+        this.homeworkService = homeworkService;
+    }
+
+    @Override
+    public Homework save(Homework homework) {
+        return homeworkService.save(homework);
+    }
+}

+ 23 - 0
src/main/java/cn/minbb/edu/service/impl/StudyServiceImpl.java

@@ -0,0 +1,23 @@
+package cn.minbb.edu.service.impl;
+
+import cn.minbb.edu.model.Study;
+import cn.minbb.edu.model.repository.StudyRepository;
+import cn.minbb.edu.service.StudyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class StudyServiceImpl implements StudyService {
+
+    private StudyRepository studyRepository;
+
+    @Autowired
+    public StudyServiceImpl(StudyRepository studyRepository) {
+        this.studyRepository = studyRepository;
+    }
+
+    @Override
+    public Study save(Study study) {
+        return studyRepository.save(study);
+    }
+}