IDataMigrationProcess.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package com.persagy.proxy.migration.handler;
  2. import com.persagy.dmp.basic.model.QueryCriteria;
  3. import com.persagy.dmp.rwd.migrate.entity.SyncData;
  4. import com.persagy.proxy.common.entity.InstanceUrlParam;
  5. import com.persagy.proxy.migration.model.DataMigrationExcel;
  6. import com.persagy.proxy.migration.model.DataMigrationResponse;
  7. import com.persagy.proxy.migration.model.MigrationInfo;
  8. import java.util.Collection;
  9. import java.util.List;
  10. /**
  11. * @author lvxianyun
  12. * @title: DefineTypeMigrationService
  13. * @projectName adm-middleware
  14. * @description:
  15. * @date 2021/12/8 10:45
  16. */
  17. public interface IDataMigrationProcess<T> {
  18. /**
  19. * 获取adm交付的数据,默认获取有效数据
  20. * @param context
  21. * @return
  22. */
  23. List getAdmData(InstanceUrlParam context, QueryCriteria queryCriteria);
  24. /**
  25. * 拼接访问链接
  26. * @param context
  27. * @param migrationInfo
  28. * @param type
  29. * @return
  30. */
  31. String requestUrl(InstanceUrlParam context, MigrationInfo migrationInfo, String type);
  32. /**
  33. * 将目标集合处理成excel格式的集合 使用与insert/delete
  34. * @param list
  35. * @param type insert/delete
  36. * @return
  37. */
  38. List<DataMigrationExcel> processDataForExcel(Collection list, String type);
  39. /**
  40. * 将目标集合处理成SyncData(日志)格式的集合 入库
  41. * @param dataMigrationResponse
  42. * @param type insert/delete
  43. * @return
  44. */
  45. List<SyncData> processDataForLog(DataMigrationResponse dataMigrationResponse, String type);
  46. }