|
|
|
@ -71,7 +71,7 @@ public abstract class OdooAbstrackob {
|
|
|
|
|
private static final String PAGE_LIMIT_KEY = "limit";
|
|
|
|
|
private static final Integer PAGE_SIZE = 20;
|
|
|
|
|
|
|
|
|
|
protected void execute() {
|
|
|
|
|
public void execute() {
|
|
|
|
|
try {
|
|
|
|
|
log.info("===================== {} strat ======================", this.getClassName());
|
|
|
|
|
//初始化调用对象
|
|
|
|
@ -101,7 +101,7 @@ public abstract class OdooAbstrackob {
|
|
|
|
|
//分页对象
|
|
|
|
|
Map<String, Integer> pageMap = getPageMap();
|
|
|
|
|
//查询结果
|
|
|
|
|
List<JSONObject> dateList = new ArrayList<>();
|
|
|
|
|
List<Object> dateList = new ArrayList<>();
|
|
|
|
|
//错误信息
|
|
|
|
|
List<String> errorList = new ArrayList<>();
|
|
|
|
|
//构建飞书请求对象
|
|
|
|
@ -112,10 +112,16 @@ public abstract class OdooAbstrackob {
|
|
|
|
|
List<ErpLarkRelation> waitCreateRelation = new ArrayList<>();
|
|
|
|
|
do {
|
|
|
|
|
dateList = getDate(context, pageMap, errorList);
|
|
|
|
|
Map<String, String> relationMap = getLarkRelation(dateList);
|
|
|
|
|
for (JSONObject jsonObject : dateList) {
|
|
|
|
|
List<JSONObject> midDateList = dateList.stream().map(r -> {
|
|
|
|
|
return (JSONObject)JSONObject.toJSON(r);
|
|
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
if (CollectionUtils.isNotEmpty(midDateList)){
|
|
|
|
|
Map<String, String> relationMap = getLarkRelation(midDateList);
|
|
|
|
|
for (JSONObject jsonObject : midDateList) {
|
|
|
|
|
sync(jsonObject, errorList, relationMap, larkRequest,waitCreateRelation);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
pageMap.put(PAGE_OFFSET_KEY,pageMap.get(PAGE_OFFSET_KEY) + PAGE_SIZE);
|
|
|
|
|
} while (dateList == null || (CollectionUtils.isNotEmpty(dateList) && dateList.size() == PAGE_SIZE));
|
|
|
|
|
if (!CollectionUtils.isEmpty(errorList)) {
|
|
|
|
|
String errorKey = String.join(",", errorList);
|
|
|
|
@ -219,7 +225,7 @@ public abstract class OdooAbstrackob {
|
|
|
|
|
//获取待同步飞书表格信息
|
|
|
|
|
protected abstract TableRelationTypeEnum syncLarkType();
|
|
|
|
|
|
|
|
|
|
public List<JSONObject> getDate(OdooContext odooContext, Map<String, Integer> pageMap, List<String> errorList) {
|
|
|
|
|
public List<Object> getDate(OdooContext odooContext, Map<String, Integer> pageMap, List<String> errorList) {
|
|
|
|
|
try {
|
|
|
|
|
XmlRpcClient models = odooContext.getModels();
|
|
|
|
|
Integer uid = getUserId();
|
|
|
|
@ -231,7 +237,7 @@ public abstract class OdooAbstrackob {
|
|
|
|
|
pageMap//分页
|
|
|
|
|
)));
|
|
|
|
|
|
|
|
|
|
return asList((JSONObject[]) models.execute(GET_DATA_P_METHOD_NAME, asList(
|
|
|
|
|
return asList((Object[])models.execute(GET_DATA_P_METHOD_NAME, asList(
|
|
|
|
|
GET_DATA_DB, uid, GET_DATA_PASSWORD,
|
|
|
|
|
modelName, "read",
|
|
|
|
|
asList(ids),
|
|
|
|
|