diff --git a/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java b/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java index 84865041df32aa3d6835ebe3f770815a1dbdf542..39ed1f9936d5c3406d25e973f9c1345b9089d8ba 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 411e2c272c22a00b8603428415eddc3fac3aadb5..38e3ddc700955f98add9380e401f73b507578a9d 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 0000000000000000000000000000000000000000..e32552154b85e6913125d8ce60b8988c324ecf89 --- /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 3155146bdbbd608b64a42aaa92596493adc56260..3f7ecca1a8628cdbb95973ba9d712376e708870f 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 0000000000000000000000000000000000000000..c9140047efc96ca78b5fd43d7fb83d6b4fbb9eec --- /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 de396f719215ed435486856421803433b976c6ed..c450bd73d81d77a8cd3d420c510b1d49476fe599 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 0000000000000000000000000000000000000000..1f06ea97f1b479f9ba4c2604a601b2450afba595 --- /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 0000000000000000000000000000000000000000..96ad2f3c7f518ec74bd648479bf6cb1a2575431d --- /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 f70ac2c10d1c91522beb64027ba0b62d3065ed82..55d4ba0f8aa626cfd751a86769b29be4d71c4c62 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 0000000000000000000000000000000000000000..6abbb3964643565218789f02dd29c2e0e953af30 --- /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 c37fc3ec5a23185065e74094625d6c5ec8b222c4..2920faec693333b8b98390bcc0574fe9ed689cdd 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 0000000000000000000000000000000000000000..90b36172733014f7923e6b2b73dcd49c1add7b5b --- /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); + } +}