BE_SiteContent_List.groovy 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import com.yinjie.printerAuthorize.common.api.BusinessExecutor
  2. import com.yinjie.printerAuthorize.common.api.NoSqlKeysService
  3. import com.yinjie.printerAuthorize.common.datas.ERPModule
  4. import com.yinjie.printerAuthorize.common.datas.RedisKeys
  5. import com.yinjie.printerAuthorize.common.entity.base.InvokeCallParams
  6. import com.yinjie.printerAuthorize.common.entity.base.InvokeCallResult
  7. import com.yinjie.printerAuthorize.common.entity.site.SiteContent
  8. import com.dySweetFishPlugin.redis.RedisService
  9. import com.dySweetFishPlugin.sql.dao.OperatorWait
  10. import com.google.common.collect.Lists
  11. import com.sweetfish.convert.json.JsonConvert
  12. import com.sweetfish.service.RetResult
  13. import javax.annotation.Resource
  14. class BE_SiteContent_List implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  15. @Resource
  16. private JsonConvert jsonConvert
  17. @Resource
  18. private RedisService redisService
  19. @Resource
  20. private NoSqlKeysService keysService
  21. @Override
  22. String scriptName() {
  23. return "网站内容列表获取"
  24. }
  25. @Override
  26. ERPModule module() {
  27. return ERPModule.CONFIG
  28. }
  29. @Override
  30. OperatorWait getAWait(InvokeCallParams s) {
  31. return OperatorWait.AWAIT
  32. }
  33. private <T> List<T> getRedisDocInfos(String redisKey, Class<T> resultClazz) {
  34. Map<String, String> docMap = redisService.hgetAll(redisKey)
  35. List<T> result = Lists.newLinkedList()
  36. docMap.forEach((key, value) -> result.add(jsonConvert.convertFrom(resultClazz, value)))
  37. return result
  38. }
  39. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  40. List<SiteContent> redisInfoList = getRedisDocInfos(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), SiteContent.class)
  41. redisInfoList.sort { v1, v2 ->
  42. v1.sortIndex <=> v2.sortIndex ?: v1.id <=> v2.id
  43. }
  44. return RetResult.<InvokeCallResult> successT().result(
  45. InvokeCallResult.success().data(jsonConvert.convertTo(redisInfoList))
  46. )
  47. }
  48. }