Bladeren bron

tmp: 课程小组规则

mjh 4 jaren geleden
bovenliggende
commit
ae1025331b

+ 59 - 0
seecoder-portal-common/src/main/java/cn/seecoder/seecoderportalcommon/vo/group/GroupRuleVO.java

@@ -0,0 +1,59 @@
+package cn.seecoder.seecoderportalcommon.vo.group;
+
+
+import java.time.OffsetDateTime;
+
+/**
+ * @author wind
+ */
+public class GroupRuleVO {
+    private Long courseId;
+
+    private Integer maxSize;
+
+    private Integer maxNameLen;
+
+    private OffsetDateTime createdTime;
+
+    public Long getCourseId() {
+        return courseId;
+    }
+
+    public void setCourseId(Long courseId) {
+        this.courseId = courseId;
+    }
+
+    public Integer getMaxSize() {
+        return maxSize;
+    }
+
+    public void setMaxSize(Integer maxSize) {
+        this.maxSize = maxSize;
+    }
+
+    public Integer getMaxNameLen() {
+        return maxNameLen;
+    }
+
+    public void setMaxNameLen(Integer maxNameLen) {
+        this.maxNameLen = maxNameLen;
+    }
+
+    public OffsetDateTime getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(OffsetDateTime createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    @Override
+    public String toString() {
+        return "GroupRuleVO{" +
+                "courseId=" + courseId +
+                ", maxSize=" + maxSize +
+                ", maxNameLen=" + maxNameLen +
+                ", createdTime=" + createdTime +
+                '}';
+    }
+}

+ 2 - 1
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/config/SpringSecurityConfiguration.java

@@ -106,7 +106,8 @@ public class SpringSecurityConfiguration extends WebSecurityConfigurerAdapter {
                         "/api/project/findCourse",
                         "/api/project/findNonCourse",
                         "/api/project/findById",
-                        "/api/project/findByCourse"
+                        "/api/project/findByCourse",
+                        "/api/group/rule"
                 )
                 .permitAll() // authenticate
                 .and()

+ 60 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/domain/GroupRule.java

@@ -0,0 +1,60 @@
+package cn.seecoder.seecoderportalserver.domain;
+
+import org.hibernate.annotations.CreationTimestamp;
+
+import javax.persistence.*;
+import java.time.OffsetDateTime;
+
+/**
+ * @author mjh
+ */
+
+@Entity
+@Table(name = "group_rule")
+public class GroupRule {
+
+    @Id
+    private Long courseId;
+
+    @Column
+    private Integer maxSize;
+
+    @Column
+    private Integer maxNameLen;
+
+    @Column
+    @CreationTimestamp
+    private OffsetDateTime createdTime;
+
+    public Long getCourseId() {
+        return courseId;
+    }
+
+    public void setCourseId(Long courseId) {
+        this.courseId = courseId;
+    }
+
+    public Integer getMaxSize() {
+        return maxSize;
+    }
+
+    public void setMaxSize(Integer maxSize) {
+        this.maxSize = maxSize;
+    }
+
+    public Integer getMaxNameLen() {
+        return maxNameLen;
+    }
+
+    public void setMaxNameLen(Integer maxNameLen) {
+        this.maxNameLen = maxNameLen;
+    }
+
+    public OffsetDateTime getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(OffsetDateTime createdTime) {
+        this.createdTime = createdTime;
+    }
+}

+ 26 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/mapper/group/GroupRuleMapper.java

@@ -0,0 +1,26 @@
+package cn.seecoder.seecoderportalserver.mapper.group;
+
+import cn.seecoder.seecoderportalcommon.vo.group.GroupRuleVO;
+import cn.seecoder.seecoderportalserver.domain.GroupRule;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+
+/**
+ * @author wind
+ */
+@Mapper(componentModel = "spring")
+public interface GroupRuleMapper {
+    /**
+     * po2vo
+     * @param groupRule po
+     * @return vo
+     */
+    GroupRuleVO groupRuleToGroupRuleVO(GroupRule groupRule);
+
+    /**
+     * vo2po
+     * @param groupRuleVO vo
+     * @return po
+     */
+    GroupRule groupRuleVOToGroupRule(GroupRuleVO groupRuleVO);
+}

+ 11 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/repository/group/GroupRuleRepository.java

@@ -0,0 +1,11 @@
+package cn.seecoder.seecoderportalserver.repository.group;
+
+import cn.seecoder.seecoderportalserver.domain.Course;
+import cn.seecoder.seecoderportalserver.domain.GroupRule;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+/**
+ * @author wind
+ */
+public interface GroupRuleRepository extends JpaRepository<GroupRule, Long> {
+}

+ 30 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/group/GroupRuleService.java

@@ -0,0 +1,30 @@
+package cn.seecoder.seecoderportalserver.service.group;
+
+import cn.seecoder.seecoderportalcommon.vo.group.GroupRuleVO;
+import cn.seecoder.seecoderportalserver.domain.GroupRule;
+
+/**
+ * @author wind
+ */
+public interface GroupRuleService {
+    /**
+     * 编辑课程小组规则
+     * @param ruleVO 课程小组规则
+     * @return 修改后的课程小组规则
+     */
+    GroupRuleVO editGroupRule(GroupRuleVO ruleVO);
+
+    /**
+     * po2vo
+     * @param groupRule po
+     * @return vo
+     */
+    GroupRuleVO toGroupRuleVO(GroupRule groupRule);
+
+    /**
+     * vo2po
+     * @param groupRuleVO vo
+     * @return po
+     */
+    GroupRule toGroupRule(GroupRuleVO groupRuleVO);
+}

+ 43 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/group/GroupRuleServiceImpl.java

@@ -0,0 +1,43 @@
+package cn.seecoder.seecoderportalserver.serviceImpl.group;
+
+import cn.seecoder.seecoderportalcommon.vo.group.GroupRuleVO;
+import cn.seecoder.seecoderportalserver.domain.GroupRule;
+import cn.seecoder.seecoderportalserver.mapper.group.GroupRuleMapper;
+import cn.seecoder.seecoderportalserver.repository.group.GroupRuleRepository;
+import cn.seecoder.seecoderportalserver.service.CourseService;
+import cn.seecoder.seecoderportalserver.service.group.GroupRuleService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author wind
+ */
+@Service
+public class GroupRuleServiceImpl implements GroupRuleService {
+    private final static Logger log = LoggerFactory.getLogger(GroupRuleService.class);
+    private final GroupRuleRepository groupRuleRepository;
+    private final GroupRuleMapper groupRuleMapper;
+    private final CourseService courseService;
+
+    public GroupRuleServiceImpl(GroupRuleRepository groupRuleRepository, GroupRuleMapper groupRuleMapper, CourseService courseService) {
+        this.groupRuleRepository = groupRuleRepository;
+        this.groupRuleMapper = groupRuleMapper;
+        this.courseService = courseService;
+    }
+
+    @Override
+    public GroupRuleVO editGroupRule(GroupRuleVO ruleVO) {
+        return null;
+    }
+
+    @Override
+    public GroupRuleVO toGroupRuleVO(GroupRule groupRule) {
+        return groupRuleMapper.groupRuleToGroupRuleVO(groupRule);
+    }
+
+    @Override
+    public GroupRule toGroupRule(GroupRuleVO groupRuleVO) {
+        return groupRuleMapper.groupRuleVOToGroupRule(groupRuleVO);
+    }
+}

+ 28 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/group/GroupRuleController.java

@@ -0,0 +1,28 @@
+package cn.seecoder.seecoderportalserver.web.rest.group;
+
+import cn.seecoder.seecoderportalcommon.vo.group.GroupRuleVO;
+import cn.seecoder.seecoderportalserver.service.group.GroupRuleService;
+import cn.seecoder.seecoderportalserver.utility.OkResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author wind
+ */
+@RestController
+@RequestMapping("/api/group/rule")
+public class GroupRuleController {
+    private final GroupRuleService groupRuleService;
+
+    public GroupRuleController(GroupRuleService groupRuleService) {
+        this.groupRuleService = groupRuleService;
+    }
+
+    @PostMapping
+    public OkResponse<GroupRuleVO> editGroupRule(@RequestBody GroupRuleVO ruleVO) {
+        return OkResponse.of(groupRuleService.editGroupRule(ruleVO));
+    }
+}