Init_21_PrinterClient.groovy 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import Ignore_ExecPageFlipper as ExecPageFlipper
  2. import com.dySweetFishPlugin.redis.RedisService
  3. import com.sweetfish.convert.json.JsonConvert
  4. import com.sweetfish.source.PageFlipper
  5. import com.yinjie.printerAuthorize.business.dao.PrintersDao
  6. import com.yinjie.printerAuthorize.common.api.NoSqlKeysService
  7. import com.yinjie.printerAuthorize.common.datas.RedisKeys
  8. import com.yinjie.printerAuthorize.common.entity.printers.PrinterClient
  9. import com.yinjie.printerAuthorize.common.tool.ERPUtils
  10. import org.rex.RMap
  11. static def createRunnable(RedisService redisService, NoSqlKeysService keysService, PrintersDao printersDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) {
  12. return {
  13. redisService.del(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, supplierCode))
  14. redisService.del(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_CODE, supplierCode))
  15. RMap dictTypeParams = ERPUtils.ofRMap("voidFlag", -1)
  16. ExecPageFlipper.execute(500, { PageFlipper p ->
  17. List<PrinterClient> clientList = printersDao.selectPrinterClients(dictTypeParams, dataSourceId, supplierCode, p)
  18. Map<String, String> mapId = clientList.collectEntries { [String.valueOf(it.id), jsonConvert.convertTo(it)] }
  19. if (!mapId.isEmpty()) {
  20. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, supplierCode), mapId)
  21. }
  22. Map<String, String> mapCode = clientList.collectEntries { [it.printerUniqueCode, jsonConvert.convertTo(it)] }
  23. if (!mapCode.isEmpty()) {
  24. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_CODE, supplierCode), mapCode)
  25. }
  26. })
  27. } as Runnable
  28. }
  29. //groovy最后一个表达式的值为返回
  30. createRunnable(redisService, keysService, printersDao, jsonConvert, dataSourceId, supplierCode)