qirong
2024-02-28 beade68fb37125ae7de4becb3802b7f359755f09
修改
14个文件已修改
3个文件已添加
8003 ■■■■■ 已修改文件
log/xzs.20231130.log 7616 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
log/xzs.20231201.log 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesUserCountController.java 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/student/UserController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/domain/vo/TeamplatesUserExcelVO.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/ExamTemplatesUserCountMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/ExamTemplatesUserMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/ExamTemplatesUserCountService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesUserCountServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/utility/excel/ExcelUtils.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dev.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamPaperAnswerMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamTemplatesUserCountMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamTemplatesUserMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
log/xzs.20231130.log
New file
Diff too large
log/xzs.20231201.log
New file
@@ -0,0 +1,170 @@
2023-12-01 12:10:13.615  INFO 23428 --- [restartedMain] com.mindskip.xzs.XzsApplication          : Starting XzsApplication on DESKTOP-7A2KHS1 with PID 23428 (E:\ycll\qyksxt\target\classes started by qirong in E:\ycll\qyksxt)
2023-12-01 12:10:13.618  INFO 23428 --- [restartedMain] com.mindskip.xzs.XzsApplication          : The following profiles are active: dev
2023-12-01 12:10:13.669  INFO 23428 --- [restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2023-12-01 12:10:13.669  INFO 23428 --- [restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2023-12-01 12:10:15.935  INFO 23428 --- [restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$f4439369] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-12-01 12:10:16.480  WARN 23428 --- [restartedMain] io.undertow.websockets.jsr               : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2023-12-01 12:10:16.508  INFO 23428 --- [restartedMain] io.undertow.servlet                      : Initializing Spring embedded WebApplicationContext
2023-12-01 12:10:16.508  INFO 23428 --- [restartedMain] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2838 ms
2023-12-01 12:10:18.753  INFO 23428 --- [restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2023-12-01 12:10:18.995  INFO 23428 --- [restartedMain] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2c8a735b, org.springframework.security.web.context.SecurityContextPersistenceFilter@620c9924, org.springframework.security.web.header.HeaderWriterFilter@3d77c266, org.springframework.web.filter.CorsFilter@34d8751f, org.springframework.security.web.authentication.logout.LogoutFilter@4019f383, com.mindskip.xzs.configuration.spring.security.RestLoginAuthenticationFilter@720271d6, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@20105dde, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1a0f037e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@37e36bb5, org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter@6a88af67, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@462b2420, org.springframework.security.web.session.SessionManagementFilter@77f011f8, org.springframework.security.web.access.ExceptionTranslationFilter@7ac9683a, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6a964927]
2023-12-01 12:10:19.022  INFO 23428 --- [restartedMain] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2023-12-01 12:10:19.644  INFO 23428 --- [restartedMain] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2023-12-01 12:10:19.671  INFO 23428 --- [restartedMain] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2023-12-01 12:10:19.731  INFO 23428 --- [restartedMain] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references
2023-12-01 12:10:19.971  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: taskUsingPOST_1
2023-12-01 12:10:20.014  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1
2023-12-01 12:10:20.038  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_1
2023-12-01 12:10:20.047  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: listUsingPOST_1
2023-12-01 12:10:20.052  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_1
2023-12-01 12:10:20.113  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: editUsingPOST_1
2023-12-01 12:10:20.115  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_2
2023-12-01 12:10:20.143  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: answerSubmitUsingPOST_1
2023-12-01 12:10:20.147  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_3
2023-12-01 12:10:20.151  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: readUsingPOST_1
2023-12-01 12:10:20.166  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_4
2023-12-01 12:10:20.172  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_2
2023-12-01 12:10:20.197  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: editUsingPOST_2
2023-12-01 12:10:20.203  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_5
2023-12-01 12:10:20.207  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_3
2023-12-01 12:10:20.213  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1
2023-12-01 12:10:20.218  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: editUsingPOST_3
2023-12-01 12:10:20.247  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_6
2023-12-01 12:10:20.251  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_4
2023-12-01 12:10:20.271  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageJudgeListUsingPOST_1
2023-12-01 12:10:20.287  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingGET_1
2023-12-01 12:10:20.290  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: editUsingPOST_4
2023-12-01 12:10:20.314  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_5
2023-12-01 12:10:20.321  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: exportTemplatesIdUsingGET_1
2023-12-01 12:10:20.341  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_6
2023-12-01 12:10:20.349  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectSourceUsingPOST_1
2023-12-01 12:10:20.355  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_7
2023-12-01 12:10:20.359  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectSourceUsingPOST_2
2023-12-01 12:10:20.369  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_7
2023-12-01 12:10:20.384  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_8
2023-12-01 12:10:20.389  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_8
2023-12-01 12:10:20.393  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2
2023-12-01 12:10:20.396  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: editUsingPOST_5
2023-12-01 12:10:20.437  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_9
2023-12-01 12:10:20.442  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_9
2023-12-01 12:10:20.446  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3
2023-12-01 12:10:20.453  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: editUsingPOST_6
2023-12-01 12:10:20.463  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_10
2023-12-01 12:10:20.467  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_10
2023-12-01 12:10:20.482  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: questionUploadAndReadExcelUsingGET_1
2023-12-01 12:10:20.483  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: questionUploadAndReadExcelUsingHEAD_1
2023-12-01 12:10:20.484  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: questionUploadAndReadExcelUsingPOST_1
2023-12-01 12:10:20.486  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: questionUploadAndReadExcelUsingPUT_1
2023-12-01 12:10:20.487  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: questionUploadAndReadExcelUsingPATCH_1
2023-12-01 12:10:20.488  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: questionUploadAndReadExcelUsingDELETE_1
2023-12-01 12:10:20.488  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: questionUploadAndReadExcelUsingOPTIONS_1
2023-12-01 12:10:20.489  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: questionUploadAndReadExcelUsingTRACE_1
2023-12-01 12:10:20.541  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: readUsingPOST_2
2023-12-01 12:10:20.549  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2
2023-12-01 12:10:20.559  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: currentUsingPOST_1
2023-12-01 12:10:20.561  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4
2023-12-01 12:10:20.568  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: editUsingPOST_7
2023-12-01 12:10:20.580  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: importUserUsingPOST_1
2023-12-01 12:10:20.588  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageListUsingPOST_11
2023-12-01 12:10:20.589  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: selectUsingPOST_11
2023-12-01 12:10:20.597  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3
2023-12-01 12:10:20.600  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: currentUsingPOST_2
2023-12-01 12:10:20.602  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: logUsingPOST_1
2023-12-01 12:10:20.607  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: messagePageListUsingPOST_1
2023-12-01 12:10:20.609  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: readUsingPOST_3
2023-12-01 12:10:20.613  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: registerUsingPOST_1
2023-12-01 12:10:20.614  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: unReadCountUsingPOST_1
2023-12-01 12:10:20.619  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4
2023-12-01 12:10:20.622  INFO 23428 --- [restartedMain] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUsingPOST_1
2023-12-01 12:10:20.730  INFO 23428 --- [restartedMain] org.xnio                                 : XNIO version 3.3.8.Final
2023-12-01 12:10:20.751  INFO 23428 --- [restartedMain] org.xnio.nio                             : XNIO NIO Implementation Version 3.3.8.Final
2023-12-01 12:10:20.878  INFO 23428 --- [restartedMain] o.s.b.w.e.u.UndertowServletWebServer     : Undertow started on port(s) 8000 (http) with context path ''
2023-12-01 12:10:20.896  INFO 23428 --- [restartedMain] com.mindskip.xzs.XzsApplication          : Started XzsApplication in 7.984 seconds (JVM running for 9.711)
2023-12-01 12:10:26.840  INFO 23428 --- [XNIO-1 task-1] io.undertow.servlet                      : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-12-01 12:10:26.840  INFO 23428 --- [XNIO-1 task-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-12-01 12:10:26.851  INFO 23428 --- [XNIO-1 task-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 10 ms
2023-12-01 12:10:31.845  INFO 23428 --- [XNIO-1 task-3] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2023-12-01 12:10:32.324  INFO 23428 --- [XNIO-1 task-3] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2023-12-01 12:10:32.334 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.UserMapper.getUserByUserName   : ==>  Preparing: select id, user_uuid, user_name, password, real_name, age, sex, birth_day, user_level, phone, role, status, image_path, create_time, modify_time, last_active_time, deleted, wx_open_id from t_user where deleted=0 and user_name=? limit 1
2023-12-01 12:10:32.361 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.UserMapper.getUserByUserName   : ==> Parameters: admin(String)
2023-12-01 12:10:32.411 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.UserMapper.getUserByUserName   : <==      Total: 1
2023-12-01 12:10:33.020 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.UserMapper.getUserByUserName   : ==>  Preparing: select id, user_uuid, user_name, password, real_name, age, sex, birth_day, user_level, phone, role, status, image_path, create_time, modify_time, last_active_time, deleted, wx_open_id from t_user where deleted=0 and user_name=? limit 1
2023-12-01 12:10:33.021 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.UserMapper.getUserByUserName   : ==> Parameters: admin(String)
2023-12-01 12:10:33.046 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.UserMapper.getUserByUserName   : <==      Total: 1
2023-12-01 12:10:33.064 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.U.insertSelective              : ==>  Preparing: insert into t_user_event_log ( user_id, user_name, real_name, content, create_time ) values ( ?, ?, ?, ?, ? )
2023-12-01 12:10:33.067 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.U.insertSelective              : ==> Parameters: 2(Integer), admin(String), 管理员(String), admin 登录了考试系统(String), 2023-12-01 12:10:33.047(Timestamp)
2023-12-01 12:10:33.127 DEBUG 23428 --- [XNIO-1 task-3] r.c.m.x.r.U.insertSelective              : <==    Updates: 1
2023-12-01 12:10:33.195  INFO 23428 --- [XNIO-1 task-4] c.mindskip.xzs.aop.InterfaceLogHandler   : 访问接口:/api/admin/department/page/list
2023-12-01 12:10:33.246 DEBUG 23428 --- [XNIO-1 task-4] r.c.m.x.r.DepartmentMapper.page_COUNT    : ==>  Preparing: SELECT count(0) FROM t_department WHERE deleted = 0
2023-12-01 12:10:33.247 DEBUG 23428 --- [XNIO-1 task-4] r.c.m.x.r.DepartmentMapper.page_COUNT    : ==> Parameters:
2023-12-01 12:10:33.273 DEBUG 23428 --- [XNIO-1 task-4] r.c.m.x.r.DepartmentMapper.page_COUNT    : <==      Total: 1
2023-12-01 12:10:33.277 DEBUG 23428 --- [XNIO-1 task-4] r.c.m.x.r.DepartmentMapper.page          : ==>  Preparing: SELECT id, name, deleted FROM t_department WHERE deleted = 0 order by id desc LIMIT ?
2023-12-01 12:10:33.277 DEBUG 23428 --- [XNIO-1 task-4] r.c.m.x.r.DepartmentMapper.page          : ==> Parameters: 100(Integer)
2023-12-01 12:10:33.306 DEBUG 23428 --- [XNIO-1 task-4] r.c.m.x.r.DepartmentMapper.page          : <==      Total: 5
2023-12-01 12:10:33.517  INFO 23428 --- [XNIO-1 task-5] c.mindskip.xzs.aop.InterfaceLogHandler   : 访问接口:/api/admin/dashboard/index
2023-12-01 12:10:33.522 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : ==>  Preparing: SELECT count(*) from t_exam_paper where deleted=0
2023-12-01 12:10:33.522 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : ==> Parameters:
2023-12-01 12:10:33.551 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : <==      Total: 1
2023-12-01 12:10:33.556 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.QuestionMapper.selectAllCount  : ==>  Preparing: SELECT count(*) from t_question where deleted=0
2023-12-01 12:10:33.556 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.QuestionMapper.selectAllCount  : ==> Parameters:
2023-12-01 12:10:33.581 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.QuestionMapper.selectAllCount  : <==      Total: 1
2023-12-01 12:10:33.585 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : ==>  Preparing: SELECT count(*) from t_exam_paper_answer
2023-12-01 12:10:33.585 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : ==> Parameters:
2023-12-01 12:10:33.612 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : <==      Total: 1
2023-12-01 12:10:33.612 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : ==>  Preparing: SELECT count(*) from t_exam_paper_question_customer_answer
2023-12-01 12:10:33.614 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : ==> Parameters:
2023-12-01 12:10:33.644 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectAllCount               : <==      Total: 1
2023-12-01 12:10:33.661 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.U.selectCountByDate            : ==>  Preparing: SELECT create_time as name,COUNT(create_time) as value from ( SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_user_event_log WHERE create_time between ? and ? ) a GROUP BY create_time
2023-12-01 12:10:33.662 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.U.selectCountByDate            : ==> Parameters: 2023-12-01 00:00:00.0(Timestamp), 2023-12-31 23:59:59.0(Timestamp)
2023-12-01 12:10:33.701 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.U.selectCountByDate            : <==      Total: 1
2023-12-01 12:10:33.702 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectCountByDate            : ==>  Preparing: SELECT create_time as name,COUNT(create_time) as value from ( SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_exam_paper_question_customer_answer WHERE create_time between ? and ? ) a GROUP BY create_time
2023-12-01 12:10:33.704 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectCountByDate            : ==> Parameters: 2023-12-01 00:00:00.0(Timestamp), 2023-12-31 23:59:59.0(Timestamp)
2023-12-01 12:10:33.734 DEBUG 23428 --- [XNIO-1 task-5] r.c.m.x.r.E.selectCountByDate            : <==      Total: 0
2023-12-01 12:10:39.334  INFO 23428 --- [XNIO-1 task-6] c.mindskip.xzs.aop.InterfaceLogHandler   : 访问接口:/api/admin/education/subject/list
2023-12-01 12:10:39.370 DEBUG 23428 --- [XNIO-1 task-6] r.c.m.x.r.SubjectMapper.allSubject       : ==>  Preparing: select id, name, level, level_name, item_order, deleted from t_subject where deleted = 0
2023-12-01 12:10:39.370 DEBUG 23428 --- [XNIO-1 task-6] r.c.m.x.r.SubjectMapper.allSubject       : ==> Parameters:
2023-12-01 12:10:39.381  INFO 23428 --- [XNIO-1 task-7] c.mindskip.xzs.aop.InterfaceLogHandler   : 访问接口:/api/admin/exam/templates/list
2023-12-01 12:10:39.394 DEBUG 23428 --- [XNIO-1 task-6] r.c.m.x.r.SubjectMapper.allSubject       : <==      Total: 2
2023-12-01 12:10:39.418 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getByadmins_COUNT            : ==>  Preparing: SELECT count(0) FROM (SELECT DISTINCT e.id, e.name, e.paper_type, e.suggest_time, e.title_name, e.ctime, e.status, e.menu_ids, e.start_time, e.end_time FROM t_exam_templates e LEFT JOIN t_exam_templates_user u ON e.id = u.templates_id WHERE e.status = 0) table_count
2023-12-01 12:10:39.418 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getByadmins_COUNT            : ==> Parameters:
2023-12-01 12:10:39.442 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getByadmins_COUNT            : <==      Total: 1
2023-12-01 12:10:39.444 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getByadmins                  : ==>  Preparing: SELECT DISTINCT e.id, e.name, e.paper_type, e.suggest_time, e.title_name, e.ctime, e.status, e.menu_ids, e.start_time, e.end_time FROM t_exam_templates e LEFT JOIN t_exam_templates_user u ON e.id = u.templates_id WHERE e.status = 0 order by id desc LIMIT ?
2023-12-01 12:10:39.444 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getByadmins                  : ==> Parameters: 10(Integer)
2023-12-01 12:10:39.479 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getByadmins                  : <==      Total: 10
2023-12-01 12:10:39.480 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.480 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 103(Integer)
2023-12-01 12:10:39.501 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:39.503 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.503 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 102(Integer)
2023-12-01 12:10:39.533 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:39.535 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.535 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 101(Integer)
2023-12-01 12:10:39.560 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:39.561 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.562 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 100(Integer)
2023-12-01 12:10:39.580 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:39.580 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.580 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 99(Integer)
2023-12-01 12:10:39.597 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 0
2023-12-01 12:10:39.599 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.599 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 88(Integer)
2023-12-01 12:10:39.620 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:39.621 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.621 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 86(Integer)
2023-12-01 12:10:39.638 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:39.647 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.648 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 85(Integer)
2023-12-01 12:10:39.678 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:39.679 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.679 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 83(Integer)
2023-12-01 12:10:39.697 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:39.698 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==>  Preparing: select id, subject_id, templates_id from t_exam_templates_subject where templates_id = ?
2023-12-01 12:10:39.698 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : ==> Parameters: 82(Integer)
2023-12-01 12:10:39.724 DEBUG 23428 --- [XNIO-1 task-7] r.c.m.x.r.E.getTemplatesId               : <==      Total: 1
2023-12-01 12:10:48.089  INFO 23428 --- [XNIO-1 task-8] c.mindskip.xzs.aop.InterfaceLogHandler   : 访问接口:/api/admin/exam/count/timeOne
2023-12-01 12:10:48.130 DEBUG 23428 --- [XNIO-1 task-8] r.c.m.x.r.E.getByTimeOne                 : ==>  Preparing: select a.paper_name as name, u.real_name as userName,SUBSTRING_INDEX(a.user_score/10,".",1) as userScore, SUBSTRING_INDEX(a.paper_score/10,".",1) as paperScore,a.do_time as doTime from t_exam_paper_answer a left join t_user u on a.create_user = u.id where a.create_time between '2023-11-28 09:00:00' and '2023-12-01 10:00:00'
2023-12-01 12:10:48.131 DEBUG 23428 --- [XNIO-1 task-8] r.c.m.x.r.E.getByTimeOne                 : ==> Parameters:
2023-12-01 12:10:48.163 DEBUG 23428 --- [XNIO-1 task-8] r.c.m.x.r.E.getByTimeOne                 : <==      Total: 32
2023-12-01 12:11:16.335  INFO 23428 --- [Thread-23] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2023-12-01 12:11:16.345  INFO 23428 --- [Thread-23] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2023-12-01 12:11:16.348  INFO 23428 --- [Thread-23] io.undertow.servlet                      : Destroying Spring FrameworkServlet 'dispatcherServlet'
src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesUserCountController.java
@@ -5,14 +5,14 @@
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.domain.ExamPaperAnswer;
import com.mindskip.xzs.domain.ExamTemplates;
import com.mindskip.xzs.domain.ExamTemplatesUserCount;
import com.mindskip.xzs.domain.User;
import com.mindskip.xzs.domain.*;
import com.mindskip.xzs.domain.vo.AnswerVO;
import com.mindskip.xzs.domain.vo.ExamTemplatesUserCountVO;
import com.mindskip.xzs.domain.vo.TeamplatesUserExcelVO;
import com.mindskip.xzs.domain.vo.UserCountExcelVO;
import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
import com.mindskip.xzs.repository.ExamTemplatesMapper;
import com.mindskip.xzs.repository.ExamTemplatesUserMapper;
import com.mindskip.xzs.service.ExamPaperAnswerService;
import com.mindskip.xzs.service.ExamTemplatesUserCountService;
import com.mindskip.xzs.service.UserService;
@@ -23,12 +23,8 @@
import lombok.SneakyThrows;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -42,12 +38,16 @@
    private final ExamTemplatesMapper examTemplatesMapper;
    private final UserService userService;
    private final ExamPaperAnswerService examPaperAnswerService;
    private final ExamPaperAnswerMapper examPaperAnswerMapper;
    private final ExamTemplatesUserMapper examTemplatesUserMapper;
    public ExamTemplatesUserCountController(ExamTemplatesUserCountService examTemplatesUserCountService, ExamTemplatesMapper examTemplatesMapper, UserService userService, ExamPaperAnswerService examPaperAnswerService) {
    public ExamTemplatesUserCountController(ExamTemplatesUserCountService examTemplatesUserCountService, ExamTemplatesMapper examTemplatesMapper, UserService userService, ExamPaperAnswerService examPaperAnswerService, ExamPaperAnswerMapper examTemplatesUserCountMapper, ExamTemplatesUserMapper examTemplatesUserMapper) {
        this.examTemplatesUserCountService = examTemplatesUserCountService;
        this.examTemplatesMapper = examTemplatesMapper;
        this.userService = userService;
        this.examPaperAnswerService = examPaperAnswerService;
        this.examPaperAnswerMapper = examTemplatesUserCountMapper;
        this.examTemplatesUserMapper = examTemplatesUserMapper;
    }
    @RequestMapping(value = "/list", method = RequestMethod.POST)
@@ -119,6 +119,59 @@
        ExcelUtils.export(response,"个人练习",list,UserCountExcelVO.class);
    }
    @RequestMapping(value = "/exportRandownTemplatesId/{id}", method = RequestMethod.GET)
    @SneakyThrows
    public void exportRandownTemplatesId(@PathVariable("id") Integer id, HttpServletResponse response, HttpServletRequest request) {
        ExamTemplates byId = examTemplatesMapper.getById(id);
        List<ExamTemplatesUser> byId1 = examTemplatesUserMapper.getById(id);
        List<ExamTemplatesUserCount> byTemplates = examTemplatesUserCountService.getByTemplates(id);
        List<Integer> list = byTemplates.stream().map(ExamTemplatesUserCount::getExamPaperId).collect(Collectors.toList());
        List<Integer> userIds = byId1.stream().map(e->Integer.parseInt(e.getUserId())).collect(Collectors.toList());
        //考试
        List<ExamPaperAnswer> result = new ArrayList<>();
        if(list.size()!=0){
            result = examPaperAnswerMapper.getResult(list);
        }
        //用户
        List<User> users = userService.selectByIds(userIds);
        List<TeamplatesUserExcelVO> list1 = new ArrayList<>();
        for (User user : users) {
            TeamplatesUserExcelVO vo = new TeamplatesUserExcelVO();
            vo.setName(byId.getName());
            vo.setUserName(user.getRealName());
            Boolean str = false;
            for (ExamPaperAnswer answer: result) {
                if(user.getId().equals(answer.getCreateUser())){
                    str = true;
                    vo.setUserScore(answer.getUserScore() == 0 ? "0" : String.valueOf(answer.getUserScore() / 10));
                    vo.setPaperScore(answer.getPaperScore() == 0 ? "0" : String.valueOf(answer.getPaperScore() / 10));
                    vo.setDoTime(answer.getDoTime().toString());
                    list1.add(vo);
                    continue;
                }
            }
            if(!str){
                list1.add(vo);
            }
            str = false;
        }
        ExcelUtils.export(response,"个人练习",list1, TeamplatesUserExcelVO.class);
    }
    @RequestMapping(value = "/timeOne", method = RequestMethod.GET)
    @SneakyThrows
    public void time( HttpServletResponse response, HttpServletRequest request) {
        List<TeamplatesUserExcelVO> list = examPaperAnswerMapper.getByTimeOne();
        ExcelUtils.export(response,"个人练习",list,TeamplatesUserExcelVO.class);
    }
}
src/main/java/com/mindskip/xzs/controller/student/UserController.java
@@ -137,4 +137,9 @@
        return RestResponse.ok();
    }
    @RequestMapping(value = "/connect", method = RequestMethod.GET)
    public RestResponse connect() {
        return RestResponse.ok();
    }
}
src/main/java/com/mindskip/xzs/domain/vo/TeamplatesUserExcelVO.java
New file
@@ -0,0 +1,70 @@
package com.mindskip.xzs.domain.vo;
import com.mindskip.xzs.utility.excel.ExcelExport;
import java.io.Serializable;
public class TeamplatesUserExcelVO implements Serializable {
    @ExcelExport("试卷名称")
    private String name;
    @ExcelExport("姓名")
    private String userName;
    @ExcelExport("得分")
    private String userScore;
    @ExcelExport("总分")
    private String paperScore;
    @ExcelExport("时间(秒)")
    private String doTime;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserScore() {
        return userScore;
    }
    public void setUserScore(String userScore) {
        this.userScore = userScore;
    }
    public String getPaperScore() {
        return paperScore;
    }
    public void setPaperScore(String paperScore) {
        this.paperScore = paperScore;
    }
    public String getDoTime() {
        return doTime;
    }
    public void setDoTime(String doTime) {
        this.doTime = doTime;
    }
    @Override
    public String toString() {
        return "TeamplatesUserExcelVO{" +
                "name='" + name + '\'' +
                ", userName='" + userName + '\'' +
                ", userScore='" + userScore + '\'' +
                ", paperScore='" + paperScore + '\'' +
                ", doTime='" + doTime + '\'' +
                '}';
    }
}
src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java
@@ -5,6 +5,7 @@
import com.mindskip.xzs.domain.ScoreTemplatesUserCount;
import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO;
import com.mindskip.xzs.domain.vo.TeamplatesUserExcelVO;
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageVM;
import org.apache.ibatis.annotations.Mapper;
@@ -40,4 +41,11 @@
    List<ExamPaperAnswer> getByExamPaperIds(@Param("ids")List<Integer> ids);
    List<ExamPaperAnswer> getResult(@Param("list")List<Integer> list);
    List<TeamplatesUserExcelVO> getByTimeOne();
}
src/main/java/com/mindskip/xzs/repository/ExamTemplatesUserCountMapper.java
@@ -28,4 +28,6 @@
    List<UserCountExcelVO> getByExamTemplates(@Param("id") Integer id);
    Integer getCountByUserIdAndTemplatesId(ExamTemplatesUserCountVO examTemplatesUserCountVO);
    List<UserCountExcelVO> getByExamTemplatesUser(@Param("id") Integer id);
}
src/main/java/com/mindskip/xzs/repository/ExamTemplatesUserMapper.java
@@ -20,4 +20,6 @@
    List<ExamTemplatesUser> getById(@Param("id") Integer id);
    List<ExamTemplatesUser> getByUserId(@Param("userId") Integer id, @Param("templatesId") Integer templatesId);
    List<ExamTemplatesUser> getResult(@Param("list") List<Integer> list);
}
src/main/java/com/mindskip/xzs/service/ExamTemplatesUserCountService.java
@@ -24,4 +24,6 @@
    List<UserCountExcelVO> getByExamTemplates(Integer id);
    List<UserCountExcelVO> getByExamTemplatesUser(Integer id);
}
src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
@@ -492,7 +492,7 @@
        Integer judgment = examPaperEditRequestVM.getQuestionTypeVMS().stream().mapToInt(QuestionTypeVM::getTrueFalse).sum();
        if ((singleChoice * 2 + multipleChoice * 2 + judgment * 2) != new Integer(10)) {
        if ((singleChoice * 2 + multipleChoice * 2 + judgment * 2) != new Integer(100)) {
            throw new QuestionException();
        }
src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesUserCountServiceImpl.java
@@ -62,4 +62,9 @@
    public List<UserCountExcelVO> getByExamTemplates(Integer id) {
        return examTemplatesUserCountMapper.getByExamTemplates(id);
    }
    @Override
    public List<UserCountExcelVO> getByExamTemplatesUser(Integer id) {
        return examTemplatesUserCountMapper.getByExamTemplatesUser(id);
    }
}
src/main/java/com/mindskip/xzs/utility/excel/ExcelUtils.java
@@ -875,6 +875,12 @@
            cell.setCellValue("");
            return CELL_OTHER;
        }
        // 数据为""时
        if ("".equals(o)) {
            cell.setCellType(CellType.STRING);
            cell.setCellValue("");
            return CELL_OTHER;
        }
        // 是否为字符串
        if (o instanceof String) {
            String s = o.toString();
src/main/resources/application-dev.yml
@@ -3,7 +3,7 @@
spring:
  datasource:
    url: jdbc:mysql://42.193.1.25:3306/qyxzs?useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=true
    url: jdbc:mysql://80.36.32.171:3306/xzs?useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=true
    username: root
    password: 321$YcYl@1970!
    password: qirong_123
    driver-class-name: com.mysql.cj.jdbc.Driver
src/main/resources/application.yml
@@ -2,7 +2,7 @@
  servlet:
    session:
      timeout: 7200
  port: 8000
  port: 8085
  undertow:
    io-threads: 16
    worker-threads: 4000
@@ -68,9 +68,9 @@
    active:  dev
aws:
  endpoint: http://162.14.79.111:19000 # S3?????
  accessKey: root # ??key
  secretKey: 234#Wersdf! # ??
  endpoint: http://80.36.32.171:19000 # S3?????
  accessKey: admin # ??key
  secretKey: admin1234567 # ??
  bucket: image
S3:
  region: ap-nanjing
src/main/resources/mapper/ExamPaperAnswerMapper.xml
@@ -364,4 +364,18 @@
    </if>
  </select>
  <select id="getResult" resultMap="BaseResultMap" parameterType="list">
    select * from t_exam_paper_answer  where (exam_paper_id) in
    <foreach collection="list" item="item" open="(" close=")" separator=",">
      (#{item})
    </foreach>
  </select>
  <select id="getByTimeOne" resultType="com.mindskip.xzs.domain.vo.TeamplatesUserExcelVO">
    select a.paper_name as name, u.real_name as userName,SUBSTRING_INDEX(a.user_score/10,".",1) as userScore,
           SUBSTRING_INDEX(a.paper_score/10,".",1) as paperScore,a.do_time as doTime from t_exam_paper_answer a
    left join t_user u on a.create_user = u.id
    where a.create_time between '2023-11-28 09:00:00' and '2023-12-01 10:00:00'
  </select>
</mapper>
src/main/resources/mapper/ExamTemplatesUserCountMapper.xml
@@ -82,4 +82,15 @@
        where c.exam_templates_id = #{id}
    </select>
    <select id="getByExamTemplatesUser" resultType="com.mindskip.xzs.domain.vo.UserCountExcelVO" parameterType="java.lang.Integer">
        SELECT t.`name`as name,d.`name` as departmentName,u.real_name as userName,SUBSTRING_INDEX(a.user_score/10,".",1) as userScore,SUBSTRING_INDEX(a.paper_score/10,".",1) as paperScore,a.do_time as doTime
        from t_exam_templates_user c
            LEFT JOIN t_exam_templates t on c.templates_id = t.id
            left join t_exam_templates_user_count o on c.templates_id = o.exam_templates_id
            LEFT JOIN t_exam_paper_answer a on (o.exam_paper_id = a.exam_paper_id and o.user_id = a.create_user)
            LEFT JOIN t_user u on a.create_user = u.id
            LEFT JOIN t_department d on d.id = u.user_level
        where c.templates_id = #{id}
    </select>
</mapper>
src/main/resources/mapper/ExamTemplatesUserMapper.xml
@@ -28,4 +28,11 @@
        from t_exam_templates_user where user_id = #{userId} and templates_id = #{templatesId}
    </select>
    <select id="getResult" resultMap="BaseResultMap" parameterType="list">
    select * from t_exam_templates_user  where (templates_ID) in
    <foreach collection="list" item="item" open="(" close=")" separator=",">
        (#{item})
    </foreach>
    </select>
</mapper>