单点登陆

dev
caolin 2023-09-12 23:48:23 +08:00
parent e3158205b0
commit 30fd69726c
6 changed files with 249 additions and 1 deletions

View File

@ -2,6 +2,7 @@ package com.jwl.driver.server.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.jwl.driver.server.dto.QuestionAddDto;
import com.jwl.driver.server.dto.QuestionQueryDto;
import com.jwl.driver.server.exception.BusinessException;
import com.jwl.driver.server.response.BaseResponse;
@ -13,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@ -110,6 +112,16 @@ public class TdQuestionController {
return result;
}
@ApiOperation("新增题库")
@PostMapping("/insert")
public Map insertQuestion(@RequestBody @Valid QuestionAddDto addDto) {
log.info("新增题库======>QuestionAddDto:{}", addDto);
Map<String, Object> result = new HashMap<>();
result.put("code", 200);
result.put("data", tdQuestionService.insertQuestion(addDto));
return result;
}
@ApiOperation("查询各专项分类题目数量")
@PostMapping("/querySpecialNum")
public BaseResponse querySpecialNum(@RequestBody QuestionQueryDto queryDto) {

View File

@ -0,0 +1,192 @@
package com.jwl.driver.server.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author
* @description
* @create 2023/8/13 17:13
*/
@Data
@Accessors(chain = true)
@ApiModel("驾考题目出参")
public class QuestionAddDto {
private static final long serialVersionUID = 1L;
/**
*
*/
@ApiModelProperty(value = "题目内容",required = true)
private String question;
/**
* A
*/
@ApiModelProperty("选项A")
private String chooseA;
/**
* B
*/
@ApiModelProperty("选项B")
private String chooseB;
/**
* C
*/
@ApiModelProperty("选项C")
private String chooseC;
/**
* D
*/
@ApiModelProperty("选项D")
private String chooseD;
/**
* E
*/
@ApiModelProperty("选项E")
private String chooseE;
/**
* F
*/
@ApiModelProperty("选项F")
private String chooseF;
/**
* G
*/
@ApiModelProperty("选项G")
private String chooseG;
/**
*
*/
@ApiModelProperty("正确答案")
private String trueAnswer;
/**
*
*/
@ApiModelProperty("未知")
private String cids;
/**
*
*/
@ApiModelProperty("题型分类")
private String category;
/**
* url
*/
@ApiModelProperty("题目图片url")
private String imageUrl;
/**
*
*/
@ApiModelProperty("未知")
private String sohuImg;
/**
*
*/
@ApiModelProperty("最佳回答")
private String bestAnswer;
/**
*
*/
@ApiModelProperty("章节标识")
private String chapter;
/**
* 1:12:4
*/
@ApiModelProperty("所属科目1:科目12:科目4")
private String subject;
/**
*
*/
@ApiModelProperty("选择")
private String options;
/**
* 1 23
*/
@ApiModelProperty("题目类型1选择题 2判断题3多选题")
@NotBlank
private String type;
/**
*
*/
@ApiModelProperty("显示序号")
private int showOrder;
/**
*
*/
@ApiModelProperty("车型")
@NotNull
private Integer carTypeId;
/**
*
*/
@ApiModelProperty("是否生效")
private String isActive;
/**
* vip
*/
@ApiModelProperty("是否VIP")
@NotNull
private Integer isVip;
/**
*
*/
@ApiModelProperty("是否易错")
private Integer isError;
/**
* v
*/
@ApiModelProperty("是否新规")
private Integer isNew;
/**
*
*/
@ApiModelProperty("考点")
private String examKeys;
/**
* 600
*/
@ApiModelProperty("精讯600题")
private Integer isVip2;
/**
* 1
*/
@ApiModelProperty("是否密卷1")
private Integer isExam1;
/**
* 2
*/
@ApiModelProperty("是否密卷2")
private Integer isExam2;
}

View File

@ -56,5 +56,10 @@ public interface TdQuestionMapper extends BaseMapper<TdQuestion> {
*/
Map<String, Integer> querySpecialNum(@Param("queryDto") QuestionQueryDto queryDto);
/**
*
* @param carTypeId
* @return
*/
Integer queryMaxSort(@Param("carTypeId") int carTypeId);
}

View File

@ -1,5 +1,6 @@
package com.jwl.driver.server.service;
import com.jwl.driver.server.dto.QuestionAddDto;
import com.jwl.driver.server.dto.QuestionQueryDto;
import com.jwl.driver.server.entity.TdQuestion;
import com.baomidou.mybatisplus.extension.service.IService;
@ -76,6 +77,14 @@ public interface ITdQuestionService extends IService<TdQuestion> {
*/
int updateQuestion(QuestionVo questionVo);
/**
*
* @param addDto
* @return
*/
Boolean insertQuestion(QuestionAddDto addDto);
/**
*
* @param queryDto

View File

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.generator.config.IFileCreate;
import com.google.gson.JsonObject;
import com.jwl.driver.server.constant.Constants;
import com.jwl.driver.server.constant.ErrorCode;
import com.jwl.driver.server.dto.QuestionAddDto;
import com.jwl.driver.server.dto.QuestionQueryDto;
import com.jwl.driver.server.dto.TestQuestionTypeDto;
import com.jwl.driver.server.entity.TdQuestion;
@ -26,6 +27,7 @@ import com.jwl.driver.server.service.ITdSysConfigService;
import com.jwl.driver.server.vo.QuestionVo;
import com.jwl.driver.server.vo.QusetionCategoryVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -259,6 +261,25 @@ public class TdQuestionServiceImpl extends ServiceImpl<TdQuestionMapper, TdQuest
return this.getBaseMapper().updateQuestion(questionVo);
}
@Override
public Boolean insertQuestion(QuestionAddDto addDto) {
TdQuestion question = new TdQuestion();
BeanUtils.copyProperties(addDto,question);
//获取该车型最大的排序
if (Objects.isNull(question.getShowOrder())){
Integer sort = this.getBaseMapper().queryMaxSort(question.getCarTypeId());
if (Objects.isNull(sort)){
sort = 1;
}else {
sort = sort + 1;
}
question.setShowOrder(sort);
}
question.setIsActive(Constants.IS_ACTIVE_TRUE);
return this.save(question);
}
@Override
public Map<String, Integer> querySpecialNum(QuestionQueryDto queryDto) {
//校验题库版本是否一致
@ -284,6 +305,8 @@ public class TdQuestionServiceImpl extends ServiceImpl<TdQuestionMapper, TdQuest
return resultMap;
}
/**
*
*/

View File

@ -283,4 +283,11 @@
order by rand() limit ${queryDto.num};
</select>
<select id="queryMaxSort" resultType="java.lang.Integer">
select
MAX(tq.SHOW_ORDER)
from td_question tq
where tq.CAR_TYPE_ID = #{carTypeId}
</select>
</mapper>