Forráskód Böngészése

契约锁档案同步逻辑关系

pruple_boy 10 hónapja%!(EXTRA string=óta)
szülő
commit
920f5d291f

+ 20 - 10
mjava-ruisi/src/main/java/com/malk/ruisi/controller/RsQysController.java

@@ -2,13 +2,15 @@ package com.malk.ruisi.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.malk.ruisi.service.RsQysService;
+import com.malk.ruisi.service.dingshiqi;
 import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
 
 @RestController
 @Slf4j
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
 public class RsQysController {
     @Autowired
     private RsQysService rsQysService;
+
     /* 契约锁回调密钥 */
 
     /***
@@ -50,8 +53,6 @@ public class RsQysController {
     }
     /***
      * 预签署  可重复获取
-     * @param
-     * @return
      */
     @PostMapping("/appointurl")
     public McR appointurl(String contractId) throws Exception {
@@ -73,8 +74,6 @@ public class RsQysController {
 //    }
     /***
      * 授权物理印章码
-     * @param
-     * @return
      */
     @PostMapping("/apply")
     public McR apply(@RequestBody JSONObject param) throws Exception {
@@ -84,12 +83,23 @@ public class RsQysController {
 
     /***
      * 合同签署页面
-     * @param
-     * @return
      */
     @PostMapping("/signurl")
     public McR signurl(@RequestBody JSONObject param) throws Exception {
         log.info("进入 apply 接口,参数:{}",param);
         return rsQysService.signurl(param);
     }
+
+    @Autowired
+    private dingshiqi timer;
+
+    /**
+     * 同步同步契约锁档案
+     */
+    @GetMapping("sync-qys")
+    public McR syncQys(@RequestParam String type) {
+
+        timer.syncCommon(type);
+        return McR.success();
+    }
 }

+ 18 - 0
mjava-ruisi/src/main/java/com/malk/ruisi/server/YDParam_T.java

@@ -0,0 +1,18 @@
+package com.malk.ruisi.server;
+
+import com.malk.server.aliwork.YDParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+public class YDParam_T extends YDParam {
+
+    /// 查询创建时间, 钉钉版本接口 [旧版本接口不支持]
+    private String createFromTimeGMT;
+    private String createToTimeGMT;
+
+    private String modifiedFromTimeGMT;
+    private String modifiedToTimeGMT;
+}

+ 12 - 0
mjava-ruisi/src/main/java/com/malk/ruisi/service/dingshiqi.java

@@ -12,4 +12,16 @@ public interface dingshiqi {
     JSONObject getYWFLid2()throws Exception;
 
     void syncDelete()throws Exception;
+
+    /**
+     * 契约锁仅会返回启用数据,因此在宜搭增加两个字段一个启用状态一个同步时间,数据同步以后获取前一天没有同步的数据停用
+     *
+     * @param type YWFL 业务分类, YZWL 物理印章, YZDZ 电子印章
+     */
+    void syncRecruitSource(String type);
+
+    /**
+     * 同步数据公共方法, 手动 + 定时
+     */
+    void syncCommon(String type);
 }

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

@@ -1,22 +1,27 @@
 package com.malk.ruisi.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
+import com.malk.ruisi.server.YDParam_T;
 import com.malk.ruisi.service.QysApiService;
 import com.malk.ruisi.service.QysService;
 import com.malk.ruisi.service.dingshiqi;
 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.DDR;
 import com.malk.server.dingtalk.DDR_New;
 import com.malk.service.aliwork.YDClient;
+import com.malk.service.aliwork.YDService;
 import com.malk.service.dingtalk.DDClient;
 import com.malk.service.dingtalk.DDClient_Contacts;
+import com.malk.utils.UtilDateTime;
 import com.malk.utils.UtilHttp;
 import com.malk.utils.UtilMap;
 import com.malk.utils.UtilToken;
@@ -25,10 +30,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import static com.malk.ruisi.constant.QysConstant.*;
 
@@ -335,4 +337,44 @@ public class dingshiqiImpl implements dingshiqi {
                 .build(), YDConf.FORM_OPERATION.delete_batch);
 
     }
+
+
+
+    @Autowired
+    private YDService ydService;
+
+    /**
+     * 停用数据同步逻辑
+     */
+    @Override
+    public void syncRecruitSource(String type) {
+
+        Map mapForm = UtilMap.map("YWFL, YZDZ, YZWL", "FORM-417576F4EE9F4AA1B2395BCD93B7A08C8ASN", "FORM-6D5B2C469B45456F9287C3575BFF92C7KUF6", "FORM-7ACCB70D96FA4187BD2042243641E54CD6VH");
+        String formUuid = UtilMap.getString(mapForm, type);
+        McException.assertParamException(StringUtils.isBlank(formUuid), "同步数据档案不存在!");
+        YDParam_T ydParamT = new YDParam_T();
+        ydParamT.setFormUuid(formUuid);
+        ydParamT.setSearchCondition(JSON.toJSONString(UtilMap.map("radioField_lznyvvav", "启用")));
+        ydParamT.setModifiedToTimeGMT(UtilDateTime.formatDate(new Date(new Date().getTime() - 1 * 24 * 60 * 60 * 1000L)));
+        List<Map> dataList = ydService.queryFormData_all(ydParamT);
+        dataList.forEach(item -> {
+            ydClient.operateData(YDParam.builder()
+                    .formInstanceId(UtilMap.getString(item, "instanceId"))
+                    .updateFormDataJson(JSON.toJSONString(UtilMap.map("radioField_lznyvvav", "停用")))
+                    .build(), YDConf.FORM_OPERATION.update);
+        });
+    }
+
+    /**
+     * 同步数据公共方法, 手动 + 定时
+     */
+    @Override
+    public void syncCommon(String type) {
+
+        // todo 罗:: 判定不同来源, 这里触发原有逻辑同步, 添加同步时间和状态写入
+
+
+        // 匹配停用数据做更新
+        this.syncRecruitSource(type);
+    }
 }

+ 2 - 1
mjava-ruisi/src/main/resources/application-dev.yml

@@ -9,7 +9,8 @@ logging:
   config: classpath:logback-spring.xml
   path: ./log
   level:
-    com.zitoo.connect.*: debug
+    com.malk: debug
+    org.springframework: warn
 
 # dingtalk
 dingtalk: