|
|
@@ -1,14 +1,15 @@
|
|
|
-package cn.seecoder.seecoderportalserver.serviceImpl.group;
|
|
|
+package cn.seecoder.seecoderportalserver.serviceImpl;
|
|
|
|
|
|
import cn.seecoder.seecoderportalcommon.vo.group.GroupRuleVO;
|
|
|
import cn.seecoder.seecoderportalserver.domain.group.GroupRule;
|
|
|
import cn.seecoder.seecoderportalserver.mapper.CourseMapper;
|
|
|
import cn.seecoder.seecoderportalserver.mapper.group.GroupRuleMapper;
|
|
|
+import cn.seecoder.seecoderportalserver.repository.group.GroupMemberRepository;
|
|
|
+import cn.seecoder.seecoderportalserver.repository.group.GroupRepository;
|
|
|
import cn.seecoder.seecoderportalserver.repository.group.GroupRuleRepository;
|
|
|
import cn.seecoder.seecoderportalserver.security.SecurityUtils;
|
|
|
import cn.seecoder.seecoderportalserver.service.CourseService;
|
|
|
-import cn.seecoder.seecoderportalserver.service.group.GroupRuleService;
|
|
|
-import cn.seecoder.seecoderportalserver.service.group.GroupService;
|
|
|
+import cn.seecoder.seecoderportalserver.service.GroupService;
|
|
|
import cn.seecoder.seecoderportalserver.web.rest.errors.CustomErrorException;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
@@ -18,20 +19,36 @@ import org.springframework.stereotype.Service;
|
|
|
* @author wind
|
|
|
*/
|
|
|
@Service
|
|
|
-public class GroupRuleServiceImpl implements GroupRuleService {
|
|
|
- private final static Logger log = LoggerFactory.getLogger(GroupRuleServiceImpl.class);
|
|
|
+public class GroupServiceImpl implements GroupService {
|
|
|
+ private final static Logger log = LoggerFactory.getLogger(GroupServiceImpl.class);
|
|
|
+ private final GroupRepository groupRepository;
|
|
|
private final GroupRuleRepository groupRuleRepository;
|
|
|
private final GroupRuleMapper groupRuleMapper;
|
|
|
+ private final GroupMemberRepository groupMemberRepository;
|
|
|
private final CourseService courseService;
|
|
|
private final CourseMapper courseMapper;
|
|
|
- private final GroupService groupService;
|
|
|
|
|
|
- public GroupRuleServiceImpl(GroupRuleRepository groupRuleRepository, GroupRuleMapper groupRuleMapper, CourseService courseService, CourseMapper courseMapper, GroupService groupService) {
|
|
|
+ public GroupServiceImpl(GroupRepository groupRepository, GroupRuleRepository groupRuleRepository, GroupRuleMapper groupRuleMapper, GroupMemberRepository groupMemberRepository, CourseService courseService, CourseMapper courseMapper) {
|
|
|
+ this.groupRepository = groupRepository;
|
|
|
this.groupRuleRepository = groupRuleRepository;
|
|
|
this.groupRuleMapper = groupRuleMapper;
|
|
|
+ this.groupMemberRepository = groupMemberRepository;
|
|
|
this.courseService = courseService;
|
|
|
this.courseMapper = courseMapper;
|
|
|
- this.groupService = groupService;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String createGroupTable(GroupRuleVO groupRuleVO) {
|
|
|
+ String tableName = getGroupTableName(groupRuleVO.getCourseId());
|
|
|
+ groupRepository.createGroupTable(tableName, groupRuleVO.getMaxNameLen().toString());
|
|
|
+ return tableName;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String createGroupMemberTable(Long courseId) {
|
|
|
+ String tableName = getGroupMemberTableName(courseId);
|
|
|
+ groupMemberRepository.createGroupMemberTable(tableName);
|
|
|
+ return tableName;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -43,16 +60,17 @@ public class GroupRuleServiceImpl implements GroupRuleService {
|
|
|
GroupRule groupRule;
|
|
|
groupRule = groupRuleRepository.save(toGroupRule(ruleVO));
|
|
|
log.info("Edit Course Group Rule: {}", groupRule);
|
|
|
- if (!groupService.isTableExisted(ruleVO.getCourseId())) {
|
|
|
- groupService.createTableByCourse(ruleVO);
|
|
|
- }
|
|
|
+ String table1 = createGroupTable(ruleVO);
|
|
|
+ log.info("Create Group Table " + table1);
|
|
|
+ String table2 = createGroupMemberTable(ruleVO.getCourseId());
|
|
|
+ log.info("Create Group Member Table " + table2);
|
|
|
return toGroupRuleVO(groupRule);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public GroupRuleVO toGroupRuleVO(GroupRule groupRule) {
|
|
|
GroupRuleVO groupRuleVO = groupRuleMapper.toGroupRuleVO(groupRule);
|
|
|
- groupRuleVO.setCourseId(groupRuleVO.getCourseId());
|
|
|
+ groupRuleVO.setCourseId(groupRule.getCourse().getId());
|
|
|
return groupRuleVO;
|
|
|
}
|
|
|
|
|
|
@@ -62,4 +80,12 @@ public class GroupRuleServiceImpl implements GroupRuleService {
|
|
|
groupRule.setCourse(courseMapper.courseVOToCourse(courseService.findCourseById(groupRuleVO.getCourseId())));
|
|
|
return groupRule;
|
|
|
}
|
|
|
+
|
|
|
+ private String getGroupTableName(Long courseId) {
|
|
|
+ return "group_" + courseId;
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getGroupMemberTableName(Long courseId) {
|
|
|
+ return "group_member_" + courseId;
|
|
|
+ }
|
|
|
}
|