wzy преди 2 седмици
родител
ревизия
b4511a9923
променени са 1 файла, в които са добавени 63 реда и са изтрити 0 реда
  1. 63 0
      mjava-siku/src/test/java/com.malk.siku/SkTest.java

+ 63 - 0
mjava-siku/src/test/java/com.malk.siku/SkTest.java

@@ -1,6 +1,14 @@
 package com.malk.siku;
 
+import com.alibaba.fastjson.JSONObject;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.aliwork.YDSearch;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.siku.service.SikuService;
 import com.malk.siku.service.SikuTaskService;
+import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.junit.Test;
@@ -14,6 +22,8 @@ import java.math.BigInteger;
 import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 @Slf4j
@@ -23,6 +33,12 @@ public class SkTest {
     @Autowired
     private SikuTaskService sikuTaskService;
 
+    @Autowired
+    private SikuService sikuService;
+
+    @Autowired
+    private YDClient ydClient;
+
     @Test
     public void getSecret(){
         //每刻报销-测试环境
@@ -61,6 +77,53 @@ public class SkTest {
         sikuTaskService.syncLoanManage();
     }
 
+    //批量触发供应商推送每刻
+    @Test
+    public void test2() throws ParseException {
+        String createTime = "2026-05-21 00:00:00";
+        //createTime转换为时间戳
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Date date = sdf.parse(createTime);
+        long timestamp = date.getTime(); // 毫秒时间戳
+
+        List<Map> dataList = getYdFormDataList("FORM-A4B7986899BF42BE8E6B5B9BC85839484PTG", JSONObject.toJSONString(Arrays.asList(new YDSearch("createTime", timestamp, "创建时间", YDSearch.Type.DATE_FIELD, YDSearch.Operator.GE))), YDConf.FORM_QUERY.retrieve_list_all);
+
+        /*List<Map> dataList = (List<Map>)(ydClient.queryData(YDParam.builder()
+                .formUuid("FORM-A4B7986899BF42BE8E6B5B9BC85839484PTG")
+                .searchCondition(JSONObject.toJSONString(Arrays.asList(new YDSearch("createTime",timestamp,"创建时间", YDSearch.Type.DATE_FIELD,YDSearch.Operator.GE))))
+                .pageSize(100)
+                .pageNumber(1)
+                .build(), YDConf.FORM_QUERY.retrieve_list_all).getData());*/
+
+        for (Map data : dataList) {
+            String formInstanceId = UtilMap.getString(data, "formInstanceId");
+
+            Map<String, Object> map = UtilMap.map("formInstId, type", formInstanceId, "供应商");
+
+            sikuService.saveTradingPartner(map);
+        }
+
+
+    }
+
+
+    private List<Map> getYdFormDataList(String formUuid, String searchCondition, YDConf.FORM_QUERY formQuery) {
+        List<Map> list = new ArrayList<>();
+        DDR_New ddrNew;
+        int pageNumber = 1;
+        int pageSize = 100;
+        do {
+            ddrNew = ydClient.queryData(YDParam.builder().formUuid(formUuid)
+                    .searchCondition(searchCondition)
+                    .pageNumber(pageNumber)
+                    .pageSize(pageSize).build(), formQuery);
+
+            list.addAll((List<Map>) ddrNew.getData());
+            pageNumber++;
+        }while (ddrNew.getTotalCount() > ddrNew.getPageNumber() * pageSize);
+        return list;
+    }
+
     //java md5算法
     public static String md5(String plainText)
     {