202 lines
7.7 KiB
Java
202 lines
7.7 KiB
Java
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;
|
||
|
||
|
||
}
|
||
}
|