添加校验,只有学生账户才能参加测评

This commit is contained in:
cjw 2024-04-22 15:30:55 +08:00
parent 3f0a9bd46c
commit 73d7dfc36b
3 changed files with 22 additions and 4 deletions

View File

@ -34,4 +34,8 @@ public enum UserType {
} }
throw new RuntimeException("'UserType' not found By " + str); throw new RuntimeException("'UserType' not found By " + str);
} }
public String getName() {
return this.userType;
}
} }

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.enums.UserType;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.scale.constant.ScaleDimensionEnum; import org.dromara.scale.constant.ScaleDimensionEnum;
@ -77,6 +78,10 @@ public class WebServiceImpl implements IWebService {
LoginUser loginUser = getLoginUser(); LoginUser loginUser = getLoginUser();
Long userId = loginUser.getUserId(); Long userId = loginUser.getUserId();
Long deptId = loginUser.getDeptId(); Long deptId = loginUser.getDeptId();
String userType = loginUser.getUserType();
if (!UserType.STUDENT.getName().equals(userType)) {
throw new ServiceException("只有学生账户才能测评");
}
SysScalePublishVo sysScalePublishVo = null; SysScalePublishVo sysScalePublishVo = null;
if (deptId != null) { if (deptId != null) {
//先查询直接用户组的发布 //先查询直接用户组的发布
@ -130,6 +135,11 @@ public class WebServiceImpl implements IWebService {
@Override @Override
public Boolean newRecord(Long recordId) { public Boolean newRecord(Long recordId) {
LoginUser loginUser = getLoginUser();
String userType = loginUser.getUserType();
if (!UserType.STUDENT.getName().equals(userType)) {
throw new ServiceException("只有学生账户才能测评");
}
//LoginUser loginUser = getLoginUser(); //LoginUser loginUser = getLoginUser();
SysEvaluationRecord evaluationRecord = recordMapper.selectById(recordId); SysEvaluationRecord evaluationRecord = recordMapper.selectById(recordId);
if (evaluationRecord == null) { if (evaluationRecord == null) {
@ -148,6 +158,11 @@ public class WebServiceImpl implements IWebService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public Map<String, Object> submitAnswer(SubmitAnswerBo bo) { public Map<String, Object> submitAnswer(SubmitAnswerBo bo) {
LoginUser loginUser = getLoginUser();
String userType = loginUser.getUserType();
if (!UserType.STUDENT.getName().equals(userType)) {
throw new ServiceException("只有学生账户才能测评");
}
boolean allowQueryResult = true; boolean allowQueryResult = true;
Long scaleId = bo.getScaleId(); Long scaleId = bo.getScaleId();
Map<String, List<SysScaleAnswerVo>> answerMapByQuestion = scaleAnswerService.getScaleAnswerMap(scaleId); Map<String, List<SysScaleAnswerVo>> answerMapByQuestion = scaleAnswerService.getScaleAnswerMap(scaleId);

View File

@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.scale.mapper.SysEvaluationRecordMapper"> <mapper namespace="org.dromara.scale.mapper.SysEvaluationRecordMapper">
<select id="selectSclaeRecordListByUserAndBatch" resultType="org.dromara.scale.domain.vo.SysEvaluationRecordVo"> <select id="selectSclaeRecordListByUserAndBatch" resultType="org.dromara.scale.domain.vo.SysEvaluationRecordVo">
select * select *
from sys_evaluation_record from sys_evaluation_record
@ -12,7 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectPublishByUseRecord" resultType="org.dromara.scale.domain.vo.SysScalePublishVo"> <select id="selectPublishByUseRecord" resultType="org.dromara.scale.domain.vo.SysScalePublishVo">
select sp.batch_no ,allow_query_result select sp.batch_no, sp.allow_query_result
from sys_evaluation_record er from sys_evaluation_record er
left join sys_scale_publish sp on er.batch_no = sp.batch_no left join sys_scale_publish sp on er.batch_no = sp.batch_no
where er.record_id = #{recordId} where er.record_id = #{recordId}