From e87d4e3a9fba17b5fa375bf19ac12075a9c7bb41 Mon Sep 17 00:00:00 2001
From: 陈杰 <504987307@qq.com>
Date: Thu, 26 Dec 2019 11:29:16 +0800
Subject: [PATCH] 翼学云读写 接口

---
 cloud/common/pom.xml                                                              |  10 ++++++++++
 cloud/common/src/main/java/com/sincere/common/util/DateUtils.java                 |   2 ++
 cloud/common/src/main/java/com/sincere/common/util/HttpClientUtils.java           |  80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------
 cloud/common/src/main/java/com/sincere/common/util/Xml2JsonUtils.java             | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cloud/quartz/pom.xml                                                              |  14 +++++++-------
 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java  | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResult.java       |  59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResultDetail.java |  39 +++++++++++++++++++++++++++++++++++++++
 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 507 insertions(+), 19 deletions(-)
 create mode 100644 cloud/common/src/main/java/com/sincere/common/util/Xml2JsonUtils.java
 create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
 create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResult.java
 create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResultDetail.java
 create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java

diff --git a/cloud/common/pom.xml b/cloud/common/pom.xml
index d59f2d6..69bdd8b 100644
--- a/cloud/common/pom.xml
+++ b/cloud/common/pom.xml
@@ -90,6 +90,16 @@
             <version>0.0.20131108.vaadin1</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>dom4j</groupId>
