|
|
@ -1,5 +1,6 @@
|
|
|
|
package com.ruoyi.quartz.task.CJT;
|
|
|
|
package com.ruoyi.quartz.task.CJT;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.lark.oapi.service.bitable.v1.model.CreateAppTableRecordRespBody;
|
|
|
|
import com.lark.oapi.service.bitable.v1.model.CreateAppTableRecordRespBody;
|
|
|
|
import com.ruoyi.common.constant.RedisConstants;
|
|
|
|
import com.ruoyi.common.constant.RedisConstants;
|
|
|
@ -80,8 +81,10 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private static final String CERTIFICATE = "OXYwHSWAc22UPHxfIUM0SSFZwziCLmBfOzBaN+PCNp0SNfV3ewYIaWLJCCrYToCU46x3PJO8t4TXV57bGpbiqClld5DiAkQ3EX1qqxoyaE9J0HAsfnp/PkPurKMQewBHICM2oEPRyLU5GUQjTCucfLvO4xT3DKlelbjBsIkKLqs=";
|
|
|
|
private static final String CERTIFICATE = "OXYwHSWAc22UPHxfIUM0SSFZwziCLmBfOzBaN+PCNp0SNfV3ewYIaWLJCCrYToCU46x3PJO8t4TXV57bGpbiqClld5DiAkQ3EX1qqxoyaE9J0HAsfnp/PkPurKMQewBHICM2oEPRyLU5GUQjTCucfLvO4xT3DKlelbjBsIkKLqs=";
|
|
|
|
|
|
|
|
|
|
|
|
public void executeSync() {
|
|
|
|
public void executeSync(String queryFromTime,String queryToTime) {
|
|
|
|
CJTJobContext context = new CJTJobContext(CJT_APP_KEY, CJT_APP_SECRET);
|
|
|
|
CJTJobContext context = new CJTJobContext(CJT_APP_KEY, CJT_APP_SECRET);
|
|
|
|
|
|
|
|
context.setQueryFromTime(queryFromTime);
|
|
|
|
|
|
|
|
context.setQueryToTime(queryToTime);
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
log.info("===================== {} strat ======================",this.getClassName());
|
|
|
|
log.info("===================== {} strat ======================",this.getClassName());
|
|
|
|
//重置ticket
|
|
|
|
//重置ticket
|
|
|
@ -136,11 +139,17 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
* 获取查询条件
|
|
|
|
* 获取查询条件
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
protected abstract String getQueryKey();
|
|
|
|
protected abstract String getQueryKey();
|
|
|
|
protected JSONObject getQueryCondition(){
|
|
|
|
protected JSONObject getQueryCondition(CJTJobContext context){
|
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
String startTime = DateUtils.ldt2str(now.minusHours(10L), DateUtils.YYYY_MM_DD_HH_MM_SS);
|
|
|
|
String startTime = context.getQueryFromTime();
|
|
|
|
String endTime = DateUtils.ldt2str(now, DateUtils.YYYY_MM_DD_HH_MM_SS);
|
|
|
|
if (StringUtils.isEmpty(startTime)){
|
|
|
|
|
|
|
|
startTime = DateUtils.ldt2str(now.minusMinutes(2L), DateUtils.YYYY_MM_DD_HH_MM_SS);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
String endTime = context.getQueryToTime();
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(endTime)){
|
|
|
|
|
|
|
|
endTime = DateUtils.ldt2str(now, DateUtils.YYYY_MM_DD_HH_MM_SS);
|
|
|
|
|
|
|
|
}
|
|
|
|
Map<String, String> startTimeMap = new HashMap<>();
|
|
|
|
Map<String, String> startTimeMap = new HashMap<>();
|
|
|
|
startTimeMap.put("text",startTime);
|
|
|
|
startTimeMap.put("text",startTime);
|
|
|
|
startTimeMap.put("value",startTime);
|
|
|
|
startTimeMap.put("value",startTime);
|
|
|
@ -150,6 +159,9 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
List<Map<String, String>> timeRange = Arrays.asList(startTimeMap, endTimeMap);
|
|
|
|
List<Map<String, String>> timeRange = Arrays.asList(startTimeMap, endTimeMap);
|
|
|
|
String queryKey = String.format("%s.AuditedTime",getQueryKey());
|
|
|
|
String queryKey = String.format("%s.AuditedTime",getQueryKey());
|
|
|
|
jsonObject.put(queryKey,timeRange);
|
|
|
|
jsonObject.put(queryKey,timeRange);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("++++++++++++++++++++++++");
|
|
|
|
|
|
|
|
log.info(jsonObject.toJSONString());
|
|
|
|
return jsonObject;
|
|
|
|
return jsonObject;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -173,11 +185,11 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
LarkCompanyRelation companyRelation = context.getCompanyRelation();
|
|
|
|
LarkCompanyRelation companyRelation = context.getCompanyRelation();
|
|
|
|
LarkTableRelation tableRelation = context.getTableRelation();
|
|
|
|
LarkTableRelation tableRelation = context.getTableRelation();
|
|
|
|
LarkTableRequest addRecordRequest = new LarkTableRequest(companyRelation.getAppId(), companyRelation.getSecret(), tableRelation.getToAppToken(), tableRelation.getToTableId());
|
|
|
|
LarkTableRequest addRecordRequest = new LarkTableRequest(companyRelation.getAppId(), companyRelation.getSecret(), tableRelation.getToAppToken(), tableRelation.getToTableId());
|
|
|
|
while (page <= total) {
|
|
|
|
// while (page <= total) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
//初始化数据
|
|
|
|
//初始化数据
|
|
|
|
if (cjtRequestBody == null) {
|
|
|
|
if (cjtRequestBody == null) {
|
|
|
|
cjtRequestBody = new CJTRequestBody(page, PAGE_SIZE, getQueryFields(), getQueryCondition());
|
|
|
|
cjtRequestBody = new CJTRequestBody(page, PAGE_SIZE, getQueryFields(), getQueryCondition(context));
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
cjtRequestBody.setPageIndex(page);
|
|
|
|
cjtRequestBody.setPageIndex(page);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -191,6 +203,8 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
total = response.getTotalPageNum();
|
|
|
|
total = response.getTotalPageNum();
|
|
|
|
//实际返回数据
|
|
|
|
//实际返回数据
|
|
|
|
List<List<String>> rows = response.getRows();
|
|
|
|
List<List<String>> rows = response.getRows();
|
|
|
|
|
|
|
|
log.info(String.valueOf(total));
|
|
|
|
|
|
|
|
log.info(JSONArray.toJSONString(rows));
|
|
|
|
if (CollectionUtils.isEmpty(rows)){
|
|
|
|
if (CollectionUtils.isEmpty(rows)){
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -207,7 +221,7 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
page++;
|
|
|
|
page++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private List<String> getUniqueKey(List<String> keyList,List<List<String>> rows) {
|
|
|
|
private List<String> getUniqueKey(List<String> keyList,List<List<String>> rows) {
|
|
|
|