BE_PosterLocation_Get.groovy 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import com.sdtool.common.api.BusinessExecutor
  2. import com.sdtool.common.api.NoSqlKeysService
  3. import com.sdtool.common.api.SupplierInitService
  4. import com.sdtool.common.datas.ERPModule
  5. import com.sdtool.common.datas.RedisKeys
  6. import com.sdtool.common.entity.base.InvokeCallParams
  7. import com.sdtool.common.entity.base.InvokeCallResult
  8. import com.sdtool.common.entity.mall.PosterLocation
  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 groovy.json.JsonSlurper
  14. import org.apache.commons.lang3.StringUtils
  15. import javax.annotation.Resource
  16. /**
  17. * @Author: xl Created on 2024-04-01
  18. * @Content:
  19. */
  20. class BE_PosterLocation_Get implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  21. @Resource
  22. JsonConvert jsonConvert
  23. @Resource
  24. RedisService redisService
  25. @Resource
  26. NoSqlKeysService keysService
  27. @Resource
  28. SupplierInitService supplierService
  29. @Override
  30. String scriptName() {
  31. return "商城后台-广告位详情"
  32. }
  33. @Override
  34. ERPModule module() {
  35. return ERPModule.MALL_ADMIN
  36. }
  37. @Override
  38. OperatorWait getAWait(InvokeCallParams s) {
  39. return OperatorWait.SYNC
  40. }
  41. @Override
  42. boolean needLogin(InvokeCallParams source) {
  43. return true
  44. }
  45. @Override
  46. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  47. JsonSlurper jsonSlurper = new JsonSlurper()
  48. def invokeData = jsonSlurper.parseText(source.params)
  49. long id = invokeData["id"] as long
  50. String redisStr = redisService.hget(keysService.getRedisKey(RedisKeys.KEY_ERP_MALL_POSTER_LOCATION, source.supplierCode),
  51. String.valueOf(id))
  52. if (StringUtils.isNotBlank(redisStr)) {
  53. PosterLocation posterLocation = jsonConvert.convertFrom(PosterLocation.class, redisStr)
  54. posterLocation.imageUrl = supplierService.getFileDownloadUrl(posterLocation.posterLocationImage,"",source.dataSourceId,source.getSupplierCode())
  55. posterLocation.imageWebUrl = supplierService.getFileWebDownloadUrl(posterLocation.posterLocationImage,"",source.dataSourceId,source.supplierCode)
  56. return RetResult.<InvokeCallResult> successT().result(InvokeCallResult
  57. .success()
  58. .data(jsonConvert.convertTo(posterLocation))
  59. .page(null)
  60. .collection(null)
  61. )
  62. } else return RetResult.error().retinfo("未找到此广告位置")
  63. }
  64. }