考证错题库和收藏夹

beetlsql3-dev
Mlxa0324 2 years ago
parent d9f3fccdbb
commit 6918e404b9

@ -196,7 +196,17 @@ public class GeneralQuestionLog extends BaseEntity{
return Integer.valueOf(defaultIfNull(this.get("errorCount"), "0").toString()); return Integer.valueOf(defaultIfNull(this.get("errorCount"), "0").toString());
} }
/**
*
*/
public void clearAnswer() { public void clearAnswer() {
this.setQuestionAnswer(null); this.setQuestionAnswer(null);
} }
/**
*
*/
public void clearLogAnswer() {
this.setGeneralQuestionLogAnswer(null);
}
} }

@ -1,6 +1,5 @@
package com.ibeetl.jlw.service; package com.ibeetl.jlw.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
@ -178,6 +177,32 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
return generalQuestionSettingDao.getValuesByQueryNotWithPermission(generalQuestionSettingQuery); return generalQuestionSettingDao.getValuesByQueryNotWithPermission(generalQuestionSettingQuery);
} }
/**
* IDs
* @param ids IDs
* @return
*/
public List<GeneralQuestionSetting> getByIds (String ids){
GeneralQuestionSettingQuery query = new GeneralQuestionSettingQuery();
query.setGeneralQuestionSettingStatus(1);
query.setGeneralQuestionSettingIdPlural(ids);
query.setGeneralQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH);
return generalQuestionSettingDao.getValuesByQueryNotWithPermission(query);
}
/**
* IDs
* @param businessIds IDs
* @return
*/
public List<GeneralQuestionSetting> getByBusinessIds (String businessIds){
GeneralQuestionSettingQuery query = new GeneralQuestionSettingQuery();
query.setGeneralQuestionSettingStatus(1);
query.setBusinessIdPlural(businessIds);
query.setGeneralQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH);
return generalQuestionSettingDao.getValuesByQueryNotWithPermission(query);
}
public GeneralQuestionSetting getInfo (Long generalQuestionSettingId){ public GeneralQuestionSetting getInfo (Long generalQuestionSettingId){
GeneralQuestionSettingQuery generalQuestionSettingQuery = new GeneralQuestionSettingQuery(); GeneralQuestionSettingQuery generalQuestionSettingQuery = new GeneralQuestionSettingQuery();
generalQuestionSettingQuery.setGeneralQuestionSettingId(generalQuestionSettingId); generalQuestionSettingQuery.setGeneralQuestionSettingId(generalQuestionSettingId);
@ -714,33 +739,46 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
* : <br> * : <br>
* *
* *
* @param questionSettingId IDID * @param questionSettingIds IDsID
* @param tuckOrError * @param tuckOrError
* @param student * @param student
* @return {@link JsonResult} * @return {@link JsonResult}
* @Author: 87966 * @Author: 87966
* @Date: 2022/12/1 9:27 * @Date: 2022/12/1 9:27
*/ */
public List<GeneralResourcesQuestionSnapshot> questionDetailTest(@NotNull(message = "题目配置ID不能为空") Long questionSettingId, public List<GeneralQuestionLog> questionDetailTest(@NotNull(message = "题目配置ID不能为空") String questionSettingIds,
@NotNull(message = "练习类型不能为空!") TuckOrErrorEnum tuckOrError, @NotNull(message = "接口只能学生访问") Student student) { @NotNull(message = "练习类型不能为空!") TuckOrErrorEnum tuckOrError, @NotNull(message = "接口只能学生访问") Student student) {
final Long studentId = student.getStudentId(); final Long studentId = student.getStudentId();
GeneralQuestionLogQuery logQuery = new GeneralQuestionLogQuery(); GeneralQuestionLogQuery logQuery = new GeneralQuestionLogQuery();
// 收藏
if (TUCK_TEST.equals(tuckOrError)) { if (TUCK_TEST.equals(tuckOrError)) {
logQuery.setIsTuck(true); logQuery.setIsTuck(true);
} else if(ERROR_TEST.equals(tuckOrError)) { logQuery.setStudentId(studentId);
logQuery.setIsErrorFavorite(true); logQuery.setGeneralQuestionLogStatusPlural("1,2");
logQuery.setGeneralQuestionSettingIdPlural(questionSettingIds);
logQuery.setQuestionLogAddType(FINALLY_SUBMIT);
List<GeneralQuestionLog> list = generalQuestionLogService.getValuesByQueryNotWithPermission(logQuery);
list.forEach(GeneralQuestionLog::clearAnswer);
list.forEach(GeneralQuestionLog::clearLogAnswer);
return list;
} }
// 错题库
else if(ERROR_TEST.equals(tuckOrError)) {
logQuery.setIsErrorFavorite(true);
logQuery.setStudentId(studentId); logQuery.setStudentId(studentId);
logQuery.setGeneralQuestionLogStatus(1); logQuery.setGeneralQuestionLogStatusPlural("1,2");
logQuery.setGeneralQuestionSettingId(questionSettingId); logQuery.setGeneralQuestionSettingIdPlural(questionSettingIds);
logQuery.setQuestionLogAddType(FINALLY_SUBMIT);
List<GeneralQuestionLog> list = generalQuestionLogService.getValuesByQueryNotWithPermission(logQuery); List<GeneralQuestionLog> list = generalQuestionLogService.getValuesByQueryNotWithPermission(logQuery);
list.forEach(GeneralQuestionLog::clearAnswer); list.forEach(GeneralQuestionLog::clearAnswer);
list.forEach(GeneralQuestionLog::clearLogAnswer);
if (ObjectUtil.isNotEmpty(list)) { return list;
return BeanUtil.copyToList(list, GeneralResourcesQuestionSnapshot.class);
} }
return Collections.emptyList(); return Collections.emptyList();

@ -490,8 +490,8 @@ public class GeneralResourcesQuestionSnapshotService extends CoreBaseService<Gen
Assert.notNull(student, "该接口只能学生访问"); Assert.notNull(student, "该接口只能学生访问");
final Long studentId = student.getStudentId(); final Long studentId = student.getStudentId();
generalQuestionSettingService // generalQuestionSettingService
.validateFinallySubmitThrow(questionSettingId, studentId, "该试卷暂无题目!", "未交卷状态,无法查看成绩!"); // .validateFinallySubmitThrow(questionSettingId, studentId, "该试卷暂无题目!", "未交卷状态,无法查看成绩!");
// 给实体类传参数剩下来的交给Fetch 来处理 // 给实体类传参数剩下来的交给Fetch 来处理
// 查询符合条件的实体 // 查询符合条件的实体

@ -2,8 +2,10 @@ package com.ibeetl.jlw.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.util.PlatformException;
@ -19,9 +21,8 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.*;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.hutool.core.collection.CollUtil.getFirst; import static cn.hutool.core.collection.CollUtil.getFirst;
@ -175,7 +176,7 @@ public class SchoolClassService extends CoreBaseService<SchoolClass>{
insertSchoolClass.setUniversityFacultyId(universityFacultyId); insertSchoolClass.setUniversityFacultyId(universityFacultyId);
insertSchoolClass.setUniversitySystemId(universitySystemId); insertSchoolClass.setUniversitySystemId(universitySystemId);
insertSchoolClass.setClassName(name); insertSchoolClass.setClassName(name);
insertSchoolClass.setClassSn(RandomUtil.randomNumbers(6)); insertSchoolClass.setClassSn(buildClassSnEnsureUnique(universitiesColleges, name));
insertSchoolClass.setClassStatus(1); insertSchoolClass.setClassStatus(1);
insertSchoolClass.setAddTime(new Date()); insertSchoolClass.setAddTime(new Date());
insertSchoolClass.setOrgId(orgId); insertSchoolClass.setOrgId(orgId);
@ -184,4 +185,62 @@ public class SchoolClassService extends CoreBaseService<SchoolClass>{
insert(insertSchoolClass); insert(insertSchoolClass);
return insertSchoolClass; return insertSchoolClass;
} }
/**
*
* @return
*/
public String buildClassSnEnsureUnique(@NotNull(message = "院校不能为空!") UniversitiesColleges universitiesColleges, @NotNull(message = "班级名称不能为空!") String className) {
// 左侧的名称
String leftName = universitiesColleges != null ? universitiesColleges.getUniversitiesCollegesName() : ( RandomUtil.randomInt(6) + "" );
// 初步生成的班级编号
String classSnBefore = StrUtil.format("{}_{}_{}", leftName, replaceAllByClassNameRule(className), RandomUtil.randomNumbers(6));
// 中文的部分取拼音首字母
String classSnPinyin = PinyinUtil.getFirstLetter(classSnBefore, "");
if(countByClassSn(classSnPinyin) > 0L) {
return buildClassSnEnsureUnique(universitiesColleges, className);
}
return classSnPinyin;
}
/**
*
*
* @param classSn
* @return
*/
public long countByClassSn(String classSn) {
return schoolClassDao.createLambdaQuery().andEq(SchoolClass::getClassSn, classSn)
.count();
}
/**
*
*/
public final static Map<String, String> SCHOOL_CLASS_NAME_RULE = MapUtil.unmodifiable(new HashMap<String, String>() {{
put("第_?", "NO_");
}});
/**
* : <br>
*
*
* @param name
* @return {@link String}
* @Author: lx
* @Date: 2023/3/23 22:00
*/
public String replaceAllByClassNameRule(String name) {
// 暂存name
String nowName = null;
for (String key : SCHOOL_CLASS_NAME_RULE.keySet()) {
nowName = defaultIfBlank(nowName, name).replaceAll(key, SCHOOL_CLASS_NAME_RULE.get(key));
}
return nowName;
}
} }

@ -908,7 +908,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService<Tea
* @Date: 2022/12/1 9:27 * @Date: 2022/12/1 9:27
*/ */
public List<TeacherOpenCourseQuestionLog> questionDetailTest(@NotNull(message = "题目配置ID不能为空") Long questionSettingId, public List<TeacherOpenCourseQuestionLog> questionDetailTest(@NotNull(message = "题目配置ID不能为空") Long questionSettingId,
@NotNull(message = "练习类型不能为空!") TuckOrErrorEnum tuckOrError, @NotNull(message = "接口只能学生访问") Student student) { @NotNull(message = "练习类型不能为空!") TuckOrErrorEnum tuckOrError, @NotNull(message = "接口只能学生访问") Student student) {
final Long studentId = student.getStudentId(); final Long studentId = student.getStudentId();
TeacherOpenCourseQuestionLogQuery logQuery = new TeacherOpenCourseQuestionLogQuery(); TeacherOpenCourseQuestionLogQuery logQuery = new TeacherOpenCourseQuestionLogQuery();

@ -125,7 +125,7 @@ public class CourseLabelController{
if(result.hasErrors()){ if(result.hasErrors()){
return JsonResult.failMessage(result); return JsonResult.failMessage(result);
}else { }else {
Assert.isTrue(coreUser.isUniAdmin() || coreUser.isAdmin(), "只允许学校管理员和超管访问接口!"); Assert.isTrue(coreUser.isUniAdmin() || coreUser.isAdmin(), "只允许学校管理员和超管访问接口!");
CourseLabel cl = courseLabelService.queryById(courseLabel.getCourseLabelId()); CourseLabel cl = courseLabelService.queryById(courseLabel.getCourseLabelId());
// 只有超管才能修改系统分配的数据 // 只有超管才能修改系统分配的数据
Assert.isFalse(ADMIN_ADD.equals(cl.getAddType()) && coreUser.isUniAdmin(), "用户无法修改系统分配的数据!"); Assert.isFalse(ADMIN_ADD.equals(cl.getAddType()) && coreUser.isUniAdmin(), "用户无法修改系统分配的数据!");

@ -16,9 +16,11 @@ import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.query.PageParam; import com.ibeetl.admin.core.web.query.PageParam;
import com.ibeetl.jlw.entity.FileEntity; import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.jlw.entity.GeneralQuestionLog; import com.ibeetl.jlw.entity.GeneralQuestionLog;
import com.ibeetl.jlw.entity.GeneralQuestionSetting;
import com.ibeetl.jlw.entity.Student; import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.dto.QuestionLogAddDTO; import com.ibeetl.jlw.entity.dto.QuestionLogAddDTO;
import com.ibeetl.jlw.service.GeneralQuestionLogService; import com.ibeetl.jlw.service.GeneralQuestionLogService;
import com.ibeetl.jlw.service.GeneralQuestionSettingService;
import com.ibeetl.jlw.web.query.GeneralQuestionLogQuery; import com.ibeetl.jlw.web.query.GeneralQuestionLogQuery;
import com.ibeetl.jlw.web.query.GeneralQuestionLogScoreDetailsInfoQuery; import com.ibeetl.jlw.web.query.GeneralQuestionLogScoreDetailsInfoQuery;
import lombok.SneakyThrows; import lombok.SneakyThrows;
@ -45,6 +47,7 @@ import java.util.*;
import static cn.jlw.util.CacheUserUtil.getStudent; import static cn.jlw.util.CacheUserUtil.getStudent;
import static com.ibeetl.admin.core.util.ExcelUtil.convertData; import static com.ibeetl.admin.core.util.ExcelUtil.convertData;
import static com.ibeetl.admin.core.util.ExcelUtil.write; import static com.ibeetl.admin.core.util.ExcelUtil.write;
import static com.ibeetl.admin.core.util.StreamUtils.listJoin;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
import static com.ibeetl.jlw.enums.QuestionLogAddTypeEnum.FINALLY_SUBMIT; import static com.ibeetl.jlw.enums.QuestionLogAddTypeEnum.FINALLY_SUBMIT;
@ -63,6 +66,7 @@ public class GeneralQuestionLogController extends BaseController {
@Autowired private GeneralQuestionLogService generalQuestionLogService; @Autowired private GeneralQuestionLogService generalQuestionLogService;
@Autowired private GeneralQuestionSettingService generalQuestionSettingService;
@Autowired FileService fileService; @Autowired FileService fileService;
@ -239,13 +243,29 @@ public class GeneralQuestionLogController extends BaseController {
Assert.notNull(student, "非学生身份,无法获取题目分析!"); Assert.notNull(student, "非学生身份,无法获取题目分析!");
PageQuery query = new PageQuery(pageParam.getPage().longValue(), pageParam.getLimit().longValue()); PageQuery query = new PageQuery(pageParam.getPage().longValue(), pageParam.getLimit().longValue());
query.setPara("studentId", student.getStudentId()); query.setPara("studentId", student.getStudentId());
query.setPara("generalQuestionLogStatus", 1);
// 只查询收藏的题目 // 只查询收藏的题目
query.setPara("isTuck", true); query.setPara("isTuck", true);
query.setPara("generalQuestionSettingIdPlural", questionSettingIds); query.setPara("generalQuestionSettingIdPlural", questionSettingIds);
return JsonResult.success(generalQuestionLogService.queryByConditionQuery(query)); return JsonResult.success(generalQuestionLogService.queryByConditionQuery(query));
} }
/**
* : <br>
* Ids
*
* @param pageParam
* @param courseInfoIds IDs
* @param coreUser
* @return {@link JsonResult}
* @Author: 87966
* @Date: 2022/12/1 9:19
*/
@GetMapping(API + "/tuckListByCourseInfoIds.do")
public JsonResult tuckListByCourseInfoIds(PageParam pageParam, @RequestParam(required = false) String courseInfoIds, @SCoreUser CoreUser coreUser) {
String questionSettingIds = listJoin(generalQuestionSettingService.getByBusinessIds(courseInfoIds), GeneralQuestionSetting::getGeneralQuestionSettingId);
return tuckList(pageParam, questionSettingIds, coreUser);
}
/** /**
* : <br> * : <br>
* ID * ID
@ -258,12 +278,27 @@ public class GeneralQuestionLogController extends BaseController {
@GetMapping(API + "/excel/exportTuck.do") @GetMapping(API + "/excel/exportTuck.do")
public void exportTuck(@NotNull(message = "题目配置ID不能为空") String questionSettingIds, @SCoreUser CoreUser coreUser) { public void exportTuck(@NotNull(message = "题目配置ID不能为空") String questionSettingIds, @SCoreUser CoreUser coreUser) {
GeneralQuestionLogQuery logQuery = new GeneralQuestionLogQuery(); GeneralQuestionLogQuery logQuery = new GeneralQuestionLogQuery();
logQuery.setGeneralQuestionLogStatus(1);
logQuery.setIsTuck(true); logQuery.setIsTuck(true);
logQuery.setGeneralQuestionSettingIdPlural(questionSettingIds); logQuery.setGeneralQuestionSettingIdPlural(questionSettingIds);
generalQuestionLogService.exportErrorFavorite(request, response, logQuery, coreUser); generalQuestionLogService.exportErrorFavorite(request, response, logQuery, coreUser);
} }
/**
* : <br>
* IDs
*
* @param courseInfoIds IDs
* @param coreUser
* @Author: lx
* @Date: 2022/11/30 0:35
*/
@GetMapping(API + "/excel/exportTuckByCourseInfoIds.do")
public void exportTuckByCourseInfoIds(@NotNull(message = "题目配置ID不能为空") String courseInfoIds, @SCoreUser CoreUser coreUser) {
String questionSettingIds = listJoin(generalQuestionSettingService.getByBusinessIds(courseInfoIds), GeneralQuestionSetting::getGeneralQuestionSettingId);
exportDo(questionSettingIds, coreUser);
}
/** /**
* / * /
* @param generalQuestionLogIds ID * @param generalQuestionLogIds ID
@ -293,7 +328,6 @@ public class GeneralQuestionLogController extends BaseController {
Assert.notNull(student, "非学生身份,无法获取题目分析!"); Assert.notNull(student, "非学生身份,无法获取题目分析!");
PageQuery query = new PageQuery(pageParam.getPage().longValue(), pageParam.getLimit().longValue()); PageQuery query = new PageQuery(pageParam.getPage().longValue(), pageParam.getLimit().longValue());
query.setPara("studentId", student.getStudentId()); query.setPara("studentId", student.getStudentId());
query.setPara("generalQuestionLogStatus", 1);
// 只查询收藏到错题库的题目 // 只查询收藏到错题库的题目
query.setPara("isErrorFavorite", true); query.setPara("isErrorFavorite", true);
query.setPara("generalQuestionSettingIdPlural", questionSettingIds); query.setPara("generalQuestionSettingIdPlural", questionSettingIds);
@ -301,6 +335,24 @@ public class GeneralQuestionLogController extends BaseController {
return JsonResult.success(generalQuestionLogService.queryByConditionQuery(query)); return JsonResult.success(generalQuestionLogService.queryByConditionQuery(query));
} }
/**
* : <br>
*
* IDs
*
* @param pageParam
* @param courseInfoIds IDs
* @param coreUser
* @return {@link JsonResult}
* @Author: 87966
* @Date: 2022/12/1 9:13
*/
@GetMapping(API + "/errorFavoriteListByCourseInfoIds.do")
public JsonResult errorFavoriteListByCourseInfoIds(PageParam pageParam, String courseInfoIds, @SCoreUser CoreUser coreUser) {
String questionSettingIds = listJoin(generalQuestionSettingService.getByBusinessIds(courseInfoIds), GeneralQuestionSetting::getGeneralQuestionSettingId);
return errorFavoriteList(pageParam, questionSettingIds, coreUser);
}
/** /**
* : <br> * : <br>
* ID * ID
@ -313,12 +365,28 @@ public class GeneralQuestionLogController extends BaseController {
@GetMapping(API + "/excel/exportErrorFavorite.do") @GetMapping(API + "/excel/exportErrorFavorite.do")
public void exportDo(@NotNull(message = "题目配置ID不能为空") String questionSettingIds, @SCoreUser CoreUser coreUser) { public void exportDo(@NotNull(message = "题目配置ID不能为空") String questionSettingIds, @SCoreUser CoreUser coreUser) {
GeneralQuestionLogQuery logQuery = new GeneralQuestionLogQuery(); GeneralQuestionLogQuery logQuery = new GeneralQuestionLogQuery();
logQuery.setGeneralQuestionLogStatus(1);
logQuery.setIsErrorFavorite(true); logQuery.setIsErrorFavorite(true);
logQuery.setGeneralQuestionSettingIdPlural(questionSettingIds); logQuery.setGeneralQuestionSettingIdPlural(questionSettingIds);
generalQuestionLogService.exportErrorFavorite(request, response, logQuery, coreUser); generalQuestionLogService.exportErrorFavorite(request, response, logQuery, coreUser);
} }
/**
* : <br>
*
* IDs
*
* @param courseInfoIds IDs
* @param coreUser
* @return {@link JsonResult}
* @Author: 87966
* @Date: 2022/12/1 9:13
*/
@GetMapping(API + "/excel/errorFavoriteListByCourseInfoIds.do")
public void excelErrorFavoriteListByCourseInfoIds(String courseInfoIds, @SCoreUser CoreUser coreUser) {
String questionSettingIds = listJoin(generalQuestionSettingService.getByBusinessIds(courseInfoIds), GeneralQuestionSetting::getGeneralQuestionSettingId);
exportDo(questionSettingIds, coreUser);
}
/** /**
* *
* @param query * @param query

@ -45,6 +45,7 @@ import java.util.Map;
import static cn.hutool.core.util.ObjectUtil.defaultIfNull; import static cn.hutool.core.util.ObjectUtil.defaultIfNull;
import static cn.jlw.util.CacheUserUtil.getStudent; import static cn.jlw.util.CacheUserUtil.getStudent;
import static com.ibeetl.admin.core.util.StreamUtils.listJoin;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getCurrentOrg; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getCurrentOrg;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
@ -160,7 +161,23 @@ public class GeneralQuestionSettingController{
*/ */
@PostMapping(API + "/questionDetailTest.do") @PostMapping(API + "/questionDetailTest.do")
public JsonResult questionDetailTest(Long questionSettingId, TuckOrErrorEnum tuckOrError, @SCoreUser CoreUser coreUser){ public JsonResult questionDetailTest(Long questionSettingId, TuckOrErrorEnum tuckOrError, @SCoreUser CoreUser coreUser){
return JsonResult.success(generalQuestionSettingService.questionDetailTest(questionSettingId, tuckOrError, getStudent())); return JsonResult.success(generalQuestionSettingService.questionDetailTest(questionSettingId.toString(), tuckOrError, getStudent()));
}
/**
* : <br>
*
*
* @param courseInfoIds IDs
* @param tuckOrError
* @param coreUser
* @return {@link JsonResult}
* @Author: 87966
* @Date: 2022/12/1 9:27
*/
@PostMapping(API + "/questionDetailTestByCourseInfoIds.do")
public JsonResult questionDetailTestByCourseInfoIds(String courseInfoIds, TuckOrErrorEnum tuckOrError, @SCoreUser CoreUser coreUser){
String questionSettingIds = listJoin(generalQuestionSettingService.getByBusinessIds(courseInfoIds), GeneralQuestionSetting::getGeneralQuestionSettingId);
return JsonResult.success(generalQuestionSettingService.questionDetailTest(questionSettingIds, tuckOrError, getStudent()));
} }
/** /**

@ -187,6 +187,8 @@ public class SchoolClassController extends BaseController {
if(null != schoolClass.getUniversitiesCollegesId()){ if(null != schoolClass.getUniversitiesCollegesId()){
UniversitiesColleges universitiesColleges = universitiesCollegesService.queryById(schoolClass.getUniversitiesCollegesId()); UniversitiesColleges universitiesColleges = universitiesCollegesService.queryById(schoolClass.getUniversitiesCollegesId());
String uniqueClassSn = schoolClassService.buildClassSnEnsureUnique(universitiesColleges, schoolClass.getClassName());
schoolClass.setClassSn(uniqueClassSn);
schoolClass.setOrgId(universitiesColleges.getOrgId()); schoolClass.setOrgId(universitiesColleges.getOrgId());
// 判断班级编号是否已经存在,并抛出异常 // 判断班级编号是否已经存在,并抛出异常
@ -194,12 +196,16 @@ public class SchoolClassController extends BaseController {
if(StrUtil.isNotBlank(schoolClass.getClassSn())) { if(StrUtil.isNotBlank(schoolClass.getClassSn())) {
schoolClassService.validateClassSnListIsExistsThrow(Collections.singletonList(schoolClass), universitiesColleges.getOrgId().toString()); schoolClassService.validateClassSnListIsExistsThrow(Collections.singletonList(schoolClass), universitiesColleges.getOrgId().toString());
} }
}else { }
else {
UniversitiesColleges universitiesColleges = new UniversitiesColleges(); UniversitiesColleges universitiesColleges = new UniversitiesColleges();
universitiesColleges.setOrgId(coreUser.getOrgId()); universitiesColleges.setOrgId(coreUser.getOrgId());
List<UniversitiesColleges> universitiesCollegesList = universitiesCollegesService.getValues(universitiesColleges); List<UniversitiesColleges> universitiesCollegesList = universitiesCollegesService.getValues(universitiesColleges);
if(universitiesCollegesList.size() > 0){ if(universitiesCollegesList.size() > 0){
universitiesColleges = universitiesCollegesList.get(0); universitiesColleges = universitiesCollegesList.get(0);
String uniqueClassSn = schoolClassService.buildClassSnEnsureUnique(universitiesColleges, schoolClass.getClassName());
schoolClass.setClassSn(uniqueClassSn);
schoolClass.setUniversitiesCollegesId(universitiesColleges.getUniversitiesCollegesId()); schoolClass.setUniversitiesCollegesId(universitiesColleges.getUniversitiesCollegesId());
schoolClass.setOrgId(universitiesColleges.getOrgId()); schoolClass.setOrgId(universitiesColleges.getOrgId());
} }

@ -24,10 +24,8 @@ import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.dao.SchoolClassDao; import com.ibeetl.jlw.dao.SchoolClassDao;
import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.SystemUseLogsAnalysisDTO;
import com.ibeetl.jlw.entity.dto.StudentBatchImportAdminDTO; import com.ibeetl.jlw.entity.dto.StudentBatchImportAdminDTO;
import com.ibeetl.jlw.entity.dto.StudentBatchImportUniAdminDTO; import com.ibeetl.jlw.entity.dto.StudentBatchImportUniAdminDTO;
import com.ibeetl.jlw.entity.vo.SystemUseLogsAnalysisVO;
import com.ibeetl.jlw.entity.vo.StudentLogAnalysisVO; import com.ibeetl.jlw.entity.vo.StudentLogAnalysisVO;
import com.ibeetl.jlw.entity.vo.StudentLoginLogVO; import com.ibeetl.jlw.entity.vo.StudentLoginLogVO;
import com.ibeetl.jlw.entity.vo.StudentUseLogVO; import com.ibeetl.jlw.entity.vo.StudentUseLogVO;
@ -2135,7 +2133,7 @@ public class StudentController extends BaseController{
@ResponseBody @ResponseBody
public void export(StudentQuery condition, @SCoreUser CoreUser coreUser) throws IOException { public void export(StudentQuery condition, @SCoreUser CoreUser coreUser) throws IOException {
Assert.isFalse(coreUser.isStudent(), "学生无法访问接口!"); Assert.isFalse(coreUser.isStudent(), "学生无法访问接口!");
condition.setStudentStatus(1); condition.setStudentStatus(1);
@ -2819,7 +2817,6 @@ public class StudentController extends BaseController{
/** /**
* : <br> * : <br>
* *
* excel
* @param file * @param file
* @param coreUser IDID * @param coreUser IDID
* @return {@link JsonResult} * @return {@link JsonResult}

@ -1373,7 +1373,7 @@ public class TeacherController extends BaseController {
@ResponseBody @ResponseBody
public void export(TeacherQuery condition, @SCoreUser CoreUser coreUser) throws IOException { public void export(TeacherQuery condition, @SCoreUser CoreUser coreUser) throws IOException {
Assert.isFalse(coreUser.isStudent(), "学生无法访问接口!"); Assert.isFalse(coreUser.isStudent(), "学生无法访问接口!");
if (!coreUser.isAdmin()) { if (!coreUser.isAdmin()) {
condition.setOrgId(coreUser.getOrgId()); condition.setOrgId(coreUser.getOrgId());

@ -180,7 +180,7 @@ public class TeacherOpenCourseQuestionLogController extends BaseController {
String teacherOpenCourseQuestionLogIds, BigDecimal score, @RequestParam(required = false) String reply, String teacherOpenCourseQuestionLogIds, BigDecimal score, @RequestParam(required = false) String reply,
@SCoreUser @SCoreUser
CoreUser coreUser) { CoreUser coreUser) {
Assert.isFalse(coreUser.isStudent(), "学生身份无法访问接口!"); Assert.isFalse(coreUser.isStudent(), "学生身份无法访问接口!");
teacherOpenCourseQuestionLogService.manualModifyQuestionScores(teacherOpenCourseQuestionLogIds, score, reply); teacherOpenCourseQuestionLogService.manualModifyQuestionScores(teacherOpenCourseQuestionLogIds, score, reply);
return JsonResult.success(); return JsonResult.success();
@ -201,7 +201,7 @@ public class TeacherOpenCourseQuestionLogController extends BaseController {
Long questionSettingId, Long studentId, ResourcesQuestionSnapshotFromTypeEnum questionSettingType, BigDecimal score, @RequestParam(required = false) String reply, Long questionSettingId, Long studentId, ResourcesQuestionSnapshotFromTypeEnum questionSettingType, BigDecimal score, @RequestParam(required = false) String reply,
@SCoreUser @SCoreUser
CoreUser coreUser) { CoreUser coreUser) {
Assert.isFalse(coreUser.isStudent(), "学生身份无法访问接口!"); Assert.isFalse(coreUser.isStudent(), "学生身份无法访问接口!");
TeacherOpenCourseQuestionLogQuery logQuery = new TeacherOpenCourseQuestionLogQuery(); TeacherOpenCourseQuestionLogQuery logQuery = new TeacherOpenCourseQuestionLogQuery();
logQuery.setTeacherOpenCourseQuestionLogStatus(1); logQuery.setTeacherOpenCourseQuestionLogStatus(1);

@ -40,14 +40,14 @@ queryByCondition
@if(!isEmpty(generalQuestionLogAddTime)){ @if(!isEmpty(generalQuestionLogAddTime)){
and t.general_question_log_add_time =#generalQuestionLogAddTime# and t.general_question_log_add_time =#generalQuestionLogAddTime#
@} @}
@if(isEmpty(generalQuestionLogStatus) && isEmpty(generalQuestionLogStatusPlural)){ @//if(isEmpty(generalQuestionLogStatus) && isEmpty(generalQuestionLogStatusPlural)){
and t.general_question_log_status != 2 @//and t.general_question_log_status != 2
@}else{ @//}else{
@if(!isEmpty(generalQuestionLogStatus)){ @if(!isEmpty(generalQuestionLogStatus)){
and t.general_question_log_status =#generalQuestionLogStatus# and t.general_question_log_status =#generalQuestionLogStatus#
@}else if(!isEmpty(generalQuestionLogStatusPlural)){ @}else if(!isEmpty(generalQuestionLogStatusPlural)){
and find_in_set(t.general_question_log_status,#generalQuestionLogStatusPlural#) and find_in_set(t.general_question_log_status,#generalQuestionLogStatusPlural#)
@} @//}
@} @}
@if(!isEmpty(studentId)){ @if(!isEmpty(studentId)){
and t.student_id =#studentId# and t.student_id =#studentId#
@ -158,14 +158,14 @@ queryByConditionQuery
@if(!isEmpty(generalQuestionLogAddTime)){ @if(!isEmpty(generalQuestionLogAddTime)){
and t.general_question_log_add_time =#generalQuestionLogAddTime# and t.general_question_log_add_time =#generalQuestionLogAddTime#
@} @}
@if(isEmpty(generalQuestionLogStatus) && isEmpty(generalQuestionLogStatusPlural)){ @//if(isEmpty(generalQuestionLogStatus) && isEmpty(generalQuestionLogStatusPlural)){
and t.general_question_log_status != 2 @//and t.general_question_log_status != 2
@}else{ @//}else{
@if(!isEmpty(generalQuestionLogStatus)){ @if(!isEmpty(generalQuestionLogStatus)){
and t.general_question_log_status =#generalQuestionLogStatus# and t.general_question_log_status =#generalQuestionLogStatus#
@}else if(!isEmpty(generalQuestionLogStatusPlural)){ @}else if(!isEmpty(generalQuestionLogStatusPlural)){
and find_in_set(t.general_question_log_status,#generalQuestionLogStatusPlural#) and find_in_set(t.general_question_log_status,#generalQuestionLogStatusPlural#)
@} @//}
@} @}
@if(!isEmpty(studentId)){ @if(!isEmpty(studentId)){
and t.student_id =#studentId# and t.student_id =#studentId#

@ -59,16 +59,16 @@
<!--<button type="button" class="layui-btn layui-btn-sm rightUniversitySystemAdd bg_button">去添加</button>--> <!--<button type="button" class="layui-btn layui-btn-sm rightUniversitySystemAdd bg_button">去添加</button>-->
</div> </div>
</div> </div>
<div class="layui-row"> <!-- <div class="layui-row">-->
<div class="layui-form-item"> <!-- <div class="layui-form-item">-->
<div class="layui-inline"> <!-- <div class="layui-inline">-->
<label class="layui-form-label"><span class="req">*</span>班级编号:</label> <!-- <label class="layui-form-label"><span class="req">*</span>班级编号:</label>-->
<div class="layui-input-inline"> <!-- <div class="layui-input-inline">-->
<input type="text" name="classSn" value="${schoolClass.classSn}" class="layui-input" lay-verify="required"> <!-- <input type="text" name="classSn" value="${schoolClass.classSn}" class="layui-input" lay-verify="required">-->
</div> <!-- </div>-->
</div> <!-- </div>-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<div class="layui-row"> <div class="layui-row">
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-inline"> <div class="layui-inline">

Loading…
Cancel
Save