diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperController.java index 506585e3..39506a37 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperController.java @@ -11,6 +11,7 @@ import org.qinan.cedu.service.PaperService; import org.qinan.cedu.service.QuestionService; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -43,6 +44,8 @@ public class PaperController { @ApiOperation("机构分页查询试卷") @GetMapping("/org/page") public PageResponse orgPage(@Validated PaperOrgPageQueryDTO query) { + // 设置机构id + query.setOrgId(ThreadLocalUserInfoAdapter.getOrgId()); IPage page = paperService.pageQueryByOrg(query); return PageResponse.of(page.getRecords(), page.getTotal()); } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperExamQuestionUserController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperExamQuestionUserController.java index 0bb064f2..bed2d8e3 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperExamQuestionUserController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperExamQuestionUserController.java @@ -1,6 +1,7 @@ package org.qinan.cedu.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.auth.utils.AuthContext; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -31,6 +32,7 @@ public class PaperExamQuestionUserController { @ApiOperation("分页查询用户试卷试题") @GetMapping("/page") public PageResponse page(PaperExamQuestionUserPageQueryDTO query) { + query.setUserId(AuthContext.getUserId()); IPage page = paperExamQuestionUserService.pageQuery(query); return PageResponse.of(page.getRecords(), page.getTotal()); } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/QuestionController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/QuestionController.java index bf028e7a..e5c90a94 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/QuestionController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/QuestionController.java @@ -5,17 +5,14 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; -import org.qinan.cedu.model.dto.PaperCoursewarePageQueryDTO; -import org.qinan.cedu.model.dto.QuestionAddDTO; -import org.qinan.cedu.model.dto.QuestionBatchDeleteDTO; -import org.qinan.cedu.model.dto.QuestionTypeCountQueryDTO; -import org.qinan.cedu.model.dto.QuestionUpdateDTO; +import org.qinan.cedu.model.dto.*; import org.qinan.cedu.model.vo.QuestionCoursewareVO; import org.qinan.cedu.model.vo.QuestionTypeCountVO; import org.qinan.cedu.model.vo.QuestionVO; import org.qinan.cedu.service.QuestionService; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; +import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -86,4 +83,15 @@ public class QuestionController { return PageResponse.of(page.getRecords(), page.getTotal()); } + /** + * 分页查询机构下的试题信息(可按课件、题型、题干进一步过滤) + */ + @ApiOperation("分页试题信息,根据机构查询") + @GetMapping("/page/org") + public PageResponse pageOrg(QuestionOrgPageQueryDTO query) { + query.setOrgId(ThreadLocalUserInfoAdapter.getOrgId()); + IPage page = questionService.pageOrg(query); + return PageResponse.of(page.getRecords(), page.getTotal()); + } + } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/QuestionMapper.java b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/QuestionMapper.java index cd68a026..3a9d44b8 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/QuestionMapper.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/mapper/QuestionMapper.java @@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.qinan.cedu.model.dto.PaperCoursewarePageQueryDTO; import org.qinan.cedu.model.dto.PaperQuestionPageQueryDTO; +import org.qinan.cedu.model.dto.QuestionOrgPageQueryDTO; import org.qinan.cedu.model.dto.QuestionTypeCountQueryDTO; import org.qinan.cedu.model.entity.QuestionDO; import org.qinan.cedu.model.vo.*; @@ -90,4 +91,14 @@ public interface QuestionMapper extends BaseMapper { */ IPage pageCourseware(Page page ,@Param("qry") PaperCoursewarePageQueryDTO query); + + /** + * 分页查询机构下的试题信息(可按课件、题型、题干进一步过滤) + * + * @param page 分页参数 + * @param query 查询条件(机构id、课件id、题型、题干) + * @return 试题分页 + */ + IPage pageOrg(Page page + ,@Param("qry") QuestionOrgPageQueryDTO query); } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/PaperOrgPageQueryDTO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/PaperOrgPageQueryDTO.java index ef44c4b6..688cbe14 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/PaperOrgPageQueryDTO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/PaperOrgPageQueryDTO.java @@ -4,8 +4,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import org.qinan.cedu.enums.PaperTypeEnum; +import org.qinan.cedu.model.query.BasePageQuery; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotNull; +import java.time.LocalDate; /** * 试卷机构分页查询请求 @@ -13,7 +17,21 @@ import javax.validation.constraints.NotNull; @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "PaperOrgPageQueryDTO", description = "试卷机构分页查询请求") -public class PaperOrgPageQueryDTO extends PaperPageQueryDTO { +public class PaperOrgPageQueryDTO extends BasePageQuery { + + @ApiModelProperty("试卷名称(模糊)") + private String paperName; + + @ApiModelProperty(PaperTypeEnum.REMARKS) + private String paperType; + + @ApiModelProperty("创建时间-开始(yyyy-MM-dd,含当天)") + @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) + private LocalDate createTimeStart; + + @ApiModelProperty("创建时间-结束(yyyy-MM-dd,含当天)") + @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) + private LocalDate createTimeEnd; @ApiModelProperty(value = "机构id", required = true) @NotNull(message = "机构id不能为空") diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/QuestionOrgPageQueryDTO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/QuestionOrgPageQueryDTO.java new file mode 100644 index 00000000..f0e546f1 --- /dev/null +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/dto/QuestionOrgPageQueryDTO.java @@ -0,0 +1,32 @@ +package org.qinan.cedu.model.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.qinan.cedu.enums.QuestionTypeEnum; +import org.qinan.cedu.model.query.BasePageQuery; + +import javax.validation.constraints.NotNull; + +/** + * 试题机构分页查询请求 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "QuestionOrgPageQueryDTO", description = "试题机构分页查询请求") +public class QuestionOrgPageQueryDTO extends BasePageQuery { + + @ApiModelProperty(value = "机构id", required = true) + @NotNull(message = "机构id不能为空") + private Long orgId; + + @ApiModelProperty("课件id(可选,不传查机构下全部课件)") + private Long coursewareManagementId; + + @ApiModelProperty(QuestionTypeEnum.REMARKS) + private String questionType; + + @ApiModelProperty("题干name") + private String title; +} diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/QuestionService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/QuestionService.java index d202426a..569fba2f 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/QuestionService.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/QuestionService.java @@ -108,6 +108,14 @@ public interface QuestionService extends IService { */ IPage pageCourseware(PaperCoursewarePageQueryDTO query); + /** + * 分页查询机构下的试题信息(可按课件、题型、题干进一步过滤) + * + * @param query query + * @return QuestionCoursewareVO + */ + IPage pageOrg(QuestionOrgPageQueryDTO query); + /** * 新增试题(含选项) * diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/QuestionServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/QuestionServiceImpl.java index 4f00e4be..2a403d71 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/QuestionServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/QuestionServiceImpl.java @@ -252,6 +252,11 @@ public class QuestionServiceImpl extends ServiceImpl return this.baseMapper.pageCourseware(new Page<>(query.getCurrent(), query.getSize()), query); } + @Override + public IPage pageOrg(QuestionOrgPageQueryDTO query) { + return this.baseMapper.pageOrg(new Page<>(query.getCurrent(), query.getSize()), query); + } + @Override public void addQuestion(QuestionAddDTO dto) { QuestionDO question = questionConvertor.convertAddDtoToE(dto); diff --git a/safety-cedu-service/src/main/resources/mapper/QuestionMapper.xml b/safety-cedu-service/src/main/resources/mapper/QuestionMapper.xml index bb6773f9..def75af8 100644 --- a/safety-cedu-service/src/main/resources/mapper/QuestionMapper.xml +++ b/safety-cedu-service/src/main/resources/mapper/QuestionMapper.xml @@ -114,4 +114,32 @@ ORDER BY q.id DESC + +