From f79b70bed6bb9297a4b0d899f71240bc9f5450a6 Mon Sep 17 00:00:00 2001
From: DESKTOP-HG94VRH\taohandong <2821744554@qq.com>
Date: Mon, 25 Nov 2019 10:56:24 +0800
Subject: [PATCH] no message
---
cloud/weigeng/libs/sqljdbc4-4.2-6.jar | Bin 0 -> 891084 bytes
cloud/weigeng/pom.xml | 1 +
cloud/weigeng/src/main/java/com/sincere/weigeng/AuthService.java | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/HomeBean.java | 33 +++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/Homework.java | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/HomeworkReceive.java | 34 ++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/ImageUtils.java | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/JiaoCai.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/Knowledge.java | 44 ++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/MyTask.java | 30 ++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/QuestionBean.java | 277 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentAnswer.java | 44 ++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentBean.java | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentInfo.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/TestDao.java | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/TestPaper.java | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/controller/WgController.java | 216 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cloud/weigeng/src/main/java/com/sincere/weigeng/dao/UserDao.java | 29 +++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WgUdpCommShort.java | 120 ------------------------------------------------------------------------------------------------------------------------
cloud/weigeng/src/main/resources/mybatis-config.xml | 35 +++++++++++++++++++++++++++++++++++
cloud/weigeng/src/test/java/com/sincere/weigeng/WeigengApplicationTests.java | 570 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21 files changed, 2136 insertions(+), 336 deletions(-)
create mode 100644 cloud/weigeng/libs/sqljdbc4-4.2-6.jar
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/AuthService.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/HomeBean.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/Homework.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/HomeworkReceive.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/ImageUtils.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/JiaoCai.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/Knowledge.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/MyTask.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/QuestionBean.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/StudentAnswer.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/StudentBean.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/StudentInfo.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/TestDao.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/TestPaper.java
delete mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/controller/WgController.java
create mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/dao/UserDao.java
delete mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WgUdpCommShort.java
create mode 100644 cloud/weigeng/src/main/resources/mybatis-config.xml
create mode 100644 cloud/weigeng/src/test/java/com/sincere/weigeng/WeigengApplicationTests.java
diff --git a/cloud/weigeng/libs/sqljdbc4-4.2-6.jar b/cloud/weigeng/libs/sqljdbc4-4.2-6.jar
new file mode 100644
index 0000000..d33695c
Binary files /dev/null and b/cloud/weigeng/libs/sqljdbc4-4.2-6.jar differ
diff --git a/cloud/weigeng/pom.xml b/cloud/weigeng/pom.xml
index f208afb..00e3e88 100644
--- a/cloud/weigeng/pom.xml
+++ b/cloud/weigeng/pom.xml
@@ -24,6 +24,7 @@
org.springframework.boot
spring-boot-starter-web
+
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/AuthService.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/AuthService.java
new file mode 100644
index 0000000..36ae7cb
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/AuthService.java
@@ -0,0 +1,86 @@
+package com.sincere.weigeng;
+
+import org.json.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 获取token类
+ */
+public class AuthService {
+ //设置APPID/AK/SK
+ public static final String APP_ID = "15990462";
+ public static final String API_KEY = "t70Rzr6SGmfU9S6MrqAkspsY";
+ public static final String SECRET_KEY = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS ";
+ /**
+ * 获取权限token
+ * @return 返回示例:
+ * {
+ * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",
+ * "expires_in": 2592000
+ * }
+ */
+ public static String getAuth() {
+ // 官网获取的 API Key 更新为你注册的
+ String clientId = "t70Rzr6SGmfU9S6MrqAkspsY";
+ // 官网获取的 Secret Key 更新为你注册的
+ String clientSecret = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS";
+ return getAuth(clientId, clientSecret);
+ }
+
+ /**
+ * 获取API访问token
+ * 该token有一定的有效期,需要自行管理,当失效时需重新获取.
+ * @param ak - 百度云官网获取的 API Key
+ * @param sk - 百度云官网获取的 Securet Key
+ * @return assess_token 示例:
+ * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"
+ */
+ public static String getAuth(String ak, String sk) {
+ // 获取token地址
+ String authHost = "https://aip.baidubce.com/oauth/2.0/token?";
+ String getAccessTokenUrl = authHost
+ // 1. grant_type为固定参数
+ + "grant_type=client_credentials"
+ // 2. 官网获取的 API Key
+ + "&client_id=" + ak
+ // 3. 官网获取的 Secret Key
+ + "&client_secret=" + sk;
+ try {
+ URL realUrl = new URL(getAccessTokenUrl);
+ // 打开和URL之间的连接
+ HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
+ connection.setRequestMethod("GET");
+ connection.connect();
+ // 获取所有响应头字段
+ Map> map = connection.getHeaderFields();
+ // 遍历所有的响应头字段
+ for (String key : map.keySet()) {
+ System.err.println(key + "--->" + map.get(key));
+ }
+ // 定义 BufferedReader输入流来读取URL的响应
+ BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+ String result = "";
+ String line;
+ while ((line = in.readLine()) != null) {
+ result += line;
+ }
+ /**
+ * 返回结果示例
+ */
+ System.err.println("result:" + result);
+ JSONObject jsonObject = new JSONObject(result);
+ String access_token = jsonObject.getString("access_token");
+ return access_token;
+ } catch (Exception e) {
+ System.err.printf("获取token失败!");
+ e.printStackTrace(System.err);
+ }
+ return null;
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/HomeBean.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/HomeBean.java
new file mode 100644
index 0000000..3409099
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/HomeBean.java
@@ -0,0 +1,33 @@
+package com.sincere.weigeng;
+
+public class HomeBean {
+
+ private String CreatorUserId;
+
+ private String Title;
+
+
+ public String getCreatorUserId() {
+ return CreatorUserId;
+ }
+
+ public void setCreatorUserId(String creatorUserId) {
+ CreatorUserId = creatorUserId;
+ }
+
+ public String getTitle() {
+ return Title;
+ }
+
+ public void setTitle(String title) {
+ Title = title;
+ }
+
+ @Override
+ public String toString() {
+ return "HomeBean{" +
+ "CreatorUserId='" + CreatorUserId + '\'' +
+ ", Title='" + Title + '\'' +
+ '}';
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/Homework.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/Homework.java
new file mode 100644
index 0000000..9a34851
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/Homework.java
@@ -0,0 +1,189 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+
+public class Homework implements Serializable {
+
+ private String ID;
+
+ private String CreatorUserId;
+
+ private String PaperId;
+
+ private String Title;
+
+ private int SuggestionTime;
+
+ private String Deadline;
+
+ private int State;
+
+ private String Intime;
+
+ private int SubjectId;
+
+ private int PublishAnswerType;
+
+ private int IsPigai;
+
+ private String StartTime;
+
+ private int TypeId;
+
+ private String QuestionIds;
+
+ private int HomeworkType;
+
+ private int PkgId;
+
+ public String getCreatorUserId() {
+ return CreatorUserId;
+ }
+
+ public void setCreatorUserId(String creatorUserId) {
+ CreatorUserId = creatorUserId;
+ }
+
+ public String getPaperId() {
+ return PaperId;
+ }
+
+ public String getID() {
+ return ID;
+ }
+
+ public void setID(String ID) {
+ this.ID = ID;
+ }
+
+ @Override
+ public String toString() {
+ return "Homework{" +
+ "ID='" + ID + '\'' +
+ ", CreatorUserId='" + CreatorUserId + '\'' +
+ ", PaperId='" + PaperId + '\'' +
+ ", Title='" + Title + '\'' +
+ ", SuggestionTime=" + SuggestionTime +
+ ", Deadline='" + Deadline + '\'' +
+ ", State=" + State +
+ ", Intime='" + Intime + '\'' +
+ ", SubjectId=" + SubjectId +
+ ", PublishAnswerType=" + PublishAnswerType +
+ ", IsPigai=" + IsPigai +
+ ", StartTime='" + StartTime + '\'' +
+ ", TypeId=" + TypeId +
+ ", QuestionIds='" + QuestionIds + '\'' +
+ ", HomeworkType=" + HomeworkType +
+ ", PkgId=" + PkgId +
+ '}';
+ }
+
+ public void setPaperId(String paperId) {
+ PaperId = paperId;
+ }
+
+ public String getTitle() {
+ return Title;
+ }
+
+ public void setTitle(String title) {
+ Title = title;
+ }
+
+ public int getSuggestionTime() {
+ return SuggestionTime;
+ }
+
+ public void setSuggestionTime(int suggestionTime) {
+ SuggestionTime = suggestionTime;
+ }
+
+ public String getDeadline() {
+ return Deadline;
+ }
+
+ public void setDeadline(String deadline) {
+ Deadline = deadline;
+ }
+
+ public int getState() {
+ return State;
+ }
+
+ public void setState(int state) {
+ State = state;
+ }
+
+ public String getIntime() {
+ return Intime;
+ }
+
+ public void setIntime(String intime) {
+ Intime = intime;
+ }
+
+ public int getSubjectId() {
+ return SubjectId;
+ }
+
+ public void setSubjectId(int subjectId) {
+ SubjectId = subjectId;
+ }
+
+ public int getPublishAnswerType() {
+ return PublishAnswerType;
+ }
+
+ public void setPublishAnswerType(int publishAnswerType) {
+ PublishAnswerType = publishAnswerType;
+ }
+
+ public int getIsPigai() {
+ return IsPigai;
+ }
+
+ public void setIsPigai(int isPigai) {
+ IsPigai = isPigai;
+ }
+
+ public String getStartTime() {
+ return StartTime;
+ }
+
+ public void setStartTime(String startTime) {
+ StartTime = startTime;
+ }
+
+ public int getTypeId() {
+ return TypeId;
+ }
+
+ public void setTypeId(int typeId) {
+ TypeId = typeId;
+ }
+
+ public String getQuestionIds() {
+ return QuestionIds;
+ }
+
+ public void setQuestionIds(String questionIds) {
+ QuestionIds = questionIds;
+ }
+
+ public int getHomeworkType() {
+ return HomeworkType;
+ }
+
+ public void setHomeworkType(int homeworkType) {
+ HomeworkType = homeworkType;
+ }
+
+ public int getPkgId() {
+ return PkgId;
+ }
+
+ public void setPkgId(int pkgId) {
+ PkgId = pkgId;
+ }
+
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/HomeworkReceive.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/HomeworkReceive.java
new file mode 100644
index 0000000..1679780
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/HomeworkReceive.java
@@ -0,0 +1,34 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+
+public class HomeworkReceive implements Serializable {
+
+ private String StudentId;
+
+ private String StudnetAnswerIds;
+
+ public String getStudentId() {
+ return StudentId;
+ }
+
+ public void setStudentId(String studentId) {
+ StudentId = studentId;
+ }
+
+ public String getStudnetAnswerIds() {
+ return StudnetAnswerIds;
+ }
+
+ public void setStudnetAnswerIds(String studnetAnswerIds) {
+ StudnetAnswerIds = studnetAnswerIds;
+ }
+
+ @Override
+ public String toString() {
+ return "HomeworkReceive{" +
+ "StudentId='" + StudentId + '\'' +
+ ", StudnetAnswerIds='" + StudnetAnswerIds + '\'' +
+ '}';
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/ImageUtils.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/ImageUtils.java
new file mode 100644
index 0000000..b9fa1e0
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/ImageUtils.java
@@ -0,0 +1,168 @@
+package com.sincere.weigeng;
+
+import com.drew.imaging.ImageMetadataReader;
+import com.drew.imaging.jpeg.JpegMetadataReader;
+import com.drew.metadata.Directory;
+import com.drew.metadata.Metadata;
+import com.drew.metadata.Tag;
+import com.sun.imageio.plugins.png.PNGImageReader;
+import org.apache.commons.lang.StringUtils;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+
+public class ImageUtils {
+
+
+ /* *//**
+ * 获取图片正确显示需要旋转的角度(顺时针)
+ * @return
+ *//*
+ public static int getRotateAngleForPhoto(String filePath){
+ File file = new File(filePath);
+ int angle = 0;
+ Metadata metadata;
+ try {
+ metadata = JpegMetadataReader.readMetadata(file);
+ Directory directory = metadata.getDirectory(ExifDirectory.class);
+ if(directory.containsTag(ExifDirectory.TAG_ORIENTATION)){
+
+ // Exif信息中方向
+ int orientation = directory.getInt(ExifDirectory.TAG_ORIENTATION);
+ // 原图片的方向信息
+ if(6 == orientation ){
+ //6旋转90
+ angle = 90;
+ }else if( 3 == orientation){
+ //3旋转180
+ angle = 180;
+ }else if( 8 == orientation){
+ //8旋转90
+ angle = 270;
+ }
+ }
+ } catch (JpegProcessingException e) {
+ e.printStackTrace();
+ } catch (MetadataException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return angle;
+ }*/
+
+
+ /**
+ * 获得图片调整角度
+ * make by dongxh 2017年11月1日下午3:40:20
+ * @param imgFile
+ * @return
+ */
+ public static Integer getImgRotateAngle(String imgFile){
+ return 0;
+ /*int angel = 0;
+ try {
+ File file = new File(imgFile);
+ Metadata metadata = ImageMetadataReader.readMetadata(file);
+ for (Directory directory : metadata.getDirectories()) {
+ for (Tag tag : directory.getTags()) {
+ if (tag.getTagType() == ExifDirectoryBase.TAG_ORIENTATION) {
+ String description = tag.getDescription();
+// System.out.println(description);
+ if (description.contains("90")) {
+ // 顺时针旋转90度
+ angel = 90;
+ } else if (description.contains("180")) {
+ // 顺时针旋转180度
+ angel = 180;
+ } else if (description.contains("270")) {
+ // 顺时针旋转270度
+ angel = 270;
+ }
+ }
+ }
+ }
+// System.out.println(angel);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return angel;*/
+ /*Integer angel = 0;
+ Metadata metadata = null;
+ try{
+ if(StringUtils.isBlank(imgFile))return angel;
+ File _img_file_ = new File(imgFile);
+ if(!_img_file_.exists())return angel;
+ metadata = JpegMetadataReader.readMetadata(_img_file_);
+ Directory directory = metadata.getDirectory(ExifDirectory.class);
+ Iterator iterator =directory.getTagIterator();
+ while (iterator.hasNext()){
+ System.out.println("directory:"+iterator.next().toString());
+ }
+ if(directory != null && directory.containsTag(ExifDirectory.TAG_ORIENTATION)){
+ int orientation = directory.getInt(ExifDirectory.TAG_ORIENTATION);
+ // 原图片的方向信息
+ if(6 == orientation ){
+ //6旋转90
+ angel = 90;
+ }else if( 3 == orientation){
+ //3旋转180
+ angel = 180;
+ }else if( 8 == orientation){
+ //8旋转90
+ angel = 270;
+ }
+ }
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+ return angel;*/
+ }
+
+ /**
+ * 旋转照片
+ * @return
+ */
+ public static String rotatePhonePhoto(String fullPath, int angel){
+
+ BufferedImage src;
+ try {
+ src = ImageIO.read(new File(fullPath));
+ int src_width = src.getWidth(null);
+ int src_height = src.getHeight(null);
+
+ int swidth=src_width;
+ int sheight=src_height;
+
+ if(angel==90||angel==270){
+ swidth = src_height;
+ sheight= src_width;
+ }
+
+ Rectangle rect_des = new Rectangle(new Dimension(swidth,sheight));
+
+ BufferedImage res = new BufferedImage(rect_des.width, rect_des.height,BufferedImage.TYPE_INT_RGB);
+ Graphics2D g2 = res.createGraphics();
+
+ g2.translate((rect_des.width - src_width) / 2,
+ (rect_des.height - src_height) / 2);
+ g2.rotate(Math.toRadians(angel), src_width / 2, src_height / 2);
+
+ g2.drawImage(src, null, null);
+
+ ImageIO.write(res, "jpg", new File(fullPath));
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ }
+
+ return fullPath;
+
+ }
+
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/JiaoCai.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/JiaoCai.java
new file mode 100644
index 0000000..fa2541a
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/JiaoCai.java
@@ -0,0 +1,46 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+
+public class JiaoCai implements Serializable {
+
+
+ private String ID;
+
+ private String SubjectId;
+
+ private String JiaoCaiName;
+
+ public String getID() {
+ return ID;
+ }
+
+ public void setID(String ID) {
+ this.ID = ID;
+ }
+
+ public String getSubjectId() {
+ return SubjectId;
+ }
+
+ public void setSubjectId(String subjectId) {
+ SubjectId = subjectId;
+ }
+
+ public String getJiaoCaiName() {
+ return JiaoCaiName;
+ }
+
+ public void setJiaoCaiName(String jiaoCaiName) {
+ JiaoCaiName = jiaoCaiName;
+ }
+
+ @Override
+ public String toString() {
+ return "JiaoCai{" +
+ "ID='" + ID + '\'' +
+ ", SubjectId='" + SubjectId + '\'' +
+ ", JiaoCaiName='" + JiaoCaiName + '\'' +
+ '}';
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/Knowledge.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/Knowledge.java
new file mode 100644
index 0000000..a500a9b
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/Knowledge.java
@@ -0,0 +1,44 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+
+public class Knowledge implements Serializable {
+
+ private String Name;
+
+ private String SubjectId;
+
+ private String Id;
+
+ public String getId() {
+ return Id;
+ }
+
+ public void setId(String id) {
+ Id = id;
+ }
+
+ public String getName() {
+ return Name;
+ }
+
+ public void setName(String name) {
+ Name = name;
+ }
+
+ public String getSubjectId() {
+ return SubjectId;
+ }
+
+ public void setSubjectId(String subjectId) {
+ SubjectId = subjectId;
+ }
+
+ @Override
+ public String toString() {
+ return "Knowledge{" +
+ "Name='" + Name + '\'' +
+ ", SubjectId='" + SubjectId + '\'' +
+ '}';
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/MyTask.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/MyTask.java
new file mode 100644
index 0000000..21a60ec
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/MyTask.java
@@ -0,0 +1,30 @@
+package com.sincere.weigeng;
+
+import com.baidu.aip.ocr.AipOcr;
+import com.baidu.aip.util.Base64Util;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.json.JSONObject;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+
+@Component
+public class MyTask implements ApplicationRunner {
+
+
+
+ @Override
+ public void run(ApplicationArguments args) throws Exception {
+
+ System.out.println("authon:" + AuthService.getAuth());
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/QuestionBean.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/QuestionBean.java
new file mode 100644
index 0000000..7430f92
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/QuestionBean.java
@@ -0,0 +1,277 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+
+public class QuestionBean implements Serializable {
+
+
+ private String ID;
+
+ private String Question;
+
+ private String Qtype;
+
+ private String Answer;
+
+ private String CorrectAnswer;
+
+ private String Analysis;
+
+ private String State;
+
+ private String Intime;
+
+ private String ExamineFlag;
+
+ private String ExamineUserId;
+
+ private String CreateUserId;
+
+ private String SubjectId;
+
+ private String SchoolId;
+
+ private String DifficulteId;
+
+ private String KnowledgeId;
+
+ private String ChapterId;
+
+ private String GradeId;
+
+ private String SourceId;
+
+ private String OrderId;
+
+ private String SId;
+
+ private String StemId;
+
+ private String AutomaticCorrection;
+
+ private String PkgId;
+
+ private String PkgType;
+
+ public String getQuestion() {
+ return Question;
+ }
+
+ public void setQuestion(String question) {
+ Question = question;
+ }
+
+ public String getQtype() {
+ return Qtype;
+ }
+
+ public void setQtype(String qtype) {
+ Qtype = qtype;
+ }
+
+ public String getAnswer() {
+ return Answer;
+ }
+
+ public void setAnswer(String answer) {
+ Answer = answer;
+ }
+
+ public String getCorrectAnswer() {
+ return CorrectAnswer;
+ }
+
+ public void setCorrectAnswer(String correctAnswer) {
+ CorrectAnswer = correctAnswer;
+ }
+
+ public String getAnalysis() {
+ return Analysis;
+ }
+
+ public void setAnalysis(String analysis) {
+ Analysis = analysis;
+ }
+
+ public String getState() {
+ return State;
+ }
+
+ public void setState(String state) {
+ State = state;
+ }
+
+ public String getIntime() {
+ return Intime;
+ }
+
+ public void setIntime(String intime) {
+ Intime = intime;
+ }
+
+ public String getExamineFlag() {
+ return ExamineFlag;
+ }
+
+ public void setExamineFlag(String examineFlag) {
+ ExamineFlag = examineFlag;
+ }
+
+ public String getExamineUserId() {
+ return ExamineUserId;
+ }
+
+ public void setExamineUserId(String examineUserId) {
+ ExamineUserId = examineUserId;
+ }
+
+ public String getCreateUserId() {
+ return CreateUserId;
+ }
+
+ public void setCreateUserId(String createUserId) {
+ CreateUserId = createUserId;
+ }
+
+ public String getSubjectId() {
+ return SubjectId;
+ }
+
+ public void setSubjectId(String subjectId) {
+ SubjectId = subjectId;
+ }
+
+ public String getSchoolId() {
+ return SchoolId;
+ }
+
+ public void setSchoolId(String schoolId) {
+ SchoolId = schoolId;
+ }
+
+ public String getDifficulteId() {
+ return DifficulteId;
+ }
+
+ public void setDifficulteId(String difficulteId) {
+ DifficulteId = difficulteId;
+ }
+
+ public String getKnowledgeId() {
+ return KnowledgeId;
+ }
+
+ public void setKnowledgeId(String knowledgeId) {
+ KnowledgeId = knowledgeId;
+ }
+
+ public String getChapterId() {
+ return ChapterId;
+ }
+
+ public void setChapterId(String chapterId) {
+ ChapterId = chapterId;
+ }
+
+ public String getGradeId() {
+ return GradeId;
+ }
+
+ public void setGradeId(String gradeId) {
+ GradeId = gradeId;
+ }
+
+ public String getSourceId() {
+ return SourceId;
+ }
+
+ public void setSourceId(String sourceId) {
+ SourceId = sourceId;
+ }
+
+ public String getOrderId() {
+ return OrderId;
+ }
+
+ public void setOrderId(String orderId) {
+ OrderId = orderId;
+ }
+
+ public String getSId() {
+ return SId;
+ }
+
+ public void setSId(String SId) {
+ this.SId = SId;
+ }
+
+ public String getStemId() {
+ return StemId;
+ }
+
+ public void setStemId(String stemId) {
+ StemId = stemId;
+ }
+
+ public String getAutomaticCorrection() {
+ return AutomaticCorrection;
+ }
+
+ public void setAutomaticCorrection(String automaticCorrection) {
+ AutomaticCorrection = automaticCorrection;
+ }
+
+ public String getPkgId() {
+ return PkgId;
+ }
+
+ public void setPkgId(String pkgId) {
+ PkgId = pkgId;
+ }
+
+ public String getPkgType() {
+ return PkgType;
+ }
+
+ public void setPkgType(String pkgType) {
+ PkgType = pkgType;
+ }
+
+ public String getID() {
+ return ID;
+ }
+
+ public void setID(String ID) {
+ this.ID = ID;
+ }
+
+ @Override
+ public String toString() {
+ return "QuestionBean{" +
+ "ID='" + ID + '\'' +
+ ", Question='" + Question + '\'' +
+ ", Qtype='" + Qtype + '\'' +
+ ", Answer='" + Answer + '\'' +
+ ", CorrectAnswer='" + CorrectAnswer + '\'' +
+ ", Analysis='" + Analysis + '\'' +
+ ", State='" + State + '\'' +
+ ", Intime='" + Intime + '\'' +
+ ", ExamineFlag='" + ExamineFlag + '\'' +
+ ", ExamineUserId='" + ExamineUserId + '\'' +
+ ", CreateUserId='" + CreateUserId + '\'' +
+ ", SubjectId='" + SubjectId + '\'' +
+ ", SchoolId='" + SchoolId + '\'' +
+ ", DifficulteId='" + DifficulteId + '\'' +
+ ", KnowledgeId='" + KnowledgeId + '\'' +
+ ", ChapterId='" + ChapterId + '\'' +
+ ", GradeId='" + GradeId + '\'' +
+ ", SourceId='" + SourceId + '\'' +
+ ", OrderId='" + OrderId + '\'' +
+ ", SId='" + SId + '\'' +
+ ", StemId='" + StemId + '\'' +
+ ", AutomaticCorrection='" + AutomaticCorrection + '\'' +
+ ", PkgId='" + PkgId + '\'' +
+ ", PkgType='" + PkgType + '\'' +
+ '}';
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentAnswer.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentAnswer.java
new file mode 100644
index 0000000..050e488
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentAnswer.java
@@ -0,0 +1,44 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+
+public class StudentAnswer implements Serializable {
+
+ private String ID;
+
+ private String CorrectAnswer;
+
+ private String Answer;
+
+ public String getID() {
+ return ID;
+ }
+
+ public String getAnswer() {
+ return Answer;
+ }
+
+ public void setAnswer(String answer) {
+ Answer = answer;
+ }
+
+ public void setID(String ID) {
+ this.ID = ID;
+ }
+
+ public String getCorrectAnswer() {
+ return CorrectAnswer;
+ }
+
+ public void setCorrectAnswer(String correctAnswer) {
+ CorrectAnswer = correctAnswer;
+ }
+
+ @Override
+ public String toString() {
+ return "StudentAnswer{" +
+ "ID='" + ID + '\'' +
+ ", CorrectAnswer='" + CorrectAnswer + '\'' +
+ '}';
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentBean.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentBean.java
new file mode 100644
index 0000000..a874e09
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentBean.java
@@ -0,0 +1,233 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class StudentBean implements Serializable {
+
+
+ private long ID;
+ private String UserId;
+
+ private String CustomerId;
+
+ private int StudentType;
+
+ private int UserType;
+
+ private String Name;
+
+ private int ClassId;
+
+ private String ClassName;
+
+ private String OldCard;
+
+ private String Card;
+
+ private int SchoolId;
+
+ private int school_id;
+
+ private int IsNew;
+
+ private int UpdateType;
+
+ private Date AddTime;
+
+ private int Sex;
+
+ private String Face;
+
+ private String StudentCode;
+
+ private String student_num;
+
+ private String student_id;
+
+ public String getUserId() {
+ return UserId;
+ }
+
+ public void setUserId(String userId) {
+ UserId = userId;
+ }
+
+ public String getCustomerId() {
+ return CustomerId;
+ }
+
+ public void setCustomerId(String customerId) {
+ CustomerId = customerId;
+ }
+
+ public int getStudentType() {
+ return StudentType;
+ }
+
+ public void setStudentType(int studentType) {
+ StudentType = studentType;
+ }
+
+ public int getUserType() {
+ return UserType;
+ }
+
+ public void setUserType(int userType) {
+ UserType = userType;
+ }
+
+ public String getName() {
+ return Name;
+ }
+
+ public void setName(String name) {
+ Name = name;
+ }
+
+ public int getClassId() {
+ return ClassId;
+ }
+
+ public void setClassId(int classId) {
+ ClassId = classId;
+ }
+
+ public String getClassName() {
+ return ClassName;
+ }
+
+ public void setClassName(String className) {
+ ClassName = className;
+ }
+
+ public String getOldCard() {
+ return OldCard;
+ }
+
+ public void setOldCard(String oldCard) {
+ OldCard = oldCard;
+ }
+
+ public String getCard() {
+ return Card;
+ }
+
+ public int getSchool_id() {
+ return school_id;
+ }
+
+ public void setSchool_id(int school_id) {
+ this.school_id = school_id;
+ }
+
+ public String getStudent_num() {
+ return student_num;
+ }
+
+ public void setStudent_num(String student_num) {
+ this.student_num = student_num;
+ }
+
+ public void setCard(String card) {
+ Card = card;
+ }
+
+ public int getSchoolId() {
+ return SchoolId;
+ }
+
+ public void setSchoolId(int schoolId) {
+ SchoolId = schoolId;
+ }
+
+ public int getIsNew() {
+ return IsNew;
+ }
+
+ public void setIsNew(int isNew) {
+ IsNew = isNew;
+ }
+
+ public int getUpdateType() {
+ return UpdateType;
+ }
+
+ public void setUpdateType(int updateType) {
+ UpdateType = updateType;
+ }
+
+ public Date getAddTime() {
+ return AddTime;
+ }
+
+ public void setAddTime(Date addTime) {
+ AddTime = addTime;
+ }
+
+ public int getSex() {
+ return Sex;
+ }
+
+ public void setSex(int sex) {
+ Sex = sex;
+ }
+
+ public String getFace() {
+ return Face;
+ }
+
+ public void setFace(String face) {
+ Face = face;
+ }
+
+ public String getStudentCode() {
+ return StudentCode;
+ }
+
+ public void setStudentCode(String studentCode) {
+ StudentCode = studentCode;
+ }
+
+ public long getID() {
+ return ID;
+ }
+
+ public void setID(long ID) {
+ this.ID = ID;
+ }
+
+ public String getStudent_id() {
+ return student_id;
+ }
+
+ public void setStudent_id(String student_id) {
+ this.student_id = student_id;
+ }
+
+ @Override
+ public String toString() {
+ return "StudentBean{" +
+ "ID=" + ID +
+ ", UserId='" + UserId + '\'' +
+ ", CustomerId='" + CustomerId + '\'' +
+ ", StudentType=" + StudentType +
+ ", UserType=" + UserType +
+ ", Name='" + Name + '\'' +
+ ", ClassId=" + ClassId +
+ ", ClassName='" + ClassName + '\'' +
+ ", OldCard='" + OldCard + '\'' +
+ ", Card='" + Card + '\'' +
+ ", SchoolId=" + SchoolId +
+ ", school_id=" + school_id +
+ ", IsNew=" + IsNew +
+ ", UpdateType=" + UpdateType +
+ ", AddTime=" + AddTime +
+ ", Sex=" + Sex +
+ ", Face='" + Face + '\'' +
+ ", StudentCode='" + StudentCode + '\'' +
+ ", student_num='" + student_num + '\'' +
+ ", student_id='" + student_id + '\'' +
+ '}';
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentInfo.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentInfo.java
new file mode 100644
index 0000000..726f1cc
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/StudentInfo.java
@@ -0,0 +1,57 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+
+public class StudentInfo implements Serializable {
+
+ private String student_id;
+
+ private String name;
+
+ private String class_name;
+
+ private String ParentMobile;
+
+ private String studentcode;
+
+
+ public String getStudentcode() {
+ return studentcode;
+ }
+
+ public void setStudentcode(String studentcode) {
+ this.studentcode = studentcode;
+ }
+
+ public String getStudent_id() {
+ return student_id;
+ }
+
+ public void setStudent_id(String student_id) {
+ this.student_id = student_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getClass_name() {
+ return class_name;
+ }
+
+ public void setClass_name(String class_name) {
+ this.class_name = class_name;
+ }
+
+ public String getParentMobile() {
+ return ParentMobile;
+ }
+
+ public void setParentMobile(String parentMobile) {
+ ParentMobile = parentMobile;
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/TestDao.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/TestDao.java
new file mode 100644
index 0000000..9c1ef65
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/TestDao.java
@@ -0,0 +1,138 @@
+package com.sincere.weigeng;
+
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+@Mapper
+public interface TestDao {
+
+
+ @Insert("insert into TK_QuestionStem values(#{QuestionStem},#{State},#{Intime})")
+ int addQuestionStem(@Param("QuestionStem") String QuestionStem, @Param("State") String State, @Param("Intime") String Intime);
+
+ @Insert("insert into TK_Question(Question,Qtype,Answer,CorrectAnswer,Analysis,State,Intime,ExamineFlag,ExamineUserId,CreateUserId,SubjectId,SchoolId,DifficulteId,KnowledgeId,ChapterId,GradeId,SourceId,OrderId,SId," +
+ "StemId,AutomaticCorrection,PkgId,PkgType) " +
+ "values(#{Question},#{Qtype},#{Answer},#{CorrectAnswer},#{Analysis},#{State},#{Intime},#{ExamineFlag},#{ExamineUserId}" +
+ ",#{CreateUserId},#{SubjectId},#{SchoolId},#{DifficulteId},#{KnowledgeId},#{ChapterId},#{GradeId},#{SourceId},#{OrderId},#{SId}" +
+ ",#{StemId},#{AutomaticCorrection},#{PkgId},#{PkgType})")
+ int addQuestion(@Param("Question") String Question, @Param("Qtype") String Qtype, @Param("Answer") String Answer, @Param("CorrectAnswer") String CorrectAnswer
+ , @Param("Analysis") String Analysis, @Param("State") String State, @Param("Intime") String Intime, @Param("ExamineFlag") String ExamineFlag, @Param("ExamineUserId") String ExamineUserId
+ , @Param("CreateUserId") String CreateUserId, @Param("SubjectId") String SubjectId, @Param("SchoolId") String SchoolId, @Param("DifficulteId") String DifficulteId, @Param("KnowledgeId") String KnowledgeId
+ , @Param("ChapterId") String ChapterId, @Param("GradeId") String GradeId, @Param("SourceId") String SourceId, @Param("OrderId") String OrderId, @Param("SId") String SId
+ , @Param("StemId") String StemId, @Param("AutomaticCorrection") String AutomaticCorrection, @Param("PkgId") String PkgId, @Param("PkgType") String PkgType);
+
+ @Select("select Top(1) ID from TK_QuestionStem order by Intime desc ")
+ int getStemId();
+
+ @Select("select * from TK_Question where Question like #{Question}")
+ List getQuestions(@Param("Question")String Question);
+
+ @Update("update TK_Question set CorrectAnswer = #{answer},Analysis = #{explanation} where ID = #{id}")
+ void updateQuestion(@Param("id") String id, @Param("answer") String answer, @Param("explanation") String explanation);
+
+
+ //学生做作业
+ @Insert("insert into ZY_StudentAnswer (QuestionId,Answer,CorrectAnswer,QuestionType,IsCorrect,WorkID) values (" +
+ "#{QuestionId},#{Answer},#{CorrectAnswer},#{QuestionType},#{IsCorrect},#{WorkID})")
+ void StudentAnswer(@Param("QuestionId")String QuestionId,@Param("Answer")String Answer,@Param("CorrectAnswer")String CorrectAnswer,
+ @Param("QuestionType")String QuestionType,@Param("IsCorrect")String IsCorresct,@Param("WorkID")String WorkID);
+
+ @Insert("insert into ZY_HomeworkReceive values(#{WorkId},#{ClassId},#{StudentId},#{StudnetAnswerIds},#{IsFinished}," +
+ "#{AnswerTime},#{FinishTime},#{Intime},#{IsPigai},#{IsPigai})")
+ void HomeworkReceive(@Param("WorkId")String WorkId,@Param("ClassId")String ClassId,@Param("StudentId")String StudentId,@Param("StudnetAnswerIds")String StudnetAnswerIds,
+ @Param("IsFinished")String IsFinished,@Param("AnswerTime")String AnswerTime,@Param("FinishTime")String FinishTime,@Param("Intime")String Intime,
+ @Param("IsPigai")String IsPigai,@Param("IsPigai")String UseTime);
+
+ @Select("select * from TK_Question where ID = #{ID}")
+ QuestionBean getQues(@Param("ID")String ID);
+
+ @Select("select StudentId from ZY_HomeworkReceive where WorkId = #{WorkId}")
+ List getStudentIds(@Param("WorkId")String WorkId);
+// )
+
+ @Select("select ID from TK_Question where SchoolId = 885 and CorrectAnswer in('A','B','C','D') and ChapterId = #{ChapterId}")
+ List getQIDS(@Param("ChapterId")String ChapterId );
+
+ @Select("select ID from ZY_StudentAnswer where WorkID = #{WorkID}")
+ List getStudentAnsIds(@Param("WorkID")String WorkID);
+
+ //添加学生答题记录
+ @Insert("insert into ZY_StudentAnswer values (#{QuestionId},#{Answer},#{AnswerTime},#{CorrectAnswer},#{QuestionType},#{Pigai},#{IsCorrect},#{AppachIds},#{TeacherAppachIds},#{WorkID})")
+ void addStudentAnswer(@Param("QuestionId")String QuestionId,@Param("Answer")String Answer,@Param("AnswerTime")String AnswerTime,@Param("CorrectAnswer")String CorrectAnswer,
+ @Param("QuestionType")String QuestionType,@Param("Pigai")String Pigai,@Param("IsCorrect")String IsCorrect,@Param("AppachIds")String AppachIds,
+ @Param("TeacherAppachIds")String TeacherAppachIds,@Param("WorkID")String WorkID);
+
+
+ @Select("select Top(#{top}) ID from ZY_StudentAnswer where WorkID = #{WorkID} order by ID desc")
+ List getTopIDs(@Param("WorkID")String WorkID,@Param("top")int top);
+
+ @Select("select ID from ZY_HomeworkReceive where WorkId = #{WorkId} and ID >= #{ID} and ID<12054 order by ID desc")
+ List get_HomeworkReceive(@Param("WorkId")String WorkId,@Param("ID")String ID);
+
+ @Update("update ZY_HomeworkReceive set StudnetAnswerIds = #{StudnetAnswerIds} where ID = #{ID}")
+ void updateHomeWork(@Param("StudnetAnswerIds")String StudnetAnswerIds,@Param("ID")String ID);
+
+ @Select("select * from ZY_HomeworkReceive where WorkId = #{WorkId} order by ID desc")
+ List get_HomeworkRec(@Param("WorkId")String WorkId);
+
+ @Select("select Title from ZY_Homework where ID = #{ID} order by ID desc")
+ String getWorkName(@Param("ID") String workId);
+
+ @Select("select * from ZY_StudentAnswer where WorkID = #{WorkId}")
+ List get_stuAnswer(@Param("WorkId")String WorkId);
+
+ @Update("update ZY_StudentAnswer set Answer = #{Answer},IsCorrect = #{IsCorrect} ,CorrectAnswer = #{CorrectAnswer} where ID = #{ID}")
+ void updateStudentAnswer(@Param("ID") String id,@Param("CorrectAnswer")String CorrectAnswer,@Param("Answer")String Answer,@Param("IsCorrect")String IsCorrect);
+
+ @Select("select name from SZ_V_School_Student where student_id = #{student_id}")
+ String getStudentName(@Param("student_id") String studentId);
+
+ @Select("select student_id from SZ_V_School_Student where class_id = #{class_id}")
+ List getStudentIdsWithClassId(@Param("class_id") String class_id);
+
+ @Select("select IsCorrect from ZY_StudentAnswer where ID = #{ID}")
+ int getIsCorrect(@Param("ID") String id);
+
+ @Select("select QuestionId from ZY_StudentAnswer where WorkID = #{WorkID}")
+ List getStuAnsIds(@Param("WorkID") String workId);
+
+ @Select("select CorrectAnswer from ZY_StudentAnswer where WorkID = #{WorkID}")
+ List correctAns(@Param("WorkID")String WorkID);
+
+
+ @Select("select * from ZY_TestPaper where CreatorUserId = #{CreateUserId} and Intime > #{Intime}")
+ List getTestPapers(@Param("CreateUserId") String createUserId,@Param("Intime")String Intime);
+
+ @Insert("insert into ZY_TestPaper values (#{addCreateUserId},#{questionIds},#{status},#{publishTime},#{name},#{isRecommend},#{state},#{intime},#{schoolId})")
+ void addTestPaper(@Param("addCreateUserId") String addCreateUserId, @Param("questionIds") String questionIds, @Param("status") int status,
+ @Param("publishTime") String publishTime, @Param("name") String name, @Param("isRecommend") int isRecommend,
+ @Param("state") int state, @Param("intime") String intime, @Param("schoolId") String schoolId);
+
+ @Insert("insert into ZY_Homework values(#{addCreateUserId},#{id},#{name},#{s},#{s1},#{s2},#{s3},#{i},#{i1},#{i2},#{s4},#{i3},#{questionIds},#{i4},#{i5}) ")
+ void addHomework(@Param("addCreateUserId") String addCreateUserId, @Param("id") int id, @Param("name") String name,
+ @Param("s") String s, @Param("s1") String s1, @Param("s2") String s2, @Param("s3") String s3, @Param("i") int i,
+ @Param("i1") int i1, @Param("i2") int i2,@Param("s4") String s4, @Param("i3") int i3, @Param("questionIds") String questionIds, @Param("i4") int i4, @Param("i5") int i5);
+
+
+ @Select("select * from ZY_Homework where CreatorUserId in (select DISTINCT user_id from SZ_UserRole where school_id = 11)")
+ List getCreatorUserId();
+
+ @Select("select * from ZY_Homework where CreatorUserId = #{CreatorUserId}")
+ List getHomeWork(@Param("CreatorUserId") String addCreateUserId);
+
+ @Select("select * from SZ_V_School_Student where school_id = #{school_id}")
+ List getStudents(@Param("school_id") int school_id);
+
+ @Select("select QuestionIds from ZY_Homework where ID = #{workId}")
+ String getQuestionIds(@Param("workId") String workId);
+
+ @Select("select CorrectAnswer from TK_Question where ID = #{questionId}")
+ String getCorrectAnswer(@Param("questionId") String questionId);
+
+
+
+
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/TestPaper.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/TestPaper.java
new file mode 100644
index 0000000..62780ac
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/TestPaper.java
@@ -0,0 +1,122 @@
+package com.sincere.weigeng;
+
+import java.io.Serializable;
+
+public class TestPaper implements Serializable {
+
+ private int ID;
+
+ private String CreatorUserId;
+
+ private String QuestionIds;
+
+ private int Status;
+
+ private String PublishTime;
+
+ private String Name;
+
+ private int IsRecommend;
+
+ private int State;
+
+ private String Intime;
+
+ private int SchoolId;
+
+ public String getCreatorUserId() {
+ return CreatorUserId;
+ }
+
+ public void setCreatorUserId(String creatorUserId) {
+ CreatorUserId = creatorUserId;
+ }
+
+ public String getQuestionIds() {
+ return QuestionIds;
+ }
+
+ public void setQuestionIds(String questionIds) {
+ QuestionIds = questionIds;
+ }
+
+ public int getStatus() {
+ return Status;
+ }
+
+ public int getID() {
+ return ID;
+ }
+
+ public void setID(int ID) {
+ this.ID = ID;
+ }
+
+ public void setStatus(int status) {
+ Status = status;
+ }
+
+ public String getPublishTime() {
+ return PublishTime;
+ }
+
+ public void setPublishTime(String publishTime) {
+ PublishTime = publishTime;
+ }
+
+ public String getName() {
+ return Name;
+ }
+
+ public void setName(String name) {
+ Name = name;
+ }
+
+ public int getIsRecommend() {
+ return IsRecommend;
+ }
+
+ public void setIsRecommend(int isRecommend) {
+ IsRecommend = isRecommend;
+ }
+
+ public int getState() {
+ return State;
+ }
+
+ public void setState(int state) {
+ State = state;
+ }
+
+ public String getIntime() {
+ return Intime;
+ }
+
+ public void setIntime(String intime) {
+ Intime = intime;
+ }
+
+ public int getSchoolId() {
+ return SchoolId;
+ }
+
+ public void setSchoolId(int schoolId) {
+ SchoolId = schoolId;
+ }
+
+ @Override
+ public String toString() {
+ return "TestPaper{" +
+ "ID=" + ID +
+ ", CreatorUserId='" + CreatorUserId + '\'' +
+ ", QuestionIds='" + QuestionIds + '\'' +
+ ", Status=" + Status +
+ ", PublishTime='" + PublishTime + '\'' +
+ ", Name='" + Name + '\'' +
+ ", IsRecommend=" + IsRecommend +
+ ", State=" + State +
+ ", Intime='" + Intime + '\'' +
+ ", SchoolId=" + SchoolId +
+ '}';
+ }
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/controller/WgController.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/controller/WgController.java
deleted file mode 100644
index e2dc648..0000000
--- a/cloud/weigeng/src/main/java/com/sincere/weigeng/controller/WgController.java
+++ /dev/null
@@ -1,216 +0,0 @@
-package com.sincere.weigeng.controller;
-
-import com.sincere.common.dto.smartCampus.SchoolDto;
-import com.sincere.common.dto.smartCampus.StudentCardDto;
-import com.sincere.common.dto.smartCampus.UpdateCardDto;
-import com.sincere.common.dto.smartCampus.UserDto;
-import com.sincere.common.dto.xiaoan.SendFailDto;
-import com.sincere.common.dto.xiaoan.SendMessageDto;
-import com.sincere.common.dto.xiaoan.SendSuccessDto;
-import com.sincere.weigeng.feign.SmFeign;
-import com.sincere.weigeng.feign.XaFeign;
-import com.sincere.weigeng.logs.LogName;
-import com.sincere.weigeng.logs.LoggerUtils;
-import com.sincere.weigeng.WatchServer;
-import com.sincere.weigeng.vo.*;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * @author chen
- * @version 1.0
- * @date 2019/10/14 0014 9:12
- */
-@RestController
-@Api(value = "微耕")
-public class WgController {
-
- private static final Logger Log_orderSuccess = LoggerUtils.Logger(LogName.orderSuccess);
- private static final Logger Log_orderFail = LoggerUtils.Logger(LogName.orderFail);
-
- @Autowired
- SmFeign smFeign;
-
- @Autowired
- XaFeign xaFeign;
-
- @Autowired
- WatchServer watchServer;
-
-
- @RequestMapping(value = "setTime" , method = RequestMethod.GET)
- public void setTime(long sn){
- watchServer.setTime(sn,"48");
- }
-
- @ApiOperation("远程开门")
- @RequestMapping(value = "openDoor" , method = RequestMethod.POST)
- public boolean openDoor(@RequestBody OpenDoorVo openDoorVo) {
- String functionId = smFeign.selectOutOrderId(openDoorVo.getType(),openDoorVo.getId());
- long messageId = watchServer.openDoor(openDoorVo.getSn(),functionId,openDoorVo.getDoorNo(),null);
- SendMessageDto message = getResult(messageId);
- if(message.getCorrect() == 1){
- Log_orderSuccess.info("web端远程开门成功!");
- }else {
- Log_orderFail.info("远程开门失败");
- }
- return message.getCorrect() == 1 ;
- }
-
-
- @ApiOperation("设置考勤时段")
- @RequestMapping(value = "setAttendanceTime" , method = RequestMethod.POST)
- public boolean setAttendanceTime(@RequestBody AttendanceTimeVo attendanceTimeVo){
- String functionId = smFeign.selectOutOrderId(attendanceTimeVo.getType(),attendanceTimeVo.getId());
- List result = watchServer.SetAttendanceTime(attendanceTimeVo.getSn(),functionId,attendanceTimeVo.getShiduan(),
- attendanceTimeVo.getStart(),attendanceTimeVo.getEnd(),attendanceTimeVo.getIsMonday(),attendanceTimeVo.getIsTuesday(),
- attendanceTimeVo.getIsWednesday(),attendanceTimeVo.getIsThursday(),attendanceTimeVo.getIsFriday(),
- attendanceTimeVo.getIsSaturday(),attendanceTimeVo.getIsWeekend(),attendanceTimeVo.getShiqu());
- boolean isSuccess = true ;
- for(Long messageId : result){
- SendMessageDto message = getResult(messageId);
- if(message.getCorrect() == 1){
- Log_orderSuccess.info("设备"+attendanceTimeVo.getSn()+"时段"+attendanceTimeVo.getShiduan()+"!!设置成功");
- }else {
- Log_orderFail.info("设备"+attendanceTimeVo.getSn()+"时段"+attendanceTimeVo.getShiduan()+"!!设置失败");
- isSuccess = false ;
- }
- }
- return isSuccess;
- }
-
-
- @ApiOperation("单个卡号的权限添加或修改")
- @RequestMapping(value = "setSignalCardInfo" , method = RequestMethod.POST)
- public boolean setSignalCardInfo(@RequestBody SignalCardInfoVo signalCardInfoVo){
- String functionId = smFeign.selectOutOrderId(signalCardInfoVo.getType(),signalCardInfoVo.getId());
- String cardNo = initCardNo(signalCardInfoVo.getCardNo());
- long messageId = watchServer.SetSignalCardInfo(signalCardInfoVo.getSn(),functionId,cardNo,
- signalCardInfoVo.getShiduan(),signalCardInfoVo.getStartTime(),signalCardInfoVo.getEndTime());
- SendMessageDto message = getResult(messageId);
- UserDto user = smFeign.selectUserByCardNum(cardNo);
- StudentCardDto studentCard = smFeign.selectStudentCard(cardNo);
- SchoolDto school = smFeign.selectSchoolBySchoolId(user.getSchoolId());
- UpdateCardDto updateCard = smFeign.selectUpdateCardByUpdateId(signalCardInfoVo.getUpdateId());
- if(message.getCorrect() == 1){
- Log_orderSuccess.info("设备"+signalCardInfoVo.getSn()+"时段"+signalCardInfoVo.getShiduan()+"卡号"+cardNo+"!!设置成功");
- SendSuccessDto sendSuccess = new SendSuccessDto(user,school,studentCard,updateCard);
- sendSuccess.setDeviceId(signalCardInfoVo.getSn()+"");
- sendSuccess.setShiduan(signalCardInfoVo.getShiduan());
- sendSuccess.setCardNum(cardNo);
- sendSuccess.setUpdateId(signalCardInfoVo.getUpdateId());
- sendSuccess.setOpenFlag(1);
- sendSuccess.setStatus(1);
- xaFeign.insertSendSuccess(sendSuccess);
- }else {
- Log_orderFail.info("设备"+signalCardInfoVo.getSn()+"时段"+signalCardInfoVo.getShiduan()+"卡号"+cardNo+"!!设置失败");
- SendFailDto sendFail = new SendFailDto(user,school,studentCard,updateCard);
- sendFail.setDeviceId(signalCardInfoVo.getSn()+"");
- sendFail.setShiduan(signalCardInfoVo.getShiduan());
- sendFail.setCardNum(cardNo);
- sendFail.setUpdateId(signalCardInfoVo.getUpdateId());
- sendFail.setOpenFlag(1);
- sendFail.setStatus(1);
- sendFail.setFailType(2);
- sendFail.setFailContent("其他");
- xaFeign.insertSendFail(sendFail);
- }
- return message.getCorrect() == 1;
- }
-
-
- @ApiOperation("清除单个卡号权限")
- @RequestMapping(value = "clearSinglePower" , method = RequestMethod.POST)
- public boolean clearSinglePower(@RequestBody CardInfo cardInfo){
- String functionId = smFeign.selectOutOrderId(cardInfo.getType(),cardInfo.getId());
- String cardNo = initCardNo(cardInfo.getCardNo());
- long messageId = watchServer.clearSinglePower(cardInfo.getSn(),functionId,cardNo);
- SendMessageDto message = getResult(messageId);
- if(message.getCorrect() == 1){
- Log_orderSuccess.info("卡号"+cardNo+"清除权限成功");
- SendSuccessDto sendSuccess = new SendSuccessDto();
- sendSuccess.setCardNum(cardNo);
- sendSuccess.setDeviceId(cardInfo.getSn()+"");
- xaFeign.updateSendSuccess(sendSuccess);
- }else {
- Log_orderFail.info("卡号"+cardNo+"清除权限失败");
- }
- return message.getCorrect() == 1 ;
- }
-
- @ApiOperation("清除全部权限")
- @RequestMapping(value = "clearAllPower" , method = RequestMethod.POST)
- public boolean clearAllPower(@RequestBody CleanShiDuanVo cleanShiDuanVo){
- String functionId = smFeign.selectOutOrderId(cleanShiDuanVo.getType(),cleanShiDuanVo.getId());
- long messageId = watchServer.clearAllPower(cleanShiDuanVo.getSn(),functionId);
- SendMessageDto message = getResult(messageId);
- if(message.getCorrect() == 1){
- Log_orderSuccess.info("设备"+cleanShiDuanVo.getSn()+"清除权限成功");
- SendSuccessDto sendSuccess = new SendSuccessDto();
- sendSuccess.setDeviceId(cleanShiDuanVo.getSn()+"");
- xaFeign.updateSendSuccess(sendSuccess);
- }else {
- Log_orderFail.info("设备"+cleanShiDuanVo.getSn()+"清除权限失败");
- }
- return message.getCorrect() == 1 ;
- }
-
-
- @ApiOperation("清除时段")
- @RequestMapping(value = "clearShiDuan" , method = RequestMethod.POST)
- public boolean clearShiDuan(@RequestBody CleanShiDuanVo cleanShiDuanVo){
- String functionId = smFeign.selectOutOrderId(cleanShiDuanVo.getType(),cleanShiDuanVo.getId());
- long messageId = watchServer.clearShiDuan(cleanShiDuanVo.getSn(),functionId);
- SendMessageDto sendMessage = getResult(messageId);
- if(sendMessage.getCorrect() == 1){
- Log_orderSuccess.info("设备"+cleanShiDuanVo.getSn()+"时段清除成功");
- }else {
- Log_orderFail.info("设备"+cleanShiDuanVo.getSn()+"时段清除失败");
- }
- return sendMessage.getCorrect() == 1;
- }
-
- @ApiOperation("查询单个卡号 权限")
- @RequestMapping(value = "searchPower" , method = RequestMethod.POST)
- public boolean searchPower(@RequestBody CardInfo cardInfo){
- String functionId = smFeign.selectOutOrderId(cardInfo.getType(),cardInfo.getId());
- String cardNo = initCardNo(cardInfo.getCardNo());
- long messageId = watchServer.searchPower(cardInfo.getSn(),functionId,cardNo);
- SendMessageDto sendMessage = getResult(messageId);
- if(sendMessage.getCorrect() == 1){
- Log_orderSuccess.info("设备"+cardInfo.getSn()+"卡号"+cardNo+"查询权限成功");
- }else {
- Log_orderFail.info("设备"+cardInfo.getSn()+"卡号"+cardNo+"查询权限失败");
- }
- return sendMessage.getCorrect() == 1;
- }
-
- @RequestMapping(value = "watch" , method = RequestMethod.GET)
- public int watch(){
- return 1 ;
- }
-
- private SendMessageDto getResult(long messageId){
- try{
- Thread.sleep(300);
- }catch (Exception e){
-
- }
- return xaFeign.selectById(messageId);
- }
-
- private String initCardNo(String cardNo){
- while (cardNo.length() < 8){
- cardNo = "0" + cardNo ;
- }
- return cardNo ;
- }
-}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/dao/UserDao.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/dao/UserDao.java
new file mode 100644
index 0000000..976e636
--- /dev/null
+++ b/cloud/weigeng/src/main/java/com/sincere/weigeng/dao/UserDao.java
@@ -0,0 +1,29 @@
+package com.sincere.weigeng.dao;
+
+import com.sincere.weigeng.JiaoCai;
+import com.sincere.weigeng.Knowledge;
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+@Mapper
+public interface UserDao {
+
+// @Insert("insert into HS_StudentUpdateCard (Card,SchoolId,StudentCode,CustomerId,StudentType,UserType,ClassId,ClassName,IsNew,UpdateType,AddTime) " +
+// "values (#{Card},#{SchoolId},#{StudentCode},#{CustomerId},#{StudentType},#{UserType},#{ClassId},#{ClassName},#{IsNew,#{UpdateType),#{AddTime}")
+// void addStudentUpdate(@Param("Card") String card, @Param("SchoolId") int school_id, @Param("StudentCode") String studentCode, @Param("CustomerId") String CustomerId
+// , @Param("StudentType") String StudentType, @Param("UserType") String UserType, @Param("ClassId") String ClassId, @Param("ClassName") String ClassName,
+// @Param("IsNew") String IsNew, @Param("UpdateType") String UpdateType, @Param("AddTime") String AddTime);
+
+
+ @Select ("select * from ZY_YYKnowledge where AddTime >2019 ")
+ List getKnowledge();
+
+ @Select("select * from ZY_YYJiaoCai where ID >= 26")
+ List getJiaoCai();
+
+ @Insert("insert into ZY_YYJiaoCaiAndKnowledg values(#{id},#{id1},#{i},#{i1})")
+ void addKnowAndJicaoCai(@Param("id") String id, @Param("id1") String id1, @Param("i") int i, @Param("i1") int i1);
+}
diff --git a/cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WgUdpCommShort.java b/cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WgUdpCommShort.java
deleted file mode 100644
index 35d9fdd..0000000
--- a/cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WgUdpCommShort.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package com.sincere.weigeng.utils;
-
-import org.apache.mina.core.buffer.IoBuffer;
-import org.apache.mina.core.session.IoSession;
-
-public class WgUdpCommShort { //短报文协议
-
- public static final int WGPacketSize = 64; //报文长度
- public static final byte Type = 0x17; //2015-04-30 08:50:29 0x19; //类型
- public static final int ControllerPort = 60000; //控制器端口
- public static final long SpecialFlag = 0x55AAAA55; //特殊标识 防止误操作
-
- public static byte[] longToByte(long number) {
- byte[] b = new byte[8];
- for (int i = 0; i < 8; i++) {
- b[i] = (byte) (number % 256);
- number >>= 8;
- }
- return b;
- }
-
- //从字节转换为 long型数据, 最大长度为8字节 低位在前, 高位在后...
- //bytlen (1--8), 不在此范围则返回 -1
- public static long getLongByByte(byte[] data,int startIndex,int bytlen)
- {
- long ret =-1;
- if ((bytlen >=1) && (bytlen <=8))
- {
- ret = getIntByByte(data[startIndex + bytlen-1]);
- for (int i=1; i= WGPacketSize)
- {
- ret = getLongByByte(cmd, 40, 4);
- }
- return ret;
- }
-
- public WgUdpCommShort()
- {
- Reset();
- }
- public void Reset() //数据复位
- {
- for(int i=0; i
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud/weigeng/src/test/java/com/sincere/weigeng/WeigengApplicationTests.java b/cloud/weigeng/src/test/java/com/sincere/weigeng/WeigengApplicationTests.java
new file mode 100644
index 0000000..d24f749
--- /dev/null
+++ b/cloud/weigeng/src/test/java/com/sincere/weigeng/WeigengApplicationTests.java
@@ -0,0 +1,570 @@
+package com.sincere.weigeng;
+
+import com.drew.imaging.jpeg.JpegMetadataReader;
+import com.drew.imaging.jpeg.JpegProcessingException;
+import com.drew.metadata.Directory;
+import com.drew.metadata.Metadata;
+import com.drew.metadata.Tag;
+import com.drew.metadata.exif.ExifDirectory;
+import com.sincere.weigeng.dao.UserDao;
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.List;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class WeigengApplicationTests {
+
+ @Autowired
+ TestDao testDao;
+
+ @Test
+ public void contextLoads() {
+
+ try {
+ BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\Users\\taohandong\\Desktop\\json.txt"));
+ String content = null;
+ StringBuilder stringBuilder = new StringBuilder();
+ while ((content = bufferedReader.readLine()) != null) {
+ stringBuilder.append(content);
+ }
+
+ JSONObject jsonObject = new JSONObject(stringBuilder.toString());
+ JSONObject data = jsonObject.optJSONObject("data");
+ JSONArray questions = data.optJSONArray("questions");
+ for (int i = 0; i < questions.length(); i++) {
+ JSONObject question = questions.optJSONObject(i);
+ String question_text = question.optString("question_text");
+ String answer = question.optString("answer");//答案
+ String explanation = question.optString("explanation");//解析
+// 
+ explanation = "
";
+ answer = getAnswer(answer);
+ System.out.println("question_text:" + question_text + "\r\nanswer:" + answer + "\r\nexplanation:" + explanation);
+ List questionBeans = testDao.getQuestions(question_text);//获取题目
+ for (int j = 0; j < questionBeans.size(); j++) {
+ QuestionBean questionBean = questionBeans.get(j);
+ testDao.updateQuestion(questionBean.getID(), answer, explanation);
+ }
+// System.out.println(questionBeans.toString());
+ }
+
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=24.26683b650b73b63e0b08afa7ac36e880.2592000.1571310480.282335-15990462";
+
+ private String getAnswer(String imgUrl) {
+ RestTemplate restTemplate = new RestTemplate();
+
+ HttpHeaders headers = new HttpHeaders();
+ headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+
+ MultiValueMap multiValueMap = new LinkedMultiValueMap<>();
+// multiValueMap.add("image", ImageUtils.ImageToBase64ByLocal("C:\\Users\\taohandong\\Desktop\\识别.png"));
+ multiValueMap.add("url", imgUrl);
+ HttpEntity requestEntity = new HttpEntity(multiValueMap,
+
+ headers);
+
+ ResponseEntity result = restTemplate.postForEntity(url, requestEntity, String.class);
+
+ JSONObject jsonObject = new JSONObject(result.getBody());
+// System.out.println("result:"+result.getBody());
+ JSONArray words_result = jsonObject.optJSONArray("words_result");
+// System.out.println("words_result:"+words_result);
+ StringBuilder stringBuilder = new StringBuilder();
+ if (words_result != null) {
+ for (int i = 0; i < words_result.length(); i++) {
+ String words = words_result.optJSONObject(i).optString("words");
+ stringBuilder.append(words + " ");
+ }
+ System.out.println("result:" + stringBuilder.toString());
+ }
+ return stringBuilder.toString().equals("") ? "B" : stringBuilder.toString();
+ }
+
+ @Test
+ public void get() {
+
+// String url = "https://zujuan.21cnjy.com/api/question/list?xd=1&chid=3&categories=3877&knowledges=&question_channel_type=1&difficult_index=&exam_type=&kid_num=&grade_id=&sort_field=time&filterquestion=0&page=&_grade_id=&tree_type=category&version_id=&_=1568766250186";
+// RestTemplate restTemplate = new RestTemplate();
+// System.out.println(restTemplate.getForObject(url, String.class));
+ /*String createrUserId = "zy273789", time = "2019-10-08";
+ List testPaperList = testDao.getTestPapers(createrUserId, time);
+ for (int i = 0; i < testPaperList.size(); i++) {
+ TestPaper testPaper = testPaperList.get(i);
+ int schoolId = 11;
+ testDao.addTestPaper("zy284782", testPaper.getQuestionIds(), testPaper.getStatus(), testPaper.getPublishTime(),
+ testPaper.getName(), testPaper.getIsRecommend(), testPaper.getState(), testPaper.getIntime(), schoolId + "");
+
+ }*/
+
+ }
+
+
+ /**
+ * 创建试卷
+ */
+ @Test
+ public void createTestPaper() {
+ String createUserId = "zy309728";
+ List testPaperList = testDao.getTestPapers(createUserId, "2019-09-18 16:00:00");
+ System.out.println("testPaperList:" + testPaperList.toString());
+
+ String addCreateUserId = "zy411337", SchoolId = "885";
+ /* for (int i = 1; i < testPaperList.size(); i++) {
+ TestPaper testPaper = testPaperList.get(i);
+ int ID = testPaper.getID();
+ //添加试卷
+ testDao.addTestPaper(addCreateUserId, testPaper.getQuestionIds(), testPaper.getStatus(), testPaper.getPublishTime()
+ , testPaper.getName(), testPaper.getIsRecommend(), testPaper.getState(), testPaper.getIntime(), SchoolId);
+
+ //发布作业
+ testDao.addHomework(addCreateUserId, testPaper.getID(), testPaper.getName(), "50", "2019-09-20 18:00", "2", "2019-09-19 19:10", 1, 0, 1, "2019-09-19 19:10", 0, testPaper.getQuestionIds(), 0, 0);
+ }*/
+ /*String[] answers = new String[]{"A", "B", "C", "D"};
+ String QuestionType = "1";
+ String CorrectAnswer = "";
+ List homeworkList = testDao.getHomeWork(addCreateUserId);
+ for (int i = 0; i < homeworkList.size(); i++) {
+ Homework homework = homeworkList.get(i);
+ String[] questionIds = homework.getQuestionIds().split(",");
+ for (int j = 0; j < questionIds.length; j++) {
+ String questionId = questionIds[j];
+ QuestionBean questionBean = testDao.getQues(questionId);
+ CorrectAnswer = questionBean.getCorrectAnswer();
+ String answer = answers[new Random().nextInt(4)];
+ String IsCorresct = answer.trim().equals(CorrectAnswer.trim()) ? "1" : "3";
+ testDao.StudentAnswer(questionId, answer, CorrectAnswer, QuestionType, IsCorresct, homework.getID());
+ }
+
+ }*/
+// if (ID <= 4191 && ID >= 4187) {
+ String classId = "36398";
+ List homeworkList = testDao.getHomeWork(addCreateUserId);
+ for (int i = 0; i < homeworkList.size(); i++) {
+ String workId = homeworkList.get(i).getID();
+// List stuAnsIds = testDao.getStudentAnsIds(workId);
+// String stuAnIds = stuAnsIds.toString().replace("[", "");
+// stuAnIds = stuAnIds.replace("]", "");
+
+ List strings = testDao.getStudentIdsWithClassId(classId);
+ String stuIds = strings.toString().replace("[", "");
+ stuIds = stuIds.replace("]", "");
+ String[] stuStrings = stuIds.split(",");//学生id
+
+ for (int j = 0; j < stuStrings.length; j++) {
+ String studentId = stuStrings[j];
+
+ testDao.HomeworkReceive(workId, classId, studentId, "", "1", j + "", "2019-09-23 21:28:00", "2019-09-22 17:50:00", "1", j + "");
+ }
+
+ }
+
+ }
+
+ @Autowired
+ UserDao userDao;
+
+ @Test
+ public void doHomeWork() {
+ StudentBean studentBean = new StudentBean();
+ studentBean.setCard("9A1229A9");
+ studentBean.setSchool_id(110);
+ studentBean.setStudentCode("140881200710270056");
+ studentBean.setCustomerId("583912");
+
+// userDao.addStudentUpdate(studentBean.getCard(),studentBean.getSchool_id(),studentBean.getStudentCode(),studentBean.getCustomerId(),"1","2"
+// ,"55640","2014级(08)班","0","1","2019-09-22 16:26");
+
+ /* String QuestionId = "21656, 21657, 21658, 21659, 21753, 21706, 21724, 21796, 21797, 21798";
+ String Answer = "";
+ String CorrectAnswer = "";
+ String QuestionType = "1";
+ String IsCorresct = "";
+ String WorkID = "4198";
+ String[] questionIds = QuestionId.split(",");
+ for (int i = 0; i < questionIds.length; i++) {
+ String questionId = questionIds[i];
+ QuestionBean questionBean = testDao.getQues(questionId);
+ CorrectAnswer = questionBean.getCorrectAnswer();
+ Answer = "B";
+ IsCorresct = Answer.trim().equals(CorrectAnswer.trim()) ? "1" : "3";
+ testDao.StudentAnswer(questionId, Answer, CorrectAnswer, QuestionType, IsCorresct, WorkID);
+ }*/
+
+ }
+
+
+ @Test
+ public void HomeworkRec() {
+ String WorkID = "4198";
+ String ClassId = "";
+ //查询学生id
+ List list = testDao.getStudentIds("4172");
+ String StudentIds = list.toString().replace("[", "");
+ StudentIds = StudentIds.replace("]", "");
+ System.out.println("StudentIds:" + StudentIds);
+ String StudnetAnswerIds = testDao.getStudentAnsIds(WorkID).toString().replace("[", "");
+ StudnetAnswerIds = StudnetAnswerIds.replace("]", "");
+ String[] studentIds = StudentIds.split(",");
+ for (int i = 0; i < studentIds.length; i++) {
+ String studentId = studentIds[i];
+ String finishTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+ testDao.HomeworkReceive(WorkID, ClassId, studentId, StudnetAnswerIds, "1", i + "", "2019-09-19 16:50", finishTime
+ , "1", "" + i);
+ }
+ }
+
+ @Test
+ public void getQIds() {
+
+ List knowledges = userDao.getKnowledge();
+ System.out.println("knowledges:" + knowledges.toString());
+
+ List jiaoCais = userDao.getJiaoCai();
+ System.out.println("jiaoCais:" + jiaoCais.toString());
+
+ for (int i = 0; i < 1; i++) {
+ JiaoCai jiaoCai = jiaoCais.get(i);
+ String SubjectId = jiaoCai.getSubjectId();
+ for (int j = 0; j < knowledges.size(); j++) {
+ Knowledge knowledge = knowledges.get(j);
+ if (SubjectId.equals(knowledge.getSubjectId())) {
+ userDao.addKnowAndJicaoCai(jiaoCai.getID(), knowledge.getId(), 0, 1);
+ }
+ }
+
+ }
+
+ }
+
+ @Test
+ public void tongji() {
+
+ String[] answers = new String[]{"A", "B", "C", "D", "A", "A"};
+ String createUserId = "zy411337";
+ List homeworkList = testDao.getHomeWork(createUserId);//获取布置的作业
+ System.out.println("homeworkList:" + homeworkList);
+ for (int m = 0; m < homeworkList.size(); m++) {
+ String WorkId = homeworkList.get(m).getID();
+ Map> mapRecIDs = new HashMap<>();
+ System.out.println("workId:" + WorkId);
+// List queIds = testDao.getStuAnsIds(WorkId);
+// String questionIds = queIds.toString().replace("[", "");
+// questionIds = questionIds.replace("]", "");
+
+ //获取正确答案
+// List correct = testDao.correctAns(WorkId);
+// String corrStr = correct.toString().replace("[", "");
+// corrStr = corrStr.replace("]", "");
+// String[] correctAnser = corrStr.split(",");
+
+ String questionIds = testDao.getQuestionIds(WorkId);
+
+ //获取答题学生数量
+ List homeworkReceiveIds = testDao.get_HomeworkReceive(WorkId, "12012");
+ System.out.println("homeworkReceiveIds:" + homeworkReceiveIds.size());
+ for (int j = 0; j < homeworkReceiveIds.size(); j++) {//接收学生数量
+
+ String[] quesStirngs = questionIds.split(",");
+ System.out.println("quesStirngs:" + quesStirngs.length);
+ for (int i = 0; i < quesStirngs.length; i++) {
+ String questionId = quesStirngs[i];
+ String CorrectAnswer = testDao.getCorrectAnswer(questionId);
+ int randow = new Random().nextInt(6);
+ String answer = null;
+ String isCorrsct = "";
+ if (randow == 0 || randow == 1 || randow == 2 || randow == 3 || randow == 4) {
+ answer = CorrectAnswer.trim();
+ isCorrsct = "1";
+ } else {
+ answer = answers[randow];
+ isCorrsct = "3";
+ }
+ //插入一条新的记录
+ testDao.addStudentAnswer(quesStirngs[i], answer.trim(), "", CorrectAnswer.trim(), "1", "", isCorrsct, "", "", WorkId);
+ }
+ //获取最新的十条记录
+ List idLists = testDao.getTopIDs(WorkId, questionIds.split(",").length);
+ System.out.println("idLists:" + idLists.toString());
+ mapRecIDs.put(j + "", idLists);
+ }
+// System.out.println("mapRecIDs:" + mapRecIDs.toString() + " 0:" + mapRecIDs.get("0").toString().replace("[", ""));
+
+ for (int i = 0; i < homeworkReceiveIds.size(); i++) {
+ String homeRecId = homeworkReceiveIds.get(i);
+ System.out.println("i:" + i);
+ String ansIds = mapRecIDs.get(i + "").toString().replace("[", "");
+ ansIds = ansIds.replace("]", "");
+ testDao.updateHomeWork(ansIds, homeRecId);
+ }
+
+ List homRecIDs = testDao.get_HomeworkRec(WorkId);
+
+ Map stuMap = new HashMap<>();
+ for (int i = 0; i < homRecIDs.size(); i++) {
+ HomeworkReceive homeworkReceive = homRecIDs.get(i);
+
+ String studentId = homeworkReceive.getStudentId();
+
+ String studentName = testDao.getStudentName(studentId);
+
+ String studnetAnswerIds = homeworkReceive.getStudnetAnswerIds();
+
+ String[] stuIds = studnetAnswerIds.split(",");
+
+ String isC = "";
+ for (int j = 0; j < stuIds.length; j++) {
+ String id = stuIds[j];
+ int idCorrect = testDao.getIsCorrect(id);
+ if (idCorrect == 1) {
+ isC += "1 ";
+ } else if (idCorrect == 3) {
+ isC += "0 ";
+ }
+ }
+ stuMap.put(studentName, isC);
+ System.out.println("" + studentName + " " + isC);
+
+ }
+
+ }
+ }
+
+ private void writeToExcel(HSSFWorkbook workbook, String HomeworkTitle, Map correctAns, String[] names, String title) {
+ //第二部,在workbook中创建一个sheet对应excel中的sheet
+ HSSFSheet sheet = workbook.createSheet(HomeworkTitle);
+ //第三部,在sheet表中添加表头第0行,老版本的poi对sheet的行列有限制
+ HSSFRow row = sheet.createRow(0);
+ //第四步,创建单元格,设置表头
+ HSSFCell cell = null;
+ for (int i = 0; i < correctAns.get(names[0]).length; i++) {
+ cell = row.createCell(i);
+ cell.setCellValue("第" + (i + 1) + "");
+ }
+
+ //第五步,写入数据
+ for (int i = 0; i < names.length; i++) {
+
+// String oneData =correctAns[i];//姓名对应的正确率
+ HSSFRow row1 = sheet.createRow(i + 1);
+ String[] corrects = correctAns.get(names[i]);
+ System.out.println("names:" + names[i]);
+ for (int j = 0; j < corrects.length; j++) {
+ //创建单元格设值
+ row1.createCell(j).setCellValue(corrects[j]);
+ }
+ row1.createCell(corrects.length).setCellValue(names[i]);
+ }
+
+ //将文件保存到指定的位置
+ try {
+ File file = new File("C:\\Users\\taohandong\\Desktop\\文澜\\"+title+".xls");
+ if (!file.exists())file.createNewFile();
+ FileOutputStream fos = new FileOutputStream(file);
+ workbook.write(fos);
+ System.out.println("写入成功");
+ fos.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ @Test
+ public void getStu() {
+ //第一步,创建一个workbook对应一个excel文件
+ HSSFWorkbook workbook = new HSSFWorkbook();
+
+ String createUserId = "zy595910";
+ String title="作业";
+ //ZY_Homework表取出要统计的作业
+ String WorkId = "4408";
+ String workName = testDao.getWorkName(WorkId);
+
+ //ZY_HomeworkReceive 表获取学生作业答题情况;
+ List homRecIDs = testDao.get_HomeworkRec(WorkId);
+
+ Map stuMap = new HashMap<>();
+ String[] names = new String[homRecIDs.size()];
+ String[] isCorrect = null;
+ for (int i = 0; i < homRecIDs.size(); i++) {
+ HomeworkReceive homeworkReceive = homRecIDs.get(i);
+
+ String studentId = homeworkReceive.getStudentId();
+
+ String studentName = testDao.getStudentName(studentId);
+
+ String studnetAnswerIds = homeworkReceive.getStudnetAnswerIds();
+// System.out.println("studnetAnswerIds:"+studnetAnswerIds+" WorkId:"+WorkId + " StudentId:"+studentId);
+ if (null != studnetAnswerIds) {
+ names[i] = studentName;
+ String[] stuIds = studnetAnswerIds.split(",");
+ isCorrect = new String[stuIds.length];
+ String isC = "";
+ for (int j = 0; j < stuIds.length; j++) {
+ String id = stuIds[j];
+ System.out.println("IsCorrectId:" + id);
+ //ZY_StudentAnswer表获取题目是否正确
+ int idCorrect = testDao.getIsCorrect(id);
+ if (idCorrect == 1) {
+ isC += "1 ";
+ isCorrect[j] = "1";
+ } else if (idCorrect == 3) {
+ isC += "0 ";
+ isCorrect[j] = "0";
+ }
+ }
+ stuMap.put(studentName, isCorrect);
+ System.out.println("" + studentName + " " + isC);
+ }
+ }
+ if (names!=null&&stuMap.size()>0)
+ writeToExcel(workbook, workName, stuMap, names,title);
+// System.out.println("stuMap:" + stuMap.toString());
+ }
+
+
+ /**
+ * 旋转图片
+ */
+ @Test
+ public void trnImgs() {
+
+ File file = new File("C:\\TaoHandong\\copy\\school479\\StudentCompressed");
+ File[] files = file.listFiles();
+
+ List studentInfos = testDao.getStudents(479);
+
+ List studentInfoList = new ArrayList<>();
+
+ for (int i = 0; i < studentInfos.size(); i++) {
+ StudentInfo studentInfo = studentInfos.get(i);
+
+ boolean isHas = false;
+ for (int j = 0; j < files.length; j++) {
+ File img = files[j];
+ String imgName = img.getName().split("\\.")[0];
+
+ if (imgName.equals(studentInfo.getStudentcode())) {
+ isHas = true;
+ break;
+ }
+
+ }
+
+ if (!isHas) {
+ studentInfoList.add(studentInfo);
+ }
+
+ }
+
+ System.out.println("studentInfoList:" + studentInfoList);
+ //第一步,创建一个workbook对应一个excel文件
+ HSSFWorkbook workbook = new HSSFWorkbook();
+ //第二部,在workbook中创建一个sheet对应excel中的sheet
+ HSSFSheet sheet = workbook.createSheet("缺少的学生人脸");
+ //第三部,在sheet表中添加表头第0行,老版本的poi对sheet的行列有限制
+ HSSFRow row = sheet.createRow(0);
+
+ String[] titles = new String[]{"姓名", "班级", "学籍号", "号码"};
+ //第四步,创建单元格,设置表头
+ HSSFCell cell = null;
+ for (int i = 0; i < titles.length; i++) {
+ cell = row.createCell(i);
+ cell.setCellValue(titles[i]);
+ }
+
+ //第五步,写入数据
+ for (int i = 0; i < studentInfoList.size(); i++) {
+ HSSFRow row1 = sheet.createRow(i + 1);
+ for (int j = 0; j < titles.length; j++) {
+ String value = studentInfoList.get(i).getClass_name();
+ switch (j) {
+ case 0:
+ value = studentInfoList.get(i).getName();
+ break;
+ case 1:
+ value = studentInfoList.get(i).getClass_name();
+ break;
+ case 2:
+ value = studentInfoList.get(i).getStudentcode();
+ break;
+ case 3:
+ value = studentInfoList.get(i).getParentMobile();
+ break;
+ }
+ //创建单元格设值
+ row1.createCell(j).setCellValue(value);
+ }
+ }
+
+ //将文件保存到指定的位置
+ try {
+ FileOutputStream fos = new FileOutputStream("C:\\Users\\taohandong\\Desktop\\result.xls");
+ workbook.write(fos);
+ System.out.println("写入成功");
+ fos.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ /* File file = new File("C:\\TaoHandong\\copy\\School1030\\Student");
+
+ File outFile = new File("C:\\TaoHandong\\copy\\School1030\\Student1");
+
+ if (!outFile.exists()) outFile.mkdirs();
+
+ File[] files = file.listFiles();
+ System.out.println("files:" + files.length);
+ BufferedImage bufferedImage;
+ for (int i = 0; i < files.length; i++) {
+ File img = files[i];
+ int ang = ImageUtils.getImgRotateAngle(img.getAbsolutePath());
+ System.out.println(img.getName() + " ang:" + ang);
+// try {
+// bufferedImage = ImageIO.read(img);
+// moveImg(bufferedImage,img,outFile);
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+
+ }*/
+
+ }
+
+ private List name = new ArrayList<>();
+
+
+}
--
libgit2 0.21.0