소스 검색

12.18契约锁最后更新

“lqy 6 달 전
부모
커밋
c71dd73914

+ 5 - 0
mjava-ruisi/pom.xml

@@ -49,6 +49,11 @@
             <artifactId>base</artifactId>
             <version>1.1-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>3.14.9</version>
+        </dependency>
     </dependencies>
 
 

+ 102 - 0
mjava-ruisi/src/main/java/com/malk/ruisi/controller/CosController.java

@@ -4,17 +4,34 @@ package com.malk.ruisi.controller;
  * 错误抛出与拦截详见 CatchException
  */
 
+import cn.hutool.core.text.UnicodeUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.malk.ruisi.service.RSService;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
 import com.malk.server.common.McException;
 import com.malk.server.common.McR;
+import com.malk.server.dingtalk.DDConf;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilHttp;
 import com.malk.utils.UtilServlet;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 @Slf4j
 @RestController
@@ -128,4 +145,89 @@ public class CosController {
         Map map = rsService.approvalRecord(processInstanceId, data);
         return McR.success(map);
     }
+    @GetMapping("/txt")
+    public String txt() throws Exception {
+        return getAccessToken_RS();
+    }
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private YDConf ydConf;
+    @Autowired
+    private DDConf ddConf;
+    @PostMapping("/restPassword")
+    public McR restPassword(@RequestBody Map map) throws Exception {
+        String formInstanceId = String.valueOf(map.get("formInstanceId"));
+        //根据实例ID获取表单数据
+        Map data = (Map) ydClient.queryData(YDParam.builder().formInstId(formInstanceId)
+                .appType(ydConf.getAppType()).systemToken(ydConf.getSystemToken())
+                .userId(ddConf.getOperator()).build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+        log.info("data:{}", data);
+        String email = data.get("textField_m33wwc3s").toString();
+//        String email = "matthewsun@rdchina.net";
+        Map param = new HashMap();
+        param.put("Authorization", "Bearer "+getAccessToken_RS());
+        param.put("Content-Type", "application/json");
+        Map body = new HashMap();
+        body.put("password", "1234abcdW@");
+        body.put("forceChangePasswordNextSignIn", true);
+
+       UtilHttp.doPost("https://alimail-cn.aliyuncs.com/v2/users/"+email+"/resetPassword",  param, null,body );
+
+        return McR.success();
+    }
+    public String getAccessToken_RS() throws Exception {
+        Map param = new HashMap();
+        param.put("grant_type", "client_credentials");
+        param.put("client_id", "smd83Uj6Waoeijfc");
+        param.put("client_secret", "8qlBbswcfEbNZrANdSYCvZ6PQJXMHL9ZN4ygj2H9RyhO7T2bLG9k287P9NXJwjH5");
+        JSONObject jsonObject = sendData(param, true, true, null);
+        String access_token = jsonObject.getString("access_token");
+        return access_token;
+    }
+
+
+    public JSONObject sendData(Map param, Boolean isPost, Boolean isBody, String url) throws Exception {
+        JSONObject resultObj = null;
+        try {
+            HttpRequest httpRequest = createRequest(param, isPost, isBody, url);
+            HttpResponse httpResponse = httpRequest.execute();
+            log.info("httpResponse:{}", httpResponse);
+            String result = httpResponse.body();
+            if (ObjectUtil.isNull(result)) {
+                throw new Exception("接口返回值为空");
+            }
+            result = UnicodeUtil.toString(result);
+            log.info("result:{}", result);
+            resultObj = JSONObject.parseObject(result);
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new Exception("请求阿里邮箱接口异常");
+        }
+        return resultObj;
+    }
+    public HttpRequest createRequest(Map param, Boolean isPost, Boolean isBody, String url) throws Exception {
+        String str = param == null || param.isEmpty() ? "" : JSONObject.toJSONString(param);
+        log.info("请求地址:{}", url);
+        log.info("请求参数:{}", str);
+        HttpRequest httpRequest = null;
+        if (isPost) {
+            if (isBody) {
+                httpRequest = HttpUtil.createPost("https://alimail-cn.aliyuncs.com/oauth2/v2.0/token").form(param).header("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
+            } else {
+                httpRequest = HttpUtil.createPost("https://alimail-cn.aliyuncs.com/oauth2/v2.0/token").body(str).header("Content-Type", "application/json");
+            }
+        } else {
+            httpRequest = HttpUtil.createGet("https://alimail-cn.aliyuncs.com/oauth2/v2.0/token").form(param);
+        }
+        String nowTimestamp = String.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli());
+        String nonce = UUID.randomUUID().toString();
+        log.debug("nowTimestamp:{},nonce:{}", nowTimestamp, nonce);
+//        httpRequest = httpRequest
+//                .header("x-qys-accesstoken", QYS_API_TOKEN)
+//                .header("x-qys-timestamp", nowTimestamp)
+//                .header("x-qys-nonce", nonce)
+//                .header("x-qys-signature", SecureUtil.md5(QYS_API_TOKEN + QYS_API_SECRET + nowTimestamp + nonce));
+        return httpRequest;
+    }
 }

