Browse Source

feat: 增加获取课程验证码

ChenSiTong 6 years ago
parent
commit
40c5d6d72b

+ 12 - 2
src/main/java/nju/seec/helper/controller/CourseController.java

@@ -70,9 +70,9 @@ public class CourseController {
     }
 
     /**
-     *
+     * 学生退课
      */
-    @Auth(roles = UserType.STUDENT, message = "取消选课")
+    @Auth(roles = UserType.STUDENT, message = "退课")
     @PostMapping("/quit/{courseId}")
     public void quitCourse(LoginUser user,
                            @PathVariable Integer courseId) {
@@ -109,4 +109,14 @@ public class CourseController {
                                                     @PageableDefault(Integer.MAX_VALUE) Pageable pageable) {
         return PageResponse.of(courseService.studentGetCourses(user, key, pageable));
     }
+
+    /**
+     * 获取课程选课码
+     */
+    @Auth(roles = UserType.TEACHER, message = "获取选课码")
+    @GetMapping("/{courseId}/code")
+    public String getCourseCode(LoginUser user,
+                                @PathVariable Integer courseId) {
+        return courseService.getCourseCode(user, courseId);
+    }
 }

+ 9 - 0
src/main/java/nju/seec/helper/service/CourseService.java

@@ -82,4 +82,13 @@ public interface CourseService {
      * @return
      */
     Page<CourseVO> studentGetCourses(LoginUser student, String key, Pageable pageable);
+
+    /**
+     * 获取课程选课码
+     *
+     * @param user
+     * @param courseId
+     * @return
+     */
+    String getCourseCode(LoginUser user, Integer courseId);
 }

+ 8 - 0
src/main/java/nju/seec/helper/service/impl/CourseServiceImpl.java

@@ -125,6 +125,14 @@ public class CourseServiceImpl implements CourseService {
                 .map(CourseVO::new);
     }
 
+    @Override
+    public String getCourseCode(LoginUser user, Integer courseId) {
+        Course course = courseDAO.findCourseById(courseId);
+        AuthUtil.checkDataAuth(user.getId(), course.getTeacherId(), "您无权查看该课程选课码");
+
+        return EncryptUtils.decode(course.getCode());
+    }
+
     /**
      * 检查同名课程
      */

+ 1 - 1
src/main/resources/application-dev.yml

@@ -10,7 +10,7 @@ spring:
       ddl-auto: update
     database: mysql
     database-platform: org.hibernate.dialect.MySQL8Dialect
-#    show-sql: true
+  #    show-sql: true
   http:
     encoding:
       force: true