import com.dderp.business.dao.PlatformDao import com.dderp.common.api.NoSqlKeysService import com.dderp.common.datas.RedisKeys import com.dderp.common.entity.platform.PlatformInfo import com.dderp.common.entity.platform.PlatformRequire import com.dderp.common.tool.ERPUtils import com.dySweetFishPlugin.redis.RedisService import com.sweetfish.convert.json.JsonConvert import com.sweetfish.source.PageFlipper import org.rex.RMap static def createRunnable(RedisService redisService, NoSqlKeysService keysService, PlatformDao platformDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) { return { redisService.del(keysService.getRedisKey(RedisKeys.KEY_DELIVER_PLATFORM_INFO, supplierCode)) RMap platformParams = ERPUtils.ofRMap("voidFlag", -1) Ignore_ExecPageFlipper.execute(500, { PageFlipper p -> List platformInfoList = platformDao.queryPlatformInfoList(platformParams, p, dataSourceId, supplierCode) Map platformInfoMap = platformInfoList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] } if (!platformInfoMap.isEmpty()) { redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_DELIVER_PLATFORM_INFO, supplierCode), platformInfoMap) } platformInfoList.each { x -> RMap platformRequireParams = ERPUtils.ofRMap("idPlatform", x.getId(), "voidFlag", -1) redisService.del(keysService.getRedisKey(RedisKeys.KEY_DELIVER_PLATFORM_REQUIRE, supplierCode, true) + x.getId()) Ignore_ExecPageFlipper.execute(500, { PageFlipper p1 -> List platformRequireList = platformDao.queryPlatformRequireList(platformRequireParams, p1, dataSourceId, supplierCode) Map platformRequireMap = platformRequireList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] } if (!platformRequireMap.isEmpty()) { redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_DELIVER_PLATFORM_REQUIRE, supplierCode, true) + x.getId(), platformRequireMap) } }) } }) } as Runnable } createRunnable(redisService, keysService, platformDao, jsonConvert, dataSourceId, supplierCode)