+ 46 - 31
mjava-ruisi/src/main/java/com/malk/ruisi/controller/QysHuiDaoController.java

@@ -1,6 +1,12 @@
 package com.malk.ruisi.controller;
 
 
+import cn.hutool.core.text.UnicodeUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.crypto.SecureUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -41,6 +47,8 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.ResultSet;
 import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
 import java.util.*;
 
 @RestController
@@ -90,6 +98,8 @@ public class QysHuiDaoController {
         }
         return McR.success(r);
     }
+
+
     @Autowired
     private YDService ydService;
 
@@ -124,9 +134,9 @@ public class QysHuiDaoController {
     @GetMapping("/test20")
     McR test12() {
         ydClient.operateData(YDParam.builder()
-                .formInstanceId("a8b1bfa9-ab69-47f0-aa09-083483e177bc")
-                .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("associationFormField_lvz3j6lr",Arrays.asList(getAss("物理用印公司用印场景","FINST-5V766V61BVZKFD1C68KB14U69RMR3TXGWM4WL1XN1")))))
-//                .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_ltwe0wyb, textField_lvz3j6ls","物理用印公司用印场景, 2731787510660432675")))
+                .formInstanceId("dbea313c-b8e7-4c68-bf3a-d0c1e19a5e24")
+//                .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("associationFormField_lvz3j6lr",Arrays.asList(getAss("物理用印公司用印场景","FINST-5V766V61BVZKFD1C68KB14U69RMR3TXGWM4WL1XN1")))))
+                .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_lutjqbz2","校长")))
                         .useLatestVersion(true)
                         .build(), YDConf.FORM_OPERATION.update);
         return McR.success();
