user paper exam
parent
b452797eb2
commit
397c04e154
|
|
@ -11,6 +11,7 @@ import org.qinan.cedu.service.PaperService;
|
||||||
import org.qinan.cedu.service.QuestionService;
|
import org.qinan.cedu.service.QuestionService;
|
||||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||||
|
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
|
|
@ -43,6 +44,8 @@ public class PaperController {
|
||||||
@ApiOperation("机构分页查询试卷")
|
@ApiOperation("机构分页查询试卷")
|
||||||
@GetMapping("/org/page")
|
@GetMapping("/org/page")
|
||||||
public PageResponse<PaperPageVO> orgPage(@Validated PaperOrgPageQueryDTO query) {
|
public PageResponse<PaperPageVO> orgPage(@Validated PaperOrgPageQueryDTO query) {
|
||||||
|
// 设置机构id
|
||||||
|
query.setOrgId(ThreadLocalUserInfoAdapter.getOrgId());
|
||||||
IPage<PaperPageVO> page = paperService.pageQueryByOrg(query);
|
IPage<PaperPageVO> page = paperService.pageQueryByOrg(query);
|
||||||
return PageResponse.of(page.getRecords(), page.getTotal());
|
return PageResponse.of(page.getRecords(), page.getTotal());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package org.qinan.cedu.controller;
|
package org.qinan.cedu.controller;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.annotations.ApiParam;
|
import io.swagger.annotations.ApiParam;
|
||||||
|
|
@ -31,6 +32,7 @@ public class PaperExamQuestionUserController {
|
||||||
@ApiOperation("分页查询用户试卷试题")
|
@ApiOperation("分页查询用户试卷试题")
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
public PageResponse<PaperExamQuestionUserVO> page(PaperExamQuestionUserPageQueryDTO query) {
|
public PageResponse<PaperExamQuestionUserVO> page(PaperExamQuestionUserPageQueryDTO query) {
|
||||||
|
query.setUserId(AuthContext.getUserId());
|
||||||
IPage<PaperExamQuestionUserVO> page = paperExamQuestionUserService.pageQuery(query);
|
IPage<PaperExamQuestionUserVO> page = paperExamQuestionUserService.pageQuery(query);
|
||||||
return PageResponse.of(page.getRecords(), page.getTotal());
|
return PageResponse.of(page.getRecords(), page.getTotal());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,14 @@ import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.annotations.ApiParam;
|
import io.swagger.annotations.ApiParam;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.qinan.cedu.model.dto.PaperCoursewarePageQueryDTO;
|
import org.qinan.cedu.model.dto.*;
|
||||||
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.vo.QuestionCoursewareVO;
|
import org.qinan.cedu.model.vo.QuestionCoursewareVO;
|
||||||
import org.qinan.cedu.model.vo.QuestionTypeCountVO;
|
import org.qinan.cedu.model.vo.QuestionTypeCountVO;
|
||||||
import org.qinan.cedu.model.vo.QuestionVO;
|
import org.qinan.cedu.model.vo.QuestionVO;
|
||||||
import org.qinan.cedu.service.QuestionService;
|
import org.qinan.cedu.service.QuestionService;
|
||||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||||
|
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -86,4 +83,15 @@ public class QuestionController {
|
||||||
return PageResponse.of(page.getRecords(), page.getTotal());
|
return PageResponse.of(page.getRecords(), page.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询机构下的试题信息(可按课件、题型、题干进一步过滤)
|
||||||
|
*/
|
||||||
|
@ApiOperation("分页试题信息,根据机构查询")
|
||||||
|
@GetMapping("/page/org")
|
||||||
|
public PageResponse<QuestionCoursewareVO> pageOrg(QuestionOrgPageQueryDTO query) {
|
||||||
|
query.setOrgId(ThreadLocalUserInfoAdapter.getOrgId());
|
||||||
|
IPage<QuestionCoursewareVO> page = questionService.pageOrg(query);
|
||||||
|
return PageResponse.of(page.getRecords(), page.getTotal());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.qinan.cedu.model.dto.PaperCoursewarePageQueryDTO;
|
import org.qinan.cedu.model.dto.PaperCoursewarePageQueryDTO;
|
||||||
import org.qinan.cedu.model.dto.PaperQuestionPageQueryDTO;
|
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.dto.QuestionTypeCountQueryDTO;
|
||||||
import org.qinan.cedu.model.entity.QuestionDO;
|
import org.qinan.cedu.model.entity.QuestionDO;
|
||||||
import org.qinan.cedu.model.vo.*;
|
import org.qinan.cedu.model.vo.*;
|
||||||
|
|
@ -90,4 +91,14 @@ public interface QuestionMapper extends BaseMapper<QuestionDO> {
|
||||||
*/
|
*/
|
||||||
IPage<QuestionCoursewareVO> pageCourseware(Page<PaperQuestionVO> page
|
IPage<QuestionCoursewareVO> pageCourseware(Page<PaperQuestionVO> page
|
||||||
,@Param("qry") PaperCoursewarePageQueryDTO query);
|
,@Param("qry") PaperCoursewarePageQueryDTO query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询机构下的试题信息(可按课件、题型、题干进一步过滤)
|
||||||
|
*
|
||||||
|
* @param page 分页参数
|
||||||
|
* @param query 查询条件(机构id、课件id、题型、题干)
|
||||||
|
* @return 试题分页
|
||||||
|
*/
|
||||||
|
IPage<QuestionCoursewareVO> pageOrg(Page<PaperQuestionVO> page
|
||||||
|
,@Param("qry") QuestionOrgPageQueryDTO query);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,12 @@ import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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 javax.validation.constraints.NotNull;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 试卷机构分页查询请求
|
* 试卷机构分页查询请求
|
||||||
|
|
@ -13,7 +17,21 @@ import javax.validation.constraints.NotNull;
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ApiModel(value = "PaperOrgPageQueryDTO", description = "试卷机构分页查询请求")
|
@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)
|
@ApiModelProperty(value = "机构id", required = true)
|
||||||
@NotNull(message = "机构id不能为空")
|
@NotNull(message = "机构id不能为空")
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -108,6 +108,14 @@ public interface QuestionService extends IService<QuestionDO> {
|
||||||
*/
|
*/
|
||||||
IPage<QuestionCoursewareVO> pageCourseware(PaperCoursewarePageQueryDTO query);
|
IPage<QuestionCoursewareVO> pageCourseware(PaperCoursewarePageQueryDTO query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询机构下的试题信息(可按课件、题型、题干进一步过滤)
|
||||||
|
*
|
||||||
|
* @param query query
|
||||||
|
* @return QuestionCoursewareVO
|
||||||
|
*/
|
||||||
|
IPage<QuestionCoursewareVO> pageOrg(QuestionOrgPageQueryDTO query);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增试题(含选项)
|
* 新增试题(含选项)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -252,6 +252,11 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, QuestionDO>
|
||||||
return this.baseMapper.pageCourseware(new Page<>(query.getCurrent(), query.getSize()), query);
|
return this.baseMapper.pageCourseware(new Page<>(query.getCurrent(), query.getSize()), query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<QuestionCoursewareVO> pageOrg(QuestionOrgPageQueryDTO query) {
|
||||||
|
return this.baseMapper.pageOrg(new Page<>(query.getCurrent(), query.getSize()), query);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addQuestion(QuestionAddDTO dto) {
|
public void addQuestion(QuestionAddDTO dto) {
|
||||||
QuestionDO question = questionConvertor.convertAddDtoToE(dto);
|
QuestionDO question = questionConvertor.convertAddDtoToE(dto);
|
||||||
|
|
|
||||||
|
|
@ -114,4 +114,32 @@
|
||||||
</if>
|
</if>
|
||||||
ORDER BY q.id DESC
|
ORDER BY q.id DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="pageOrg" resultType="org.qinan.cedu.model.vo.QuestionCoursewareVO">
|
||||||
|
SELECT q.id
|
||||||
|
, q.title
|
||||||
|
, q.score
|
||||||
|
, q.answer_question_option_ids
|
||||||
|
, q.analysis
|
||||||
|
, q.question_type
|
||||||
|
, q.tag_type
|
||||||
|
, q.answer
|
||||||
|
, cm.courseware_name
|
||||||
|
, q.courseware_management_id
|
||||||
|
FROM question q
|
||||||
|
JOIN courseware_management cm ON cm.id = q.courseware_management_id
|
||||||
|
WHERE q.org_id = #{qry.orgId}
|
||||||
|
AND q.delete_enum = 'false'
|
||||||
|
AND cm.delete_enum = 'false'
|
||||||
|
<if test="qry.coursewareManagementId != null">
|
||||||
|
AND cm.id = #{qry.coursewareManagementId}
|
||||||
|
</if>
|
||||||
|
<if test="qry.title != null and qry.title != ''">
|
||||||
|
AND q.title LIKE CONCAT('%', #{qry.title}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="qry.questionType != null and qry.questionType != ''">
|
||||||
|
AND q.question_type = #{qry.questionType}
|
||||||
|
</if>
|
||||||
|
ORDER BY q.id DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue