BE_SiteContent_Get.groovy 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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.sweetfish.convert.json.JsonConvert
  12. import com.sweetfish.service.RetResult
  13. import org.apache.commons.lang3.StringUtils
  14. import javax.annotation.Resource
  15. class BE_SiteContent_Get implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  16. @Resource
  17. private JsonConvert jsonConvert
  18. @Resource
  19. private RedisService redisService
  20. @Resource
  21. private NoSqlKeysService keysService
  22. @Resource
  23. private ConfigService configService
  24. @Override
  25. String scriptName() {
  26. return "网站内容获取详情"
  27. }
  28. @Override
  29. ERPModule module() {
  30. return ERPModule.CONFIG
  31. }
  32. @Override
  33. OperatorWait getAWait(InvokeCallParams s) {
  34. return OperatorWait.AWAIT
  35. }
  36. private <T> T getRedisDocInfo(String redisKey, String field, Class<T> clazz) {
  37. String docJson = redisService.hget(redisKey, field)
  38. if (StringUtils.isNotBlank(docJson)) {
  39. return jsonConvert.convertFrom(clazz, docJson)
  40. } else return null
  41. }
  42. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  43. SiteContent siteContent = jsonConvert.convertFrom(SiteContent.class, source.params)
  44. SiteContent redisInfo = getRedisDocInfo(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), String.valueOf(siteContent.id), SiteContent.class)
  45. if (redisInfo == null) {
  46. return RetResult.<InvokeCallResult> errorT().retinfo("无效的网站内容信息")
  47. }
  48. SiteContent cacheContent = configService.getCacheSiteContentInfo(redisInfo.id, source.supplierCode)
  49. if (cacheContent != null) {
  50. redisInfo.content = cacheContent.content
  51. }
  52. return RetResult.<InvokeCallResult> successT().result(
  53. InvokeCallResult.success().data(jsonConvert.convertTo(redisInfo))
  54. )
  55. }
  56. }