import Ignore_ExecPageFlipper as ExecPageFlipper import com.yinjie.printerAuthorize.business.dao.SystemDao import com.yinjie.printerAuthorize.common.api.NoSqlKeysService import com.yinjie.printerAuthorize.common.datas.RedisKeys import com.yinjie.printerAuthorize.common.entity.system.DictData import com.yinjie.printerAuthorize.common.entity.system.DictType import com.yinjie.printerAuthorize.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, SystemDao systemDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) { return { redisService.del(keysService.getRedisKey(RedisKeys.KEY_ERPDICTTYPE, supplierCode)) RMap dictTypeParams = ERPUtils.ofRMap("voidFlag", -1) ExecPageFlipper.execute(500, { PageFlipper p -> List dictTypeList = systemDao.queryDictTypes(dictTypeParams, dataSourceId, supplierCode, p) Map dictTypeMap = dictTypeList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] } if (!dictTypeMap.isEmpty()) { redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_ERPDICTTYPE, supplierCode), dictTypeMap) } dictTypeList.each { x -> RMap dictParams = ERPUtils.ofRMap("idType", x.getId(), "voidFlag", -1) redisService.del(keysService.getRedisKey(RedisKeys.KEY_ERPDICTDATA, supplierCode, true) + x.getId()) ExecPageFlipper.execute(500, { PageFlipper p1 -> List dictDataList = systemDao.queryDictDatas(dictParams, dataSourceId, supplierCode, p1) Map dictDataMap = dictDataList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] } if (!dictDataMap.isEmpty()) { redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_ERPDICTDATA, supplierCode, true) + x.getId(), dictDataMap) } }) } }) } as Runnable } //groovy最后一个表达式的值为返回 createRunnable(redisService, keysService, systemDao, jsonConvert, dataSourceId, supplierCode)