import Ignore_ExecPageFlipper as ExecPageFlipper import com.dySweetFishPlugin.redis.RedisService import com.sweetfish.convert.json.JsonConvert import com.sweetfish.source.PageFlipper import com.yinjie.printerAuthorize.business.dao.PrintersDao import com.yinjie.printerAuthorize.common.api.NoSqlKeysService import com.yinjie.printerAuthorize.common.datas.RedisKeys import com.yinjie.printerAuthorize.common.entity.printers.PrinterClient import com.yinjie.printerAuthorize.common.tool.ERPUtils import org.rex.RMap static def createRunnable(RedisService redisService, NoSqlKeysService keysService, PrintersDao printersDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) { return { redisService.del(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, supplierCode)) redisService.del(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_CODE, supplierCode)) RMap dictTypeParams = ERPUtils.ofRMap("voidFlag", -1) ExecPageFlipper.execute(500, { PageFlipper p -> List clientList = printersDao.selectPrinterClients(dictTypeParams, dataSourceId, supplierCode, p) Map mapId = clientList.collectEntries { [String.valueOf(it.id), jsonConvert.convertTo(it)] } if (!mapId.isEmpty()) { redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, supplierCode), mapId) } Map mapCode = clientList.collectEntries { [it.printerUniqueCode, jsonConvert.convertTo(it)] } if (!mapCode.isEmpty()) { redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_CODE, supplierCode), mapCode) } }) } as Runnable } //groovy最后一个表达式的值为返回 createRunnable(redisService, keysService, printersDao, jsonConvert, dataSourceId, supplierCode)