Init_7_DataPurview.groovy 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import Ignore_ExecPageFlipper as ExecPageFlipper
  2. import com.dderp.business.dao.SystemDao
  3. import com.dderp.common.api.NoSqlKeysService
  4. import com.dderp.common.datas.ESKeys
  5. import com.dderp.common.entity.system.DataPurview
  6. import com.dderp.common.tool.ERPUtils
  7. import com.dySweetFishPlugin.elasticsearch.ESClient
  8. import com.sweetfish.convert.json.JsonConvert
  9. import com.sweetfish.source.PageFlipper
  10. import com.sweetfish.util.Utility
  11. import org.apache.logging.log4j.Logger
  12. import org.elasticsearch.action.bulk.BulkRequestBuilder
  13. import org.elasticsearch.action.bulk.BulkResponse
  14. import org.elasticsearch.action.index.IndexRequestBuilder
  15. import org.elasticsearch.common.xcontent.XContentType
  16. import org.rex.RMap
  17. static def createRunnable(NoSqlKeysService keysService, ESClient esClient, SystemDao systemDao, JsonConvert jsonConvert, Logger logger, String dataSourceId, long supplierCode) {
  18. return {
  19. esClient.createIndex(keysService.getESKey(ESKeys.ESERPDATAPURVIEW_INDEX, supplierCode), ESKeys.INDEX_CONFIG,
  20. Utility.ofMap(ESKeys.ESERPDEFAULT_TYPE, "dataPurview.json"))
  21. RMap params = ERPUtils.ofRMap("voidFlag", -1)
  22. ExecPageFlipper.execute(500, { PageFlipper p ->
  23. List<DataPurview> dataPurviewList = systemDao.selectDataPurview(params, p, dataSourceId, supplierCode)
  24. if (!dataPurviewList.isEmpty()) {
  25. //产品基本信息,存入es
  26. BulkRequestBuilder bulkRequest = esClient.getClient().prepareBulk()
  27. dataPurviewList.forEach((x) -> {
  28. IndexRequestBuilder indexRequest = esClient.getClient()
  29. .prepareIndex(keysService.getESKey(ESKeys.ESERPDATAPURVIEW_INDEX, supplierCode), ESKeys.ESERPDEFAULT_TYPE)
  30. .setId(x.getIdData() + "_" + x.getIdUser() + "_" + x.getIdCreateUser())
  31. .setSource(jsonConvert.convertTo(x), XContentType.JSON)
  32. bulkRequest.add(indexRequest)
  33. })
  34. BulkResponse bulkResponse = bulkRequest.execute().actionGet()
  35. if (bulkResponse.hasFailures()) {
  36. logger.error("索引数据权限出错:" + bulkResponse.buildFailureMessage())
  37. } else {
  38. logger.info("索引数据权限,共" + dataPurviewList.size() + "条记录")
  39. }
  40. }
  41. })
  42. } as Runnable
  43. }
  44. //groovy最后一个表达式的值为返回
  45. createRunnable(keysService, esClient, systemDao, jsonConvert, logger, dataSourceId, supplierCode)