|
|
|
@ -354,7 +354,7 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
|
//实际返回数据
|
|
|
|
|
rows = response.getRows();
|
|
|
|
|
if (!CollectionUtils.isEmpty(rows)) {
|
|
|
|
|
Map<String, String> existKeyMap = getExistKeyMap(cjtRequest, response.getColumns(), rows, context.getCjt());
|
|
|
|
|
Map<String, String> existKeyMap = getExistKeyMap(cjtRequest, response.getColumns(), rows, context.getCjt(),addRecordRequest);
|
|
|
|
|
//批量同步飞书
|
|
|
|
|
List<String> errorCodeList = syncLarkBatch(response.getColumns(), rows, existKeyMap, addRecordRequest, context.getCjt(),context.getAsynchronous());
|
|
|
|
|
if (!CollectionUtils.isEmpty(errorCodeList)) {
|
|
|
|
@ -374,7 +374,7 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<String> getUniqueKey(List<String> keyList, List<List<String>> rows, String cjt) {
|
|
|
|
|
private List<String> getUniqueKey(List<String> keyList, List<List<String>> rows, String cjt, LarkTableRequest addRecordRequest ) {
|
|
|
|
|
//组成唯一键的集合
|
|
|
|
|
List<String> uniqueFields = getUniqueFields(cjt);
|
|
|
|
|
List<String> result = new ArrayList<>();
|
|
|
|
@ -386,7 +386,7 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
|
midList.add(row.get(i));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String uniqueKey = String.join("_", midList).toUpperCase();
|
|
|
|
|
String uniqueKey = String.join("_", midList).toUpperCase() + addRecordRequest.getAppTable();
|
|
|
|
|
result.add(uniqueKey);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -396,11 +396,11 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
|
/**
|
|
|
|
|
* 使用唯一key区分创建或更新
|
|
|
|
|
*/
|
|
|
|
|
protected Map<String, String> getExistKeyMap(CJTRequest req, List<String> keyList, List<List<String>> rows, String cjt) {
|
|
|
|
|
protected Map<String, String> getExistKeyMap(CJTRequest req, List<String> keyList, List<List<String>> rows, String cjt, LarkTableRequest addRecordRequest) {
|
|
|
|
|
if (CollectionUtils.isEmpty(rows)) {
|
|
|
|
|
return new HashMap<>();
|
|
|
|
|
}
|
|
|
|
|
List<String> uniqueKeyList = getUniqueKey(keyList, rows, cjt);
|
|
|
|
|
List<String> uniqueKeyList = getUniqueKey(keyList, rows, cjt,addRecordRequest);
|
|
|
|
|
if (CollectionUtils.isEmpty(uniqueKeyList)) {
|
|
|
|
|
return new HashMap<>();
|
|
|
|
|
}
|
|
|
|
@ -456,7 +456,7 @@ public abstract class SyncAccountsJobAbstract {
|
|
|
|
|
}
|
|
|
|
|
body.put(larkLabel, this.changeValueType(value, cjtSyncTypeRelation));
|
|
|
|
|
}
|
|
|
|
|
uniqueKey = String.join("_", uniqueKeyList).toUpperCase();
|
|
|
|
|
uniqueKey = String.join("_", uniqueKeyList).toUpperCase()+addRecordRequest.getAppTable();
|
|
|
|
|
if (repeatMap.containsKey(uniqueKey)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|