@@ -139,10 +149,11 @@ public class QysHuiDaoController {
         ydClient.operateData(YDParam.builder()
 
                 .formInstanceId(ins)
-       //         .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("associationFormField_lu0u6npd",Arrays.asList(getAss("上海领语堂培训学校有限公司 公章","FINST-9Z766DC18KCP57M49WZHHDDAD8ST236FYJ42M0C")))))
-//               .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_lvz1kozg, textField_lvm5xmqe, textField_lvz1kozf","多方电子用印(企业)(对方先签), 2741605538270839198, 上海领语堂培训学校有限公司")))
-//               .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("departmentSelectField_lys0k6qb",Arrays.asList("527436269"))))
-               .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_lvzz59hn","2911560302743331144")))
+//                .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("associationFormField_lwso6sgd",Arrays.asList(getAss("北京领语堂科技发展有限公司-公章","FINST-5W966981XKCPX6UI65IROC72AAGX28R2XJ42M62"),getAss("瑞思(天津)教育信息咨询有限公司-公章","FINST-MMB66F810LCP7IPHCXQDG9C0CHQG2X08WJ42MB3")))))
+               .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textareaField_m062l84e","")))
+//               .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("departmentSelectField_lys0k6qb",Arrays.asList("155183270"))))
+//               .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("employeeField_lwso6sgc",Arrays.asList("2312"))))
+//               .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("radioField_m1j8w12d, radioField_m1j8w12c","否, 否")))
                 .useLatestVersion(true)
                 .build(), YDConf.FORM_OPERATION.update);
         return McR.success();
@@ -161,12 +172,12 @@ public class QysHuiDaoController {
                     .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
             List  employeeField_lts1mg30_id = (List) formData.get("employeeField_lts1mg30_id");
             List  departmentSelectField_lts1mg2z_id = (List) formData.get("departmentSelectField_lts1mg2z_id");
-            List  departmentSelectField_lys0k6qb_id = (List) formData.get("departmentSelectField_lys0k6qb_id");
+//            List  departmentSelectField_lys0k6qb_id = (List) formData.get("departmentSelectField_lys0k6qb_id");
     //
             System.out.println("=="+employeeField_lts1mg30_id);
             formData.put("employeeField_lts1mg30", employeeField_lts1mg30_id);
             formData.put("departmentSelectField_lts1mg2z", departmentSelectField_lts1mg2z_id);
-            formData.put("departmentSelectField_lys0k6qb", departmentSelectField_lys0k6qb_id);
+//            formData.put("departmentSelectField_lys0k6qb", departmentSelectField_lys0k6qb_id);
 
             System.out.println(formData);
             ydClient.operateData(YDParam.builder()
@@ -189,12 +200,12 @@ public class QysHuiDaoController {
         List  employeeField_lts8k71n_id = (List) formData.get("employeeField_lts8k71n_id");
         List  departmentSelectField_lts8k71m_id = (List) formData.get("departmentSelectField_lts8k71m_id");
         List  departmentSelectField_lx9uj3ds_id = (List) formData.get("departmentSelectField_lx9uj3ds_id");
-           List  employeeField_lwt3bde4_id = (List) formData.get("employeeField_lwt3bde4_id");
+//           List  employeeField_lwt3bde4_id = (List) formData.get("employeeField_lwt3bde4_id");
 //        System.out.println("=="+employeeField_lts1mg30_id);
         formData.put("employeeField_lts8k71n", employeeField_lts8k71n_id);
         formData.put("departmentSelectField_lts8k71m", departmentSelectField_lts8k71m_id);
         formData.put("departmentSelectField_lx9uj3ds", departmentSelectField_lx9uj3ds_id);
-        formData.put("employeeField_lwt3bde4", employeeField_lwt3bde4_id);
+//        formData.put("employeeField_lwt3bde4", employeeField_lwt3bde4_id);
         System.out.println(formData);
         ydClient.operateData(YDParam.builder()
                 .appType(ydConf.getAppType()).systemToken(ydConf.getSystemToken())
@@ -206,8 +217,8 @@ public class QysHuiDaoController {
     }
     @GetMapping("/test25")
     McR test25() {
-        String formInstanceId = "92c69cfe-c8f8-476b-bd34-58aefc19abcb";//it07
-        String userId = "1003682";
+        String formInstanceId = "eb7b7950-5884-415a-91cd-ceb4b9a3d762";//it07
+        String userId = "1007563";
         Map formData = (Map) ydClient.queryData(YDParam.builder().formInstId(formInstanceId)
                 .appType(ydConf.getAppType()).systemToken(ydConf.getSystemToken())
                 .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
@@ -229,26 +240,28 @@ public class QysHuiDaoController {
                 .build(), YDConf.FORM_OPERATION.start).toString();////
         return McR.success(formData);
     }
-    @GetMapping("/test23")
-    McR test23() {
-        String formInstanceId = "1c934e55-cd5d-42e7-94b3-2a90cdb8c827";
-        String userId = "1007443";
+    @PostMapping("/test23")//离职单
+    McR test23(@RequestBody Map data) {
+        String  formInstanceId = String.valueOf(data.get("formInstanceId"));
+        String  userId = String.valueOf(data.get("userId"));
+//        String formInstanceId = "1c934e55-cd5d-42e7-94b3-2a90cdb8c827";
+//        String userId = "1007443";
         Map formData = (Map) ydClient.queryData(YDParam.builder().formInstId(formInstanceId)
                 .appType(ydConf.getAppType()).systemToken(ydConf.getSystemToken())
                 .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
-        List  employeeField_lu7zrcj3_id = (List) formData.get("employeeField_lu7zrcj3_id");
+        List  employeeField_lu7zrcj3_id = (List) formData.get("employeeField_lts3bfjz_id");
 //        List  departmentSelectField_lts1mg2z_id = (List) formData.get("departmentSelectField_lts1mg2z_id");
-        List  departmentSelectField_lu7zrcj4_id = (List) formData.get("departmentSelectField_lu7zrcj4_id");
+        List  departmentSelectField_lu7zrcj4_id = (List) formData.get("departmentSelectField_lts3bfjq_id");
 //
 //        System.out.println("=="+employeeField_lts1mg30_id);
-        formData.put("employeeField_lu7zrcj3", employeeField_lu7zrcj3_id);
-        formData.put("departmentSelectField_lu7zrcj4", departmentSelectField_lu7zrcj4_id);
+        formData.put("employeeField_lts3bfjz", employeeField_lu7zrcj3_id);
+        formData.put("departmentSelectField_lts3bfjq", departmentSelectField_lu7zrcj4_id);
 //        formData.put("departmentSelectField_lys0k6qb", departmentSelectField_lys0k6qb_id);
 
         System.out.println(formData);
         ydClient.operateData(YDParam.builder()
                 .appType(ydConf.getAppType()).systemToken(ydConf.getSystemToken())
-                .formUuid("FORM-0AD770FAD54A47CA938A9D338C6FBB1BZ7AH")
+                .formUuid("FORM-7B447A4F40D44A00B502081629BBACFA2DCH")
                 .userId(userId)
                 .formDataJson(JSON.toJSONString(formData))
                 .build(), YDConf.FORM_OPERATION.start).toString();////
@@ -273,14 +286,14 @@ public class QysHuiDaoController {
     @GetMapping("/test6")
     public McR test6() throws Exception {
         List<Map> datalist = ydService.queryFormData_all(YDParam.builder()
-                        .formUuid("FORM-2C10C625AF2D456F93852DFEAEBF9C349IQA")
+                        .formUuid("FORM-B27C1AE7298648F29E836B5FDF469DBDPFCK")
                         .build()
                 );
         for (Map map : datalist) {
             ydClient.operateData(YDParam.builder()
                     .useLatestVersion(true)
                     .formInstanceId(UtilMap.getString(map, "formInstanceId"))
-//                    .formInstanceId("a5b23b72-c450-4ffe-83b0-a5a59a3cbaa4")
+//                    .formInstanceId("0f4d6ff3-ecfa-46d2-8394-14cc02ad2080")
                     .updateFormDataJson(JSONObject.toJSONString(new HashMap<>()))
                     .build(), YDConf.FORM_OPERATION.update);
         }
@@ -489,9 +502,10 @@ return "success";
 //            System.out.println("11"+result);
 //
 //        }
-        Map userInfoById = ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), "1006660");
-        String org_email = String.valueOf(userInfoById.get("org_email"));
-        return McR.success(org_email);
+        taskExecute("4a610fb3-dd7d-43fd-946d-36d65c82b563","44170522662");
+//        Map userInfoById = ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), "1006660");
+//        String org_email = String.valueOf(userInfoById.get("org_email"));
+        return McR.success();
     }
     @GetMapping("/test33")
     public McR test33() throws Exception {
@@ -499,6 +513,7 @@ return "success";
                 .formUuid("FORM-11B80FC621CA4DB9A35364CFBFF7287538KR")
                 .build());
         dataList.forEach(data -> {
+            System.out.println(UtilMap.getString(data, "radiofield_MMa26Yu4"));
             if ("未启用".equals(UtilMap.getString(data, "radiofield_MMa26Yu4"))) {
                 String userId = UtilMap.getString(data, "textField_lztc6k3k");
                 String message = "";
@@ -523,9 +538,9 @@ return "success";
         param2.put("access_token", dingshiqiImpl.getAccessToken_PJSS());
         Map body = new HashMap();
         body.put("userid", userId);
-        String s = UtilHttp.doGet("https://oapi.dingtalk.com/topapi/v2/user/delete", param2, (Map<String, Object>) body);
-        JSONObject obj = JSONObject.parseObject(s);
-        JSONArray arr = obj.getJSONArray("result");
+        DDR_New ddr_new = (DDR_New) UtilHttp.doPost("https://oapi.dingtalk.com/topapi/v2/user/delete", null, param2, (Map<String, Object>) body, DDR_New.class);
+        System.out.println("111");
+
     }
     @GetMapping("/test2")
     public String test2() throws Exception {
@@ -539,7 +554,7 @@ return "success";
 //                .build(), YDConf.FORM_QUERY.retrieve_list).getData();
 //        Map map = list1.get(0);
 //        String instanceId = (String) map.get("formInstanceId");
-        String instanceId = "b3f6533c-d247-4355-82e7-4c6868c7b042";
+        String instanceId = "4a610fb3-dd7d-43fd-946d-36d65c82b563";
         Map param2 = new HashMap();
         param2.put("x-acs-dingtalk-access-token", dingshiqi.getAccessToken_PJSS());
         Map body3 = new HashMap();

+ 4 - 2
mjava-ruisi/src/main/java/com/malk/ruisi/controller/RSScheduleTask.java

@@ -10,6 +10,7 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
+import java.time.LocalDateTime;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -19,7 +20,7 @@ import java.util.Map;
 @Slf4j
 @Configuration
 @EnableScheduling
-@ConditionalOnProperty(name = {"spel.scheduling"})
+@ConditionalOnProperty(name = {"enable.scheduling"})
 public class RSScheduleTask {
 
     @Autowired
@@ -42,6 +43,7 @@ public class RSScheduleTask {
      * 删除供应商账号
      */
     @Scheduled(cron = "0 0 6 * * ? ")
+//    @Scheduled(cron = "0 0/3 * * * ?")
     public void syncDingTalkFailedListDelect() {
         try {
             rsService.syncDingTalk_delect();
@@ -55,8 +57,8 @@ public class RSScheduleTask {
 
 //    @Scheduled(cron = "0 0 5 * * ? ")
     @Scheduled(cron = "0 */5 * * * ?")
-
     public void hzmhByType() {
+        log.info("定时刷新工作台开始:{}", LocalDateTime.now());
         try {
             rsService.getDataList();
 //            HttpUtil.get("http://aservice.risechina.com:9020/ruisi/hzmh/byType");

+ 39 - 0
mjava-ruisi/src/main/java/com/malk/ruisi/controller/RsQysController.java

@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalDateTime;
 import java.util.Map;
 
 @RestController
@@ -21,7 +22,45 @@ public class RsQysController {
     @Autowired
     private RsQysService rsQysService;
 
+    @Autowired
+    private dingshiqi ds;
     /* 契约锁回调密钥 */
+    @PostMapping("/qysDsrw")
+    public McR qysDsrw(@RequestBody  Map data) throws Exception {
+        String DAFL = String.valueOf(data.get("DAFL"));
+        if ("YWFL".equals(DAFL)){
+            try {
+                System.out.println("开始上传业务ID");
+                System.out.println(LocalDateTime.now());
+                ds.getYWFLid();
+                System.out.println("结束业务ID");
+            } catch (Exception e) {
+                // 记录错误信息
+                e.printStackTrace();
+            }
+        }else if ("YZWL".equals(DAFL)){
+            try {
+                System.out.println("开始上传物理印章ID");
+                System.out.println(LocalDateTime.now());
+                ds.getYWFLid1();
+                System.out.println("结束物理印章ID");
+            } catch (Exception e) {
+                // 记录错误信息
+                e.printStackTrace();
+            }
+        } else if ("YZDZ".equals(DAFL)){
+            try {
+                System.out.println("开始上传电子印章ID");
+                System.out.println(LocalDateTime.now());
+                ds.getYWFLid2();
+                System.out.println("结束电子印章ID");
+            } catch (Exception e) {
+                // 记录错误信息
+                e.printStackTrace();
+            }
+        }
+        return McR.success();
+    }
 
     /***
      * 第一步

+ 2 - 2
mjava-ruisi/src/main/java/com/malk/ruisi/controller/ScheduleTask.java

@@ -47,7 +47,7 @@ public class ScheduleTask {
     /**
      * 每月查询业务ID
      */
-//    @Scheduled(cron = "0 23 12 * * ?")
+//    @Scheduled(cron = "0 19 17 * * ?")
     @Scheduled(cron = "0 0 4 * * ?")
     public void syncRecruitSource() {
         try {
@@ -205,7 +205,7 @@ public class ScheduleTask {
      * //
      */
     @Scheduled(cron = "0 30 3 * * ?")
-//    @Scheduled(cron = "0 41 17 * * *")
+//    @Scheduled(cron = "0 09 14 * * *")
     public void syncRecruitSource2() {
         try {
             System.out.println("开始上传电子印章ID");

+ 2 - 0
mjava-ruisi/src/main/java/com/malk/ruisi/service/RSService.java

@@ -1,5 +1,6 @@
 package com.malk.ruisi.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.malk.server.common.McR;
 
 import java.util.List;
@@ -27,4 +28,5 @@ public interface RSService {
     Map approvalRecord(String processInstanceId, Map data);
 
     void syncDingTalk_delect();
+
 }

+ 22 - 6
mjava-ruisi/src/main/java/com/malk/ruisi/service/impl/RSImplService.java

@@ -18,6 +18,7 @@ import com.malk.utils.UtilHttp;
 import com.malk.utils.UtilMap;
 import com.malk.utils.UtilServlet;
 import lombok.extern.slf4j.Slf4j;
+import okhttp3.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -26,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.PostMapping;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 @EnableScheduling
@@ -71,10 +73,12 @@ public class RSImplService implements RSService {
                 .build());
         dataList.forEach(data -> {
             if (!"是".equals(UtilMap.getString(data, "radioField_m0hlup9w"))) {
-                String userId = UtilMap.getString(data, "textField_lztc6k3k");
+                String userId = UtilMap.getString(data, "textField_lztc6k3k");//人员ID
+                String hzqy = UtilMap.getString(data, "textField_lu295ft5");//合作区域
                 String message = "";
                 try {
                     this.createExclusiveUser(userId, UtilMap.getString(data, "textField_lxsm8xow"));
+                    this.updateExclusiveUser(userId, hzqy);
                 } catch (McException e) {
                     message = e.getMessage();
                     log.error(e.getMessage(), e);
@@ -86,8 +90,19 @@ public class RSImplService implements RSService {
                         .build(), YDConf.FORM_OPERATION.update);
             }
         });
+        /*钉钉通讯录职位填充*/
+
+    }
+
+    private void updateExclusiveUser(String userId, String possionName) throws McException {
+        Map param2 = new HashMap();
+        param2.put("access_token", dingshiqiImpl.getAccessToken_PJSS());
+        Map body = new HashMap();
+        body.put("userid", userId);
+        body.put("title", possionName);
+        DDR_New ddr_new = (DDR_New) UtilHttp.doPost("https://oapi.dingtalk.com/topapi/v2/user/update", null, param2, (Map<String, Object>) body, DDR_New.class);
+
     }
-    
     /**
      * 重置企业账号密码
      */
@@ -250,14 +265,15 @@ public class RSImplService implements RSService {
             }
         });
     }
+
+
     private void delectExclusiveUser(String userId) throws McException {
         Map param2 = new HashMap();
         param2.put("access_token", dingshiqiImpl.getAccessToken_PJSS());
         Map body = new HashMap();
         body.put("userid", userId);
-        String s = UtilHttp.doGet("https://oapi.dingtalk.com/topapi/v2/user/delete", param2, (Map<String, Object>) body);
-        JSONObject obj = JSONObject.parseObject(s);
-        JSONArray arr = obj.getJSONArray("result");
+        DDR_New ddr_new = (DDR_New) UtilHttp.doPost("https://oapi.dingtalk.com/topapi/v2/user/delete", null, param2, (Map<String, Object>) body, DDR_New.class);
+
     }
 
 
@@ -288,7 +304,7 @@ public class RSImplService implements RSService {
                 String image = UtilMap.getString(formData, "imageField_m1abjxl0");
                 if (StringUtils.isNotBlank(image)) {
                     List<Map> attas = (List<Map>) JSON.parse(image);
-                    row.put("image", ydClient.convertTemporaryUrl(UtilMap.getString(attas.get(0), "url")));
+                    row.put("image", ydClient.convertTemporaryUrl(UtilMap.getString(attas.get(0), "url"),3600000));
                     Object image1 = row.get("image");
                     System.out.println("image========="+UtilMap.getString(attas.get(0), "url"));
 //                    System.out.println("image1========="+image1);

+ 10 - 2
mjava-ruisi/src/main/java/com/malk/ruisi/service/impl/RsQysServiceImpl.java

@@ -743,7 +743,7 @@ public class RsQysServiceImpl implements RsQysService {
         JSONObject obj = new JSONObject();
         obj.put("subject", data.get(getCust(type, "subject")).toString());//合同名称
         obj.put("tenantName", data.get(getCust(type, "tenantName")));//发起方公司名称
-//        obj.put("applyerNumber", data.get(getCust(type, "applyerNumber")));//发起员工编号
+        obj.put("applyerNumber", data.get(getCust(type, "applyerNumber")));//发起员工编号
         ArrayList<Object> objects1 = new ArrayList<>();
         for (Map sealjsonmap : sealjsonlist) {
             JSONObject auths = new JSONObject();
@@ -757,7 +757,10 @@ public class RsQysServiceImpl implements RsQysService {
             ArrayList<Object> objects = new ArrayList<>();
             Map hashMap = new HashMap();
             hashMap.put("mobile", aaa);
+            Map hashUser = new HashMap();
+            hashUser.put("number", data.get(getCust(type, "applyerNumber")));
             objects.add(hashMap);
+            objects.add(hashUser);
             auths.put("sealName", aaa1);//印章名称
             auths.put("count", data.get(getCust(type, "count")));//授权数量
             auths.put("users", objects);
@@ -783,7 +786,9 @@ public class RsQysServiceImpl implements RsQysService {
                 Map<String, Object> map = new HashMap<>();
                 map.put("userName", node.get("userName").asText());
                 map.put("sealName", node.get("sealName").asText());
-                map.put("contact", node.get("contact").asText());
+                String contact = node.get("contact") != null && !node.get("contact").isMissingNode() ? node.get("contact").asText() : String.valueOf(data.get(getCust(type, "applyerNumber")));
+
+                map.put("contact", contact);
                 String vertifyCode = node.get("vertifyCode") != null && !node.get("vertifyCode").isMissingNode() ? node.get("vertifyCode").asText() : "授权码不存在";
                 map.put("vertifyCode", vertifyCode);
                 resultList.add(map);
@@ -1018,6 +1023,9 @@ public class RsQysServiceImpl implements RsQysService {
         JSONObject obj = new JSONObject();
 //        obj.put("subject",data.get("textField_ltsbwef0"));//合同名称
         obj.put("subject", data.get(getCust(type, "subject")).toString());//合同名称
+        obj.put("creatorName", data.get(getCust(type, "creatorName")).toString());//发起人姓名
+        obj.put("creatorContact", data.get(getCust(type, "creatorContact")).toString());//发起人联系方式
+
 //        obj.put("sn",data.get("serialNumberField_ltsbweh2"));//合同编号流水号
         obj.put("sn", data.get(getCust(type, "sn")));//合同编号流水号
         obj.put("tenantName", data.get(getCust(type, "tenantName")));//发起方公司名称

+ 8 - 8
mjava-ruisi/src/main/java/com/malk/ruisi/service/impl/dingshiqiImpl.java

@@ -200,8 +200,8 @@ public class dingshiqiImpl implements dingshiqi {
             return accessToken;
         }
         Map param = new HashMap();
-        param.put("appkey", "dingwnds0gg0vpbu44cd");
-        param.put("appsecret", "B7tDWb3hPjP4rksRd_PqOsOVBv6QWY6F9gvn1X2aIoAIMFchRGw69aDeHly-6XXn");
+        param.put("appkey", "dingprswtas7kluqst2c");
+        param.put("appsecret", "ukquGx_DjznsTQtKQtFFNutn1NFhSgL9ZbTfCtl_9mJYWacFYu--vj_zThTxjsYN");
         DDR r = (DDR) UtilHttp.doGet("https://oapi.dingtalk.com/gettoken", param, DDR.class);
         log.info("响应token, {}", r.getAccessToken());
         accessToken = r.getAccessToken();
@@ -269,7 +269,7 @@ public class dingshiqiImpl implements dingshiqi {
                     String id = String.valueOf(sealDetail.get("id")); // 印章id
                     String yzmc = String.valueOf(sealDetail.get("yzmc")); // 印章名称
                     yzsyzid1.add(yzsyzid);
-                    String sc = "textField_lw6aecvd, textField_lw6aecvg, textField_lw6aecve";
+                    String sc = "textField_lw6aecvd, textField_lw6aecvg";
                     String fd = "textField_lw6aecvd, textField_lw6aecvg, textField_lw6aecve";
                     String fd1 = "textField_lw6aecvd, textField_lw6aecvg, textField_lw6aecve";
                     if (yzsyzid1 != null) {
@@ -280,7 +280,7 @@ public class dingshiqiImpl implements dingshiqi {
                         mapForm.put("dateField_lznyvvaw", new Date().getTime()); // 同步时间
                         ydClient.operateData(YDParam.builder()
                                 .formUuid("FORM-7ACCB70D96FA4187BD2042243641E54CD6VH")
-                                .searchCondition(JSONObject.toJSONString(UtilMap.map(sc, gszt, id, yzmc)))
+                                .searchCondition(JSONObject.toJSONString(UtilMap.map(sc, gszt, id)))
                                 .formDataJson(JSONObject.toJSONString(mapForm))
                                 .build(), YDConf.FORM_OPERATION.upsert);
                     } else {
@@ -289,7 +289,7 @@ public class dingshiqiImpl implements dingshiqi {
                         mapForm1.put("dateField_lznyvvaw", new Date().getTime()); // 同步时间
                         ydClient.operateData(YDParam.builder()
                                 .formUuid("FORM-7ACCB70D96FA4187BD2042243641E54CD6VH")
-                                .searchCondition(JSONObject.toJSONString(UtilMap.map(sc, gszt, id, yzmc)))
+                                .searchCondition(JSONObject.toJSONString(UtilMap.map(sc, gszt, id)))
                                 .formDataJson(JSONObject.toJSONString(mapForm1))
                                 .build(), YDConf.FORM_OPERATION.upsert);
                     }
@@ -379,7 +379,7 @@ public class dingshiqiImpl implements dingshiqi {
                     String id = String.valueOf(sealDetail.get("id")); // 印章id
                     String yzmc = String.valueOf(sealDetail.get("yzmc")); // 印章名称
                     yzsyzid1.add(yzsyzid);
-                    String sc = "textField_lu0k70cf, textField_lw5pfnr9, textField_lu0k70cg";
+                    String sc = "textField_lu0k70cf, textField_lw5pfnr9";
                     String fd = "textField_lu0k70cf, textField_lw5pfnr9, textField_lu0k70cg";
                     String fd1 = "textField_lu0k70cf, textField_lw5pfnr9, textField_lu0k70cg";
                     if (yzsyzid1 != null) {
@@ -390,7 +390,7 @@ public class dingshiqiImpl implements dingshiqi {
                         mapForm.put("dateField_lznyvvaw", new Date().getTime()); // 同步时间
                         ydClient.operateData(YDParam.builder()
                                 .formUuid("FORM-6D5B2C469B45456F9287C3575BFF92C7KUF6")
-                                .searchCondition(JSONObject.toJSONString(UtilMap.map(sc, gszt, id, yzmc)))
+                                .searchCondition(JSONObject.toJSONString(UtilMap.map(sc, gszt, id)))
                                 .formDataJson(JSONObject.toJSONString(mapForm))
                                 .build(), YDConf.FORM_OPERATION.upsert);
                     } else {
@@ -399,7 +399,7 @@ public class dingshiqiImpl implements dingshiqi {
                         mapForm1.put("dateField_lznyvvaw", new Date().getTime()); // 同步时间
                         ydClient.operateData(YDParam.builder()
                                 .formUuid("FORM-6D5B2C469B45456F9287C3575BFF92C7KUF6")
-                                .searchCondition(JSONObject.toJSONString(UtilMap.map(sc, gszt, id, yzmc)))
+                                .searchCondition(JSONObject.toJSONString(UtilMap.map(sc, gszt, id)))
                                 .formDataJson(JSONObject.toJSONString(mapForm1))
                                 .build(), YDConf.FORM_OPERATION.upsert);
                     }

+ 11 - 0
mjava-ruisi/src/test/java/com/malk/ruisi/test.java

@@ -5,6 +5,7 @@ import cn.hutool.json.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.malk.ruisi.service.QysApiService;
 import com.malk.ruisi.service.QysService;
+import com.malk.ruisi.service.RSService;
 import com.malk.ruisi.service.RsQysService;
 import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
@@ -104,4 +105,14 @@ public class test {
         map.put("status","SIGNED");
         rsQysService.callback(map);
     }
+
+
+
+    @Autowired
+    RSService rsService;
+
+    @Test
+    public void tSync(){
+        rsService.getDataList();
+    }
 }