Selaa lähdekoodia

feat: findGroupRuleByCourseId

mjh 4 vuotta sitten
vanhempi
commit
0367e1bc10

+ 9 - 4
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/GroupService.java

@@ -5,9 +5,6 @@ import cn.seecoder.seecoderportalcommon.vo.dto.GroupDTO;
 import cn.seecoder.seecoderportalcommon.vo.group.GroupMemberVO;
 import cn.seecoder.seecoderportalcommon.vo.group.GroupRuleVO;
 import cn.seecoder.seecoderportalcommon.vo.group.GroupVO;
-import cn.seecoder.seecoderportalserver.domain.group.Group;
-import cn.seecoder.seecoderportalserver.domain.group.GroupRule;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
@@ -21,7 +18,15 @@ public interface GroupService {
      * @param ruleVO 课程小组规则
      * @return 修改后的课程小组规则
      */
-    GroupRuleVO editGroupRule(GroupRuleVO ruleVO);
+    GroupRuleVO createGroupRule(GroupRuleVO ruleVO);
+
+    /**
+     * 根据课程id查找课程小组规则
+     *
+     * @param courseId Long
+     * @return GroupRuleVO
+     */
+    GroupRuleVO findGroupRuleByCourseId(Long courseId);
 
     /**
      * 创建小组

+ 6 - 1
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/GroupServiceImpl.java

@@ -133,7 +133,7 @@ public class GroupServiceImpl implements GroupService {
 
     @Override
     @Transactional(rollbackFor = RuntimeException.class)
-    public GroupRuleVO editGroupRule(GroupRuleVO ruleVO) {
+    public GroupRuleVO createGroupRule(GroupRuleVO ruleVO) {
         Long teacherId = courseService
                 .findCourseById(ruleVO.getCourseVO().getId())
                 .getTeacher().getId();
@@ -148,6 +148,11 @@ public class GroupServiceImpl implements GroupService {
         return groupRuleMapper.toGroupRuleVO(groupRule);
     }
 
+    @Override
+    public GroupRuleVO findGroupRuleByCourseId(Long courseId) {
+        return groupRuleMapper.toGroupRuleVO(groupRuleRepository.findByCourse_Id(courseId).orElseThrow(CustomErrorException::groupRuleNotFound));
+    }
+
     private String getGroupTableName(Long courseId) {
         return "group_" + courseId;
     }

+ 7 - 2
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/GroupController.java

@@ -23,8 +23,13 @@ public class GroupController {
     }
 
     @PostMapping("/rule")
-    public OkResponse<GroupRuleVO> editGroupRule(@RequestBody GroupRuleVO ruleVO) {
-        return OkResponse.of(groupService.editGroupRule(ruleVO));
+    public OkResponse<GroupRuleVO> createGroupRule(@RequestBody GroupRuleVO ruleVO) {
+        return OkResponse.of(groupService.createGroupRule(ruleVO));
+    }
+
+    @GetMapping("/rule")
+    public OkResponse<GroupRuleVO> findGroupRule(@RequestParam Long courseId){
+        return OkResponse.of(groupService.findGroupRuleByCourseId(courseId));
     }
 
     @PostMapping