From a98e0ae083b381b3cd24abbd947bb7daf71f856f Mon Sep 17 00:00:00 2001 From: tianea <tianxyy80@gmail.com> Date: Tue, 22 Feb 2022 03:05:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E8=A7=82=E9=A2=98=20=E5=88=97?= =?UTF-8?q?=E8=A1=A8=20=E6=96=B0=E5=A2=9E=20=E7=BC=96=E8=BE=91=20=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=9E=B6=20=E6=8C=87=E9=87=8F=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=9E=B6=20=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tz/exam/exam-service/pom.xml | 4 + .../java/com/tz/platform/entity/Course.java | 17 +--- .../java/com/tz/platform/entity/Question.java | 4 + .../FeignQuestionController.java} | 10 +- ...QuestionBiz.java => FeignQuestionBiz.java} | 7 +- .../tz/platform/exam/pc/dto/QuestionDTO.java | 2 +- .../tz/platform/pc/PCCourseController.java | 48 ++++++++++ .../tz/platform/pc/PCQuestionController.java | 52 ++++++++++ .../com/tz/platform/pc/biz/PCCourseBiz.java | 94 +++++++++++++++++++ .../com/tz/platform/pc/dto/CourseDTO.java | 20 ++++ .../com/tz/platform/pc/dto/PageCourseDTO.java | 12 +++ .../tz/platform/pc/dto/PageQuestionDTO.java | 14 +++ .../com/tz/platform/pc/dto/QuestionDTO.java | 27 ++++++ .../tz/platform/pc/vo/BatchQuestionVO.java | 11 +++ .../java/com/tz/platform/pc/vo/CourseVO.java | 19 ++++ .../com/tz/platform/pc/vo/PageCourseVO.java | 10 ++ .../com/tz/platform/pc/vo/PageQuestionVO.java | 10 ++ .../com/tz/platform/pc/vo/QuestionVO.java | 27 ++++++ .../com/tz/platform/repository/CourseDao.java | 5 + .../src/main/resources/bootstrap.yml | 13 +++ .../exam-service/target/classes/bootstrap.yml | 13 +++ tz/pom.xml | 1 + .../tz/platform/feign/IFeignStudentLevel.java | 2 + .../feign/FeignStudentLevelController.java | 7 +- .../system/pc/PCStudentLevelController.java | 39 ++++++++ .../system/pc/biz/PCStudentLevelBiz.java | 51 ++++++++++ .../system/pc/dto/ListStudentLevelDTO.java | 12 +++ .../system/pc/dto/StudentLevelDTO.java | 11 +++ .../platform/system/pc/vo/StudentLevelVO.java | 9 ++ .../StudentLevelRepositoryTest.java | 17 ++++ .../tz/platform/image/pc/dto/ImageDTO.java | 2 + .../com/tz/platform/feign/user/vo/UserVo.java | 2 + .../tz/platform/UserServiceApplication.java | 2 +- .../platform/user/feign/biz/FeignUserBiz.java | 7 +- 34 files changed, 556 insertions(+), 25 deletions(-) rename tz/exam/exam-service/src/main/java/com/tz/platform/exam/{pc/PCQuestionController.java => feign/FeignQuestionController.java} (74%) rename tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/biz/{PCQuestionBiz.java => FeignQuestionBiz.java} (87%) create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/PCCourseController.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/PCQuestionController.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/biz/PCCourseBiz.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/CourseDTO.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/PageCourseDTO.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/PageQuestionDTO.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/QuestionDTO.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/BatchQuestionVO.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/CourseVO.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/PageCourseVO.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/PageQuestionVO.java create mode 100644 tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/QuestionVO.java create mode 100644 tz/system/system-service/src/main/java/com/tz/platform/system/pc/PCStudentLevelController.java create mode 100644 tz/system/system-service/src/main/java/com/tz/platform/system/pc/biz/PCStudentLevelBiz.java create mode 100644 tz/system/system-service/src/main/java/com/tz/platform/system/pc/dto/ListStudentLevelDTO.java create mode 100644 tz/system/system-service/src/main/java/com/tz/platform/system/pc/dto/StudentLevelDTO.java create mode 100644 tz/system/system-service/src/main/java/com/tz/platform/system/pc/vo/StudentLevelVO.java create mode 100644 tz/system/system-service/src/test/java/com/tz/platform/repository/StudentLevelRepositoryTest.java diff --git a/tz/exam/exam-service/pom.xml b/tz/exam/exam-service/pom.xml index 8192a1a..3890a37 100644 --- a/tz/exam/exam-service/pom.xml +++ b/tz/exam/exam-service/pom.xml @@ -24,6 +24,10 @@ <groupId>com.tz</groupId> <artifactId>exam-feign</artifactId> </dependency> + <dependency> + <groupId>com.tz</groupId> + <artifactId>user-feign</artifactId> + </dependency> <!-- test --> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/entity/Course.java b/tz/exam/exam-service/src/main/java/com/tz/platform/entity/Course.java index 340d071..b89df69 100644 --- a/tz/exam/exam-service/src/main/java/com/tz/platform/entity/Course.java +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/entity/Course.java @@ -1,35 +1,26 @@ package com.tz.platform.entity; -import com.vladmihalcea.hibernate.type.json.JsonStringType; import lombok.Data; -import org.hibernate.annotations.Type; -import org.hibernate.annotations.TypeDef; import javax.persistence.*; import java.io.Serializable; import java.util.Date; -import java.util.List; @Entity @Data @Table(indexes = {@Index(columnList = "name")}) -@TypeDef(name = "json", typeClass = JsonStringType.class) public class Course implements Serializable { @Id @GeneratedValue(strategy= GenerationType.IDENTITY) private Long id; private String name; - private String type; private String creator; + private Long createId; private Date createTime; private Integer learningCount; private String thumbnail; @Column(columnDefinition = "text") - private String summary; - @Type(type = "json") - @Column(columnDefinition = "json" ) - private List<CourseTag> courseTag; - @Type(type = "json") - @Column(columnDefinition = "json" ) - private CourseCat couseCat; + private String content; + private Integer tagId; + private Integer catId; } diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/entity/Question.java b/tz/exam/exam-service/src/main/java/com/tz/platform/entity/Question.java index cbf823b..7e89f65 100644 --- a/tz/exam/exam-service/src/main/java/com/tz/platform/entity/Question.java +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/entity/Question.java @@ -8,6 +8,7 @@ import org.hibernate.annotations.Type; import org.hibernate.annotations.TypeDef; import javax.persistence.*; +import java.util.Date; import java.util.List; @Entity @@ -30,6 +31,9 @@ public class Question { private String stem; private String stemImg; private Long creatorId; + private String creator; + private Date createTime; + private Integer status; @Type(type = "json") @Column(columnDefinition = "json" ) List<Answer> answerList; diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/PCQuestionController.java b/tz/exam/exam-service/src/main/java/com/tz/platform/exam/feign/FeignQuestionController.java similarity index 74% rename from tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/PCQuestionController.java rename to tz/exam/exam-service/src/main/java/com/tz/platform/exam/feign/FeignQuestionController.java index 01b937e..f31429e 100644 --- a/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/PCQuestionController.java +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/exam/feign/FeignQuestionController.java @@ -1,18 +1,18 @@ -package com.tz.platform.exam.pc; +package com.tz.platform.exam.feign; import com.tz.platform.common.core.base.BaseController; import com.tz.platform.common.core.base.Result; -import com.tz.platform.exam.pc.biz.PCQuestionBiz; +import com.tz.platform.exam.pc.biz.FeignQuestionBiz; import com.tz.platform.exam.pc.dto.QuestionDTO; import com.tz.platform.feign.exam.vo.QuestionVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController -@RequestMapping(value = "/pc/question") -public class PCQuestionController extends BaseController { +@RequestMapping(value = "/feign/question") +public class FeignQuestionController extends BaseController { @Autowired - private PCQuestionBiz pcQuestionBiz; + private FeignQuestionBiz pcQuestionBiz; @GetMapping(value = "list/{pageNo}") public Result<QuestionDTO> listQuestion(@PathVariable("pageNo") Integer pageNO){ diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/biz/PCQuestionBiz.java b/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/biz/FeignQuestionBiz.java similarity index 87% rename from tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/biz/PCQuestionBiz.java rename to tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/biz/FeignQuestionBiz.java index c5752d4..ec02fad 100644 --- a/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/biz/PCQuestionBiz.java +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/biz/FeignQuestionBiz.java @@ -4,6 +4,7 @@ import com.tz.platform.common.core.base.Result; import com.tz.platform.entity.Question; import com.tz.platform.exam.pc.dto.QuestionDTO; import com.tz.platform.feign.exam.vo.QuestionVo; +import com.tz.platform.pc.vo.PageQuestionVO; import com.tz.platform.repository.QuestionDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -16,16 +17,16 @@ import java.util.List; @Component -public class PCQuestionBiz { +public class FeignQuestionBiz { @Autowired private QuestionDao questionDao; - public Result<QuestionDTO> list(Integer pageNo){ + public Result<QuestionDTO> list(int pageNo){ QuestionDTO questionDTO = new QuestionDTO(); Pageable pageable = PageRequest.of(pageNo,20); Page<Question> questions = questionDao.findAll(pageable); - return Result.success(questionDTO.setQuestions(questions)); + return Result.success(questionDTO.setPage(questions)); } public Result<String> add(QuestionVo questionVo){ diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/dto/QuestionDTO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/dto/QuestionDTO.java index 5bef351..792bfc9 100644 --- a/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/dto/QuestionDTO.java +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/exam/pc/dto/QuestionDTO.java @@ -10,5 +10,5 @@ import java.io.Serializable; @Data @Accessors(chain = true) public class QuestionDTO implements Serializable { - Page<Question> questions; + Page<Question> page; } diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/PCCourseController.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/PCCourseController.java new file mode 100644 index 0000000..43a9abb --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/PCCourseController.java @@ -0,0 +1,48 @@ +package com.tz.platform.pc; + +import com.tz.platform.common.core.base.BaseController; +import com.tz.platform.common.core.base.Result; +import com.tz.platform.pc.biz.PCCourseBiz; +import com.tz.platform.pc.dto.CourseDTO; +import com.tz.platform.pc.dto.PageCourseDTO; +import com.tz.platform.pc.vo.CourseVO; +import com.tz.platform.pc.vo.PageCourseVO; +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; + +@RestController +@RequestMapping(value = "/pc/course") +public class PCCourseController extends BaseController { + @Autowired + private PCCourseBiz pcCourseBiz; + + @PostMapping(value = "add") + public Result<String> add(@RequestBody CourseVO courseVO){ + return pcCourseBiz.add(courseVO); + } + + @PostMapping(value = "update") + public Result<String> update(@RequestBody CourseVO courseVO){ + return pcCourseBiz.update(courseVO); + } + + + @PostMapping(value = "list") + public Result<PageCourseDTO> list(@RequestBody PageCourseVO pageCourseVO){ + return pcCourseBiz.list(pageCourseVO); + } + + @PostMapping(value = "delete") + public Result<String> del(@RequestBody CourseVO courseVO){ + return pcCourseBiz.del(courseVO); + } + + @PostMapping(value = "get") + public Result<CourseDTO> get(@RequestBody CourseVO courseVO){ + return pcCourseBiz.get(courseVO.getId()); + } + +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/PCQuestionController.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/PCQuestionController.java new file mode 100644 index 0000000..7d59f04 --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/PCQuestionController.java @@ -0,0 +1,52 @@ +package com.tz.platform.pc; + +import com.tz.platform.common.core.base.Result; +import com.tz.platform.pc.biz.PCQuestionBiz; +import com.tz.platform.pc.dto.PageQuestionDTO; +import com.tz.platform.pc.dto.QuestionDTO; +import com.tz.platform.pc.vo.BatchQuestionVO; +import com.tz.platform.pc.vo.PageQuestionVO; +import com.tz.platform.pc.vo.QuestionVO; +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; + +@RestController +@RequestMapping(value = "/pc/question") +public class PCQuestionController { + + @Autowired + private PCQuestionBiz questionBiz; + + @PostMapping(value = "list") + public Result<PageQuestionDTO> list(@RequestBody PageQuestionVO questionVO){ + return questionBiz.list(questionVO); + } + + @PostMapping(value = "add") + public Result<Long> add(@RequestBody QuestionVO questionVo){ + return questionBiz.add(questionVo); + } + + @PostMapping(value = "update") + public Result<String> update(@RequestBody QuestionVO questionVo){ + return questionBiz.update(questionVo); + } + + @PostMapping(value = "delete") + public Result<String> delete(@RequestBody QuestionVO questionVO){ + return questionBiz.delete(questionVO); + } + + @PostMapping(value = "get") + public Result<QuestionDTO> get(@RequestBody QuestionVO questionVO){ + return questionBiz.get(questionVO); + } + + @PostMapping(value = "batchupdate") + public Result<String> batchUpate(@RequestBody BatchQuestionVO vo){ + return questionBiz.batch(vo); + } +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/biz/PCCourseBiz.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/biz/PCCourseBiz.java new file mode 100644 index 0000000..28cffc2 --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/biz/PCCourseBiz.java @@ -0,0 +1,94 @@ +package com.tz.platform.pc.biz; + +import com.tz.platform.common.core.base.Result; +import com.tz.platform.entity.Course; +import com.tz.platform.feign.user.IFeignUser; +import com.tz.platform.feign.user.vo.UserVo; +import com.tz.platform.pc.dto.CourseDTO; +import com.tz.platform.pc.dto.PageCourseDTO; +import com.tz.platform.pc.vo.CourseVO; +import com.tz.platform.pc.vo.PageCourseVO; +import com.tz.platform.repository.CourseDao; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import java.util.Date; + +@Component +public class PCCourseBiz { + @Autowired + private CourseDao courseDao; + + @Autowired + private IFeignUser feignUser; + + public Result<String> add(CourseVO courseVO){ + Result<String> v = valid(courseVO); + if(v.getCode()!=200){ + return v; + } + UserVo userVo = feignUser.getByUserNo(courseVO.getUserNo()); + Course course = new Course(); + BeanUtils.copyProperties(courseVO,course); + course.setCreateId(userVo.getId()); + course.setCreator(userVo.getName()); + course.setCreateTime(new Date()); + courseDao.save(course); + return Result.success("成功"); + } + + private Result<String> valid(CourseVO courseVO){ + if(StringUtils.isEmpty(courseVO.getName())){ + return Result.error("课程名不能为空"); + } + if(StringUtils.isEmpty(courseVO.getContent())){ + return Result.error("简介不能为空"); + } + if(courseVO.getUserNo()<=0){ + return Result.error("没有权限"); + } + return Result.success("success"); + } + + public Result<String> update(CourseVO courseVO){ + Result<String> v = valid(courseVO); + if(v.getCode()!=200){ + return v; + } + Course course = new Course(); + BeanUtils.copyProperties(courseVO,course); + courseDao.save(course); + return Result.success("success"); + } + + public Result<PageCourseDTO> list(PageCourseVO pageCourseVO){ + if(pageCourseVO.getPageNo()<0){ + pageCourseVO.setPageNo(0); + } + if(pageCourseVO.getPageSize() == null ||pageCourseVO.getPageSize() <=0){ + pageCourseVO.setPageSize(20); + } + Pageable pageable = PageRequest.of(pageCourseVO.getPageNo(),pageCourseVO.getPageSize()); + Page<Course> page = courseDao.findAll(pageable); + PageCourseDTO pageCourseDTO = new PageCourseDTO(); + pageCourseDTO.setPage(page); + return Result.success(pageCourseDTO); + } + + public Result<String> del(CourseVO courseVO){ + courseDao.deleteById(courseVO.getId()); + return Result.success("success"); + } + + public Result<CourseDTO> get(Long id){ + Course course = courseDao.getById(id); + CourseDTO courseDTO = new CourseDTO(); + BeanUtils.copyProperties(course,courseDTO); + return Result.success(courseDTO); + } +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/CourseDTO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/CourseDTO.java new file mode 100644 index 0000000..df965c9 --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/CourseDTO.java @@ -0,0 +1,20 @@ +package com.tz.platform.pc.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class CourseDTO implements Serializable { + private Long id; + private String name; + private String creator; + private Long createId; + private Date createTime; + private Integer learningCount; + private String thumbnail; + private String content; + private Integer tagId; + private Integer catId; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/PageCourseDTO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/PageCourseDTO.java new file mode 100644 index 0000000..b22510d --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/PageCourseDTO.java @@ -0,0 +1,12 @@ +package com.tz.platform.pc.dto; + +import com.tz.platform.entity.Course; +import lombok.Data; +import org.springframework.data.domain.Page; + +import java.io.Serializable; + +@Data +public class PageCourseDTO implements Serializable { + Page<Course> page; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/PageQuestionDTO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/PageQuestionDTO.java new file mode 100644 index 0000000..83af2f5 --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/PageQuestionDTO.java @@ -0,0 +1,14 @@ +package com.tz.platform.pc.dto; + +import com.tz.platform.entity.Question; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.data.domain.Page; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +public class PageQuestionDTO implements Serializable { + private Page<Question> page; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/QuestionDTO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/QuestionDTO.java new file mode 100644 index 0000000..add28b9 --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/dto/QuestionDTO.java @@ -0,0 +1,27 @@ +package com.tz.platform.pc.dto; + +import com.tz.platform.common.core.vo.Answer; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class QuestionDTO implements Serializable { + private Long userNO; + private Long id; + private Long courseId; + private String courseName; + private Long levelId; + private String levelName; + private Long questionType; + private String title; + private Long score; + private Integer type; + private String stem; + private String stemImg; + private Long creatorId; + List<Answer> answerList; + private String analysis; + private List<Integer> answerId; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/BatchQuestionVO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/BatchQuestionVO.java new file mode 100644 index 0000000..53cf2ff --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/BatchQuestionVO.java @@ -0,0 +1,11 @@ +package com.tz.platform.pc.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class BatchQuestionVO { + private List<Long> ids; + private Integer status; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/CourseVO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/CourseVO.java new file mode 100644 index 0000000..ab20435 --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/CourseVO.java @@ -0,0 +1,19 @@ +package com.tz.platform.pc.vo; + +import lombok.Data; + +import java.util.Date; +@Data +public class CourseVO { + private Long id; + private Long userNo; + private String name; + private String creator; + private Long createId; + private Date createTime; + private Integer learningCount; + private String thumbnail; + private String content; + private Integer tagId; + private Integer catId; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/PageCourseVO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/PageCourseVO.java new file mode 100644 index 0000000..dce660c --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/PageCourseVO.java @@ -0,0 +1,10 @@ +package com.tz.platform.pc.vo; + +import lombok.Data; + +@Data +public class PageCourseVO { + private Long userNo; + private Integer pageNo; + private Integer pageSize; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/PageQuestionVO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/PageQuestionVO.java new file mode 100644 index 0000000..11c116c --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/PageQuestionVO.java @@ -0,0 +1,10 @@ +package com.tz.platform.pc.vo; + +import lombok.Data; + +@Data +public class PageQuestionVO { + private Integer pageNo; + private Long courseId; + private String stem; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/QuestionVO.java b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/QuestionVO.java new file mode 100644 index 0000000..989427a --- /dev/null +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/pc/vo/QuestionVO.java @@ -0,0 +1,27 @@ +package com.tz.platform.pc.vo; + +import com.tz.platform.common.core.vo.Answer; +import lombok.Data; + +import java.util.List; + +@Data +public class QuestionVO { + private Long userNO; + private Long id; + private Long courseId; + private String courseName; + private Long levelId; + private String levelName; + private Long questionType; + private String title; + private Long score; + private Integer type; + private String stem; + private String stemImg; + private Long creatorId; + List<Answer> answerList; + private String analysis; + private Integer status; + private List<Integer> answerId; +} diff --git a/tz/exam/exam-service/src/main/java/com/tz/platform/repository/CourseDao.java b/tz/exam/exam-service/src/main/java/com/tz/platform/repository/CourseDao.java index 7308461..d5ab7eb 100644 --- a/tz/exam/exam-service/src/main/java/com/tz/platform/repository/CourseDao.java +++ b/tz/exam/exam-service/src/main/java/com/tz/platform/repository/CourseDao.java @@ -1,9 +1,14 @@ package com.tz.platform.repository; import com.tz.platform.entity.Course; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; + @Repository public interface CourseDao extends JpaRepository<Course,Long> { + Page<Course> findAll(Pageable pageable); + Course getById(Long id); } diff --git a/tz/exam/exam-service/src/main/resources/bootstrap.yml b/tz/exam/exam-service/src/main/resources/bootstrap.yml index dc4e8ef..85bccbb 100644 --- a/tz/exam/exam-service/src/main/resources/bootstrap.yml +++ b/tz/exam/exam-service/src/main/resources/bootstrap.yml @@ -15,3 +15,16 @@ spring: file-extension: yaml discovery: namespace: ${spring.profiles.active} + servlet: + multipart: + max-file-size: 2MB + max-request-size: 2MB + data: + redis: + repositories: + enabled: false + devtools: + restart: + enabled: true + livereload: + port: 35730 \ No newline at end of file diff --git a/tz/exam/exam-service/target/classes/bootstrap.yml b/tz/exam/exam-service/target/classes/bootstrap.yml index dc4e8ef..85bccbb 100644 --- a/tz/exam/exam-service/target/classes/bootstrap.yml +++ b/tz/exam/exam-service/target/classes/bootstrap.yml @@ -15,3 +15,16 @@ spring: file-extension: yaml discovery: namespace: ${spring.profiles.active} + servlet: + multipart: + max-file-size: 2MB + max-request-size: 2MB + data: + redis: + repositories: + enabled: false + devtools: + restart: + enabled: true + livereload: + port: 35730 \ No newline at end of file diff --git a/tz/pom.xml b/tz/pom.xml index 995ee80..eb8ad81 100644 --- a/tz/pom.xml +++ b/tz/pom.xml @@ -91,6 +91,7 @@ <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> + <fork>true</fork> </configuration> <executions> <execution> diff --git a/tz/system/system-feign/src/main/java/com/tz/platform/feign/IFeignStudentLevel.java b/tz/system/system-feign/src/main/java/com/tz/platform/feign/IFeignStudentLevel.java index 2c0adf7..922db59 100644 --- a/tz/system/system-feign/src/main/java/com/tz/platform/feign/IFeignStudentLevel.java +++ b/tz/system/system-feign/src/main/java/com/tz/platform/feign/IFeignStudentLevel.java @@ -2,10 +2,12 @@ package com.tz.platform.feign; import com.tz.platform.feign.vo.StudentLevelVo; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.RequestMapping; import java.util.List; @FeignClient(value = "tz-system-service") public interface IFeignStudentLevel { + @RequestMapping(value = "/feign/system/level/list") List<StudentLevelVo> list(); } diff --git a/tz/system/system-service/src/main/java/com/tz/platform/system/feign/FeignStudentLevelController.java b/tz/system/system-service/src/main/java/com/tz/platform/system/feign/FeignStudentLevelController.java index 715c0b6..b112992 100644 --- a/tz/system/system-service/src/main/java/com/tz/platform/system/feign/FeignStudentLevelController.java +++ b/tz/system/system-service/src/main/java/com/tz/platform/system/feign/FeignStudentLevelController.java @@ -2,6 +2,8 @@ package com.tz.platform.system.feign; import com.tz.platform.feign.IFeignStudentLevel; import com.tz.platform.feign.vo.StudentLevelVo; +import com.tz.platform.system.feign.biz.FeignStudentLevelBiz; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -9,8 +11,11 @@ import java.util.List; @RestController public class FeignStudentLevelController implements IFeignStudentLevel { + @Autowired + private FeignStudentLevelBiz feignStudentLevelBiz; + @Override public List<StudentLevelVo> list() { - return null; + return feignStudentLevelBiz.list(); } } diff --git a/tz/system/system-service/src/main/java/com/tz/platform/system/pc/PCStudentLevelController.java b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/PCStudentLevelController.java new file mode 100644 index 0000000..977c322 --- /dev/null +++ b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/PCStudentLevelController.java @@ -0,0 +1,39 @@ +package com.tz.platform.system.pc; + +import com.tz.platform.common.core.base.Result; +import com.tz.platform.system.pc.biz.PCStudentLevelBiz; +import com.tz.platform.system.pc.dto.ListStudentLevelDTO; +import com.tz.platform.system.pc.vo.StudentLevelVO; +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; + +@RestController +@RequestMapping(value = "/pc/system/level") +public class PCStudentLevelController { + + @Autowired + private PCStudentLevelBiz pcStudentLevelBiz; + + @RequestMapping(value = "list") + public Result<ListStudentLevelDTO> list(){ + return pcStudentLevelBiz.list(); + } + + @PostMapping(value = "add") + public Result<Integer> add(@RequestBody StudentLevelVO studentLevelVO){ + return pcStudentLevelBiz.save(studentLevelVO); + } + + @PostMapping(value = "update") + public Result<String> update(@RequestBody StudentLevelVO studentLevelVO){ + return pcStudentLevelBiz.update(studentLevelVO); + } + + @PostMapping(value = "delete") + public Result<String> delete(@RequestBody StudentLevelVO studentLevelVO){ + return pcStudentLevelBiz.delete(studentLevelVO); + } +} diff --git a/tz/system/system-service/src/main/java/com/tz/platform/system/pc/biz/PCStudentLevelBiz.java b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/biz/PCStudentLevelBiz.java new file mode 100644 index 0000000..7e6512b --- /dev/null +++ b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/biz/PCStudentLevelBiz.java @@ -0,0 +1,51 @@ +package com.tz.platform.system.pc.biz; + +import com.tz.platform.common.core.base.Result; +import com.tz.platform.entity.StudentLevel; +import com.tz.platform.repository.StudentLevelDao; +import com.tz.platform.system.pc.dto.ListStudentLevelDTO; +import com.tz.platform.system.pc.vo.StudentLevelVO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +@Component +public class PCStudentLevelBiz { + @Autowired + private StudentLevelDao studentLevelDao; + + public Result<ListStudentLevelDTO> list(){ + ListStudentLevelDTO studentLevelDTO = new ListStudentLevelDTO(); + List<StudentLevel> studentLevels = studentLevelDao.findAll(); + studentLevelDTO.setList(studentLevels); + return Result.success(studentLevelDTO); + } + + public Result<Integer> save( StudentLevelVO studentLevelVO){ + if(StringUtils.isEmpty(studentLevelVO.getName())){ + return Result.error("层次名不能为空"); + } + StudentLevel studentLevel = new StudentLevel(); + BeanUtils.copyProperties(studentLevelVO,studentLevel); + studentLevel = studentLevelDao.save(studentLevel); + return Result.success(studentLevel.getId()); + } + + public Result<String> update(StudentLevelVO studentLevelVO){ + Result<Integer> rs= save(studentLevelVO); + if(rs.getCode()== 200){ + return Result.success("success"); + } + return Result.error(rs.getMsg()); + } + + public Result<String> delete(StudentLevelVO studentLevelVO){ + studentLevelDao.deleteById(studentLevelVO.getId()); + return Result.success("success"); + } + +} diff --git a/tz/system/system-service/src/main/java/com/tz/platform/system/pc/dto/ListStudentLevelDTO.java b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/dto/ListStudentLevelDTO.java new file mode 100644 index 0000000..c0d9ae8 --- /dev/null +++ b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/dto/ListStudentLevelDTO.java @@ -0,0 +1,12 @@ +package com.tz.platform.system.pc.dto; + +import com.tz.platform.entity.StudentLevel; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class ListStudentLevelDTO implements Serializable { + List<StudentLevel> list; +} diff --git a/tz/system/system-service/src/main/java/com/tz/platform/system/pc/dto/StudentLevelDTO.java b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/dto/StudentLevelDTO.java new file mode 100644 index 0000000..486253f --- /dev/null +++ b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/dto/StudentLevelDTO.java @@ -0,0 +1,11 @@ +package com.tz.platform.system.pc.dto; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class StudentLevelDTO implements Serializable { + private Integer id; + private String name; +} diff --git a/tz/system/system-service/src/main/java/com/tz/platform/system/pc/vo/StudentLevelVO.java b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/vo/StudentLevelVO.java new file mode 100644 index 0000000..010efa5 --- /dev/null +++ b/tz/system/system-service/src/main/java/com/tz/platform/system/pc/vo/StudentLevelVO.java @@ -0,0 +1,9 @@ +package com.tz.platform.system.pc.vo; + +import lombok.Data; + +@Data +public class StudentLevelVO { + private Integer id; + private String name; +} diff --git a/tz/system/system-service/src/test/java/com/tz/platform/repository/StudentLevelRepositoryTest.java b/tz/system/system-service/src/test/java/com/tz/platform/repository/StudentLevelRepositoryTest.java new file mode 100644 index 0000000..0ad083e --- /dev/null +++ b/tz/system/system-service/src/test/java/com/tz/platform/repository/StudentLevelRepositoryTest.java @@ -0,0 +1,17 @@ +package com.tz.platform.repository; + +import com.tz.platform.entity.StudentLevel; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +public class StudentLevelRepositoryTest { + @Autowired + private StudentLevelDao studentLevelDao; + + @Test + public void addLevelTest(){ + + } +} diff --git a/tz/upload/upload-service/src/main/java/com/tz/platform/image/pc/dto/ImageDTO.java b/tz/upload/upload-service/src/main/java/com/tz/platform/image/pc/dto/ImageDTO.java index ea3b58d..59b743b 100644 --- a/tz/upload/upload-service/src/main/java/com/tz/platform/image/pc/dto/ImageDTO.java +++ b/tz/upload/upload-service/src/main/java/com/tz/platform/image/pc/dto/ImageDTO.java @@ -1,5 +1,6 @@ package com.tz.platform.image.pc.dto; +import jdk.nashorn.internal.ir.annotations.Ignore; import lombok.Data; import lombok.experimental.Accessors; @@ -9,5 +10,6 @@ import java.io.Serializable; public class ImageDTO implements Serializable { private String url ; private Long id; + @Ignore private String path; } diff --git a/tz/user/user-feign/src/main/java/com/tz/platform/feign/user/vo/UserVo.java b/tz/user/user-feign/src/main/java/com/tz/platform/feign/user/vo/UserVo.java index 41ca3e6..7f60900 100644 --- a/tz/user/user-feign/src/main/java/com/tz/platform/feign/user/vo/UserVo.java +++ b/tz/user/user-feign/src/main/java/com/tz/platform/feign/user/vo/UserVo.java @@ -46,4 +46,6 @@ public class UserVo { * 用户来源(client_id) */ private String userSource; + + private String name; } diff --git a/tz/user/user-service/src/main/java/com/tz/platform/UserServiceApplication.java b/tz/user/user-service/src/main/java/com/tz/platform/UserServiceApplication.java index f52ceb7..2d1d4b3 100644 --- a/tz/user/user-service/src/main/java/com/tz/platform/UserServiceApplication.java +++ b/tz/user/user-service/src/main/java/com/tz/platform/UserServiceApplication.java @@ -8,7 +8,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableDiscoveryClient -@EnableFeignClients +@EnableFeignClients(basePackages = "com.tz.platform.feign") public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class,args); diff --git a/tz/user/user-service/src/main/java/com/tz/platform/user/feign/biz/FeignUserBiz.java b/tz/user/user-service/src/main/java/com/tz/platform/user/feign/biz/FeignUserBiz.java index 06ab827..cf7b28e 100644 --- a/tz/user/user-service/src/main/java/com/tz/platform/user/feign/biz/FeignUserBiz.java +++ b/tz/user/user-service/src/main/java/com/tz/platform/user/feign/biz/FeignUserBiz.java @@ -1,9 +1,11 @@ package com.tz.platform.user.feign.biz; +import com.tz.platform.common.core.base.BaseException; import com.tz.platform.common.core.tools.BeanUtils; import com.tz.platform.entity.User; import com.tz.platform.repository.UserDao; import com.tz.platform.feign.user.vo.UserVo; +import net.bytebuddy.implementation.bytecode.Throw; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -13,7 +15,10 @@ public class FeignUserBiz { private UserDao userDao; public UserVo getByUserNo(Long userNo){ - User user = userDao.findById(userNo).get(); + User user = userDao.findById(userNo).orElse(null); + if(user == null) { + throw new BaseException("未找到数据"); + } return BeanUtils.copyProperties(user,UserVo.class); }