diff --git a/.gitignore b/.gitignore
index 173454b..e2b9a9e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,5 +5,10 @@
# IntelliJ project files
.idea
*.iml
-out
-gen
+/wisdom_manager/wisdom_manager_service/target/
+/wisdom_manager/wisdom_manager_pojo/target/
+/wisdom_manager/wisdom_manager_dao/target/
+/wisdom_manager/wisdom_manager_interface/target/
+/wisdom_common/target/
+/wisdom_web/target/
+/.idea/
diff --git a/pom.xml b/pom.xml
index 6e1aba6..20d274d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,8 @@
1.2.15
5.1.32
1.6.4
- 1.2.57
+
+ 2.9.8
1.0.9
4.3.5
1.2
@@ -43,10 +44,31 @@
5.13.0
2.3.23
2.2.2
+ 1.16.6
+ 3.14.1
+ 3.18.2-GA
+ 5.1.6.RELEASE
+
+
+
+
+
+
+
+ com.squareup.okhttp3
+ okhttp
+ ${okhttp.version}
+
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
joda-time
@@ -70,11 +92,13 @@
${commons-net.version}
+
- com.alibaba
- fastjson
- ${fastjson.version}
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
org.apache.httpcomponents
@@ -92,7 +116,6 @@
junit
junit
${junit.version}
- test
@@ -113,7 +136,7 @@
com.github.miemiedev
- mybatis-paginator
+ mybatis-paginator
${mybatis.paginator.version}
@@ -134,12 +157,16 @@
${druid.version}
+
+ org.springframework
+ spring-tx
+ ${springtx.version}
+
org.springframework
spring-context
${spring.version}
-
org.springframework
spring-beans
@@ -211,6 +238,17 @@
com.alibaba
dubbo
${dubbo.version}
+
+
+ javassist
+ org.javassist
+
+
+
+
+ org.javassist
+ javassist
+ ${javassist-version}
org.apache.zookeeper
diff --git a/wisdom_common/pom.xml b/wisdom_common/pom.xml
index f53d587..4dd761b 100644
--- a/wisdom_common/pom.xml
+++ b/wisdom_common/pom.xml
@@ -12,6 +12,14 @@
wisdom_common
+
+ org.projectlombok
+ lombok
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
joda-time
@@ -30,11 +38,6 @@
commons-net
commons-net
-
-
- com.alibaba
- fastjson
-
org.apache.httpcomponents
@@ -49,7 +52,6 @@
junit
junit
- test
@@ -61,6 +63,12 @@
org.mybatis
mybatis
+
+ com.alibaba
+ fastjson
+ 1.2.57
+ compile
+
\ No newline at end of file
diff --git a/wisdom_common/src/main/java/com/smart/pojo/AttDiff.java b/wisdom_common/src/main/java/com/smart/pojo/AttDiff.java
new file mode 100644
index 0000000..e713f47
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/AttDiff.java
@@ -0,0 +1,16 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 俩个考勤区间进行划分
+ */
+@Data
+public class AttDiff implements Serializable {
+ private String thisGrade;//这次的分数
+ private String thisHeadup;//这次的抬头率
+ private String attDiff;//考勤分数不一样
+ private String headupDiff;//抬头率不一样
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/AttendanceCourseItem.java b/wisdom_common/src/main/java/com/smart/pojo/AttendanceCourseItem.java
new file mode 100644
index 0000000..4f22ef0
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/AttendanceCourseItem.java
@@ -0,0 +1,24 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 这节课的考勤状况
+ * @author LM_Code
+ * @create 2019-05-19-15:03
+ */
+@Data
+public class AttendanceCourseItem implements Serializable {
+ String attendance_id;//考勤id
+ String courseitem_id;//这节课的id
+ String student_id;//学生id
+ String student_name;//学生姓名
+ String create_date;//上课时间
+ String status;//到勤状态
+ String head_up_rate;//抬头率
+ String headup_score;//抬头分数
+ String goal;//总分
+ String sleep;//睡觉状态
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/AttendanceItem.java b/wisdom_common/src/main/java/com/smart/pojo/AttendanceItem.java
new file mode 100644
index 0000000..55d4c8f
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/AttendanceItem.java
@@ -0,0 +1,29 @@
+package com.smart.pojo;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author LM_Code
+ * @create 2019-05-09-20:45
+ */
+@Data
+public class AttendanceItem implements Serializable {
+ String attendance_id;//考勤id
+ String courseitem_id;//这一节课的id
+ String course_id;//课程id
+ String name;//课程名
+ Date time;//上课时间
+ String status;//到勤状态
+ String head_up_rate;//抬头率
+ String goal;//总分
+ String teacher_id;//老师id
+ String teacher_name;//老师姓名
+ String classroom_id;//教室id
+ String course_note;//课程note
+ String student_id;//学生id
+ String student_name;//学生名
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/AttendanceSituation.java b/wisdom_common/src/main/java/com/smart/pojo/AttendanceSituation.java
new file mode 100644
index 0000000..129d01d
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/AttendanceSituation.java
@@ -0,0 +1,17 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author LM_Code
+ * @create 2019-05-18-15:59
+ */
+@Data
+public class AttendanceSituation implements Serializable {
+ String student_id;//学生id
+ String name;//学生姓名
+ String create_date;//考勤日期
+ String courseitem_id;//考勤的那节课
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/CheckAttendance.java b/wisdom_common/src/main/java/com/smart/pojo/CheckAttendance.java
new file mode 100644
index 0000000..e82f37c
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/CheckAttendance.java
@@ -0,0 +1,23 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 查看今天有几节课+平均考勤总分+平均抬头率+缺勤人数+睡觉人数
+ * @author LM_Code
+ * @create 2019-05-19-10:23
+ */
+@Data
+public class CheckAttendance implements Serializable {
+ String courseitem_id;//这节课的id
+ String courseitem_name;//课程名
+ int number;//人数
+ String avg_goal;//这节课平均分数
+ String avg_head_up_rate;//这节课平均抬头率
+ String avg_headup_score;//抬头平均分
+ int absent_num;//这节课缺勤人数
+ int sleep_num;//这节课睡觉人数
+ String create_date;//这节课上课时间
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/CheckAttendanceStatistic.java b/wisdom_common/src/main/java/com/smart/pojo/CheckAttendanceStatistic.java
new file mode 100644
index 0000000..c750361
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/CheckAttendanceStatistic.java
@@ -0,0 +1,78 @@
+package com.smart.pojo;
+
+import com.smart.utils.DateUtils;
+import lombok.Data;
+import org.joda.time.DateTime;
+
+import java.io.Serializable;
+import java.text.DecimalFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 对每天的考勤进行分装
+ */
+@Data
+public class CheckAttendanceStatistic implements Serializable {
+ List checkAttendanceList;//这一天的考勤list
+ String date;//日期
+ int headcount;//总人数
+ int sleepNum = 0;//睡觉人数
+ int absentNum;//缺勤人数
+ double sleepRate;//睡觉百分比
+ double sbsentRate;//缺勤率
+ double ToOftenRate;//到勤率
+ double attGoalAve;//考勤平均分
+ double headupGoalAue;//抬头率分数
+ double headUpAve;//抬头率平均分
+ public CheckAttendanceStatistic(){}
+ public CheckAttendanceStatistic(List list){
+ this.checkAttendanceList = list;
+ headcount = 0 ;//总人数
+ sleepNum = 0;//睡觉人数
+ absentNum = 0;//缺勤人数
+ sleepRate = 0;//睡觉百分比
+ sbsentRate = 0;//缺勤率
+ ToOftenRate = 0;//到勤率
+ attGoalAve = 0;//考勤平均分
+ headupGoalAue = 0;//抬头率分数
+ headUpAve = 0;//抬头率平均分
+ //获取今天有几节课
+ int num = list.size();
+ for (CheckAttendance attendance : list) {
+ //计算睡觉的人数
+ sleepNum += attendance.getSleep_num();
+ //计算一共多少人
+ headcount += attendance.getNumber();
+ //计算缺勤的人数
+ absentNum += attendance.getAbsent_num();
+ //先算出总分
+ attGoalAve += Double.parseDouble(attendance.getAvg_goal());
+ headupGoalAue += Double.parseDouble(attendance.getAvg_headup_score());
+ headUpAve += Double.parseDouble(attendance.getAvg_head_up_rate());
+ //计算出日期
+
+ DateTime dateTime = DateUtils.stringToDatetime(attendance.create_date);
+ this.date = dateTime.toString("yyyy-MM-dd");
+ }
+ if (num == 0)
+ num = 1;
+ if(headcount == 0)
+ headcount = 1;
+ //计算抬头率、抬头率平均分、考勤平均分
+ headUpAve /= num;
+ headupGoalAue /= num;
+ attGoalAve /= num;
+ //计算几率
+ sleepRate = (double)sleepNum / (double)headcount;
+ sbsentRate = (double) absentNum/(double)headcount;
+ ToOftenRate = 1-sbsentRate;
+ //对double进行格式化
+ sleepRate = Double.parseDouble(new DecimalFormat("0.0000").format(sleepRate));
+ sbsentRate = Double.parseDouble(new DecimalFormat("0.0000").format(sbsentRate));
+ ToOftenRate = Double.parseDouble(new DecimalFormat("0.0000").format(ToOftenRate));
+ attGoalAve = Double.parseDouble(new DecimalFormat("0.00").format(attGoalAve));
+ headupGoalAue = Double.parseDouble(new DecimalFormat("0.00").format(headupGoalAue));
+ headUpAve = Double.parseDouble(new DecimalFormat("0.0000").format(headUpAve));
+ }
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/CourseAVGAttendance.java b/wisdom_common/src/main/java/com/smart/pojo/CourseAVGAttendance.java
new file mode 100644
index 0000000..979ceae
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/CourseAVGAttendance.java
@@ -0,0 +1,27 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 某同学某个课程的平均考勤情况
+ * @author LM_Code
+ * @create 2019-05-19-15:35
+ */
+@Data
+public class CourseAVGAttendance implements Serializable {
+ String student_id;//学生id
+ String name;//学生姓名
+ String course_id;//课程id
+ String course_name;//课程名称
+ String total;//课程上的次数
+ String leave_num;//请假次数
+ String late_num;//迟到次数
+ String absent_num;//缺勤次数
+ String attend_num;//正常到勤次数
+ String sleep_num;//睡觉次数
+ String avg_head_up_rate;//平均抬头率
+ String avg_headup_score;//平均抬头分数
+ String avg_goal;//平均总分
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/CurrentTime.java b/wisdom_common/src/main/java/com/smart/pojo/CurrentTime.java
new file mode 100644
index 0000000..d622dd5
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/CurrentTime.java
@@ -0,0 +1,23 @@
+package com.smart.pojo;
+
+import org.joda.time.DateTime;
+
+import java.io.Serializable;
+
+/**
+ * 时间类,推算与今天有关的时间信息
+ */
+public class CurrentTime implements Serializable {
+ private DateTime now; //当前时间
+
+ //构造函数
+ public CurrentTime() {
+ now = new DateTime();
+ }
+
+
+
+
+
+
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/DaysAttendanceCollect.java b/wisdom_common/src/main/java/com/smart/pojo/DaysAttendanceCollect.java
new file mode 100644
index 0000000..7a7c4bc
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/DaysAttendanceCollect.java
@@ -0,0 +1,20 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 每天的考勤汇总
+ * @author LM_Code
+ * @create 2019-05-13-21:16
+ */
+@Data
+public class DaysAttendanceCollect implements Serializable {
+ Date date;//日期
+ String sum;//总课程数
+ String avg_head_up_rate;//平均抬头率
+ String avg_head_up_score;//平均抬头分数
+ String avgGoal;//平均考勤分
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/DaysAttendanceCollectStatistic.java b/wisdom_common/src/main/java/com/smart/pojo/DaysAttendanceCollectStatistic.java
new file mode 100644
index 0000000..80f6f54
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/DaysAttendanceCollectStatistic.java
@@ -0,0 +1,52 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.text.DecimalFormat;
+import java.util.List;
+
+/**
+ * 存放每一天的考勤信息+这里面每一天的考勤信息的平均值
+ */
+@Data
+public class DaysAttendanceCollectStatistic implements Serializable {
+ String startTime;//开始时间
+ String endTime;//结束时间
+ int num;//天数
+ String headUpRateAverage;//抬头率平均值
+ String AttendanceGoalAverage;//平均考勤得分
+ List list;//这里面存放的是每一天的考勤信息
+
+ /**
+ * 无参构造
+ */
+ public DaysAttendanceCollectStatistic(){
+
+ }
+
+ /**
+ * 有参构造
+ * @param num 中间间隔多少天
+ * @param list 每一天的大致考勤
+ */
+ public DaysAttendanceCollectStatistic(int num,List list) {
+ this.list = list;
+ this.num = num+1;
+ //在这里计算出平均值
+ double headUpTotal = 0;
+ double AttendanceGoalTotal = 0;
+ for (DaysAttendanceCollect daysAttendanceCollect : list) {
+ AttendanceGoalTotal += Double.parseDouble(daysAttendanceCollect.avgGoal);
+ headUpTotal += Double.parseDouble(daysAttendanceCollect.avg_head_up_rate);
+ }
+ if (this.AttendanceGoalAverage != null || this.headUpRateAverage != null){
+ //计算出考勤的平均值
+ this.AttendanceGoalAverage = new DecimalFormat("0.0").format(AttendanceGoalTotal/num);
+ this.headUpRateAverage = new DecimalFormat("0.0").format(headUpTotal/num);
+ }else {
+ this.AttendanceGoalAverage = "0";
+ this.headUpRateAverage = "0";
+ }
+ }
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/RequestLogin.java b/wisdom_common/src/main/java/com/smart/pojo/RequestLogin.java
new file mode 100644
index 0000000..035115f
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/RequestLogin.java
@@ -0,0 +1,15 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 接受登陆参数的类
+ */
+@Data
+public class RequestLogin implements Serializable {
+ private String account; //账号
+ private String password; //密码
+ private int status; //1为学生,2为老师
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/ServiceMsg.java b/wisdom_common/src/main/java/com/smart/pojo/ServiceMsg.java
new file mode 100644
index 0000000..411a0d3
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/ServiceMsg.java
@@ -0,0 +1,21 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ServiceMsg implements Serializable {
+ String id;
+ String status;
+ String msg;
+
+ public ServiceMsg(){}
+
+
+ public ServiceMsg(String id , String status , String msg){
+ this.id = id;
+ this.status = status;
+ this.msg = msg;
+ }
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/StageAttendanceCollect.java b/wisdom_common/src/main/java/com/smart/pojo/StageAttendanceCollect.java
new file mode 100644
index 0000000..e856ebd
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/StageAttendanceCollect.java
@@ -0,0 +1,21 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author LM_Code
+ * @create 2019-05-14-19:45
+ */
+@Data
+public class StageAttendanceCollect implements Serializable {
+ String avg_head_up_rate;
+ String avg_goal;
+ String attend_times;
+ String late_times;
+ String leave_times;
+ String absent_times;
+ List attendanceItems;
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/StudentInfo.java b/wisdom_common/src/main/java/com/smart/pojo/StudentInfo.java
new file mode 100644
index 0000000..5766963
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/StudentInfo.java
@@ -0,0 +1,26 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author LM_Code
+ * @create 2019-05-08-19:34
+ */
+@Data
+public class StudentInfo implements Serializable {
+ String id;//学生id
+ String name;//姓名
+ String sex;//性别
+ String phone;//电话号
+ String email;//邮件
+ String picture;//头像
+ String classId;//班级id
+ String className;//班级名
+ String professionId;//专业id
+ String professionName;//专业名
+ String collegeId;//学院id
+ String collegeName;//学院名
+ String weixinId;//微信号
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/TeacherInfo.java b/wisdom_common/src/main/java/com/smart/pojo/TeacherInfo.java
new file mode 100644
index 0000000..6d92e94
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/TeacherInfo.java
@@ -0,0 +1,24 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author LM_Code
+ * @create 2019-05-10-19:16
+ */
+@Data
+public class TeacherInfo implements Serializable {
+ String id;//教师id
+ String name;//教师姓名
+ String sex;//性别
+ String college_id;//学院id
+ String college_name;//学院姓名
+ String picture;//头像图片
+ String wexin_id;//微信号
+ String phone_code;//电话号
+ String email;//邮箱
+ String position_id;//职位id
+ String position_name;//职位名
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/WCourseInfo.java b/wisdom_common/src/main/java/com/smart/pojo/WCourseInfo.java
new file mode 100644
index 0000000..6f54dbf
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/WCourseInfo.java
@@ -0,0 +1,28 @@
+package com.smart.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author LM_Code
+ * @create 2019-05-05-15:27
+ */
+@Data
+public class WCourseInfo implements Serializable {
+ String id;
+ Date time;
+ String courseId;
+ String courseName;
+ String courseNode;
+ int attendanceTotalScore;
+ int leaveScore;
+ int attendScore;
+ int lateAttendScore;
+ int headUpScore;
+ String classroomId;
+ String teacherId;
+ String teacherName;
+
+}
diff --git a/wisdom_common/src/main/java/com/smart/pojo/WisdomResult.java b/wisdom_common/src/main/java/com/smart/pojo/WisdomResult.java
new file mode 100644
index 0000000..277ba9f
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/pojo/WisdomResult.java
@@ -0,0 +1,155 @@
+package com.smart.pojo;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ *
+ */
+public class WisdomResult implements Serializable{
+
+ // 定义jackson对象
+ private static final ObjectMapper MAPPER = new ObjectMapper();
+
+ // 响应业务状态
+ private Integer status;
+
+ // 响应消息
+ private String msg;
+
+ // 响应中的数据
+ private Object data;
+
+ public static WisdomResult build(Integer status, String msg, Object data) {
+ return new WisdomResult(status, msg, data);
+ }
+
+ public static WisdomResult ok(Object data) {
+ return new WisdomResult(data);
+ }
+
+ public static WisdomResult ok() {
+ return new WisdomResult(null);
+ }
+
+ public static WisdomResult errot(String msg){
+ return new WisdomResult(0,msg,null);
+ }
+
+ public WisdomResult() {
+
+ }
+
+ public static WisdomResult build(Integer status, String msg) {
+ return new WisdomResult(status, msg, null);
+ }
+
+ public WisdomResult(Integer status, String msg, Object data) {
+ this.status = status;
+ this.msg = msg;
+ this.data = data;
+ }
+
+ public WisdomResult(Object data) {
+ this.status = 1;
+ this.msg = "true";
+ this.data = data;
+ }
+
+// public Boolean isOK() {
+// return this.status == 200;
+// }
+
+ public Integer getStatus() {
+ return status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public Object getData() {
+ return data;
+ }
+
+ public void setData(Object data) {
+ this.data = data;
+ }
+
+ /**
+ * 将json结果集转化为TaotaoResult对象
+ *
+ * @param jsonData json数据
+ * @param clazz TaotaoResult中的object类型
+ * @return
+ */
+ public static WisdomResult formatToPojo(String jsonData, Class> clazz) {
+ try {
+ if (clazz == null) {
+ return MAPPER.readValue(jsonData, WisdomResult.class);
+ }
+ JsonNode jsonNode = MAPPER.readTree(jsonData);
+ JsonNode data = jsonNode.get("data");
+ Object obj = null;
+ if (clazz != null) {
+ if (data.isObject()) {
+ obj = MAPPER.readValue(data.traverse(), clazz);
+ } else if (data.isTextual()) {
+ obj = MAPPER.readValue(data.asText(), clazz);
+ }
+ }
+ return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+ /**
+ * 没有object对象的转化
+ *
+ * @param json
+ * @return
+ */
+ public static WisdomResult format(String json) {
+ try {
+ return MAPPER.readValue(json, WisdomResult.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * Object是集合转化
+ *
+ * @param jsonData json数据
+ * @param clazz 集合中的类型
+ * @return
+ */
+ public static WisdomResult formatToList(String jsonData, Class> clazz) {
+ try {
+ JsonNode jsonNode = MAPPER.readTree(jsonData);
+ JsonNode data = jsonNode.get("data");
+ Object obj = null;
+ if (data.isArray() && data.size() > 0) {
+ obj = MAPPER.readValue(data.traverse(),
+ MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));
+ }
+ return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+}
diff --git a/wisdom_common/src/main/java/com/smart/utils/DateUtils.java b/wisdom_common/src/main/java/com/smart/utils/DateUtils.java
new file mode 100644
index 0000000..cf3c587
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/utils/DateUtils.java
@@ -0,0 +1,191 @@
+package com.smart.utils;
+
+import com.smart.pojo.WisdomResult;
+import org.joda.time.DateTime;
+import org.joda.time.Period;
+import org.joda.time.PeriodType;
+import org.junit.Test;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 专门用来计算时间的时间类
+ */
+public class DateUtils implements Serializable {
+
+ //定义时间格式
+ private String DATE_FORMAT_TOSTRING = "yyyy-MM-dd HH:mm:ss";
+ /**
+ * 获取当前时间
+ */
+ public static DateTime getCurrentTime(){
+ return new DateTime();
+ }
+
+ /**
+ * 指定日期前x月,返回该月的月初,与月末的值
+ */
+ public static Map subXMonthDay(DateTime dateTime , int x){
+ Map map = new HashMap<>();
+ //向前推x个月
+ DateTime month = dateTime.minusMonths(x);
+ //计算该月的第一天
+ map.put("start",month.dayOfMonth().withMinimumValue());
+ //计算该月的最后一天
+ map.put("end",month.dayOfMonth().withMaximumValue());
+ //返回
+ return map;
+ }
+
+ /**
+ * 指定日期的前x个星期,返回该星期的星期数
+ */
+ public static Map subXWeekDay(DateTime dateTime , int x){
+ Map map = new HashMap<>();
+ //向前x个星期
+ DateTime week = dateTime.minusWeeks(x);
+ //计算月初
+ map.put("start",week.dayOfWeek().withMinimumValue());
+ //计算月末
+ map.put("end",week.dayOfWeek().withMaximumValue());
+ return map;
+ }
+
+ /**
+ * 指定日期向后推x个月,获得该月第一天与最后一天
+ */
+ public static Map addXMonthDay(DateTime dateTime , int x){
+ Map map = new HashMap<>();
+ //向前推x个月
+ DateTime month = dateTime.plusMonths(x);
+ //计算该月的第一天
+ map.put("start",month.dayOfMonth().withMinimumValue());
+ //计算该月的最后一天
+ map.put("end",month.dayOfMonth().withMaximumValue());
+ //返回
+ return map;
+ }
+
+ /**
+ * 向后推x个星期,获取该星期第一天与最后一天
+ */
+ public static Map addXWeekDay(DateTime dateTime , int x){
+ Map map = new HashMap<>();
+ //向前x个星期
+ DateTime week = dateTime.plusWeeks(x);
+ //计算月初
+ map.put("start",week.dayOfWeek().withMinimumValue());
+ //计算月末
+ map.put("end",week.dayOfWeek().withMaximumValue());
+ return map;
+ }
+
+ /**
+ * 传来一个时间,将该时间转换为00:00 ---23:59
+ */
+ public static Map formatSpellTime(DateTime dateTime){
+ return formatSpellTime(dateTime,dateTime);
+ }
+
+ /**
+ * 传来一个时间段,将该时间段转化为起始时间00:00----末尾时间+1天的00:00
+ */
+ public static Map formatSpellTime(DateTime begin,DateTime end) {
+ Map map = new HashMap<>();
+ //0点
+ DateTime beginDay = new DateTime(begin.getYear(), begin.getMonthOfYear(), begin.getDayOfMonth()
+ , 0, 0);
+ //第二天0点
+ DateTime tomorrow = end.plusDays(1);
+ DateTime tomorrowDay = new DateTime(tomorrow.getYear(), tomorrow.getMonthOfYear(), tomorrow.getDayOfMonth()
+ , 0, 0);
+ //添加进map中
+ map.put("start", beginDay);
+ map.put("end", tomorrowDay);
+ return map;
+ }
+
+ /**
+ * 判断传来的时间是否在另外一个时间
+ */
+ public static WisdomResult isAheadOfTime(DateTime dateTime , DateTime standard){
+ WisdomResult wisdomResult = new WisdomResult(1,"true",null);
+ if (dateTime.isAfter(standard)){
+ wisdomResult.setStatus(0);
+ wisdomResult.setMsg("false");
+ }
+ return wisdomResult;
+ }
+
+ /**
+ * 传来一个起始时间,判断结束时间是否在开始时间与开学时间之前
+ * @param OpenTime 开学时间
+ * @param begin 起始时间
+ * @param end 结束时间
+ * @return 返回判断结果与消息
+ */
+ public static WisdomResult isAheadOfSpellTime(DateTime OpenTime , DateTime begin , DateTime end){
+ //判断开学时间与起始时间的关系
+ WisdomResult wisdomResult1 = isAheadOfTime(begin,OpenTime);
+ if (wisdomResult1.getStatus() == 0){
+ return new WisdomResult(0,"请注意开学时间不可在查询起始时间之后!请修改",null);
+ }
+ //判断开学时间与结束时间的关系
+ WisdomResult wisdomResult2 = isAheadOfTime(end,OpenTime);
+ if (wisdomResult2.getStatus() == 0){
+ return new WisdomResult(0,"请注意结束时间不可以在开学时间前",null);
+ }
+ //判断起始时间与结束时间的关系
+ WisdomResult wisdomResult3 = isAheadOfTime(end,begin);
+ if (wisdomResult3.getStatus() == 0){
+ return new WisdomResult(0,"请注意结束时间不可在开始时间之前",null);
+ }
+ //编写返回信息
+ return new WisdomResult(1,"true",null);
+ }
+
+ /**
+ * 将dateTime时间类型转成字符串
+ * @param dateTime
+ * @return
+ */
+ public static String dateTimeToString (DateTime dateTime){
+ return dateTime.toString("yyyy-MM-dd HH:mm:ss");
+ }
+
+ /**
+ * 将yyyy-mm-dd 00:00:00专程yyyy-mm-ddT00:00:00
+ * @param s 字符串时间
+ */
+ public static DateTime stringToDatetime(String s){
+ int index = s.indexOf(" ");
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append(s.substring(0,index));
+ stringBuilder.append("T");
+ stringBuilder.append(s.substring(index+1));
+ DateTime dateTime = new DateTime(stringBuilder.toString());
+ return dateTime;
+ }
+
+ /**
+ * 计算俩个时间中间差多少天
+ */
+ public static int twoDayGap(DateTime start , DateTime end){
+ Period p = new Period(start, end, PeriodType.days());
+ return p.getDays();
+ }
+ @Test
+ public void fun1(){
+ int x = 1;
+ DateTime dateTime = new DateTime(2010,1,1,2,1);
+ DateTime dateTime1 = new DateTime(2012,1,3,4,5);
+ final Map map = formatSpellTime(dateTime,dateTime1);
+ System.out.println();
+ }
+
+
+
+}
diff --git a/wisdom_common/src/main/java/com/smart/utils/JsonUtils.java b/wisdom_common/src/main/java/com/smart/utils/JsonUtils.java
new file mode 100644
index 0000000..4f364a6
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/utils/JsonUtils.java
@@ -0,0 +1,72 @@
+package com.smart.utils;
+
+import java.io.Serializable;
+import java.util.List;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+/**
+ *
+ */
+public class JsonUtils implements Serializable {
+
+ // 定义jackson对象
+ private static final ObjectMapper MAPPER = new ObjectMapper();
+
+ /**
+ * 将对象转换成json字符串。
+ * Title: pojoToJson
+ * Description:
+ * @param data
+ * @return
+ */
+ public static String objectToJson(Object data) {
+ try {
+ String string = MAPPER.writeValueAsString(data);
+ return string;
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * 将json结果集转化为对象
+ *
+ * @param jsonData json数据
+
+ * @return
+ */
+ public static T jsonToPojo(String jsonData, Class beanType) {
+ try {
+ T t = MAPPER.readValue(jsonData, beanType);
+ return t;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * 将json数据转换成pojo对象list
+ * Title: jsonToList
+ * Description:
+ * @param jsonData
+ * @param beanType
+ * @return
+ */
+ public static List jsonToList(String jsonData, Class beanType) {
+ JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
+ try {
+ List list = MAPPER.readValue(jsonData, javaType);
+ return list;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+}
diff --git a/wisdom_common/src/main/java/com/smart/utils/StringToJsonSerializer.java b/wisdom_common/src/main/java/com/smart/utils/StringToJsonSerializer.java
new file mode 100644
index 0000000..b7a6f7d
--- /dev/null
+++ b/wisdom_common/src/main/java/com/smart/utils/StringToJsonSerializer.java
@@ -0,0 +1,23 @@
+package com.smart.utils;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.JSONSerializer;
+import com.alibaba.fastjson.serializer.ObjectSerializer;
+
+import java.io.IOException;
+import java.lang.reflect.Type;
+
+/**
+ * 序列化时将string转为json格式,避免出现\转义符号
+ * @author lenovo
+ *
+ */
+public class StringToJsonSerializer implements ObjectSerializer {
+
+ @Override
+ public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType,
+ int features) throws IOException {
+ serializer.write(JSONObject.parseObject(object.toString()));
+ }
+
+}
\ No newline at end of file
diff --git a/wisdom_common/target/classes/com/smart/utils/utils.class b/wisdom_common/target/classes/com/smart/utils/utils.class
deleted file mode 100644
index 4be732c..0000000
Binary files a/wisdom_common/target/classes/com/smart/utils/utils.class and /dev/null differ
diff --git a/wisdom_common/target/maven-archiver/pom.properties b/wisdom_common/target/maven-archiver/pom.properties
deleted file mode 100644
index 9cb1fe8..0000000
--- a/wisdom_common/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Generated by Maven
-#Sun Apr 28 15:24:54 CST 2019
-version=1.0-SNAPSHOT
-groupId=com.smart
-artifactId=wisdom_common
diff --git a/wisdom_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/wisdom_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index 91d480c..0000000
--- a/wisdom_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-com\smart\utils\utils.class
diff --git a/wisdom_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/wisdom_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index 07168ff..0000000
--- a/wisdom_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-D:\IDEAworkspace\git_wisdom\wisdom_common\src\main\java\com\smart\utils\utils.java
diff --git a/wisdom_common/target/wisdom_common.jar b/wisdom_common/target/wisdom_common.jar
deleted file mode 100644
index c969ee6..0000000
Binary files a/wisdom_common/target/wisdom_common.jar and /dev/null differ
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbAnswerQuestionMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbAnswerQuestionMapper.java
new file mode 100644
index 0000000..8fbfcc8
--- /dev/null
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbAnswerQuestionMapper.java
@@ -0,0 +1,31 @@
+package com.smart.mapper;
+
+import com.smart.pojo.TbAnswerQuestion;
+import com.smart.pojo.TbAnswerQuestionExample;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface TbAnswerQuestionMapper {
+ long countByExample(TbAnswerQuestionExample example);
+
+ int deleteByExample(TbAnswerQuestionExample example);
+
+ int deleteByPrimaryKey(String id);
+
+ int insert(TbAnswerQuestion record);
+
+ int insertSelective(TbAnswerQuestion record);
+
+ List selectByExample(TbAnswerQuestionExample example);
+
+ TbAnswerQuestion selectByPrimaryKey(String id);
+
+ int updateByExampleSelective(@Param("record") TbAnswerQuestion record, @Param("example") TbAnswerQuestionExample example);
+
+ int updateByExample(@Param("record") TbAnswerQuestion record, @Param("example") TbAnswerQuestionExample example);
+
+ int updateByPrimaryKeySelective(TbAnswerQuestion record);
+
+ int updateByPrimaryKey(TbAnswerQuestion record);
+}
\ No newline at end of file
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassMapper.java
index 3284175..841bb23 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbClass;
import com.smart.pojo.TbClassExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbClassMapper {
long countByExample(TbClassExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassitemMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassitemMapper.java
index 55b8bac..385f157 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassitemMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassitemMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbClassitem;
import com.smart.pojo.TbClassitemExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbClassitemMapper {
long countByExample(TbClassitemExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassroomMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassroomMapper.java
index dfb258a..f4ca9ea 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassroomMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbClassroomMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbClassroom;
import com.smart.pojo.TbClassroomExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbClassroomMapper {
long countByExample(TbClassroomExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCollegeMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCollegeMapper.java
index c48c07a..9e822a7 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCollegeMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCollegeMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbCollege;
import com.smart.pojo.TbCollegeExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbCollegeMapper {
long countByExample(TbCollegeExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCollegeitemMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCollegeitemMapper.java
index 984c826..b325d32 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCollegeitemMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCollegeitemMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbCollegeitem;
import com.smart.pojo.TbCollegeitemExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbCollegeitemMapper {
long countByExample(TbCollegeitemExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseClassMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseClassMapper.java
index 4ef4580..a39e750 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseClassMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseClassMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbCourseClass;
import com.smart.pojo.TbCourseClassExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbCourseClassMapper {
long countByExample(TbCourseClassExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseMapper.java
index b7ffb59..4a30181 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbCourse;
import com.smart.pojo.TbCourseExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbCourseMapper {
long countByExample(TbCourseExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseTeacherMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseTeacherMapper.java
index 3f19599..220b913 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseTeacherMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseTeacherMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbCourseTeacher;
import com.smart.pojo.TbCourseTeacherExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbCourseTeacherMapper {
long countByExample(TbCourseTeacherExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemHomeworkMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemHomeworkMapper.java
new file mode 100644
index 0000000..9c18b32
--- /dev/null
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemHomeworkMapper.java
@@ -0,0 +1,31 @@
+package com.smart.mapper;
+
+import com.smart.pojo.TbCourseitemHomework;
+import com.smart.pojo.TbCourseitemHomeworkExample;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface TbCourseitemHomeworkMapper {
+ long countByExample(TbCourseitemHomeworkExample example);
+
+ int deleteByExample(TbCourseitemHomeworkExample example);
+
+ int deleteByPrimaryKey(@Param("courseitemId") String courseitemId, @Param("studentId") String studentId);
+
+ int insert(TbCourseitemHomework record);
+
+ int insertSelective(TbCourseitemHomework record);
+
+ List selectByExample(TbCourseitemHomeworkExample example);
+
+ TbCourseitemHomework selectByPrimaryKey(@Param("courseitemId") String courseitemId, @Param("studentId") String studentId);
+
+ int updateByExampleSelective(@Param("record") TbCourseitemHomework record, @Param("example") TbCourseitemHomeworkExample example);
+
+ int updateByExample(@Param("record") TbCourseitemHomework record, @Param("example") TbCourseitemHomeworkExample example);
+
+ int updateByPrimaryKeySelective(TbCourseitemHomework record);
+
+ int updateByPrimaryKey(TbCourseitemHomework record);
+}
\ No newline at end of file
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemMapper.java
index 4f05bd6..2b74883 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbCourseitem;
import com.smart.pojo.TbCourseitemExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbCourseitemMapper {
long countByExample(TbCourseitemExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemPptMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemPptMapper.java
new file mode 100644
index 0000000..e9c0b8d
--- /dev/null
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbCourseitemPptMapper.java
@@ -0,0 +1,31 @@
+package com.smart.mapper;
+
+import com.smart.pojo.TbCourseitemPpt;
+import com.smart.pojo.TbCourseitemPptExample;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface TbCourseitemPptMapper {
+ long countByExample(TbCourseitemPptExample example);
+
+ int deleteByExample(TbCourseitemPptExample example);
+
+ int deleteByPrimaryKey(String courseitemId);
+
+ int insert(TbCourseitemPpt record);
+
+ int insertSelective(TbCourseitemPpt record);
+
+ List selectByExample(TbCourseitemPptExample example);
+
+ TbCourseitemPpt selectByPrimaryKey(String courseitemId);
+
+ int updateByExampleSelective(@Param("record") TbCourseitemPpt record, @Param("example") TbCourseitemPptExample example);
+
+ int updateByExample(@Param("record") TbCourseitemPpt record, @Param("example") TbCourseitemPptExample example);
+
+ int updateByPrimaryKeySelective(TbCourseitemPpt record);
+
+ int updateByPrimaryKey(TbCourseitemPpt record);
+}
\ No newline at end of file
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbOfficerMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbOfficerMapper.java
index c85b255..8f8a85f 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbOfficerMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbOfficerMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbOfficer;
import com.smart.pojo.TbOfficerExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbOfficerMapper {
long countByExample(TbOfficerExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbPositionMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbPositionMapper.java
index 0d11d6f..c55b36b 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbPositionMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbPositionMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbPosition;
import com.smart.pojo.TbPositionExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbPositionMapper {
long countByExample(TbPositionExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbProfessionMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbProfessionMapper.java
index 06afc85..5e259d3 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbProfessionMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbProfessionMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbProfession;
import com.smart.pojo.TbProfessionExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbProfessionMapper {
long countByExample(TbProfessionExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbProfessionitemMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbProfessionitemMapper.java
index 596681a..0698d2b 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbProfessionitemMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbProfessionitemMapper.java
@@ -2,9 +2,8 @@
import com.smart.pojo.TbProfessionitem;
import com.smart.pojo.TbProfessionitemExample;
-import org.apache.ibatis.annotations.Param;
-
import java.util.List;
+import org.apache.ibatis.annotations.Param;
public interface TbProfessionitemMapper {
long countByExample(TbProfessionitemExample example);
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbStudentMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbStudentMapper.java
index e6a3f5f..096b20f 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbStudentMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbStudentMapper.java
@@ -1,11 +1,11 @@
package com.smart.mapper;
-import com.smart.pojo.TbStudent;
-import com.smart.pojo.TbStudentExample;
-import org.apache.ibatis.annotations.Param;
+import com.smart.pojo.*;
import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
public interface TbStudentMapper {
long countByExample(TbStudentExample example);
@@ -28,4 +28,122 @@ public interface TbStudentMapper {
int updateByPrimaryKeySelective(TbStudent record);
int updateByPrimaryKey(TbStudent record);
+
+// 自己添加的方法
+ /**
+ * 查询特定班级的一段时间内的课程
+ * @param classId 查询的班级编号
+ * @param start 开始时间
+ * @param end 结束时间
+ */
+ List selectWCourseInfo(@Param("classId")String classId , @Param("start") String start , @Param("end") String end);
+
+ /**
+ * 使用微信的openid查询学生用户信息
+ * @param wexin_id 全网唯一的一个openid
+ * @return 这个学生的个人信息
+ */
+ StudentInfo selectStudentInfo(String wexin_id);//用openId查
+
+
+ /**
+ * 通过账号密码学生账号
+ * @param id 账号
+ * @param password 密码
+ * @return 学生的基本信息
+ */
+ StudentInfo selectStudentIdAndPassword(@Param("id") String id, @Param("password") String password);
+
+ /**
+ * 通过学生的id、开始时间,结束时间查询这段时间的考勤情况
+ * @param studentId 学生id
+ * @param start 开始时间
+ * @param end 结束时间
+ * @return 一个考勤链表
+ */
+ List selectAttendanceItem(@Param("studentId") String studentId, @Param("start") String start, @Param("end") String end);
+
+ /**
+ * 通过学号查询信息
+ * @param id 学号
+ * @return
+ */
+ StudentInfo selectStudentInfoById(String id);
+
+ /**
+ * 通过学生的id、课程的id、开始时间、结束时间查询这段时间的考勤情况
+ * @param studentId 学生id
+ * @param start 开始时间
+ * @param end 结束时间
+ * @return 一个考勤链表
+ */
+ List selectAttendanceItemByStudentCourseStartEnd(@Param("studentId") String studentId,@Param("courseId") String courseId , @Param("start") String start, @Param("end") String end);
+
+ /**
+ * 通过班级id、课程id、开始时间和结束时间查询 这段时间,这个班的考勤情况
+ * @param classId 班级id
+ * @param courseId 课程id
+ * @param start 开始
+ * @param end 结束
+ * @return
+ */
+ List selectAttendanceItemByClassCourseStartEnd(@Param("classId") String classId,@Param("courseId") String courseId , @Param("start") String start, @Param("end") String end);
+
+ /**
+ * 通过学生id,开始时间,结束时间,查询每天的汇总情况
+ * @param id 学生id
+ * @param start 开始时间
+ * @param end 结束时间
+ * @return
+ */
+ List selectDaysAttendanceCollectByIDStartEnd(@Param("id")String id,@Param("start")String start,@Param("end")String end);
+
+ /**
+ * 通过学生id,开始时间,结束时间,查询所有考勤的汇总信息
+ * @param id 学生id
+ * @param start 开始时间
+ * @param end 结束时间
+ * @return
+ */
+ StageAttendanceCollect queryStageAttendanceCollectByIdStartEnd(@Param("id")String id,@Param("start")String start,@Param("end")String end);
+
+ /**
+ * 通过课程id,开始时间,结束时间查询本课考勤的汇总信息
+ * @param course_id 课程id
+ * @param start 开始时间
+ * @param end 结束时间
+ * @return
+ */
+ StageAttendanceCollect queryStageAttendanceCollectByCourseIdStartEnd(@Param("course_id")String course_id,@Param("start")String start,@Param("end")String end);
+
+ /**
+ * 查看今天有几节课+平均考勤总分+平均抬头率+缺勤人数+睡觉人数
+ * @param start
+ * @param end
+ * @return
+ */
+ List queryCheckAttendance(@Param("start")String start, @Param("end")String end, @Param("teacher_id")String teacher_id);
+
+ /**
+ * 根据这节课的id查询每个人的考勤状况
+ * @param courseitem_id 这节课的id
+ * @return
+ */
+ List queryAttendanceCourseItemByCourseitem_id(String courseitem_id);
+
+ /**
+ * 根据课程和学生,查询此学生在这门课的平均表现情况
+ * @param student_id 学生id
+ * @param course_id 课程id
+ * @return
+ */
+ CourseAVGAttendance queryCourseAVGAttendance(@Param("student_id")String student_id, @Param("course_id")String course_id);
+
+ /**
+ * 根据学生id,课程id查每节课此学生的课堂表现
+ * @param student_id 学生id
+ * @param course_id 课程id
+ * @return
+ */
+ List queryAttendanceCourseItemByStudentCourse(@Param("student_id")String student_id, @Param("course_id")String course_id);
}
\ No newline at end of file
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbTeacherMapper.java b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbTeacherMapper.java
index a1a1aa9..74ebd5b 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbTeacherMapper.java
+++ b/wisdom_manager/wisdom_manager_dao/src/main/java/com/smart/mapper/TbTeacherMapper.java
@@ -1,10 +1,14 @@
package com.smart.mapper;
+import com.smart.pojo.AttendanceSituation;
import com.smart.pojo.TbTeacher;
import com.smart.pojo.TbTeacherExample;
+import java.util.List;
+
+import com.smart.pojo.TeacherInfo;
import org.apache.ibatis.annotations.Param;
-import java.util.List;
+import javax.xml.stream.events.EndDocument;
public interface TbTeacherMapper {
long countByExample(TbTeacherExample example);
@@ -28,4 +32,36 @@ public interface TbTeacherMapper {
int updateByPrimaryKeySelective(TbTeacher record);
int updateByPrimaryKey(TbTeacher record);
+
+ //自己添加的方法
+ /**
+ * 使用微信的openid查询老师用户信息
+ * @param wexin_id 全网唯一的一个openid
+ * @return 这个老师的个人信息
+ */
+ TeacherInfo selectTeacherInfo(String wexin_id);//用openId查
+
+ /**
+ * 通过账号密码老师账号
+ * @param id 账号
+ * @param password 密码
+ * @return 学生的基本信息
+ */
+ TeacherInfo selectTeacherIdAndPassword(@Param("id") String id, @Param("password") String password);
+
+ /**
+ * 通过老师查询信息
+ * @param id 学号
+ * @return
+ */
+ TeacherInfo selectTeacherInfoById(String id);
+
+ /**
+ * 查询一段时间的缺勤情况
+ * @param status 查勤的状态
+ * @param start 开始时间(可以和下者同时为null)
+ * @param end 结束时间(可以和上着同时为null)
+ * @param courseitem_id 哪节课(可以为null,为null是必须有start和end)
+ */
+ List queryAttendanceSituation(@Param("status")String status, @Param("start")String start, @Param("end")String end, @Param("courseitem_id")String courseitem_id);
}
\ No newline at end of file
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/resources/com/smart/mapper/TbAnswerQuestionMapper.xml b/wisdom_manager/wisdom_manager_dao/src/main/resources/com/smart/mapper/TbAnswerQuestionMapper.xml
new file mode 100644
index 0000000..9ccfca2
--- /dev/null
+++ b/wisdom_manager/wisdom_manager_dao/src/main/resources/com/smart/mapper/TbAnswerQuestionMapper.xml
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+ id, father_id, from_id, from_name, to_id, to_name, time, msg, status
+
+
+
+
+ delete from tb_answer_question
+ where id = #{id,jdbcType=VARCHAR}
+
+
+ delete from tb_answer_question
+
+
+
+
+
+ insert into tb_answer_question (id, father_id, from_id,
+ from_name, to_id, to_name,
+ time, msg, status)
+ values (#{id,jdbcType=VARCHAR}, #{fatherId,jdbcType=VARCHAR}, #{fromId,jdbcType=VARCHAR},
+ #{fromName,jdbcType=VARCHAR}, #{toId,jdbcType=VARCHAR}, #{toName,jdbcType=VARCHAR},
+ #{time,jdbcType=TIMESTAMP}, #{msg,jdbcType=VARCHAR}, #{status,jdbcType=CHAR})
+
+
+ insert into tb_answer_question
+
+
+ id,
+
+
+ father_id,
+
+
+ from_id,
+
+
+ from_name,
+
+
+ to_id,
+
+
+ to_name,
+
+
+ time,
+
+
+ msg,
+
+
+ status,
+
+
+
+
+ #{id,jdbcType=VARCHAR},
+
+
+ #{fatherId,jdbcType=VARCHAR},
+
+
+ #{fromId,jdbcType=VARCHAR},
+
+
+ #{fromName,jdbcType=VARCHAR},
+
+
+ #{toId,jdbcType=VARCHAR},
+
+
+ #{toName,jdbcType=VARCHAR},
+
+
+ #{time,jdbcType=TIMESTAMP},
+
+
+ #{msg,jdbcType=VARCHAR},
+
+
+ #{status,jdbcType=CHAR},
+
+
+
+
+
+ update tb_answer_question
+
+
+ id = #{record.id,jdbcType=VARCHAR},
+
+
+ father_id = #{record.fatherId,jdbcType=VARCHAR},
+
+
+ from_id = #{record.fromId,jdbcType=VARCHAR},
+
+
+ from_name = #{record.fromName,jdbcType=VARCHAR},
+
+
+ to_id = #{record.toId,jdbcType=VARCHAR},
+
+
+ to_name = #{record.toName,jdbcType=VARCHAR},
+
+
+ time = #{record.time,jdbcType=TIMESTAMP},
+
+
+ msg = #{record.msg,jdbcType=VARCHAR},
+
+
+ status = #{record.status,jdbcType=CHAR},
+
+
+
+
+
+
+
+ update tb_answer_question
+ set id = #{record.id,jdbcType=VARCHAR},
+ father_id = #{record.fatherId,jdbcType=VARCHAR},
+ from_id = #{record.fromId,jdbcType=VARCHAR},
+ from_name = #{record.fromName,jdbcType=VARCHAR},
+ to_id = #{record.toId,jdbcType=VARCHAR},
+ to_name = #{record.toName,jdbcType=VARCHAR},
+ time = #{record.time,jdbcType=TIMESTAMP},
+ msg = #{record.msg,jdbcType=VARCHAR},
+ status = #{record.status,jdbcType=CHAR}
+
+
+
+
+
+ update tb_answer_question
+
+
+ father_id = #{fatherId,jdbcType=VARCHAR},
+
+
+ from_id = #{fromId,jdbcType=VARCHAR},
+
+
+ from_name = #{fromName,jdbcType=VARCHAR},
+
+
+ to_id = #{toId,jdbcType=VARCHAR},
+
+
+ to_name = #{toName,jdbcType=VARCHAR},
+
+
+ time = #{time,jdbcType=TIMESTAMP},
+
+
+ msg = #{msg,jdbcType=VARCHAR},
+
+
+ status = #{status,jdbcType=CHAR},
+
+
+ where id = #{id,jdbcType=VARCHAR}
+
+
+ update tb_answer_question
+ set father_id = #{fatherId,jdbcType=VARCHAR},
+ from_id = #{fromId,jdbcType=VARCHAR},
+ from_name = #{fromName,jdbcType=VARCHAR},
+ to_id = #{toId,jdbcType=VARCHAR},
+ to_name = #{toName,jdbcType=VARCHAR},
+ time = #{time,jdbcType=TIMESTAMP},
+ msg = #{msg,jdbcType=VARCHAR},
+ status = #{status,jdbcType=CHAR}
+ where id = #{id,jdbcType=VARCHAR}
+
+
\ No newline at end of file
diff --git a/wisdom_manager/wisdom_manager_dao/src/main/resources/com/smart/mapper/TbAttendanceMapper.xml b/wisdom_manager/wisdom_manager_dao/src/main/resources/com/smart/mapper/TbAttendanceMapper.xml
index 05c1769..18caf24 100644
--- a/wisdom_manager/wisdom_manager_dao/src/main/resources/com/smart/mapper/TbAttendanceMapper.xml
+++ b/wisdom_manager/wisdom_manager_dao/src/main/resources/com/smart/mapper/TbAttendanceMapper.xml
@@ -9,6 +9,8 @@
+
+
@@ -69,7 +71,8 @@
- attendance_id, courseitem_id, student_id, create_date, status, head_up_rate, goal
+ attendance_id, courseitem_id, student_id, create_date, status, head_up_rate, goal,
+ sleep, headup_score