Init_3_Config.groovy 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import com.sdtool.business.dao.SystemDao
  2. import com.sdtool.common.api.NoSqlKeysService
  3. import com.sdtool.common.datas.RedisKeys
  4. import com.sdtool.common.entity.system.ConfigValue
  5. import com.dySweetFishPlugin.redis.RedisService
  6. import com.sweetfish.convert.json.JsonConvert
  7. import org.apache.commons.lang3.StringUtils
  8. import org.rex.RMap
  9. import java.util.stream.Collectors
  10. static def createRunnable(String runEnvironment, String sysRunMode, RedisService redisService, NoSqlKeysService keysService, SystemDao systemDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) {
  11. return {
  12. RMap params = new RMap()
  13. redisService.del(keysService.getRedisKey(RedisKeys.KEY_CONFIGVALUE, supplierCode))
  14. //增加默认需要的
  15. for (String key : RedisKeys.SUPPLIER_SYSTEM_CONFIGARR) {
  16. RMap initConfigParams = new RMap()
  17. initConfigParams.put("configKey", key)
  18. ConfigValue initConfig = systemDao.queryConfigValue(initConfigParams, dataSourceId, supplierCode)
  19. if ((initConfig == null) || (StringUtils.isEmpty(initConfig.getConfigKey()))) {
  20. initConfig = new ConfigValue()
  21. initConfig.setConfigKey(key)
  22. initConfig.setConfigName("")
  23. initConfig.setConfigValue1("")
  24. initConfig.setConfigValue2("")
  25. initConfig.setConfigValue3("")
  26. systemDao.addConfigValueSync(initConfig, dataSourceId, supplierCode)
  27. }
  28. }
  29. for (String key : RedisKeys.SUPPLIER_SITEINFO_CONFIGARR) {
  30. RMap initConfigParams = new RMap()
  31. initConfigParams.put("configKey", key)
  32. ConfigValue initConfig = systemDao.queryConfigValue(initConfigParams, dataSourceId, supplierCode)
  33. if ((initConfig == null) || (StringUtils.isEmpty(initConfig.getConfigKey()))) {
  34. initConfig = new ConfigValue()
  35. initConfig.setConfigKey(key)
  36. initConfig.setConfigName("")
  37. initConfig.setConfigValue1("")
  38. initConfig.setConfigValue2("")
  39. initConfig.setConfigValue3("")
  40. systemDao.addConfigValueSync(initConfig, dataSourceId, supplierCode)
  41. }
  42. }
  43. //如果不是产品中心的,需要去掉两个,但开发需要:(
  44. if (!StringUtils.equalsIgnoreCase(runEnvironment, "dev")) {
  45. if (!"ProductCenter".equalsIgnoreCase(sysRunMode)) {
  46. ConfigValue c1 = new ConfigValue(
  47. configKey: "QuoteFileDownloadUrl"
  48. )
  49. systemDao.deleteConfigValue(c1, dataSourceId, supplierCode)
  50. ConfigValue c2 = new ConfigValue(
  51. configKey: "QuoteTableFileDownloadUrl"
  52. )
  53. systemDao.deleteConfigValue(c2, dataSourceId, supplierCode)
  54. }
  55. }
  56. List<ConfigValue> configValueList = systemDao.queryAllConfigValues(params, dataSourceId, supplierCode)
  57. Map<String, String> configValueMap = configValueList.stream().collect(
  58. Collectors.toMap(ConfigValue::getConfigKey, x -> jsonConvert.convertTo(x))
  59. )
  60. if (!configValueMap.isEmpty()) {
  61. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_CONFIGVALUE, supplierCode), configValueMap)
  62. }
  63. } as Runnable
  64. }
  65. //groovy最后一个表达式的值为返回
  66. createRunnable(runEnvironment, sysRunMode, redisService, keysService, systemDao, jsonConvert, dataSourceId, supplierCode)