Init_1_Menu.groovy 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import com.yinjie.printerAuthorize.business.dao.SystemDao
  2. import com.yinjie.printerAuthorize.common.api.NoSqlKeysService
  3. import com.yinjie.printerAuthorize.common.datas.RedisKeys
  4. import com.yinjie.printerAuthorize.common.entity.system.Menu
  5. import com.dySweetFishPlugin.redis.RedisService
  6. import com.sweetfish.convert.json.JsonConvert
  7. import org.rex.RMap
  8. //def task = { RedisService redisService, NoSqlKeysService keysService, SystemDao systemDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode ->
  9. // RMap params = new RMap<>()
  10. //
  11. // redisService.del(keysService.getRedisKey(RedisKeys.KEY_SYSMENUS, supplierCode))
  12. //
  13. // List<Menu> menuList = systemDao.queryAllMenus(params, dataSourceId, supplierCode)
  14. // //直接写入到redis,取出交给服务需要进行子集处理
  15. // Map<String, String> menuMap = menuList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] }
  16. // if (!menuMap.isEmpty()) {
  17. // redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_SYSMENUS, supplierCode), menuMap)
  18. // }
  19. //} as Runnable
  20. //
  21. //return task(redisService)
  22. //使用上面的写法报错,只能用下面的写法,ide有警告不纠结了,还有一种写法,写一个实现Runnable的class,不如现在看着舒服
  23. static def createRunnable(RedisService redisService, NoSqlKeysService keysService, SystemDao systemDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) {
  24. return {
  25. RMap params = new RMap<>()
  26. redisService.del(keysService.getRedisKey(RedisKeys.KEY_SYSMENUS, supplierCode))
  27. List<Menu> menuList = systemDao.queryAllMenus(params, dataSourceId, supplierCode)
  28. //直接写入到redis,取出交给服务需要进行子集处理
  29. Map<String, String> menuMap = menuList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] }
  30. if (!menuMap.isEmpty()) {
  31. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_SYSMENUS, supplierCode), menuMap)
  32. }
  33. } as Runnable
  34. }
  35. //groovy最后一个表达式的值为返回,下面的警告用这种写法去不掉,因为参数是java传递过来的
  36. createRunnable(redisService, keysService, systemDao, jsonConvert, dataSourceId, supplierCode)