import com.yinjie.heating.business.dao.DocDao import com.yinjie.heating.common.api.NoSqlKeysService import com.yinjie.heating.common.datas.RedisKeys import com.yinjie.heating.common.entity.system.CompanyInfo import com.dySweetFishPlugin.redis.RedisService import com.sweetfish.convert.json.JsonConvert import com.sweetfish.source.PageFlipper import org.apache.logging.log4j.Logger import org.rex.RMap static def createRunnable(RedisService redisService, NoSqlKeysService keysService, DocDao docDao, Logger logger, JsonConvert jsonConvert, String dataSourceId, long supplierCode) { return { RMap params = new RMap() params.put("voidFlag", -1) redisService.del(keysService.getRedisKey(RedisKeys.KEY_COMPANY_INFO, supplierCode)) Ignore_ExecPageFlipper.execute(1000, { PageFlipper p -> List companyInfoList = docDao.selectCompanyInfo(params, dataSourceId, supplierCode, p) Map redisMap = companyInfoList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] } if (!redisMap.isEmpty()) { redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_COMPANY_INFO, supplierCode), redisMap) logger.info("工厂档案,共" + companyInfoList.size() + "条记录") } }) } as Runnable } createRunnable(redisService, keysService, docDao, logger, jsonConvert, dataSourceId, supplierCode)