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");//解析 +//

image.png

+ explanation = "

\"image.png\"/

"; + 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