From eea22fa4192773fda1e1fba8c5397febb0f87fb3 Mon Sep 17 00:00:00 2001 From: Sakura <2337674687@qq.com> Date: Tue, 11 Feb 2025 13:23:19 +0800 Subject: [PATCH 1/2] 2.11 --- HomeWork-java/pom.xml | 9 +++- .../template/action/ToolTemplateAction.java | 9 +++- .../template/dao/impl/HomeWorkDaoImpl.java | 10 ++-- .../template/service/HomeWorkService.java | 3 +- .../service/impl/HomeWorkServiceImpl.java | 33 ++++++++++-- .../target/classes/config.properties | 2 - HomeWork-vite/src/App.vue | 18 +++++-- .../views/HomeWorkManager/HomeWorkManger.vue | 52 ++++++++++--------- .../MultipleChoiceQuestions.vue | 17 +++--- .../views/HomeWorkManager/uploadHomeWork.vue | 44 +++++++++++----- 10 files changed, 133 insertions(+), 64 deletions(-) diff --git a/HomeWork-java/pom.xml b/HomeWork-java/pom.xml index 100737b..86fcce0 100644 --- a/HomeWork-java/pom.xml +++ b/HomeWork-java/pom.xml @@ -274,8 +274,15 @@ org.springframework.data spring-data-redis - 3.4.0 + 2.6.2 + + + redis.clients + jedis + 4.0.1 + + src diff --git a/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java b/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java index b53ee1a..f98a6ee 100644 --- a/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java +++ b/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java @@ -11,7 +11,9 @@ import com.wetoband.template.service.*; import com.wetoband.template.service.impl.*; import com.wetoband.template.util.R; import org.jetbrains.annotations.NotNull; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.multipart.MultipartFile; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -31,6 +33,8 @@ public class ToolTemplateAction extends ActionToolBase { FileUploadService fileUploadService= IOC.getBean(FileUploadService.class); TroubleshootingService troubleshootingService=IOC.getBean(TroubleshootingServiceImpl.class); QuestionService questionService=IOC.getBean(QuestionServiceImpl.class); +// RedisTemplate redisTemplate =IOC.getBean(RedisTemplate.class); + @Action public R get(HttpServletRequest request ) throws Exception { @@ -100,7 +104,10 @@ public class ToolTemplateAction extends ActionToolBase { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date submitTimeDate = sdf.parse(submitTimeStr); String text = "123"; - homeWorkService.submitHomework(studentId,homeworkId,submitTimeDate,text); + homeWorkService.submitHomework(studentId,homeworkId,submitTimeDate,userAnswersMap); + + + return R.ok().message("请求成功"); } diff --git a/HomeWork-java/src/com/wetoband/template/dao/impl/HomeWorkDaoImpl.java b/HomeWork-java/src/com/wetoband/template/dao/impl/HomeWorkDaoImpl.java index 6438ee1..b2d4059 100644 --- a/HomeWork-java/src/com/wetoband/template/dao/impl/HomeWorkDaoImpl.java +++ b/HomeWork-java/src/com/wetoband/template/dao/impl/HomeWorkDaoImpl.java @@ -52,15 +52,12 @@ public class HomeWorkDaoImpl extends BaseDaoImpl implements HomeWorkDa @Override public List getHomeWork(Connection connection, int id) throws SQLException { // SQL语句 - String sql = "SELECT homework.*, teacher.name, submit.submitStatus " + - "FROM homework " + + String sql ="SELECT homework.*,teacher.name , submit.submitStatus FROM homework " + "JOIN homework_student ON homework.homework_id = homework_student.homework_id " + - "JOIN student ON homework_student.student_id = student.id " + "JOIN teacher ON homework.teacher_id = teacher.id " + - "JOIN submit ON homework_student.student_id = submit.student_id AND homework.homework_id = submit.homework_id " + - "WHERE student.id = ?"; + "LEFT JOIN submit ON homework_student.student_id = submit.student_id AND homework.homework_id = submit.homework_id " + + "WHERE homework_student.student_id = ?"; List homeworkList = new ArrayList<>(); - try (PreparedStatement pstm = connection.prepareStatement(sql)) { pstm.setInt(1, id); try (ResultSet rs = pstm.executeQuery()) { @@ -74,6 +71,7 @@ public class HomeWorkDaoImpl extends BaseDaoImpl implements HomeWorkDa homework.setHomework_name(rs.getString("homework_name")); homework.setCourse_name(rs.getString("course_name")); homework.setTeacher_name(rs.getString("name")); + homework.setHomework_name(rs.getString("homework_name")); if (rs.getInt("submitStatus") == 0){ homework.setSubmitStatus("未提交"); }else { diff --git a/HomeWork-java/src/com/wetoband/template/service/HomeWorkService.java b/HomeWork-java/src/com/wetoband/template/service/HomeWorkService.java index 4298d60..fc2bc7d 100644 --- a/HomeWork-java/src/com/wetoband/template/service/HomeWorkService.java +++ b/HomeWork-java/src/com/wetoband/template/service/HomeWorkService.java @@ -7,6 +7,7 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Date; import java.util.List; +import java.util.Map; public interface HomeWorkService { @@ -16,5 +17,5 @@ public interface HomeWorkService { public List getHomeWorkByTeacherName(String name,int id) throws Exception; public List getHomeWorkByHomeworkName(String homework_name,int id) throws Exception; - void submitHomework(Integer student_id, Integer homeworkId, Date submitTimeDate, String text) throws Exception; + void submitHomework(Integer student_id, Integer homeworkId, Date submitTimeDate, Map> userAnswers) throws Exception; } diff --git a/HomeWork-java/src/com/wetoband/template/service/impl/HomeWorkServiceImpl.java b/HomeWork-java/src/com/wetoband/template/service/impl/HomeWorkServiceImpl.java index 7f8fb80..938a6b2 100644 --- a/HomeWork-java/src/com/wetoband/template/service/impl/HomeWorkServiceImpl.java +++ b/HomeWork-java/src/com/wetoband/template/service/impl/HomeWorkServiceImpl.java @@ -9,18 +9,22 @@ import com.wetoband.template.service.HomeWorkService; import lombok.NoArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import redis.clients.jedis.Jedis; import java.sql.Connection; -import java.sql.DriverManager; import java.util.Date; import java.util.List; +import java.util.Map; @Service @NoArgsConstructor public class HomeWorkServiceImpl implements HomeWorkService { @Autowired private HomeWorkDao homeWorkDao; - /*@Override + +// @Autowired +// private RedisTemplate redisTemplate; + /*@Override public HomeWork getHomeWorkById(int id) throws Exception { //这里是获取数据库连接。调用了jar包中的方法。具体我没看懂,反正这样子就能拿到了连接。。。 final Connection connection = ActionToolBase.getDBConnection(); @@ -50,12 +54,33 @@ public class HomeWorkServiceImpl implements HomeWorkService { } @Override - public void submitHomework(Integer studentId, Integer homeworkId, Date submitTimeDate, String text) throws Exception { + public void submitHomework(Integer studentId, Integer homeworkId, Date submitTimeDate, Map> userAnswersMap) throws Exception { final Connection connection = ActionToolBase.getDBConnection(); + + // 创建 Jedis 连接对象 + try (Jedis jedis = new Jedis("8.138.182.34", 6379)) { // 替换为 Redis 服务器的 IP 和端口 + // 如果 Redis 设置了密码,需要进行身份校验 + jedis.auth("123456"); // 如果没有密码,可以省略这行 + // 测试连接 + String ping = jedis.ping(); + System.out.println("连接成功,Ping 返回结果:" + ping); + } catch (Exception e) { + e.printStackTrace(); + } + +//// 将 userAnswersMap 存入 Redis +// String redisKey = studentId + "-" + homeworkId;//设置key +// for (Map.Entry> entry : userAnswersMap.entrySet()) {//这里把userAnswerMap里面所有的键值对拿出来,entryset既可以拿到key, +// // 又可以拿到value,返回值就是Map.Entry对象,是一个键值对的表示 +// String field = entry.getKey();//userAnswerlist中的value是一个list +// String value = String.join(",", entry.getValue()); // 将 List 转换为逗号分隔的字符串 +// redisTemplate.opsForHash().put(redisKey, field, value);//存入redis +// } + Submit submitHomework = new Submit(); submitHomework.setSubmitId(studentId); submitHomework.setSubmitTime(submitTimeDate); - submitHomework.setText(text); +// submitHomework.setText(text); submitHomework.setHomeworkId(homeworkId); submitHomework.setCorrect(0);//设置批改状态为0 submitHomework.setSubmitStatus(1);//设置提交状态为0 diff --git a/HomeWork-java/target/classes/config.properties b/HomeWork-java/target/classes/config.properties index ccd88d6..1b067ac 100644 --- a/HomeWork-java/target/classes/config.properties +++ b/HomeWork-java/target/classes/config.properties @@ -32,8 +32,6 @@ SWAP_VALUE_SERVER_PORT=6666 GET_SWAP_VALUE_IP=192.168.10.254 GET_SWAP_VALUE_PORT=6666 - - REDIS_HOST=8.138.182.34 REDIS_PORT=6379 REDIS_PASSWORD=123456 diff --git a/HomeWork-vite/src/App.vue b/HomeWork-vite/src/App.vue index d037bc8..f2bcb50 100644 --- a/HomeWork-vite/src/App.vue +++ b/HomeWork-vite/src/App.vue @@ -3,8 +3,12 @@ -

作业系统

- +
+

作业系统

+ 返回 +
+
@@ -24,9 +28,11 @@ import { getRtParam } from './base/constant'; import { RouterView } from 'vue-router'; import { useRouter } from 'vue-router'; const runToolParam = ref(''); - +const router = useRouter(); const toHome = () => { + console.log(123); + router.push('/'); }; onBeforeMount(() => { runToolParam.value = getRtParam() || ''; @@ -47,6 +53,12 @@ onBeforeMount(() => { color: #2c3e50; } +.header-title { + display: flex; + justify-content: space-between; + align-items: center; +} + body { background: linear-gradient(45deg, #e7f1e8, #f6e8e5) } diff --git a/HomeWork-vite/src/views/HomeWorkManager/HomeWorkManger.vue b/HomeWork-vite/src/views/HomeWorkManager/HomeWorkManger.vue index 304b424..6d86b72 100644 --- a/HomeWork-vite/src/views/HomeWorkManager/HomeWorkManger.vue +++ b/HomeWork-vite/src/views/HomeWorkManager/HomeWorkManger.vue @@ -33,9 +33,15 @@ - 上传作业 + + @@ -98,31 +104,27 @@ const worng = () => { router.push('./WrongManager') } -const upload = () => { - // router.push('./uploadHomeWork') - router.push('./MultipleChoiceQuestions') +const upload = (type, homework_id, start_time, finish_time, homework_name) => { + if (type == 2) { + router.push({ + path: './uploadHomeWork', + query: { + homework_id: homework_id, + start_time: start_time, + finish_time: finish_time, + homework_name: homework_name + } + }) + } else { + router.push({ + path: './MultipleChoiceQuestions', + query: { + homework_id: homework_id + } + }) + } } -// const tableData = ref([ -// { class: 'Web', teacher: '王乐康', Data: '2016-05-02', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-04', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-09', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-07', homework: '作业1', status: '未完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-23', homework: '作业1', status: '未完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-12', homework: '作业1', status: '未完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-31', homework: '作业1', status: '未完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '未完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// { class: 'Java', teacher: '王乐康', Data: '2016-05-08', homework: '作业1', status: '已完成' }, -// ]) - const tableData = ref([]) onMounted(() => { getHomeWork() diff --git a/HomeWork-vite/src/views/HomeWorkManager/MultipleChoiceQuestions.vue b/HomeWork-vite/src/views/HomeWorkManager/MultipleChoiceQuestions.vue index f335a2b..791a81b 100644 --- a/HomeWork-vite/src/views/HomeWorkManager/MultipleChoiceQuestions.vue +++ b/HomeWork-vite/src/views/HomeWorkManager/MultipleChoiceQuestions.vue @@ -40,15 +40,19 @@ import { onMounted, reactive, ref, watch, toRaw } from 'vue'; import { HttpClient } from '@/network/HttpClient'; - +import { useRoute } from 'vue-router'; const questions = reactive([]); const submitTime = ref('') const answered = ref(0); - +const homework_id = ref(null); +const route = useRoute(); const userAnswers = reactive([]); onMounted(() => { + homework_id.value = route.query.homework_id; getQuestion() + console.log(123, homework_id.value); + console.log(questions); }) //提交答案 @@ -57,15 +61,13 @@ const submitAnswers = () => { alert('还有题目未作答!'); return; } - - getCurrentTime(); submitHomework() }; // 获取题目 const getQuestion = async () => { await HttpClient.get('getQuestion', { - homework_id: 1 + homework_id: homework_id.value }).then(res => { console.log(res.data.data); // 清空原有数据 @@ -104,8 +106,7 @@ const getCurrentTime = () => { } const submitHomework = async () => { // 将响应式对象转换为普通对象 - // const userAnswers = toRaw(userAnswers); - // const userAnswers = JSON.parse(JSON.stringify(userAnswers)); + const userAnswersArray = toRaw(userAnswers); console.log(userAnswers); @@ -113,8 +114,6 @@ const submitHomework = async () => { homework_id: 1, student_id: 1, submitTime: submitTime.value, - // multipleAnswers: JSON.stringify(multipleAnswersArray), - // singleAnswers: JSON.stringify(singleAnswersArray), userAnswers: JSON.stringify(userAnswersArray) }).then(res => { console.log(res.data.data); diff --git a/HomeWork-vite/src/views/HomeWorkManager/uploadHomeWork.vue b/HomeWork-vite/src/views/HomeWorkManager/uploadHomeWork.vue index 36d3ce5..0876c28 100644 --- a/HomeWork-vite/src/views/HomeWorkManager/uploadHomeWork.vue +++ b/HomeWork-vite/src/views/HomeWorkManager/uploadHomeWork.vue @@ -6,8 +6,8 @@ 疑难提问 -

作业名称

- 作答时间:起始时间 至 结束时间 +

{{ homework_name }}

+ 作答时间:{{ start_time }} 至 {{ finish_time }} @@ -19,10 +19,9 @@
- 作业内容 -

- 本周要完成的: - 把自己分别设置为管理员和一个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符个普通用户;建立二个不同的数据库,分别在其中建表,并输入符干数据;用c1+或者java、python等语言,分别编一个程序,连接到上述二个数据库,向两个数据库中的表分别白动添加10000个记录;4数据库命令窗口对上述表建立香询语句,并在程序中嵌入这些咨询语句,至少做入两种查询语句;查询全部记录和查询部分记录,在程序运行界面上:显示查询结果和查询所用时间;在表上建立和查询语句相关的索引(含主索引或者/和次索引),在命令窗口或者程序中观察查询所用时间的差异(有索引或者无索引时)。 + 作业内容 +

+ {{ desc }}

@@ -68,10 +67,7 @@ 上传 返回 - - - @@ -80,12 +76,18 @@