KmtExerciseMapper.java 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194
  1. package com.ssj.service.mapper;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.ssj.bean.conch.conch.dto.KmtExerciseQuestionProblemDto;
  5. import com.ssj.bean.kmt.kmt.domain.*;
  6. import com.ssj.bean.kmt.kmt.model.QuestionListKnowModel;
  7. import com.ssj.bean.sys.fx.domain.Merchant;
  8. import com.ssj.bean.sys.homework.domain.HomeworkCount;
  9. import com.ssj.bean.weixin.libmy.domain.TbLibJoin;
  10. import com.ssj.bean.weixin.libmy.domain.TbLibManager;
  11. import com.ssj.service.conch.parents.v2.dto.TrainRecommendQuestionDTO;
  12. import com.ssj.service.kmt.dto.ExerciseBookDto;
  13. import com.ssj.service.kmt.dto.ExerciseQuetionDto;
  14. import com.ssj.service.kmt.dto.OriginalQuestionDTO;
  15. import com.ssj.service.kmt.dto.exercise.ExerciseQuestionRollbacks;
  16. import com.ssj.service.kmt.dto.exercise.ExerciseUnitBookcourseDto;
  17. import com.ssj.service.kmt.dto.exercise.KmtExerciseBookLibDto;
  18. import com.ssj.service.kmt.dto.exercise.KmtExerciseQuestionRollBackInfo;
  19. import com.ssj.service.kmt.exercisesys.dto.*;
  20. import com.ssj.service.kmt.exercisesys.request.*;
  21. import com.ssj.service.kmt.request.UnitAndPeriodListRequest;
  22. import com.ssj.service.kmt.request.rollbackai.AddExerciseQuestionRequest;
  23. import com.ssj.service.sys.homework.vo.HomeworkExerciseBookDto;
  24. import org.apache.ibatis.annotations.*;
  25. import java.util.Date;
  26. import java.util.List;
  27. import java.util.Map;
  28. import java.util.Set;
  29. @Mapper
  30. public interface KmtExerciseMapper {
  31. /**
  32. * in 查询题目列表
  33. * @param ids
  34. * @return
  35. */
  36. public List<KmtExerciseQuestion> findKmtExerciseQuestionsByIdIn(List<String> ids);
  37. /**
  38. * 删除上一次加工的知识点
  39. * @param questionIds
  40. * @return
  41. */
  42. public void deleteKmtExerciseQuestionKnowByQuestionIds(List<String> questionIds);
  43. /**
  44. * 题目列表提交审核
  45. * @param questionIds
  46. */
  47. public void updateKmtExerciseQuestion2Review(List<String> questionIds);
  48. /**
  49. * 根据错题id查询题目关联的知识点
  50. * @param questionId 题目id
  51. * @return 知识点id列表
  52. */
  53. List<String> findWrongQuestionKnowHowDetailIdList(@Param("questionId") String questionId);
  54. /**
  55. * 查询待加工审核的题目
  56. * @param bookCourseId 课时
  57. * @param dealType 1加工,2审核
  58. * @param userId 加工员/审核员
  59. * @param rollbackType 查询允许打回的状态
  60. * @return
  61. */
  62. List<ExerciseQuetionDto> findQuestionByBookCourseIdAndUserId(@Param("bookCourseId") String bookCourseId,
  63. @Param("dealType") int dealType,
  64. @Param("userId") String userId,
  65. @Param("rollbackType") int rollbackType,
  66. @Param("exerciseBookId") String exerciseBookId,
  67. Page page);
  68. /**
  69. * 查询课时下的所有题目
  70. * @param bookCourseId
  71. * @return
  72. */
  73. List<ExerciseQuetionDto> findQuestionByBookCourseId(@Param("bookCourseId") String bookCourseId);
  74. /**
  75. * 查询打回列表
  76. * @param questionIds
  77. * @param dealType
  78. * @return
  79. */
  80. List<KmtExerciseQuestionRollback> findKmtExerciseQuestionRollbacks(@Param("questionIds") List<String> questionIds,
  81. @Param("dealType") int dealType);
  82. /**
  83. * 查询题目的打回记录倒序(新用户)
  84. * @param questionId
  85. * @return
  86. */
  87. List<KmtExerciseQuestionRollBackInfo> findQuestionRollbackRecord(String questionId);
  88. /**
  89. * 查询题目的打回记录倒序(老用户)
  90. * @param questionId
  91. * @return
  92. */
  93. List<ExerciseQuestionRollbacks> findQuestionRollbackRecordOld(String questionId);
  94. /**
  95. * 统计错题数和总题数
  96. * @param vipId 学生id
  97. * @param subject 科目
  98. * @param beginDateTime 开始时间
  99. * @param endDateTime 结束时间
  100. */
  101. List<Map<String, Object>> countWrongAndTotal(@Param("vipId") String vipId, @Param("subject") String subject, @Param("beginDateTime") String beginDateTime, @Param("endDateTime") String endDateTime);
  102. /**
  103. * 统计平台批改知识点涉及次数
  104. *
  105. * @param vipId 学生id
  106. * @param subject 科目
  107. * @param beginDateTimeStr 开始时间
  108. * @param endDateTimeStr 结束时间
  109. */
  110. List<Map<String, Object>> countPlatformCorrectionKnowledgeTimes(@Param("vipId") String vipId,
  111. @Param("subject") String subject,
  112. @Param("beginDateTimeStr") String beginDateTimeStr,
  113. @Param("endDateTimeStr") String endDateTimeStr);
  114. /**
  115. * 查询校区批改作业相关练习册错题
  116. *
  117. * @param vipId 学生id
  118. * @param subject 科目
  119. * @param beginDateTimeStr 开始时间
  120. * @param endDateTimeStr 结束时间
  121. */
  122. List<Map<String, Object>> findWrongQuestion(@Param("vipId") String vipId,
  123. @Param("subject") String subject,
  124. @Param("beginDateTimeStr") String beginDateTimeStr,
  125. @Param("endDateTimeStr") String endDateTimeStr);
  126. /**
  127. * 根据练习册题目id统计关联知识点
  128. *
  129. * @param questionIdList 练习册题目id
  130. */
  131. List<Map<String, Object>> countCampusCorrectionKnowledgeTimesByQuestionIds(@Param("questionIdList") List<String> questionIdList);
  132. /**
  133. * 统计知识点掌握情况
  134. * @param vipId 学生id
  135. * @param subject 科目
  136. * @param beginDateTimeStr 开始时间
  137. * @param endDateTimeStr 结束时间
  138. */
  139. List<Map<String, Object>> countKnowledgeMastery(@Param("vipId") String vipId, @Param("subject") String subject, @Param("beginDateTimeStr") String beginDateTimeStr, @Param("endDateTimeStr") String endDateTimeStr);
  140. /**
  141. * 查询月作业统计数据
  142. * @param vipId 学生id
  143. * @param homeworkMonth 月份,如:"2019-06"
  144. */
  145. HomeworkCount findMonthHomeworkCount(@Param("vipId") String vipId, @Param("homeworkMonth") String homeworkMonth);
  146. /**
  147. * 查询题目的关联知识点(去重)
  148. * @param questionIds
  149. * @return
  150. */
  151. List<String> findHowDetailIdsByQuestionIds(@Param("questionIds") List<String> questionIds);
  152. /**
  153. * 查询相似题
  154. * @param questionIds
  155. * @return
  156. */
  157. List<KmtExerciseQuestionProblemDto> findSimilarQuestionByIds(@Param("list") List<String> questionIds);
  158. /**
  159. * 统计平台批改知识点掌握率
  160. *
  161. * @param vipId 学生id
  162. * @param subject 科目
  163. * @param beginDateTimeStr 开始时间
  164. * @param endDateTimeStr 结束时间
  165. *
  166. * @return 知识点统计情况
  167. */
  168. List<Map<String, Object>> countPlatformCorrectionKnowledgeMastery(@Param("vipId") String vipId, @Param("subject") String subject, @Param("beginDateTimeStr") String beginDateTimeStr, @Param("endDateTimeStr") String endDateTimeStr);
  169. /**
  170. * 查询作业涉及的练习册题目用于计算知识点掌握率
  171. *
  172. * @param vipId 学生id
  173. * @param subject 科目
  174. * @param beginDateTimeStr 开始时间
  175. * @param endDateTimeStr 结束时间
  176. *
  177. * @return 题目情况
  178. */
  179. List<Map<String, Object>> findWrongQuestion4Mastery(@Param("vipId") String vipId, @Param("subject") String subject,
  180. @Param("beginDateTimeStr") String beginDateTimeStr,
  181. @Param("endDateTimeStr") String endDateTimeStr);
  182. /**
  183. * 查询练习册题目的知识点
  184. *
  185. * @param questionId 练习册题目id
  186. *
  187. * @return 知识点
  188. */
  189. List<Map<String, Object>> findKnowledgeByQuestionId(@Param("questionId") String questionId);
  190. /**
  191. * 查询未解析的课时
  192. * @param analysisUserId
  193. * @param maxCount
  194. * @return
  195. */
  196. List<KmtExerciseBookCourse> findUnAnalysisBookCourse(@Param("analysisUserId") String analysisUserId, @Param("maxCount") int maxCount);
  197. /**
  198. * 根据练习册id列表查询需要更新到es的数据
  199. * @param questionIdList 题目id列表
  200. */
  201. List<Map<String, Object>> findData2EsByQuestionList(@Param("questionIdList") List<String> questionIdList);
  202. /**
  203. * 全量更新es索引kmt_exercise_question_know中的数据
  204. * @param pageSize 每次查询数据量
  205. */
  206. List<Map<String, Object>> findAll2Es(@Param("pageSize") int pageSize);
  207. /**
  208. * 全量同步数据到es时,更新加载状态
  209. * @param kmtExerciseQuestionKnowIdList 需要更新的记录id列表
  210. */
  211. void updateLoadStatus(@Param("kmtExerciseQuestionKnowIdList") List<String> kmtExerciseQuestionKnowIdList);
  212. /**
  213. * 查询未加工练习册
  214. * @param handleUserId
  215. * @return
  216. */
  217. List<ExerciseBookDto> findUnHandleBooks(@Param("handleUserId") String handleUserId,
  218. @Param("searchType") int searchType,
  219. @Param("bookName") String bookName);
  220. /**
  221. * 查询未分配加工人练习册
  222. * @return
  223. */
  224. List<ExerciseBookDto> findUndistributedHandlerBooks(@Param("subject") String subject,
  225. @Param("semester") int semester,
  226. @Param("versionType") int versionType,
  227. @Param("grade") String grade);
  228. /**
  229. * 查询未审核练习册
  230. * @param auditingUserId
  231. * @return
  232. */
  233. List<ExerciseBookDto> findUnAuditingBooks(@Param("auditingUserId") String auditingUserId,
  234. @Param("searchType") int searchType,
  235. @Param("bookName") String bookName);
  236. /**
  237. * 查询未分配审核练习册
  238. * @return
  239. */
  240. List<ExerciseBookDto> findUndistributedAuditerBooks(@Param("subject") String subject,
  241. @Param("semester") int semester,
  242. @Param("versionType") int versionType,
  243. @Param("grade") String grade);
  244. /**
  245. * 查询所有联系册
  246. * @param subject
  247. * @param semester
  248. * @param versionType
  249. * @param grade
  250. * @return
  251. */
  252. List<ExerciseBookDto> findAllExerciseBooks(@Param("subject") String subject,
  253. @Param("semester") int semester,
  254. @Param("versionType") int versionType,
  255. @Param("grade") String grade,
  256. @Param("searchType") int searchType,
  257. @Param("bookName") String bookName);
  258. /**
  259. * 查询待加工审核的单元课时
  260. * @param bookId
  261. * @param dealType
  262. * @return
  263. */
  264. List<ExerciseUnitBookcourseDto> findUnHandleExerciseBookCourse(@Param("bookId") String bookId,
  265. @Param("dealType") int dealType,
  266. @Param("questionId") String questionId,
  267. @Param("userId") String userId);
  268. /**
  269. * 查询解析未加工未审核的单元课时 kmt_exercise_book_course, kmt_exercise_questions, kmt_exercise_book_unit
  270. * @param bookId
  271. * @param dealType
  272. * @return
  273. */
  274. List<ExerciseUnitBookcourseDto> findAnalysisUnHandleExerciseBookCourse(@Param("bookId") String bookId,
  275. @Param("dealType") int dealType);
  276. /**
  277. * 查询练习册下的所有课时
  278. * @param bookId
  279. * @return
  280. */
  281. List<ExerciseUnitBookcourseDto> findAllExerciseBookCourse(@Param("bookId") String bookId,
  282. @Param("exerciseBookId") String exerciseBookId);
  283. /**
  284. * 查询练习册下的所有课时
  285. * @param exerciseBookId
  286. * @return
  287. */
  288. List<ExerciseUnitBookcourseDto> findAllExerciseBookCourseByExerciseBookId(@Param("exerciseBookId") String exerciseBookId);
  289. /**
  290. * 查询未加工/审核的题目数量
  291. * @param bookCourseId
  292. * @param ids
  293. * @param dealType
  294. * @return
  295. */
  296. Integer findUnHandleQuestionCount(@Param("bookCourseId") String bookCourseId,
  297. @Param("ids") List<String> ids,
  298. @Param("dealType") int dealType);
  299. /**
  300. * 查询未加工/审核的课时数量
  301. * @param bookCourseId
  302. * @param unitId
  303. * @param dealType
  304. * @return
  305. */
  306. Integer findUnHandleBookCourseCount(@Param("unitId") String unitId,
  307. @Param("bookCourseId") String bookCourseId,
  308. @Param("dealType") int dealType);
  309. /**
  310. * 查询未加工/审核的单元数量
  311. * @param bookId
  312. * @param unitId
  313. * @param dealType
  314. * @return
  315. */
  316. Integer findUnHandleUnitCount(@Param("bookId") String bookId,
  317. @Param("unitId") String unitId,
  318. @Param("dealType") int dealType);
  319. /**
  320. * 查询搜索的题目, kmt_exercise_questions, kmt_sys_user
  321. * @param questionId
  322. * @return
  323. */
  324. List<ExerciseQuetionDto> findKmtQuestionsById(@Param("questionId") String questionId,
  325. @Param("userId") String userId,
  326. @Param("dealType") int dealType,
  327. Page page);
  328. /**
  329. * 按知识点分页查询题目 kmt_exercise_questions, kmt_sys_user, kmt_exercise_question_know
  330. * @param howDetailsId
  331. * @param howDetailsKdId
  332. * @param userId
  333. * @param dealType
  334. * @param page
  335. * @return
  336. */
  337. List<ExerciseQuetionDto> findKmtQuestionByDetailId(@Param("howDetailsId") String howDetailsId,
  338. @Param("howDetailsKdId") String howDetailsKdId,
  339. @Param("userId") String userId,
  340. @Param("dealType") int dealType,
  341. @Param("userIdList") List<String> userIdList,
  342. Page page);
  343. /**
  344. * 按年级、科目、版本、上下册分页查询题目 kmt_exercise_questions, kmt_sys_user, kmt_exercise_question_know,zyb_know_how_details_sort
  345. * @param grade
  346. * @param courseName
  347. * @param semester
  348. * @param versionType
  349. * @param userId
  350. * @param dealType
  351. * @param page
  352. * @return
  353. */
  354. List<ExerciseQuetionDto> findKmtQuestionByGradeSubjectVersionSemester(@Param("grade") String grade,
  355. @Param("courseName") String courseName,
  356. @Param("semester") int semester,
  357. @Param("type") int versionType,
  358. @Param("userId") String userId,
  359. @Param("dealType") int dealType,
  360. @Param("userIdList") List<String> userIdList,
  361. Page page);
  362. /**
  363. * 查询所有kmt题目 kmt_exercise_questions, kmt_sys_user,
  364. * @param userId
  365. * @param dealType
  366. * @param page
  367. * @return
  368. */
  369. List<ExerciseQuetionDto> findAllKmtQuestions(@Param("userId") String userId,
  370. @Param("dealType") int dealType,
  371. @Param("userIdList") List<String> userIdList,
  372. Page page);
  373. /**
  374. * 查询小题 kmt_exercise_questions, kmt_sys_user
  375. * @param parentIds
  376. * @return
  377. */
  378. List<ExerciseQuetionDto> findSmallQuestionByParentIds(@Param("parentIds") List<String> parentIds);
  379. /**
  380. * 查询大题 kmt_exercise_questions
  381. * @param id
  382. * @return
  383. */
  384. ExerciseQuetionDto findBigQuestionById(@Param("id") String id);
  385. /**
  386. * 查询题目的知识点列表 kmt_exercise_question_know, zyb_know_how_details_sort
  387. * @param questionIds
  388. * @return
  389. */
  390. List<QuestionListKnowModel> findQuestionKnowByQuestionIds(@Param("questionIds") List<String> questionIds);
  391. /**
  392. * 查询题目的知识点列表 kmt_quality_question_know, zyb_know_how_details_sort
  393. * @param questionIds
  394. * @return
  395. */
  396. List<QuestionListKnowModel> findKmtQuestionKnowByQuestionIds(@Param("questionIds") List<String> questionIds);
  397. /**
  398. * 查询父题目
  399. * @param questionId
  400. * @return
  401. */
  402. KmtExerciseQuestion findPrentQuestionByChildQuestionId(@Param("questionId") String questionId);
  403. /**
  404. * 根据给定知识点id列表和知识点版本,统计练习册题目数量
  405. * @param knowledgeIdList 知识点id列表
  406. * @param version 知识点版本
  407. * @return 题目数量
  408. */
  409. int countQuestionByKnowledgeAndVersion(@Param("knowledgeIdList") List<String> knowledgeIdList, @Param("version") int version);
  410. /**
  411. * 根据题目id查询整道大题所有题目
  412. * @param questionId 题目id(大题id或小题id均可)
  413. * @return 整道大题原题
  414. */
  415. List<OriginalQuestionDTO> findFullBigQuestion(@Param("questionId") String questionId);
  416. /**
  417. * 更新练习册为未加工 kmt_exercise_book
  418. * @param id
  419. */
  420. void updateKmtExerciseBookNotHandle(@Param("id") String id);
  421. /**
  422. * 更新练习册为未审核 kmt_exercise_book
  423. * @param id
  424. */
  425. void updateKmtExerciseBookNotAuditing(@Param("id") String id);
  426. /**
  427. * 更新练习册为解析未加工 kmt_exercise_book
  428. * @param id
  429. */
  430. void updateKmtExerciseBookAnalysisNotHandle(@Param("id") String id);
  431. /**
  432. * 更新练习册为解析未审核 kmt_exercise_book
  433. * @param id
  434. */
  435. void updateKmtExerciseBookAnalysisNotAuditing(@Param("id") String id);
  436. /**
  437. * 更新练习册课时为未加工 kmt_exercise_book_course
  438. * @param id
  439. */
  440. void updateKmtExerciseBookCourseNotHandle(@Param("id") String id);
  441. /**
  442. * 更新练习册课时为未审核 kmt_exercise_book_course
  443. * @param id
  444. */
  445. void updateKmtExerciseBookCourseNotAuditing(@Param("id") String id);
  446. /**
  447. * 查询解析未加工的练习册 kmt_exercise_book kmt_exercise_questions
  448. * @param
  449. * @return
  450. */
  451. List<ExerciseBookDto> findUnAnalysisHandleBooks(@Param("analysisUserId") String analysisUserId,
  452. @Param("searchType") int searchType,
  453. @Param("bookName") String bookName);
  454. /**
  455. * 查询解析未审核的练习册 kmt_exercise_book kmt_exercise_questions
  456. * @param
  457. * @return
  458. */
  459. List<ExerciseBookDto> findUnAnalysisAuditingBooks(@Param("analysisAuditerId") String analysisAuditerId,
  460. @Param("searchType") int searchType,
  461. @Param("bookName") String bookName);
  462. /**
  463. * 查询校对的练习册
  464. * @param userId
  465. * @param bookName
  466. * @return
  467. */
  468. List<ExerciseBookDto> findUnCorrectAnswerBooks(@Param("userId") String userId,
  469. @Param("searchType") int searchType,
  470. @Param("bookName") String bookName);
  471. /**
  472. * 查询校对的练习册
  473. * @param userId
  474. * @param bookName
  475. * @return
  476. */
  477. List<ExerciseBookDto> findCorrectedAnswerBooks(@Param("userId") String userId,
  478. @Param("searchType") int searchType,
  479. @Param("bookName") String bookName);
  480. /**
  481. * 查询练习册列表
  482. * @param ids
  483. * @return
  484. */
  485. List<ExerciseBookDto> findExerciseBookListByIds(@Param("ids") List<String> ids);
  486. /**
  487. * 分页查询作业批改的练习册 kmt_exercise_book scon_homework_exercise_except
  488. * @param subject
  489. * @param semester
  490. * @param versionType
  491. * @param grade
  492. * @param page
  493. * @return
  494. */
  495. List<HomeworkExerciseBookDto> findHomeworkCorrectFilterBooks(@Param("subject") String subject,
  496. @Param("semester") int semester,
  497. @Param("versionType") int versionType,
  498. @Param("grade") String grade,
  499. Page page);
  500. /**
  501. * 分页查询作业批改的练习册 kmt_exercise_book scon_homework_exercise_except
  502. * @param subject
  503. * @param semester
  504. * @param versionType
  505. * @param grade
  506. * @param school
  507. * @param page
  508. * @return
  509. */
  510. List<HomeworkExerciseBookDto> findHomeworkCorrectFilterBooksBySchool(@Param("subject") String subject,
  511. @Param("semester") int semester,
  512. @Param("versionType") int versionType,
  513. @Param("grade") String grade,
  514. @Param("school") String school,
  515. Page page);
  516. /**
  517. * 查询所有练习册
  518. * @param page
  519. * @param params
  520. * @return
  521. */
  522. List<String> getBookId(Page page, @Param("map") Map<String, Object> params);
  523. /**
  524. * 查询练习册
  525. * @param id
  526. * @return
  527. */
  528. KmtExerciseBook findExerciseBookById(@Param("bookId") String id);
  529. /**
  530. * 查询练习册
  531. * @return
  532. */
  533. KmtExerciseBook findExerciseBookByBookIdAndYearAndType(@Param("bookId") String bookId,
  534. @Param("bookYear") int bookYear,
  535. @Param("bookType") int bookType);
  536. /**
  537. * 查询单元课时记录
  538. * @param bookIds
  539. * @return
  540. */
  541. List<KmtExerciseBookCourse> findByBookIds(@Param("bookIds") List<String> bookIds);
  542. /**
  543. * 查询所有小题
  544. * @param parentId 大题id
  545. * @return 小题列表
  546. */
  547. List<TrainRecommendQuestionDTO> findAllChild(@Param("parentId") String parentId);
  548. /**
  549. * 更新kmt题目的es加载状态
  550. * @param kmtExerciseQuestionKnowIdList 题目id列表
  551. * @param newLoaded 新的es加载状态
  552. * @return 更新行数
  553. */
  554. int updateExerciseQuestionKnowEsLoadStatus(@Param("kmtExerciseQuestionKnowIdList") List<String> kmtExerciseQuestionKnowIdList,
  555. @Param("newLoaded") int newLoaded);
  556. /**
  557. * 分页查询所有练习册
  558. *
  559. *
  560. * @param selectedExerciseBookIdList 练习册id list
  561. * @param offset 从第?条开始
  562. * @param pageSize 获取?条记录
  563. *
  564. * @return 练习册list
  565. */
  566. List<KmtExerciseBook> findAllExerciseBookPage(@Param("selectedExerciseBookIdList") List<String> selectedExerciseBookIdList,
  567. @Param("offset") int offset, @Param("pageSize") int pageSize);
  568. /**
  569. * 查询最新的打回理由记录
  570. * @param questionId
  571. * @return
  572. */
  573. KmtExerciseQuestionRollback findLastExerciseRollbackByQuestionId(@Param("questionId") String questionId);
  574. /**
  575. * 分页查询练习册
  576. * @param page
  577. * @param params
  578. * @return
  579. */
  580. List<Exercise1Dto> findExerciseList(Page page, @Param("map") Map<String, Object> params);
  581. /**
  582. * 分页查询练习册
  583. * @param page
  584. * @param params
  585. * @return
  586. */
  587. List<Exercise1Dto> findTeacherExerciseList(Page page, @Param("map") Map<String, Object> params);
  588. /**
  589. * 分页查询机构
  590. * @param page
  591. * @param params
  592. * @return
  593. */
  594. List<TbLibJoin> findLibList(Page page, @Param("map") Map<String, Object> params);
  595. /**
  596. * 删除练习册状态统计数据
  597. * @param exerciseBookIdSet 练习册id
  598. * @return 删除数量
  599. */
  600. int deleteKmtExerciseBookStatusCountByExerciseBookIds(@Param("exerciseBookIdSet") Set<String> exerciseBookIdSet);
  601. /**
  602. * 查询练习册统计
  603. * @return 练习册状态统计数据列表
  604. */
  605. List<ExerciseBookCountDTO> findExerciseBookCount();
  606. /**
  607. * 查询单科练习册列表
  608. * @param page 分页
  609. * @param req 入参
  610. * @return 单科练习册列表分页结果
  611. */
  612. @Select("select distinct t1.exercise_book_id book_id, t1.book_name, t1.book_year,t1.course_name subject,t2.grade,t2.semester,t2.book_type from kmt_exercise_book_status_count t1 left join kmt_exercise_book t2 on t1.exercise_book_id=t2.id where t1.data_status = 1 and t1.status = #{req.status} and t1.course_name = #{req.subject} and t2.grade is not null")
  613. Page<ExerciseBookCountSubjectDetailDTO> findExerciseBookCountSubjectDetail(IPage<ExerciseBookCountSubjectDetailDTO> page,
  614. @Param("req") ExerciseBookCountSubjectDetailReq req);
  615. /**
  616. * 查询所有的馆
  617. */
  618. List<Map<String,Object>> findAllLib(Page page, @Param("subject") String subject);
  619. /**
  620. * 查询馆里所有的练习册
  621. */
  622. List<KmtExerciseBookLibDto> findAllExerciseBook(@Param("libId") String libId, @Param("subject") String subject);
  623. /**
  624. * 查询所有的馆
  625. */
  626. List<Map<String,Object>> findAllExportLib(@Param("subject") String subject);
  627. /**
  628. * 查询大标题以及大标题下的所有小题 kmt_exercise_questions
  629. * @param parentIds
  630. * @return
  631. */
  632. List<KmtExerciseQuestion> findQuestionByParentId(@Param("parentIds") List<String> parentIds);
  633. /**
  634. * 根据题目id查询新老用户
  635. */
  636. List<KmtExerciseQuestionRollback> findKmtExerciseQuestionRollbackListByQuestionId(@Param("questionId") String questionId);
  637. TbLibManager findByUserIdAndTypeIn(@Param("userId") String userId);
  638. /**
  639. * 查询签约数
  640. */
  641. List<ExercisePriorityDto> findLibSignCount();
  642. /**
  643. * 更新练习册涉及到的机构签约数
  644. */
  645. void updateKmtExerciseBookByExerciseBookId(@Param("exerciseRelevancyNum") int exerciseRelevancyNum, @Param("exerciseBooId") String exerciseBookId);
  646. /**
  647. * 查询所有的有签约数的练习册
  648. */
  649. List<KmtExerciseBook> findAllExerciseBookBySignNum();
  650. /**
  651. * 更新优先级
  652. */
  653. void updateKmtExerciseBookById(@Param("priority") String priority, @Param("id") String id);
  654. /**
  655. * 更新优先级
  656. */
  657. void updateKmtExerciseBookByPriority(@Param("totalGradePriority") String totalGradePriority, @Param("id") String id);
  658. /**
  659. * 查询练习册的所有题目
  660. * @param exerciseBookId
  661. * @return
  662. */
  663. List<KmtExerciseQuestion> findExerciseQuestionByExerciseBookId(@Param("exerciseBookId") String exerciseBookId);
  664. /**
  665. * 查询题目列表
  666. * @param ids
  667. * @return
  668. */
  669. List<KmtExerciseQuestion> findExerciseQuestionByIds(@Param("ids") List<String> ids);
  670. /**
  671. * 查询答案报错练习册列表
  672. *
  673. * @param page 分页
  674. * @param req 入参
  675. */
  676. IPage<AnswerProofreadExerciseBookDTO> findAnswerProofreadExerciseBookList(IPage<AnswerProofreadExerciseBookDTO> page,
  677. @Param("req") AnswerProofreadExerciseBookListReq req);
  678. /**
  679. * 查询答案校对后需要修改答案的题目(即答案错误的题目)
  680. * @param page 分页
  681. * @param req 入参
  682. */
  683. IPage<ExerciseQuetionDto> findQuestionListAnswerWrong(IPage<ExerciseQuetionDto> page,
  684. @Param("req") AnswerProofreadQuestionListReq req);
  685. /**
  686. * 查询打回的题目
  687. *
  688. * @param req 入参
  689. * @param dealStatusList 题目状态
  690. *
  691. * @return 题目列表
  692. */
  693. List<ExerciseQuetionDto> findRepulsedQuestion(@Param("req") ExerciseTeacherReviseQuestionReq req,
  694. @Param("dealStatusList") List<Integer> dealStatusList);
  695. /**
  696. *
  697. * @param
  698. * @return
  699. */
  700. List<Map<String,Object>> findUnproofreadExerciseId();
  701. List<KmtExerciseQuestion> findExerciseStatusByBookId(@Param("bookId") String bookId);
  702. void updateExerciseBookStatusByIdAndStatus(@Param("proofreadStatus") Integer status,@Param("id") String id);
  703. /**
  704. * 更新练习册的校对状态
  705. * @param type
  706. * @param exerciseBookId
  707. */
  708. void updateExerciseBookProofreadResult(@Param("type") int type,
  709. @Param("exerciseBookId") String exerciseBookId);
  710. /**
  711. * 统计答案错误的题目
  712. *
  713. * @param exerciseBookId 练习册id
  714. * @param excludeQuestionIdSet 排除这些题目
  715. */
  716. int countAnswerWrongQuestion(@Param("exerciseBookId") String exerciseBookId, @Param("excludeQuestionIdSet") Set<String> excludeQuestionIdSet);
  717. /**
  718. * 更新练习册校对状态
  719. *
  720. * @param exerciseBookId 练习册id
  721. * @param newProofread 新校对状态
  722. */
  723. @Update("update kmt_exercise_book set proofread_status = #{newProofread} where id = #{exerciseBookId}")
  724. int updateKmtExerciseBookProofreadStatus(@Param("exerciseBookId") String exerciseBookId, @Param("newProofread") int newProofread);
  725. Map<String, Object> teacherAnswerProofreadDetail(@Param("userId") String userId);
  726. /**
  727. * 注销后更新校对中的老师状态
  728. */
  729. @Update("update kmt_exercise_book set answer_correcter_id=null where answer_correcter_id=#{answerCorrecterId} and answer_corrected_status=0")
  730. int updateKmtExerciseBookAnswerCorrecterId(@Param("answerCorrecterId") String answerCorrecterId);
  731. /**
  732. * 查询练习册单元课时列表2
  733. *
  734. * @param request 入参
  735. *
  736. * @return 单元课时列表
  737. */
  738. List<ExerciseUnitBookcourseDto> findUnitAndPeriodList(@Param("request") UnitAndPeriodListRequest request);
  739. /**
  740. * 查询题目的报错记录
  741. * @param questionIds
  742. * @param beType 被报错人的角色类型
  743. * @return
  744. */
  745. List<KmtExerciseQuestionErrors> findKmtExerciseQuestionErrorsByQuestionIds (@Param("questionIds") List<String> questionIds,
  746. @Param("beType") int beType);
  747. /**
  748. * 查询报错明细, kmt_exercise_question_errors
  749. * @param userId
  750. * @param page
  751. * @return
  752. */
  753. List<KmtExerciseQuestionErrors> findKmtExerciseQuestionByErrorUserId (@Param("userId") String userId, Page page);
  754. /**
  755. * 计算练习册老师的角色下的错误题数
  756. * @param userId
  757. * @param exerciseBookId
  758. * @param type
  759. * @return
  760. */
  761. int countQuestionErrorCountByExerciseBookId(@Param("userId") String userId, @Param("exerciseBookId") String exerciseBookId,
  762. @Param("type") int type);
  763. /**
  764. * 找出重复的练习册
  765. *
  766. * @return
  767. */
  768. List<KmtExerciseBook> findSameExerciseBookList();
  769. /**
  770. * 计算未加工数量
  771. * @param exerciseBookId
  772. * @param type
  773. * @return
  774. */
  775. int countUnFinishQuestionsByExerciseBookId (@Param("exerciseBookId") String exerciseBookId,
  776. @Param("type") int type);
  777. /**
  778. * 统计练习册分配情况
  779. */
  780. ExerciseDistributionCountDTO findDistributionCount();
  781. /**
  782. * 待分配/已分配练习册列表
  783. *
  784. * @param req 入参
  785. */
  786. List<DistributionExerciseBookDTO> findDistributionExerciseBookList(@Param("req") DistributionExerciseBookListReq req,
  787. @Param("offset") int offset,
  788. @Param("pageSize") int pageSize);
  789. /**
  790. * 统计待分配练习册数量
  791. *
  792. * @param req 入参
  793. */
  794. int countDistributionExerciseBook(@Param("req") DistributionExerciseBookListReq req);
  795. /**
  796. * 更新kmt_exercise_book校对老师
  797. * @param teacherId
  798. * @param exerciseBookIds
  799. */
  800. void updateAnswerCorrecterIdByIds(@Param("teacherId") String teacherId, @Param("exerciseBookIds") List<String> exerciseBookIds);
  801. /**
  802. * 更新kmt_exercise_question校对老师
  803. * @param teacherId
  804. * @param exerciseBookIds
  805. */
  806. void updateAnswerCorrecterIdByExerciseBookIds(@Param("teacherId") String teacherId, @Param("exerciseBookIds") List<String> exerciseBookIds);
  807. /**
  808. * 查询需要导出的已分配练习册列表
  809. *
  810. * @param req 入参
  811. * @param offset 查询?条
  812. */
  813. List<ExportDistributionExerciseBookDTO> findExportDistributionExerciseBookList(@Param("req") ExportDistributionExerciseBookListReq req, @Param("offset") int offset);
  814. /**
  815. * 查询题目处理人(加工、加审、解析、解审)信息
  816. *
  817. * @param exerciseBookId 练习册id
  818. * @param userId 处理人userId
  819. * @param authorityType 处理人类型
  820. */
  821. DistributionTeacherDTO findDistributionTeacher(@Param("exerciseBookId") String exerciseBookId,
  822. @Param("userId") String userId,
  823. @Param("authorityType") int authorityType);
  824. /**
  825. * 查询未校对的题目数量
  826. * @param exerciseBookId
  827. * @return
  828. */
  829. int countNotCheckAnswerCount (@Param("exerciseBookId") String exerciseBookId);
  830. /**
  831. * 计算练习册下proofread = 0的数量
  832. * @param exerciseBookId
  833. * @return
  834. */
  835. int countAllNotCheckAnswerCount (@Param("exerciseBookId") String exerciseBookId);
  836. /**
  837. * 查询练习册的所有记录
  838. * @param bookId
  839. * @return
  840. */
  841. List<KmtExerciseBook> findExerciseBooksByBookId (@Param("bookId") String bookId);
  842. /**
  843. * 查询分配老师的记录
  844. * @return
  845. */
  846. List<KmtExerciseBookTeacherRecord> findExerciseTeacherByExerciseBookIdsAndAuthType (@Param("exerciseBookIds") List<String> exerciseBookIds,
  847. @Param("authType") int authType);
  848. /**
  849. * 查询book_count记录
  850. * @param exerciseBookId
  851. * @param type
  852. * @return
  853. */
  854. KmtExerciseBookCount findBookCountByExerciseBookIdAndType (@Param("exerciseBookId") String exerciseBookId,
  855. @Param("type") int type);
  856. /**
  857. * 更新正确率
  858. * @param bookCountId
  859. * @param accuracy
  860. */
  861. void updateKmtExerciseBookCountById (@Param("bookCountId") String bookCountId,
  862. @Param("accuracy") int accuracy);
  863. /**
  864. * 查询练习册已分配导出数据
  865. *
  866. * @param exerciseBookId 练习册id
  867. *
  868. * @return 练习册已分配导出数据
  869. */
  870. @Select("select * from kmt_exercise_book_distribution_count where exercise_book_id = #{exerciseBookId}")
  871. KmtExerciseBookDistributionCount findKmtExerciseBookDistributionCountByExerciseBookId(@Param("exerciseBookId") String exerciseBookId);
  872. /**
  873. * 统计单元和课时的数量
  874. *
  875. * @param exerciseBookId 练习册id
  876. *
  877. * @return 单元和课时的数量map
  878. */
  879. @Select("select count(*) courseCount, count(distinct unit_id) unitCount from kmt_exercise_book_course where exercise_book_id = #{exerciseBookId}")
  880. Map<String, Long> countUnitAndCourse(@Param("exerciseBookId") String exerciseBookId);
  881. /**
  882. * 查询各加工身份最新提交时间
  883. *
  884. * @param exerciseBookId 练习册id
  885. *
  886. * @return 最新提交时间map
  887. */
  888. @Select("select max(handler_submit_time) handlerLastSubmitTime,\n" +
  889. " max(publish_time) handleAuditUserLastSubmitTime,\n" +
  890. " max(analysis_handler_submit_time) analyserLastSubmitTime,\n" +
  891. " max(analysis_submit_time) analysisAuditUserLastSubmitTime\n" +
  892. "from kmt_exercise_questions\n" +
  893. "where exercise_book_id = #{exerciseBookId}")
  894. Map<String, Date> findLastSubmitTime(@Param("exerciseBookId") String exerciseBookId);
  895. /**
  896. * 查询各加工身份正确率
  897. *
  898. * @param exerciseBookId 练习册id
  899. *
  900. * @return 正确率map
  901. */
  902. @Select("select type, accuracy from kmt_exercise_book_count where exercise_book_id = #{exerciseBookId} and type between 1 and 3")
  903. List<Map<String, Integer>> findAccuracy(@Param("exerciseBookId") String exerciseBookId);
  904. /**
  905. * 查询练习册各状态统计
  906. *
  907. * @param exerciseBookId 练习册id
  908. * @param status 状态 com.ssj.service.kmt.exercisesys.enums.ExerciseBookStatusEnum
  909. *
  910. * @return 练习册状态数据
  911. */
  912. @Select("select * from kmt_exercise_book_status_count where exercise_book_id = #{exerciseBookId} and status = #{status}")
  913. KmtExerciseBookStatusCount findKmtExerciseBookStatusCountByExerciseBookIdAndStatus(@Param("exerciseBookId") String exerciseBookId,
  914. @Param("status") int status);
  915. /**
  916. * 查询练习册加工情况
  917. *
  918. * @param exerciseBookId 练习册
  919. * @param type 身份类型(1练习册加工,2练习册审核,3练习册解析,4练习册解审,5KMT加工,6KMT审核)
  920. *
  921. * @return 练习册加工情况
  922. */
  923. @Select("select * from kmt_exercise_book_count where exercise_book_id = #{exerciseBookId} and type = #{type}")
  924. KmtExerciseBookCount findKmtExerciseBookCountByExerciseBookIdAndType(@Param("exerciseBookId") String exerciseBookId,
  925. @Param("type") int type);
  926. /**
  927. * 查找可更新的练习册数据
  928. * @return
  929. */
  930. @Select("select t1.id,t2.press,t2.print_year,t2.lib_name from kmt_exercise_book t1\n" +
  931. " join kmt_exercise_book_modify t2 on\n" +
  932. " t1.book_name=t2.book_name\n" +
  933. " and t1.course_name=t2.course_name\n" +
  934. " and t1.grade=t2.grade\n" +
  935. " and t1.version_name =t2.version_name\n" +
  936. " and t1.semester=t2.semester\n" +
  937. " and t1.book_type=t2.book_type\n" +
  938. " and t1.book_year=t2.book_year\n" +
  939. "order by t2.id\n" +
  940. "limit 5000")
  941. List<Map<String, String>> findUpdateExerciseBookList();
  942. /**
  943. * 查询所有有签约数的不同的馆
  944. * @param subject
  945. * @return
  946. */
  947. List<Map<String,Object>> findAllDistinctLibBySubject(@Param("page") Page page,@Param("subjct") String subject);
  948. /**
  949. * 通过馆查询对应的签约数
  950. */
  951. Merchant findSignService(@Param("libId")String libId);
  952. @Update("update kmt_exercise_book set had_handle=#{book.hadHandle}, had_auditing=#{book.hadAuditing}, " +
  953. "analysis_handled=#{book.analysisHandled}, analysis_audited=#{book.analysisAudited},progress=#{book.progress} where id=#{book.id}")
  954. int updateKmtExerciseBookHandleStatus (@Param("book") KmtExerciseBook book);
  955. @Update("update kmt_exercise_questions set deal_status=#{question.dealStatus}," +
  956. "analysis_submit_time=#{question.analysisSubmitTime}, handler_submit_time=#{question.handlerSubmitTime}, " +
  957. "proofread_status=#{question.proofreadStatus}," +
  958. " question_type=#{question.questionType},difficulty_level=#{question.difficultyLevel}," +
  959. "real_exam_type=#{question.realExamType},training_skill=#{question.trainingSkill}, " +
  960. "publish_time=#{question.publishTime}, analysis_handler_submit_time=#{question.analysisHandlerSubmitTime}\n" +
  961. " where id=#{question.id}")
  962. int updateKmtExerciseQuestions (@Param("question") KmtExerciseQuestion question);
  963. @Delete("delete kmt_exercise_questions where question_id=#{questionId}")
  964. int deleteKmtExerciseQuestionKnowsByQuestionId (@Param("questionId") String questionId);
  965. @Insert("insert into kmt_exercise_question_know (id, question_id, question_parent_id, how_details_id, " +
  966. "how_details_kd_id, create_time, how_detail_sort_id, how_detail_kd_sort_id, version) " +
  967. " values (#{questionKnow.id}, #{questionKnow.questionId}, #{questionKnow.questionParentId}, " +
  968. "#{questionKnow.howDetailsId}, #{questionKnow.howDetailsKdId}, #{questionKnow.createTime}, " +
  969. "#{questionKnow.howDetailSortId}, #{questionKnow.howDetailKdSortId}, #{questionKnow.version})")
  970. int insertKmtExerciseQuestionKnow (@Param("questionKnow") KmtExerciseQuestionKnow questionKnow);
  971. /**
  972. * 根据题目id查询练习册
  973. * @param questionId
  974. * @return
  975. */
  976. List<ExerciseBookDto> findExerciseBookByQuestionId (@Param("questionId")String questionId);
  977. /**
  978. * 根据题目id查询单元课时
  979. * @param questionId
  980. * @return
  981. */
  982. List<ExerciseUnitBookcourseDto> findExerciseBookCourseByQuestionId (@Param("questionId")String questionId);
  983. /**
  984. * 查询练习册系统的统一格式题目
  985. * @param questionId
  986. * @param page
  987. * @return
  988. */
  989. List<ExerciseQuetionDto> findExerciseQuestionByQuestionId (@Param("questionId")String questionId, Page page);
  990. /**
  991. * 查询题目以及题目的小题
  992. * @param questionId
  993. * @return
  994. */
  995. @Select("select id from kmt_exercise_questions where id=#{questionId} or parent_id=#{questionId} order by num")
  996. List<String> findQuestionIdByParentId (@Param("questionId")String questionId);
  997. @Update("update kmt_exercise_questions set parent_id=#{parentId}, question_class_type=#{questionClassType}" +
  998. " where id=#{id}")
  999. int updateKmtExerciseQuestionClassTypeAndParentId (@Param("parentId")String parentId,
  1000. @Param("questionClassType")int questionClassType,
  1001. @Param("id")String id);
  1002. @Update("update kmt_exercise_questions set small_question_name=#{req.smallQuestionIndex}, image=#{questionImage}, " +
  1003. " answer_image=#{answerImage}, deal_status =3" +
  1004. " where id=#{req.questionId}")
  1005. int updateQuestionEditData (@Param("req") AddExerciseQuestionRequest req,
  1006. @Param("questionImage") String questionImage,
  1007. @Param("answerImage") String answerImage);
  1008. @Select("select * from kmt_exercise_questions where book_id=#{bookId} and num=#{num} limit 1")
  1009. KmtExerciseQuestion findByBookIdAndNum (@Param("bookId") String bookId,
  1010. @Param("num") int num);
  1011. @Update("update kmt_exercise_questions set num = num + 1 where book_id=#{bookId} and num >= #{num}")
  1012. int updateQuestionNumByBookIdAndNum (@Param("bookId") String bookId,
  1013. @Param("num") int num);
  1014. @Update("update kmt_exercise_questions set parent_id=#{parentId}, question_class_type=#{questionClassType} where book_id=#{bookId} and num = #{num}")
  1015. int updateParentIdAndClassType (@Param("parentId") String parentId,
  1016. @Param("questionClassType") int questionClassType,
  1017. @Param("bookId") String bookId,
  1018. @Param("num") int num);
  1019. @Select("select big_question_index from kmt_exercise_questions where book_course_id=#{bookCourseId} " +
  1020. " and big_question_index=#{bigQuestionIndex} ")
  1021. String findBigQuestionIndexByBookCourseId (@Param("bookCourseId") String bookCourseId,
  1022. @Param("bigQuestionIndex") String bigQuestionIndex);
  1023. @Select("select * from kmt_exercise_questions where book_course_id=#{bookCourseId} " +
  1024. " and big_question_index=#{bigQuestionIndex} ")
  1025. List<KmtExerciseQuestion> findQuestionsByBookCourseIdAndBigIndex (@Param("bookCourseId") String bookCourseId,
  1026. @Param("bigQuestionIndex") String bigQuestionIndex);
  1027. @Update("update kmt_exercise_questions set num = #{updateNum} where book_id=#{bookId} and num = #{num}")
  1028. int updateByBookIdAndNum (@Param("bookId") String bookId,
  1029. @Param("updateNum") int updateNum,
  1030. @Param("num") int num);
  1031. @Update("update kmt_exercise_questions set num = #{updateNum} where id=#{questionId}")
  1032. int updateQuestionNumByQuestionId (@Param("questionId") String questionId,
  1033. @Param("updateNum") int updateNum);
  1034. int updateQuestionMinusNumByQuestionIds (@Param("questionIds") List<String> questionIds,
  1035. @Param("size") int size);
  1036. int updateQuestionAddNumByQuestionIds (@Param("questionIds") List<String> questionIds,
  1037. @Param("size") int size);
  1038. }