+            <artifactId>dom4j</artifactId>
+            <version>1.6.1</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>3.1</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/cloud/common/src/main/java/com/sincere/common/util/DateUtils.java b/cloud/common/src/main/java/com/sincere/common/util/DateUtils.java
index a3fcdf9..fe22f85 100644
--- a/cloud/common/src/main/java/com/sincere/common/util/DateUtils.java
+++ b/cloud/common/src/main/java/com/sincere/common/util/DateUtils.java
@@ -22,6 +22,8 @@ public class DateUtils {
 
     public static String format4 = "HH:mm" ;
 
+    public static String format5 = "yyyyMMdd" ;
+
     public static long getDate(){
         return System.currentTimeMillis();
     }
diff --git a/cloud/common/src/main/java/com/sincere/common/util/HttpClientUtils.java b/cloud/common/src/main/java/com/sincere/common/util/HttpClientUtils.java
index ad52637..e557448 100644
--- a/cloud/common/src/main/java/com/sincere/common/util/HttpClientUtils.java
+++ b/cloud/common/src/main/java/com/sincere/common/util/HttpClientUtils.java
@@ -1,7 +1,10 @@
 package com.sincere.common.util;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.RequestEntity;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpStatus;
 import org.apache.http.client.config.RequestConfig;
@@ -12,13 +15,15 @@ import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
 
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
-import java.util.Date;
+import java.util.List;
+
+import static jdk.nashorn.internal.runtime.ECMAErrors.getMessage;
 
 /**
  * HttpClient4.3工具类
@@ -36,15 +41,15 @@ public class HttpClientUtils {
     }
 
     public static void main(String[] args){
-//        JSONObject object = HttpClientUtils.httpGet("http://60.190.202.57:1000/api/EasyN/GeAttendDetailNew?Id=158&TemplateId=0IZBD9624P&Type=0&time=2019-12-12&UserId=P113111&SchoolId=16");
-//        JSONArray data = (JSONArray)object.get("data");
-        String msg = "[{\"stuCount\":393,\"stuAttendCount\":341,\"noAttendCount\":52,\"sNoAttendCount\":52,\"leaveCount\":0,\"state\":\"已结束\",\"id\":310,\"templateId\":\"OCQQMV0ZXM\",\"color\":3}]";
-        JSONArray data = JSONArray.parseArray(msg);
-        for(int i = 0 ; i < data.size() ; i++){
-            JSONObject object = data.getJSONObject(i);
-            System.out.println(object.get("stuCount"));
-        }
-        System.out.println("1");
+//        String url = "http://http://zhktest.114school.com.cn/szkjapi/toyxy/addTeacherOrg" ;
+//        String json = "{\"name\": \"子部门\",\"groupname\": \"父部门\",\"schoolid\": \"16\",\"token\": \"05719991\"}" ;
+//        JSONObject jsonObject = HttpClientUtils.httpPostJson(url,json);
+//        System.out.println(jsonObject.toJSONString());
+
+        String url = "http://115.239.135.60/token/yxt" ;
+        String json = "key=SZKJ&secret=87dyNIZReZNl6LXGsihfyX3unYgwukSk" ;
+        JSONObject jsonObject = HttpClientUtils.httpPost(url,json);
+        System.out.println(jsonObject.toJSONString());
     }
 
     /**
@@ -170,4 +175,55 @@ public class HttpClientUtils {
         }
         return null ;
     }
+
+    /**
+     *
+     * @param wsdl
+     * @param ns
+     * @param method
+     * @param list 参数
+     * @return
+     */
+    public synchronized static String invoiceWebService(String wsdl, String ns, String method, List<String> list){
+        StringBuffer stringBuffer = new StringBuffer();
+        //拼接参数
+        for (int i = 0; i < list.size(); i++) {
+            stringBuffer.append("<arg" + i + ">" + list.get(i) + "</arg" + i + ">");
+        }
+        //拼接SOAP
+        StringBuffer soapRequestData = new StringBuffer("");
+        soapRequestData.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://service.info.employee.staffing.talentbase.neusoft.com/\">");
+        soapRequestData.append("<soapenv:Header/>");
+        soapRequestData.append("<soapenv:Body>");
+        soapRequestData.append("<ser:" + method + ">");
+        soapRequestData.append(stringBuffer);
+        soapRequestData.append("</ser:" + method + ">");
+        soapRequestData.append("</soapenv:Body>" + "</soapenv:Envelope>");
+        PostMethod postMethod = new PostMethod(wsdl);
+        // 然后把Soap请求数据添加到PostMethod中
+        byte[] b = null;
+        InputStream is = null;
+        try {
+            b = soapRequestData.toString().getBytes("utf-8");
+            is = new ByteArrayInputStream(b, 0, b.length);
+            RequestEntity re = new InputStreamRequestEntity(is, b.length, "text/xml; charset=UTF-8");
+            postMethod.setRequestEntity(re);
+            HttpClient httpClient = new HttpClient();
+            int status = httpClient.executeMethod(postMethod);
+            if (status == 200) {
+                return postMethod.getResponseBodyAsString() ;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try{
+                if (is != null) {
+                    is.close();
+                }
+            }catch (Exception e){
+
+            }
+        }
+        return null;
+    }
 }
diff --git a/cloud/common/src/main/java/com/sincere/common/util/Xml2JsonUtils.java b/cloud/common/src/main/java/com/sincere/common/util/Xml2JsonUtils.java
new file mode 100644
index 0000000..3cb2ce2
--- /dev/null
+++ b/cloud/common/src/main/java/com/sincere/common/util/Xml2JsonUtils.java
@@ -0,0 +1,113 @@
+package com.sincere.common.util;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.dom4j.*;
+
+import java.util.List;
+
+/**
+ * @author chen
+ * @version 1.0
+ * @date 2019/12/26 0026 10:19
+ */
+public class Xml2JsonUtils {
+
+
+    public static void main(String[] args) throws Exception {
+        String xmlStr=
+                "<JXT Name=\"TeacherInfo\">" +
+                "<resultInfo><userID>9943601</userID><name>abd</name><classID>05750400</classID><account>13388685716</account><cardID></cardID><cardID2></cardID2><cardID3></cardID3><cardID4></cardID4><cardID5></cardID5><career>校管理员</career><familyPhone1></familyPhone1><familyPhone2>0</familyPhone2><familyPhone3>0</familyPhone3><tempString></tempString><tempString2></tempString2><tempString3></tempString3></resultInfo>" +
+                "<resultInfo><userID>18639924</userID><name>计老师</name><classID>05750400-D000001</classID><account>15757371362</account><cardID></cardID><cardID2></cardID2><cardID3></cardID3><cardID4></cardID4><cardID5></cardID5><career>教师</career><familyPhone1></familyPhone1><familyPhone2>0</familyPhone2><familyPhone3>0</familyPhone3><tempString></tempString><tempString2></tempString2><tempString3></tempString3></resultInfo>" +
+                "<resultInfo><userID>30962787</userID><name>王佳奕1</name><classID>05750400-D000001</classID><account>13000000000</account><cardID></cardID><cardID2></cardID2><cardID3></cardID3><cardID4></cardID4><cardID5></cardID5><career>教师</career><familyPhone1></familyPhone1><familyPhone2>0</familyPhone2><familyPhone3>0</familyPhone3><tempString></tempString><tempString2></tempString2><tempString3></tempString3></resultInfo>" +
+                "</JXT>";
+        Document doc= DocumentHelper.parseText(xmlStr);
+        JSONObject json=new JSONObject();
+        dom4j2Json(doc.getRootElement(),json);
+        System.out.println("xml2Json:"+json.toJSONString());
+    }
+
+    /**
+     * xml转json
+     * @param xmlStr
+     * @return
+     * @throws DocumentException
+     */
+    public static JSONObject xml2Json(String xmlStr){
+        try{
+            Document doc= DocumentHelper.parseText(xmlStr);
+            JSONObject json=new JSONObject();
+            dom4j2Json(doc.getRootElement(), json);
+            return json;
+        }catch (Exception e){
+
+        }
+        return null ;
+    }
+
+    /**
+     * xml转json
+     * @param element
+     * @param json
+     */
+    public static void dom4j2Json(Element element,JSONObject json){
+        //如果是属性
+        for(Object o:element.attributes()){
+            Attribute attr=(Attribute)o;
+            if(!isEmpty(attr.getValue())){
+                json.put("@"+attr.getName(), attr.getValue());
+            }
+        }
+        List<Element> chdEl=element.elements();
+        if(chdEl.isEmpty()&&!isEmpty(element.getText())){//如果没有子元素,只有一个值
+            json.put(element.getName(), element.getText());
+        }
+
+        for(Element e:chdEl){//有子元素
+            if(!e.elements().isEmpty()){//子元素也有子元素
+                JSONObject chdjson=new JSONObject();
+                dom4j2Json(e,chdjson);
+                Object o=json.get(e.getName());
+                if(o!=null){
+                    JSONArray jsona=null;
+                    if(o instanceof JSONObject){//如果此元素已存在,则转为jsonArray
+                        JSONObject jsono=(JSONObject)o;
+                        json.remove(e.getName());
+                        jsona=new JSONArray();
+                        jsona.add(jsono);
+                        jsona.add(chdjson);
+                    }
+                    if(o instanceof JSONArray){
+                        jsona=(JSONArray)o;
+                        jsona.add(chdjson);
+                    }
+                    json.put(e.getName(), jsona);
+                }else{
+                    if(!chdjson.isEmpty()){
+                        json.put(e.getName(), chdjson);
+                    }
+                }
+
+
+            }else{//子元素没有子元素
+                for(Object o:element.attributes()){
+                    Attribute attr=(Attribute)o;
+                    if(!isEmpty(attr.getValue())){
+                        json.put("@"+attr.getName(), attr.getValue());
+                    }
+                }
+                if(!e.getText().isEmpty()){
+                    json.put(e.getName(), e.getText());
+                }
+            }
+        }
+    }
+
+    public static boolean isEmpty(String str) {
+
+        if (str == null || str.trim().isEmpty() || "null".equals(str)) {
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/cloud/quartz/pom.xml b/cloud/quartz/pom.xml
index 848668b..32bbcc5 100644
--- a/cloud/quartz/pom.xml
+++ b/cloud/quartz/pom.xml
@@ -12,13 +12,13 @@
     <artifactId>quartz</artifactId>
 
     <dependencies>
-        <dependency>
-            <groupId>taobao-sdk-java-auto</groupId>
-            <artifactId>ding</artifactId>
-            <scope>system</scope>
-            <version>1</version>
-            <systemPath>${project.basedir}/lib/taobao-sdk-java-auto_1479188381469-20191205.jar</systemPath>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>taobao-sdk-java-auto</groupId>-->
+<!--            <artifactId>ding</artifactId>-->
+<!--            <scope>system</scope>-->
+<!--            <version>1</version>-->
+<!--            <systemPath>${project.basedir}/lib/taobao-sdk-java-auto_1479188381469-20191205.jar</systemPath>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>com.sincere</groupId>
             <artifactId>common</artifactId>
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
new file mode 100644
index 0000000..773d382
--- /dev/null
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
@@ -0,0 +1,113 @@
+package com.sincere.quartz.third.yixueyun;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.sincere.common.util.DateUtils;
+import com.sincere.common.util.HttpClientUtils;
+import com.sincere.common.util.Xml2JsonUtils;
+import com.sincere.quartz.feign.ScFeign;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigInteger;
+import java.security.MessageDigest;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class YXYReadService {
+
+    private static String SI = "SZ" ;
+    private static int SI_CODE = 12345678 ;
+
+    private static String nameSpace = "http://service.pubinfo.com.cn" ;
+    private static String getAllTeacher = "http://122.229.30.149:8282/DataSynService/GetTeacherInfo";
+    private static String getAllTeacher_method = "getTeacherInfo" ;
+    private static String getAddTeacher = "http://122.229.30.149:8282/DataSynService/GetIncrementTeacherInfo" ;
+    private static String getAddTeacher_method = "getIncrementTeacherInfo" ;
+
+    private static String getAllStudent = "http://122.229.30.149:8282/DataSynService/GetStudentInfo" ;
+    private static String getALlStudent_method = "getStudentInfo";
+    private static String getAddStudent = "http://122.229.30.149:8282/DataSynService/GetIncrementStudentInfo" ;
+    private static String getAddStudent_method = "getIncrementStudentInfo" ;
+
+    private static String getAllDept = "http://122.229.30.149:8282/DataSynService/GetDeptInfo" ;
+    private static String getALlDept_method = "getDeptInfo";
+
+    @Autowired
+    ScFeign scFeign ;
+
+    public void sync(){
+        List list = new ArrayList();
+        list.add(SI);
+        list.add(getPassword(SI_CODE));
+        list.add("05750400");
+        String wsdl =getAllDept ;
+        String ns = nameSpace;
+        String method = getALlDept_method;
+        JSONArray jsonArray = getMessage(wsdl, ns, method, list);
+        System.out.println(jsonArray.toJSONString());
+    }
+
+    private void syncDept(){
+
+    }
+
+    private void syncTeacher(){
+
+    }
+
+    private void syncStudent(){
+
+    }
+
+    private JSONArray getMessage(String wsdl, String ns, String method, List<String> list){
+        String resultXml = HttpClientUtils.invoiceWebService(wsdl,ns,method,list);
+        if(StringUtils.isNotBlank(resultXml)){
+            int begin = resultXml.indexOf("&lt;JXT");
+            int end = resultXml.indexOf("&lt;/JXT");
+            String str = resultXml.substring(begin, end+9);
+            str = str.replaceAll("&lt;", "<");
+            str = str.replaceAll("&gt;", ">");
+            JSONObject json = Xml2JsonUtils.xml2Json(str);
+            if(json != null){
+                return (JSONArray)json.get("resultInfo") ;
+            }
+        }
+        return null ;
+    }
+
+    private String getPassword(int si){
+        int date = Integer.valueOf(DateUtils.date2String(new Date(),DateUtils.format5));
+        String pwd = String.valueOf(si&date) ;
+        while (pwd.length() < 6){
+            pwd = "0" + pwd ;
+        }
+        pwd = pwd.substring(pwd.length() - 6);
+        return EncodeByMD5(pwd);
+    }
+
+    private String EncodeByMD5(String str) {
+        try {
+            // 生成一个MD5加密计算摘要
+            MessageDigest md = MessageDigest.getInstance("MD5");
+            // 计算md5函数
+            md.update(str.getBytes("UTF-8"));
+            // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
+            // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
+            String md5 = new BigInteger(1, md.digest()).toString(16);
+            //BigInteger会把0省略掉,需补全至32位
+            return fillMD5(md5);
+        } catch (Exception e) {
+            throw new RuntimeException("MD5加密错误:" + e.getMessage(), e);
+        }
+    }
+
+    private String fillMD5(String md5){
+        //如果不够32位则回调自身补零,最后返回32位长度的签名
+        return md5.length()==32?md5:fillMD5("0"+md5);
+    }
+
+}
\ No newline at end of file
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResult.java b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResult.java
new file mode 100644
index 0000000..556b8a6
--- /dev/null
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResult.java
@@ -0,0 +1,59 @@
+package com.sincere.quartz.third.yixueyun;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author chen
+ * @version 1.0
+ * @date 2019/12/24 0024 10:42
+ */
+public class YXYResult implements Serializable {
+
+    private int code ;
+    private String message ;
+    private int total ;
+    private int pass ;
+    private List<YXYResultDetail> data ;
+
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public int getTotal() {
+        return total;
+    }
+
+    public void setTotal(int total) {
+        this.total = total;
+    }
+
+    public int getPass() {
+        return pass;
+    }
+
+    public void setPass(int pass) {
+        this.pass = pass;
+    }
+
+    public List<YXYResultDetail> getData() {
+        return data;
+    }
+
+    public void setData(List<YXYResultDetail> data) {
+        this.data = data;
+    }
+}
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResultDetail.java b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResultDetail.java
new file mode 100644
index 0000000..a172394
--- /dev/null
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResultDetail.java
@@ -0,0 +1,39 @@
+package com.sincere.quartz.third.yixueyun;
+
+import java.io.Serializable;
+
+/**
+ * @author chen
+ * @version 1.0
+ * @date 2019/12/24 0024 10:43
+ */
+public class YXYResultDetail implements Serializable {
+
+    private String id ;
+    private String name ;
+    private String err ;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getErr() {
+        return err;
+    }
+
+    public void setErr(String err) {
+        this.err = err;
+    }
+}
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java
new file mode 100644
index 0000000..2c7669a
--- /dev/null
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java
@@ -0,0 +1,96 @@
+package com.sincere.quartz.third.yixueyun;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.sincere.common.util.HttpClientUtils;
+import com.sincere.quartz.feign.ScFeign;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author chen
+ * @version 1.0
+ * @date 2019/12/24 0024 9:14
+ */
+@Service
+public class YXYWriteService {
+    private String TOKEN="" ;
+
+    private static String key = "SZKJ";
+    private static String secret = "87dyNIZReZNl6LXGsihfyX3unYgwukSk" ;
+    private static String prefix_url = "http://115.239.135.60";
+
+    private static String suffix_org_add = "/szkjapi/toyxybatch/addTeacherOrg" ;  //部门添加
+    private static String suffix_class_add = "/szkjapi/toyxybatch/addClass" ; //班级添加
+    private static String suffix_student_add = "/szkjapi/toyxybatch/addStudent" ; //学生添加
+    private static String suffix_teacher_add = "/szkjapi/toyxybatch/addTeacher" ; //老师添加
+
+    private static String suffix_org_update = "/szkjapi/toyxybatch/modifyOrg" ;  //部门 班级修改
+    private static String suffix_student_update = "/szkjapi/toyxybatch/modifyStudent" ; //学生修改
+    private static String suffix_teacher_update = "/szkjapi/toyxybatch/modifyTeacher" ;  //老师修改
+
+    private static String suffix_org_delete = "/szkjapi/toyxybatch/deleteOrg" ;  //部门 班级 删除
+    private static String suffix_user_delete = "/szkjapi/toyxybatch/deleteUser" ;  //老师学生 删除
+
+
+    @Autowired
+    ScFeign scFeign ;
+
+    public void sync(){
+        //查出要同步的学校
+
+            //同步的部门 ,新增 修改 删除
+            syncDept();
+            //同步的老师
+            syncTeacher();
+            //同步的学生
+            syncStudent();
+            //同步的班级
+            syncClass();
+    }
+
+    private void syncDept(){
+
+    }
+
+    private void syncTeacher(){
+
+    }
+
+    private void syncClass(){
+
+    }
+
+    private void syncStudent(){
+
+    }
+
+
+    private YXYResult getResult(String url , String json){
+        YXYResult result = invokeApi(url,TOKEN,json);
+        if(result.getCode() == 2){
+            TOKEN = getToken();
+            result = invokeApi(url,TOKEN,json);
+        }
+        return result ;
+    }
+
+    private String getToken(){
+        String url = prefix_url+"/token/yxt" ;
+        String json = "key="+key+"&secret="+secret ;
+        JSONObject jsonObject = HttpClientUtils.httpPost(url,json);
+        return (String)jsonObject.get("token") ;
+    }
+
+    private YXYResult invokeApi(String url , String token , String json){
+        try{
+            JSONObject jsonObject = HttpClientUtils.httpPostJson(url+"?token="+token,json);
+            return JSON.toJavaObject(jsonObject,YXYResult.class);
+        }catch (Exception e){
+            e.printStackTrace();
+            return  new YXYResult();
+        }
+
+    }
+
+}
--
libgit2 0.21.0