Files
fadada/src/main/java/com/example/sso/schedule/Down.java
2025-08-22 14:36:10 +08:00

202 lines
7.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.example.sso.schedule;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.example.sso.dao.A;
import com.example.sso.dao.Files;
import com.example.sso.util.APIUtils;
import com.example.sso.util.FDaDaUtil;
import com.example.sso.util.TimeUtils;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.validator.internal.util.logging.Log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
@Component
@Slf4j
public class Down {
Logger logger = LoggerFactory.getLogger(getClass());
@Scheduled(cron = "0 0 22 * * ?") // 每天晚上 22:00 执行
public static void main1() throws Exception {
String saveDir = "/home/fadada/file/";
//可以可以无
JSONObject jsonObject = new JSONObject();
JSONObject ownerId = new JSONObject();
ownerId.put("idType", "corp");
ownerId.put("openId", "625776ecae6742cb8eb710beedef9b4c");
jsonObject.put("ownerId", ownerId);
JSONObject listFilter = new JSONObject();
listFilter.put("signTaskStatus", "task_finished");
jsonObject.put("listFilter", listFilter);
String jsonString = jsonObject.toJSONString();
String down = FDaDaUtil.list(jsonString);
JSONObject jsonObject1 = JSON.parseObject(down);
//去A类拿分页数据
JSONArray jsonArray = A.jsonArray();
long currentTimestamp = System.currentTimeMillis();
Long tim = TimeUtils.tim(currentTimestamp);
String s = "";
String TaskSubject = "";
for (Object o : jsonArray) {
try {
JSONObject oo = (JSONObject) o;
String finishTime = oo.getString("finishTime");
long parseLong = Long.parseLong(finishTime);
if (parseLong >= tim && parseLong <= currentTimestamp) {
String signTaskId = oo.getString("signTaskId");
String signTaskSubject = oo.getString("signTaskSubject");
TaskSubject += signTaskSubject + ",";
s += signTaskId + ",";
}
} catch (NumberFormatException e) {
System.out.println("异常");
continue;
}
log.info("完成");
}
// System.out.println(TaskSubject);
String substring1 = TaskSubject.substring(0, TaskSubject.length() - 1);
String[] splitStr1 = splitStr(substring1);
String substring = s.substring(0, s.length() - 1);
String[] splitStr = splitStr(substring);
System.out.println(splitStr.length);
for (int i = 0; i < splitStr.length; i++) {
String s1 = splitStr[i];
String s2 = splitStr1[i];
String urls = FDaDaUtil.urls(s1);
FDaDaUtil.fileUrl(urls, s2, saveDir);
if (s2.contains("$")) {
String[] split = s2.split("\\$");
String s3 = split[0];
String s4 = split[1];
String s5 = split[2];
//新增简道云文件准备
Map<String, String> test = Files.test();
JSONObject object = (JSONObject) JSON.toJSON(test);
String transactionid = object.getString("transaction_id"); //transaction_id
JSONArray list = object.getJSONArray("token_and_url_list");
JSONObject token = new JSONObject();
for (int j = 0; j < list.size(); j++) {
token = list.getJSONObject(j);
}
String tokens = token.getString("token");//token
String keys = APIUtils.keys(s2, tokens);
//新增简道云
JSONObject test11 = new JSONObject(); //最外层
test11.put("app_id", "628eeaace7f28c00089a60cc");
test11.put("entry_id", "65a4d762edb3f1bd573b3e4e");
test11.put("transaction_id", transactionid);
JSONObject jsonObjectdata = new JSONObject(); //data层
JSONObject htlx = new JSONObject(); //合同类型
htlx.put("value", s3);
JSONObject htbh = new JSONObject(); //合同编号
htbh.put("value", s5);
JSONObject shfhm = new JSONObject(); //姓名
shfhm.put("value", s4);
JSONObject htzht = new JSONObject(); //主题
htzht.put("value", s2);
JSONObject ht = new JSONObject(); //文件
JSONArray hts = new JSONArray();
hts.add(keys);
ht.put("value", hts);
jsonObjectdata.put("htlx", htlx);
jsonObjectdata.put("shfhm", shfhm);
jsonObjectdata.put("htbh", htbh);
jsonObjectdata.put("htzht", htzht);
jsonObjectdata.put("ht", ht);
test11.put("data", jsonObjectdata);
String jsonString11 = test11.toJSONString();
String add = APIUtils.add(jsonString11);
System.out.println(add);
}
}
}
public static String[] splitStr(String str) {
return str.split(",");
}
public static String urls() throws Exception {
String ids = ids();
JSONObject jsonobjects = new JSONObject();
JSONObject ownerIds = new JSONObject();
ownerIds.put("idType", "corp");
ownerIds.put("openId", "625776ecae6742cb8eb710beedef9b4c");
jsonobjects.put("ownerId", ownerIds);
jsonobjects.put("signTaskId", ids);
String jsonString = jsonobjects.toJSONString();
String down = FDaDaUtil.down(jsonString);
return down;
}
public static String ids() throws Exception {
JSONObject jsonObject = new JSONObject();
JSONObject ownerId = new JSONObject();
ownerId.put("idType", "corp");
ownerId.put("openId", "625776ecae6742cb8eb710beedef9b4c");
jsonObject.put("ownerId", ownerId);
JSONObject listFilter = new JSONObject();
listFilter.put("signTaskStatus", "task_finished");
jsonObject.put("listFilter", listFilter);
String jsonString = jsonObject.toJSONString();
String down = FDaDaUtil.list(jsonString);
JSONObject jsonObject1 = JSON.parseObject(down);
JSONArray jsonArray = jsonObject1.getJSONObject("data").getJSONArray("signTasks");
long currentTimestamp = System.currentTimeMillis();
// 计算前24小时的时间戳
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(currentTimestamp));
calendar.add(Calendar.HOUR_OF_DAY, -24);
//后24小时
Calendar calendars = Calendar.getInstance();
calendars.setTime(new Date(currentTimestamp));
calendars.add(Calendar.HOUR_OF_DAY, 24);
long last24hrsTimestamp = calendar.getTimeInMillis();
long next24hrsTimestamp = calendars.getTimeInMillis();
String s = "";
for (Object o : jsonArray) {
JSONObject oo = (JSONObject) o;
String finishTime = oo.getString("finishTime");
long parseLong = Long.parseLong(finishTime);
if (parseLong >= last24hrsTimestamp && parseLong <= next24hrsTimestamp) {
String signTaskId = oo.getString("signTaskId");
s += signTaskId + ",";
}
}
String substring = s.substring(0, s.length() - 1);
return substring;
}
}