增加多维表格双向同步完成
continuous-integration/drone/push Build is passing Details

于相涌/mail
YXY 2 years ago
parent bc6bb9d7df
commit fbe1460a96

@ -59,6 +59,8 @@ public class RequestVo {
private EventOperateType eventOperateType;
private String operateInfo;
private TableRelationTypeEnum tableRelationType;
//是否由主表发起的同步
private Boolean mainTableSync;
/**
*
*/

@ -41,11 +41,14 @@ public class MultidimensionalTableDoubleOperate extends MultidimensionalTableOpe
//主表与副表的列对应关系
List<Long> tableRelationIdList = new ArrayList<>();
Map<String, Long> tableRelationMap = new HashMap<>();
Boolean mainTableSync = Boolean.TRUE;
for (LarkTableRelation larkTableRelation : request.getLarkTableRelations()) {
mainTableSync = larkTableRelation.getFromTableId().equals(request.getEvent().getTableId());
String to = String.format("%s_%s", larkTableRelation.getFromAppToken(), larkTableRelation.getFromTableId());
tableRelationMap.put(to, larkTableRelation.getId());
tableRelationIdList.add(larkTableRelation.getId());
}
request.setMainTableSync(mainTableSync);
request.setTableRelationMap(tableRelationMap);
//主表与副表的行对应关系
List<LarkTableRowRelation> larkTableRowRelations = iLarkTableRowRelationService.queryListByTableRelationIdList(tableRelationIdList);

@ -183,7 +183,9 @@ public class MultidimensionalTableOperate extends LarkAbstract {
CreateAppTableRecordRespBody addResp = larkTokenHelper.addTableRecord(add);
if (addResp != null) {
String recordId = addResp.getRecord().getRecordId();
LarkTableRowRelation rowRelation = new LarkTableRowRelation(request.getTableRelationId(), event.getRecordId(), recordId, TableDetailRelationTypeEnum.ROW.getCode(), TableDetailRelationTypeEnum.ROW.getCode());
LarkTableRowRelation rowRelation = Boolean.FALSE.equals(request.getMainTableSync())
? new LarkTableRowRelation(request.getTableRelationId(), recordId,event.getRecordId(), TableDetailRelationTypeEnum.ROW.getCode(), TableDetailRelationTypeEnum.ROW.getCode())
: new LarkTableRowRelation(request.getTableRelationId(), event.getRecordId(), recordId, TableDetailRelationTypeEnum.ROW.getCode(), TableDetailRelationTypeEnum.ROW.getCode());
iLarkTableRowRelationService.insertLarkTableRowRelation(rowRelation);
}
request.setEventOperateType(EventOperateType.CREATE);

Loading…
Cancel
Save