BE_SiteContent_Select.groovy 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import com.yinjie.printerAuthorize.common.api.BusinessExecutor
  2. import com.yinjie.printerAuthorize.common.api.ConfigService
  3. import com.yinjie.printerAuthorize.common.api.NoSqlKeysService
  4. import com.yinjie.printerAuthorize.common.datas.ERPModule
  5. import com.yinjie.printerAuthorize.common.datas.RedisKeys
  6. import com.yinjie.printerAuthorize.common.entity.base.InvokeCallParams
  7. import com.yinjie.printerAuthorize.common.entity.base.InvokeCallResult
  8. import com.yinjie.printerAuthorize.common.entity.site.SiteContent
  9. import com.dySweetFishPlugin.redis.RedisService
  10. import com.dySweetFishPlugin.sql.dao.OperatorWait
  11. import com.google.common.collect.Lists
  12. import com.sweetfish.convert.json.JsonConvert
  13. import com.sweetfish.service.RetResult
  14. import org.apache.commons.lang3.StringUtils
  15. import javax.annotation.Resource
  16. class BE_SiteContent_Select implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  17. @Resource
  18. private JsonConvert jsonConvert
  19. @Resource
  20. private RedisService redisService
  21. @Resource
  22. private NoSqlKeysService keysService
  23. @Resource
  24. private ConfigService configService
  25. @Override
  26. String scriptName() {
  27. return "网站内容选取"
  28. }
  29. @Override
  30. ERPModule module() {
  31. return ERPModule.CONFIG
  32. }
  33. @Override
  34. OperatorWait getAWait(InvokeCallParams s) {
  35. return OperatorWait.AWAIT
  36. }
  37. private <T> List<T> getRedisDocInfos(String redisKey, Class<T> resultClazz) {
  38. Map<String, String> docMap = redisService.hgetAll(redisKey)
  39. List<T> result = Lists.newLinkedList()
  40. docMap.forEach((key, value) -> result.add(jsonConvert.convertFrom(resultClazz, value)))
  41. return result
  42. }
  43. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  44. List<SiteContent> redisInfoList = getRedisDocInfos(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), SiteContent.class)
  45. SiteContent searchContent = jsonConvert.convertFrom(SiteContent.class, source.params)
  46. SiteContent siteContent = redisInfoList.find { StringUtils.equalsIgnoreCase(it.groupName, searchContent.groupName) && StringUtils.equalsIgnoreCase(it.caption, searchContent.caption) }
  47. if (siteContent == null) {
  48. return RetResult.<InvokeCallResult> errorT().retinfo("无效的网站内容信息")
  49. }
  50. SiteContent cacheContent = configService.getCacheSiteContentInfo(siteContent.id, source.supplierCode)
  51. if (cacheContent != null) {
  52. siteContent.content = cacheContent.content
  53. }
  54. return RetResult.<InvokeCallResult> successT().result(
  55. InvokeCallResult.success().data(jsonConvert.convertTo(siteContent))
  56. )
  57. }
  58. }