BE_SiteContent_Delete.groovy 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import com.sdtool.business.dao.SystemDao
  2. import com.sdtool.common.api.BusinessExecutor
  3. import com.sdtool.common.api.ConfigService
  4. import com.sdtool.common.api.NoSqlKeysService
  5. import com.sdtool.common.datas.ERPModule
  6. import com.sdtool.common.datas.RedisKeys
  7. import com.sdtool.common.entity.base.InvokeCallParams
  8. import com.sdtool.common.entity.base.InvokeCallResult
  9. import com.sdtool.common.entity.site.SiteContent
  10. import com.dySweetFishPlugin.redis.RedisService
  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 org.apache.commons.lang3.StringUtils
  16. import javax.annotation.Resource
  17. import static com.sweetfish.net.Server.RESNAME_SERVER_ROOT
  18. class BE_SiteContent_Delete implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  19. @Resource
  20. private JsonConvert jsonConvert
  21. @Resource
  22. private RedisService redisService
  23. @Resource
  24. private NoSqlKeysService keysService
  25. @Resource
  26. private ConfigService configService
  27. @Resource
  28. private TunaService tunaService
  29. private SystemDao systemDao
  30. @Resource(name = RESNAME_SERVER_ROOT)
  31. String webRootStr
  32. @Override
  33. String scriptName() {
  34. return "网站内容删除"
  35. }
  36. @Override
  37. ERPModule module() {
  38. return ERPModule.CONFIG
  39. }
  40. @Override
  41. OperatorWait getAWait(InvokeCallParams s) {
  42. return OperatorWait.ASNYC
  43. }
  44. @Override
  45. boolean needLogin(InvokeCallParams source) {
  46. return true
  47. }
  48. @Override
  49. void start(long supplierCode) {
  50. systemDao = tunaService.generate(SystemDao.class)
  51. }
  52. private <T> T getRedisDocInfo(String redisKey, String field, Class<T> clazz) {
  53. String docJson = redisService.hget(redisKey, field)
  54. if (StringUtils.isNotBlank(docJson)) {
  55. return jsonConvert.convertFrom(clazz, docJson)
  56. } else return null
  57. }
  58. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  59. SiteContent siteContent = jsonConvert.convertFrom(SiteContent.class, source.params)
  60. SiteContent redisInfo = getRedisDocInfo(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), String.valueOf(siteContent.id), SiteContent.class)
  61. if (redisInfo == null) {
  62. return RetResult.<InvokeCallResult> errorT().retinfo("无效的网站内容信息")
  63. }
  64. redisService.hdel(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), String.valueOf(redisInfo.getId()))
  65. configService.removeCacheSiteContentInfo(siteContent.id, source.supplierCode)
  66. systemDao.deleteSiteContent(redisInfo, source.dataSourceId, source.supplierCode)
  67. return RetResult.<InvokeCallResult> successT().result(
  68. InvokeCallResult.success().data("")
  69. )
  70. }
  71. }