From 778f74eb5d92cd8f989ec832422698500d134551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E6=B4=81=E5=BD=B1?= Date: Mon, 13 Jan 2025 22:39:15 +0800 Subject: [PATCH] 1 --- .../template/action/ToolTemplateAction.java | 51 ++++++- .../wetoband/template/dao/HomeWorkDao.java | 9 +- .../template/dao/WrongQuestionDao.java | 12 ++ .../template/dao/impl/HomeWorkDaoImpl.java | 140 +++++++++++++++++- .../dao/impl/WrongQuestionDaoImpl.java | 43 ++++++ .../wetoband/template/entity/HomeWork.java | 4 +- .../wetoband/template/entity/Question.java | 31 ++++ .../template/entity/WrongQuestion.java | 25 ++++ .../template/service/HomeWorkService.java | 7 +- .../service/WrongQuestionService.java | 10 ++ .../service/impl/HomeWorkServiceImpl.java | 23 ++- .../impl/WrongQuestionServiceImpl.java | 25 ++++ 12 files changed, 370 insertions(+), 10 deletions(-) create mode 100644 HomeWork-java/src/com/wetoband/template/dao/WrongQuestionDao.java create mode 100644 HomeWork-java/src/com/wetoband/template/dao/impl/WrongQuestionDaoImpl.java create mode 100644 HomeWork-java/src/com/wetoband/template/entity/Question.java create mode 100644 HomeWork-java/src/com/wetoband/template/entity/WrongQuestion.java create mode 100644 HomeWork-java/src/com/wetoband/template/service/WrongQuestionService.java create mode 100644 HomeWork-java/src/com/wetoband/template/service/impl/WrongQuestionServiceImpl.java diff --git a/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java b/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java index 8486504..39ed1f9 100644 --- a/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java +++ b/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java @@ -6,10 +6,13 @@ import com.fy.basejar.tool.ActionToolBase; import com.wetoband.template.AppConfig; import com.wetoband.template.entity.HomeWork; import com.wetoband.template.entity.User; +import com.wetoband.template.entity.WrongQuestion; import com.wetoband.template.service.HomeWorkService; import com.wetoband.template.service.UserService; +import com.wetoband.template.service.WrongQuestionService; import com.wetoband.template.service.impl.HomeWorkServiceImpl; import com.wetoband.template.service.impl.UserServiceImpl; +import com.wetoband.template.service.impl.WrongQuestionServiceImpl; import com.wetoband.template.util.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; @@ -21,6 +24,7 @@ import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -31,6 +35,7 @@ public class ToolTemplateAction extends ActionToolBase { public final static ApplicationContext IOC = AppConfig.initApplicationContext(); //获取service实例 HomeWorkService homeWorkService=IOC.getBean(HomeWorkServiceImpl.class); + WrongQuestionService wrongQuestionService=IOC.getBean(WrongQuestionServiceImpl.class); UserService userService=IOC.getBean(UserServiceImpl.class); @Action @@ -43,14 +48,58 @@ public class ToolTemplateAction extends ActionToolBase { public R post(HttpServletRequest request) throws Exception { return R.ok().put("msg", "Hello World").message("POST请求成功"); } - @Action + /*@Action public R getHomeWorkById(HttpServletRequest request) throws Exception { //获取参数 Integer id =Integer.parseInt(request.getParameter("id")); HomeWork homeWork = homeWorkService.getHomeWorkById(id); return R.ok().put("data",homeWork); + }*/ + + @Action + public R getHomeWorkByCourse(HttpServletRequest request) throws Exception { + String course_name = String.valueOf(request.getParameter("course_name")); + Integer id = Integer.parseInt(request.getParameter("id")); + List homeWork = homeWorkService.getHomeWorkByCourse(course_name,id); + return R.ok().put("data",homeWork); } + @Action + public R getHomeWorkByTeacherName(HttpServletRequest request) throws Exception { + String name = String.valueOf(request.getParameter("name")); + Integer id = Integer.parseInt(request.getParameter("id")); + List homeWork = homeWorkService.getHomeWorkByTeacherName(name,id); + return R.ok().put("data",homeWork); + } + + @Action + public R getHomeWorkByHomeworkName(HttpServletRequest request) throws Exception { + String homework_name = String.valueOf(request.getParameter("homework_name")); + Integer id = Integer.parseInt(request.getParameter("id")); + List homeWork = homeWorkService.getHomeWorkByHomeworkName(homework_name,id); + return R.ok().put("data",homeWork); + } + + //获取个人所有作业 + @Action + public R getHomeWork(HttpServletRequest request) throws Exception { + Integer id =Integer.parseInt(request.getParameter("id")); + List homeWork = homeWorkService.getHomeWork(id); + return R.ok().put("data",homeWork); + } + + @Action + public R getWrongQuestion(HttpServletRequest request) throws Exception { + Integer student_id =Integer.parseInt(request.getParameter("student_id")); + List wrongQuestion = wrongQuestionService.getWrongQuestion(student_id); + return R.ok().put("data",wrongQuestion); + } + + + + + + public static String runTool(String toolId, String action, Map map, String bandId) { HashMap params = new HashMap<>(); params.put("toolID", toolId); diff --git a/HomeWork-java/src/com/wetoband/template/dao/HomeWorkDao.java b/HomeWork-java/src/com/wetoband/template/dao/HomeWorkDao.java index 411e2c2..38e3ddc 100644 --- a/HomeWork-java/src/com/wetoband/template/dao/HomeWorkDao.java +++ b/HomeWork-java/src/com/wetoband/template/dao/HomeWorkDao.java @@ -5,7 +5,14 @@ import com.wetoband.template.entity.HomeWork; import java.sql.Connection; import java.sql.SQLException; +import java.util.List; public interface HomeWorkDao extends IBaseDao { - HomeWork getHomeWorkById(Connection connection, int id) throws SQLException; + //HomeWork getHomeWorkById(Connection connection, int id) throws SQLException; + List getHomeWork(Connection connection, int id) throws SQLException; + List getHomeWorkByCourse(Connection connection, String course_name,int id) throws SQLException; + List getHomeWorkByTeacherName(Connection connection, String name,int id) throws SQLException; + List getHomeWorkByHomeworkName(Connection connection, String homework_name,int id) throws SQLException; + + } diff --git a/HomeWork-java/src/com/wetoband/template/dao/WrongQuestionDao.java b/HomeWork-java/src/com/wetoband/template/dao/WrongQuestionDao.java new file mode 100644 index 0000000..e325521 --- /dev/null +++ b/HomeWork-java/src/com/wetoband/template/dao/WrongQuestionDao.java @@ -0,0 +1,12 @@ +package com.wetoband.template.dao; + +import com.wetoband.template.entity.HomeWork; +import com.wetoband.template.entity.WrongQuestion; + +import java.sql.Connection; +import java.sql.SQLException; +import java.util.List; + +public interface WrongQuestionDao { + List getWrongQuestion(Connection connection, int student_id) throws SQLException; +} 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 3155146..3f7ecca 100644 --- a/HomeWork-java/src/com/wetoband/template/dao/impl/HomeWorkDaoImpl.java +++ b/HomeWork-java/src/com/wetoband/template/dao/impl/HomeWorkDaoImpl.java @@ -17,10 +17,10 @@ public class HomeWorkDaoImpl extends BaseDaoImpl implements HomeWorkDa public HomeWorkDaoImpl() throws Exception { } - @Override + /*@Override public HomeWork getHomeWorkById(Connection connection, int id) throws SQLException { //sql语句 - String sql = "SELECT * FROM homework WHERE user_id=?"; + String sql = "SELECT * FROM homework WHERE class = (SELECT class FROM student WHERE id = ?)"; PreparedStatement pstm = connection.prepareStatement(sql); pstm.setLong(1, id); ResultSet rs = pstm.executeQuery(); @@ -29,9 +29,16 @@ public class HomeWorkDaoImpl extends BaseDaoImpl implements HomeWorkDa //似乎是要将拿到的数据一个个set进去?不确定有木有更好的方法 HomeWork homework = new HomeWork(); homework.setHomework_id(rs.getInt("homework_id")); - homework.setUser_id(rs.getLong("user_id")); + homework.setClassName(rs.getString("class")); + homework.setTeacher_id(rs.getInt("teacher_id")); homework.setType(rs.getInt("type")); - /*省略*/ + homework.setHomework_describe(rs.getString("homeworkDescribe")); + homework.setStart_time(rs.getString("startTime")); + homework.setFinish_time(rs.getString("finishTime")); + homework.setHomework_name(rs.getString("homework_name")); + homework.setCourse_name(rs.getString("course_name")); + + return homework; } if (rs != null) { @@ -42,4 +49,129 @@ public class HomeWorkDaoImpl extends BaseDaoImpl implements HomeWorkDa } return null; } + */ + + @Override + public List getHomeWork(Connection connection, int id) throws SQLException { + // SQL语句 + String sql = "SELECT homework.* FROM homework JOIN homework_student " + + "ON homework.homework_id = homework_student.homework_id JOIN student ON " + + "homework_student.student_id = student.id WHERE student.id = ?"; + List homeworkList = new ArrayList<>(); + + try (PreparedStatement pstm = connection.prepareStatement(sql)) { + pstm.setInt(1, id); + try (ResultSet rs = pstm.executeQuery()) { + while (rs.next()) { + HomeWork homework = new HomeWork(); + homework.setHomework_id(rs.getInt("homework_id")); + homework.setTeacher_id(rs.getInt("teacher_id")); + homework.setType(rs.getInt("type")); + homework.setHomework_describe(rs.getString("homeworkDescribe")); + homework.setStart_time(rs.getString("startTime")); + homework.setFinish_time(rs.getString("finishTime")); + homework.setHomework_name(rs.getString("homework_name")); + homework.setCourse_name(rs.getString("course_name")); + + homeworkList.add(homework); + } + } + } catch (SQLException e) { + // 处理异常,这里只是简单地让异常继续抛出,但实际应用中可能需要更详细的错误处理 + throw e; + } + + return homeworkList; + } + + @Override + public List getHomeWorkByCourse(Connection connection, String course_name,int id) throws SQLException { + String sql = "SELECT homework.* FROM homework " + + "JOIN homework_student ON homework_student.homework_id = homework.homework_id " + + "JOIN student ON homework_student.student_id = student.id " + + "WHERE homework.course_name = ? AND student.id = ? "; + List homeworkList = new ArrayList<>(); + + try (PreparedStatement pstm = connection.prepareStatement(sql)) { + pstm.setString(1, course_name); + pstm.setInt(2,id); + try (ResultSet rs = pstm.executeQuery()) { + while (rs.next()) { + HomeWork homework = new HomeWork(); + homework.setHomework_id(rs.getInt("homework_id")); + homework.setTeacher_id(rs.getInt("teacher_id")); + homework.setType(rs.getInt("type")); + homework.setHomework_describe(rs.getString("homeworkDescribe")); + homework.setStart_time(rs.getString("startTime")); + homework.setFinish_time(rs.getString("finishTime")); + homework.setHomework_name(rs.getString("homework_name")); + homework.setCourse_name(rs.getString("course_name")); + homeworkList.add(homework); + } + } + } catch (SQLException e) { + throw e; + } + return homeworkList; + } + + @Override + public List getHomeWorkByTeacherName(Connection connection, String name,int id) throws SQLException { + String sql = "SELECT homework.* FROM homework " + + "JOIN teacher ON homework.teacher_id = teacher.id " + + "JOIN homework_student ON homework.homework_id = homework_student.homework_id " + + "WHERE teacher.name = ? AND homework_student.student_id = ?;"; + List homeworkList = new ArrayList<>(); + try (PreparedStatement pstm = connection.prepareStatement(sql)) { + pstm.setString(1, name); + pstm.setInt(2,id); + try (ResultSet rs = pstm.executeQuery()) { + while (rs.next()) { + HomeWork homework = new HomeWork(); + homework.setHomework_id(rs.getInt("homework_id")); + homework.setTeacher_id(rs.getInt("teacher_id")); + homework.setType(rs.getInt("type")); + homework.setHomework_describe(rs.getString("homeworkDescribe")); + homework.setStart_time(rs.getString("startTime")); + homework.setFinish_time(rs.getString("finishTime")); + homework.setHomework_name(rs.getString("homework_name")); + homework.setCourse_name(rs.getString("course_name")); + homeworkList.add(homework); + } + } + } catch (SQLException e) { + throw e; + } + return homeworkList; + } + + @Override + public List getHomeWorkByHomeworkName(Connection connection, String homework_name,int id) throws SQLException { + String sql = "SELECT homework.* FROM homework " + + "JOIN homework_student ON homework_student.homework_id = homework.homework_id " + + "JOIN student ON homework_student.student_id = student.id " + + "WHERE homework.homework_name = ? AND student.id = ? "; + List homeworkList = new ArrayList<>(); + try (PreparedStatement pstm = connection.prepareStatement(sql)) { + pstm.setString(1, homework_name); + pstm.setInt(2,id); + try (ResultSet rs = pstm.executeQuery()) { + while (rs.next()) { + HomeWork homework = new HomeWork(); + homework.setHomework_id(rs.getInt("homework_id")); + homework.setTeacher_id(rs.getInt("teacher_id")); + homework.setType(rs.getInt("type")); + homework.setHomework_describe(rs.getString("homeworkDescribe")); + homework.setStart_time(rs.getString("startTime")); + homework.setFinish_time(rs.getString("finishTime")); + homework.setHomework_name(rs.getString("homework_name")); + homework.setCourse_name(rs.getString("course_name")); + homeworkList.add(homework); + } + } + } catch (SQLException e) { + throw e; + } + return homeworkList; + } } diff --git a/HomeWork-java/src/com/wetoband/template/dao/impl/WrongQuestionDaoImpl.java b/HomeWork-java/src/com/wetoband/template/dao/impl/WrongQuestionDaoImpl.java new file mode 100644 index 0000000..c914004 --- /dev/null +++ b/HomeWork-java/src/com/wetoband/template/dao/impl/WrongQuestionDaoImpl.java @@ -0,0 +1,43 @@ +package com.wetoband.template.dao.impl; + +import com.wetoband.template.dao.WrongQuestionDao; +import com.wetoband.template.entity.HomeWork; +import com.wetoband.template.entity.WrongQuestion; +import org.springframework.stereotype.Repository; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +@Repository +public class WrongQuestionDaoImpl implements WrongQuestionDao { + @Override + public List getWrongQuestion(Connection connection, int student_id) throws SQLException { + // SQL语句 + String sql = "SELECT * FROM wrongquestion WHERE student_id=?"; + List questionList = new ArrayList<>(); + try (PreparedStatement pstm = connection.prepareStatement(sql)) { + pstm.setLong(1, student_id); + try (ResultSet rs = pstm.executeQuery()) { + while (rs.next()) { + WrongQuestion wrongQuestion = new WrongQuestion(); + wrongQuestion.setWrong_id(rs.getInt("wrong_id")); + wrongQuestion.setStudent_id(rs.getInt("student_id")); + wrongQuestion.setHomework_id(rs.getInt("homework_id")); + wrongQuestion.setContent(rs.getString("content")); + wrongQuestion.setAnswer(rs.getString("answer")); + wrongQuestion.setAddTime(rs.getString("addTime")); + questionList.add(wrongQuestion); + } + } + } catch (SQLException e) { + // 处理异常,这里只是简单地让异常继续抛出,但实际应用中可能需要更详细的错误处理 + throw e; + } + + return questionList; + } +} diff --git a/HomeWork-java/src/com/wetoband/template/entity/HomeWork.java b/HomeWork-java/src/com/wetoband/template/entity/HomeWork.java index de396f7..c450bd7 100644 --- a/HomeWork-java/src/com/wetoband/template/entity/HomeWork.java +++ b/HomeWork-java/src/com/wetoband/template/entity/HomeWork.java @@ -12,8 +12,6 @@ public class HomeWork { @Id @Column(name = "homework_id") private Integer homework_id; - @Column(name = "user_id") - private Long user_id; @Column(name = "type") private Integer type; @Column(name = "homework_describe") @@ -26,5 +24,7 @@ public class HomeWork { private String homework_name; @Column(name = "course_name") private String course_name; + @Column(name = "teacher_id") + private Integer teacher_id; } diff --git a/HomeWork-java/src/com/wetoband/template/entity/Question.java b/HomeWork-java/src/com/wetoband/template/entity/Question.java new file mode 100644 index 0000000..1f06ea9 --- /dev/null +++ b/HomeWork-java/src/com/wetoband/template/entity/Question.java @@ -0,0 +1,31 @@ +package com.wetoband.template.entity; + +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Id; +import javax.persistence.Table; + +@Data +@Table(name = "question") +public class Question { + @Id + @Column(name = "question_id") + private Integer question_id; + @Column(name = "student_id") + private Integer student_id; + @Column(name = "teacher_id") + private Integer teacher; + @Column(name = "homework_id") + private Integer homework_id; + @Column(name = "submit_time") + private String submit_time; + @Column(name = "content") + private String content; + @Column(name = "solve_status") + private String solve_status; + @Column(name = "solve_content") + private String solve_content; + @Column(name = "solve_time") + private String solve_time; +} diff --git a/HomeWork-java/src/com/wetoband/template/entity/WrongQuestion.java b/HomeWork-java/src/com/wetoband/template/entity/WrongQuestion.java new file mode 100644 index 0000000..96ad2f3 --- /dev/null +++ b/HomeWork-java/src/com/wetoband/template/entity/WrongQuestion.java @@ -0,0 +1,25 @@ +package com.wetoband.template.entity; + +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Id; +import javax.persistence.Table; + +@Data +@Table(name = "wrongquestion") +public class WrongQuestion { + @Id + @Column(name = "wrong_id") + private Integer wrong_id; + @Column(name = "student_id") + private Integer student_id; + @Column(name = "homework_id") + private Integer homework_id; + @Column(name = "content") + private String content; + @Column(name = "answer") + private String answer; + @Column(name = "addTime") + private String addTime; +} diff --git a/HomeWork-java/src/com/wetoband/template/service/HomeWorkService.java b/HomeWork-java/src/com/wetoband/template/service/HomeWorkService.java index f70ac2c..55d4ba0 100644 --- a/HomeWork-java/src/com/wetoband/template/service/HomeWorkService.java +++ b/HomeWork-java/src/com/wetoband/template/service/HomeWorkService.java @@ -4,7 +4,12 @@ import com.wetoband.template.entity.HomeWork; import java.sql.Connection; import java.sql.SQLException; +import java.util.List; public interface HomeWorkService { - public HomeWork getHomeWorkById(int id) throws Exception; + //public HomeWork getHomeWorkById(int id) throws Exception; + public List getHomeWork( int id) throws Exception; + public List getHomeWorkByCourse(String course_name,int id) throws Exception; + public List getHomeWorkByTeacherName(String name,int id) throws Exception; + public List getHomeWorkByHomeworkName(String homework_name,int id) throws Exception; } diff --git a/HomeWork-java/src/com/wetoband/template/service/WrongQuestionService.java b/HomeWork-java/src/com/wetoband/template/service/WrongQuestionService.java new file mode 100644 index 0000000..6abbb39 --- /dev/null +++ b/HomeWork-java/src/com/wetoband/template/service/WrongQuestionService.java @@ -0,0 +1,10 @@ +package com.wetoband.template.service; + + +import com.wetoband.template.entity.WrongQuestion; + +import java.util.List; + +public interface WrongQuestionService { + public List getWrongQuestion(int student_id) 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 c37fc3e..2920fae 100644 --- a/HomeWork-java/src/com/wetoband/template/service/impl/HomeWorkServiceImpl.java +++ b/HomeWork-java/src/com/wetoband/template/service/impl/HomeWorkServiceImpl.java @@ -10,17 +10,38 @@ import org.springframework.stereotype.Service; import java.sql.Connection; import java.sql.DriverManager; +import java.util.List; @Service @NoArgsConstructor public class HomeWorkServiceImpl implements HomeWorkService { @Autowired private HomeWorkDao homeWorkDao; - @Override + /*@Override public HomeWork getHomeWorkById(int id) throws Exception { //这里是获取数据库连接。调用了jar包中的方法。具体我没看懂,反正这样子就能拿到了连接。。。 final Connection connection = ActionToolBase.getDBConnection(); //将连接传入dao层。 return homeWorkDao.getHomeWorkById(connection,id); + }*/ + + public List getHomeWork(int id) throws Exception { + final Connection connection = ActionToolBase.getDBConnection(); + return homeWorkDao.getHomeWork(connection,id); + } + + public List getHomeWorkByCourse(String course_name,int id) throws Exception { + final Connection connection = ActionToolBase.getDBConnection(); + return homeWorkDao.getHomeWorkByCourse(connection,course_name,id); + } + + public List getHomeWorkByTeacherName(String name,int id) throws Exception { + final Connection connection = ActionToolBase.getDBConnection(); + return homeWorkDao.getHomeWorkByTeacherName(connection,name,id); + } + + public List getHomeWorkByHomeworkName(String homework_name,int id) throws Exception { + final Connection connection = ActionToolBase.getDBConnection(); + return homeWorkDao.getHomeWorkByHomeworkName(connection,homework_name,id); } } diff --git a/HomeWork-java/src/com/wetoband/template/service/impl/WrongQuestionServiceImpl.java b/HomeWork-java/src/com/wetoband/template/service/impl/WrongQuestionServiceImpl.java new file mode 100644 index 0000000..90b3617 --- /dev/null +++ b/HomeWork-java/src/com/wetoband/template/service/impl/WrongQuestionServiceImpl.java @@ -0,0 +1,25 @@ +package com.wetoband.template.service.impl; + +import com.fy.basejar.tool.ActionToolBase; +import com.wetoband.template.dao.HomeWorkDao; +import com.wetoband.template.dao.WrongQuestionDao; +import com.wetoband.template.entity.HomeWork; +import com.wetoband.template.entity.WrongQuestion; +import com.wetoband.template.service.WrongQuestionService; +import lombok.NoArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Connection; +import java.util.List; + +@Service +@NoArgsConstructor +public class WrongQuestionServiceImpl implements WrongQuestionService { + @Autowired + private WrongQuestionDao wrongQuestionDao; + public List getWrongQuestion(int student_id) throws Exception { + final Connection connection = ActionToolBase.getDBConnection(); + return wrongQuestionDao.getWrongQuestion(connection,student_id); + } +} -- Gitee