BE_FrontPosterLocation_Get.groovy 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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.TableIdService
  11. import com.dySweetFishPlugin.sql.dao.OperatorWait
  12. import com.dySweetFishPlugin.sql.dao.TunaService
  13. import com.sweetfish.convert.json.JsonConvert
  14. import com.sweetfish.service.RetResult
  15. import groovy.json.JsonSlurper
  16. import org.apache.commons.lang3.StringUtils
  17. import org.checkerframework.common.reflection.qual.Invoke
  18. import javax.annotation.Resource
  19. /**
  20. * @Author: xl Created on 2024-04-02
  21. * @Content:
  22. */
  23. class BE_FrontPosterLocation_Get implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  24. @Resource
  25. TunaService tunaService
  26. @Resource
  27. JsonConvert jsonConvert
  28. @Resource
  29. RedisService redisService
  30. @Resource
  31. NoSqlKeysService keysService
  32. @Resource
  33. SupplierInitService supplierService
  34. @Override
  35. String scriptName(){
  36. return "购物商城-获取广告位详情"
  37. }
  38. @Override
  39. ERPModule module() {
  40. return ERPModule.MALL_FRONT
  41. }
  42. @Override
  43. OperatorWait getAWait(InvokeCallParams s) {
  44. return OperatorWait.SYNC
  45. }
  46. @Override
  47. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  48. JsonSlurper jsonSlurper = new JsonSlurper()
  49. def invokeData = jsonSlurper.parseText(source.params)
  50. long id = invokeData["id"] as long
  51. String redisStr = redisService.hget(keysService.getRedisKey(RedisKeys.KEY_ERP_MALL_POSTER_LOCATION,source.supplierCode),
  52. String.valueOf(id))
  53. if (StringUtils.isNotBlank(redisStr)) {
  54. PosterLocation posterLocation = jsonConvert.convertFrom(PosterLocation.class, redisStr)
  55. posterLocation.imageUrl = supplierService.getFileDownloadUrl(posterLocation.posterLocationImage,"",source.dataSourceId,source.getSupplierCode())
  56. posterLocation.imageWebUrl = supplierService.getFileWebDownloadUrl(posterLocation.posterLocationImage,"",source.dataSourceId,source.supplierCode)
  57. return RetResult.<InvokeCallResult> successT().result(InvokeCallResult
  58. .success()
  59. .data(jsonConvert.convertTo(posterLocation))
  60. .page(null)
  61. .collection(null)
  62. )
  63. } else return RetResult.error().retinfo("未找到此广告位置")
  64. }
  65. }