| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import Ignore_ExecPageFlipper as ExecPageFlipper
- import com.yinjie.heating.business.dao.HeatingDocDao
- import com.yinjie.heating.common.api.NoSqlKeysService
- import com.yinjie.heating.common.datas.RedisKeys
- import com.yinjie.heating.common.entity.heating.HeatingApp
- import com.yinjie.heating.common.entity.heating.HeatingAppInvoker
- import com.yinjie.heating.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, HeatingDocDao heatingDocDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) {
- return {
- redisService.del(keysService.getRedisKey(RedisKeys.KEY_HEATING_APP, supplierCode))
- RMap dictTypeParams = ERPUtils.ofRMap("voidFlag", -1)
- ExecPageFlipper.execute(500, { PageFlipper p ->
- List<HeatingApp> heatingApps = heatingDocDao.selectAllHeatingApp(dictTypeParams, dataSourceId, supplierCode, p)
- List<Long> ids = heatingApps.collect { it.id }
- RMap params = new RMap<>()
- params.put("ids", ids)
- List<HeatingAppInvoker> invokerList = heatingDocDao.selectAllHeatingAppInvoker(params, dataSourceId, supplierCode)
- heatingApps.each {
- it.invokerList.addAll(invokerList.findAll { x -> x.idApp == it.id })
- }
- Map<String, String> heatingAppMap = heatingApps.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] }
- if (!heatingAppMap.isEmpty()) {
- redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_HEATING_APP, supplierCode), heatingAppMap)
- }
- })
- } as Runnable
- }
- //groovy最后一个表达式的值为返回
- createRunnable(redisService, keysService, heatingDocDao, jsonConvert, dataSourceId, supplierCode)
|