From 193e64ada111f9d0200e6892535f612d7e7bb08f Mon Sep 17 00:00:00 2001 From: tianea Date: Fri, 25 Feb 2022 21:34:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E8=B5=9B=E4=BB=BB=E5=8A=A1=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../competitiion/pc/biz/PCCompetitionBiz.java | 2 +- .../competitiion/pc/biz/PCGroupBiz.java | 7 ++++ .../repository/CompetitionGroupDao.java | 1 + .../platform/repository/QuestionDaoTest.java | 40 +++++++++++++++++++ 4 files changed, 49 insertions(+), 1 deletion(-) diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCCompetitionBiz.java b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCCompetitionBiz.java index 2c2d7dd..36277dd 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCCompetitionBiz.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCCompetitionBiz.java @@ -30,7 +30,7 @@ public class PCCompetitionBiz { return Result.error("大赛名称不能为空"); } if(vo.getType() == null||vo.getType()<=0){ - return Result.error(""); + return Result.error("大赛类型不能为空"); } Competition competition = new Competition(); BeanUtils.copyProperties(vo,competition); diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCGroupBiz.java b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCGroupBiz.java index d0dc41c..b950fcd 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCGroupBiz.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCGroupBiz.java @@ -10,24 +10,30 @@ import com.tz.platform.repository.CompetitionGroupDao; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Component public class PCGroupBiz { @Autowired CompetitionGroupDao groupDao; + @Transactional public Result add(ListGroupVO vo){ ListGroupDTO dto = new ListGroupDTO(); List list = new ArrayList<>(); + Long competitionId = vo.getList().stream().findFirst().orElse(null).getCompetitionId(); vo.getList().forEach(vo1 -> { CompetitionGroup groupCat = new CompetitionGroup(); BeanUtils.copyProperties(vo1,groupCat); groupCat = groupDao.save(groupCat); list.add(groupCat); }); + List ids = vo.getList().stream().filter(gp -> gp.getId() > 0).map(GroupVO::getId).collect(Collectors.toList()); + groupDao.deleteAllByCompetitionIdAndIdNotIn(competitionId,ids); dto.setList(list); return Result.success(dto); } @@ -35,6 +41,7 @@ public class PCGroupBiz { public Result list(Long cpId){ List list = groupDao.findByCompetitionId(cpId); ListGroupDTO dto = new ListGroupDTO(); + dto.setList(list); return Result.success(dto); } diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionGroupDao.java b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionGroupDao.java index bbd6499..3a3842a 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionGroupDao.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionGroupDao.java @@ -10,4 +10,5 @@ import java.util.List; public interface CompetitionGroupDao extends JpaRepository { List findByCompetitionId(Long competitionId); CompetitionGroup getByCompetitionId(Long competitionId); + int deleteAllByCompetitionIdAndIdNotIn(Long competition,List ids); } diff --git a/tz/exam/exam-service/src/test/java/com/tz/platform/repository/QuestionDaoTest.java b/tz/exam/exam-service/src/test/java/com/tz/platform/repository/QuestionDaoTest.java index d56a899..f38bf36 100644 --- a/tz/exam/exam-service/src/test/java/com/tz/platform/repository/QuestionDaoTest.java +++ b/tz/exam/exam-service/src/test/java/com/tz/platform/repository/QuestionDaoTest.java @@ -1,13 +1,20 @@ package com.tz.platform.repository; +import cn.hutool.core.io.FileUtil; import com.tz.platform.common.core.bo.Answer; import com.tz.platform.entity.Question; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import sun.misc.Regexp; +import java.io.File; +import java.nio.charset.Charset; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; @SpringBootTest @@ -40,4 +47,37 @@ public class QuestionDaoTest { Question question = questionDao.getById(1L); System.out.println(question.getAnswerList().size()); } + + @Test + public void spiderQuestionTest(){ + File file = new File("/Volumes/Lexar/tianze/testQuestion.txt"); + String content = FileUtil.readString(file, Charset.defaultCharset()); +// System.out.println(content); + String regex ="\\d+[\\.|、](.*)\\(.*?([A-Z]+).*?\\)"; + String regexAnwser = "([A-Z])[\\s|\\.|、]{0,1}(\\S+.*?)"; + Pattern pattern1 = Pattern.compile(regex); + Pattern pattern2 = Pattern.compile(regexAnwser); + Matcher matcher = pattern1.matcher(content); + String[] anwserArray = pattern1.split(content); + System.out.println(anwserArray.length); + pattern1.splitAsStream(content).forEach(s -> { + Matcher m = pattern2.matcher(s); + if (m.find()){ + System.out.println(m.group(0)); + System.out.println(m.group(2)); + } + }); +// int i = 0; +// while (matcher.find()){ +// int len = matcher.group(0).length(); +// int startIndex = content.indexOf(matcher.group(0)); +// System.out.println(matcher.group(0)); +// System.out.println(matcher.group(1)); +// System.out.println(matcher.group(2)); +// String stem = matcher.group(1); +// String anwserIds = matcher.group(2); +// +// i++; +// } + } }