BE_SiteContent_Add.groovy 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import com.sdtool.business.dao.SystemDao
  2. import com.sdtool.common.api.BusinessExecutor
  3. import com.sdtool.common.api.NoSqlKeysService
  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.site.SiteContent
  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 org.apache.commons.lang3.StringUtils
  16. import javax.annotation.Resource
  17. import java.nio.charset.StandardCharsets
  18. import java.nio.file.Files
  19. import java.nio.file.Paths
  20. import java.nio.file.StandardOpenOption
  21. import static com.sweetfish.net.Server.RESNAME_SERVER_ROOT
  22. class BE_SiteContent_Add implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  23. @Resource
  24. private JsonConvert jsonConvert
  25. @Resource
  26. private TableIdService tableIdService
  27. @Resource
  28. private RedisService redisService
  29. @Resource
  30. private NoSqlKeysService keysService
  31. @Resource
  32. private TunaService tunaService
  33. private SystemDao systemDao
  34. @Resource(name = RESNAME_SERVER_ROOT)
  35. String webRootStr
  36. @Override
  37. String scriptName() {
  38. return "网站内容增加"
  39. }
  40. @Override
  41. ERPModule module() {
  42. return ERPModule.CONFIG
  43. }
  44. @Override
  45. OperatorWait getAWait(InvokeCallParams s) {
  46. return OperatorWait.ASNYC
  47. }
  48. @Override
  49. boolean needLogin(InvokeCallParams source) {
  50. return true
  51. }
  52. @Override
  53. void start(long supplierCode) {
  54. systemDao = tunaService.generate(SystemDao.class)
  55. }
  56. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  57. SiteContent siteContent = jsonConvert.convertFrom(SiteContent.class, source.params)
  58. siteContent.id = tableIdService.getTableIdMulti("tbSiteContent.id", 1, source.dataSourceId, String.valueOf(source.supplierCode))
  59. SiteContent.create(siteContent, source.currentUser.id)
  60. //内容存文件
  61. String fileName = webRootStr + File.separator +
  62. "siteContent" + File.separator +
  63. source.supplierCode + File.separator +
  64. siteContent.id + ".txt"
  65. String writeContent = ""
  66. if (StringUtils.isNotEmpty(siteContent.content)) {
  67. writeContent = siteContent.content
  68. }
  69. Files.write(Paths.get(fileName),
  70. Collections.singleton(new StringBuilder(writeContent)),
  71. StandardCharsets.UTF_8,
  72. StandardOpenOption.CREATE,
  73. StandardOpenOption.WRITE,
  74. StandardOpenOption.TRUNCATE_EXISTING)
  75. siteContent.content = ""
  76. redisService.hset(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), String.valueOf(siteContent.getId()), siteContent)
  77. systemDao.addSiteContent(siteContent, source.dataSourceId, source.supplierCode)
  78. return RetResult.<InvokeCallResult> successT().result(
  79. InvokeCallResult.success().data("")
  80. )
  81. }
  82. }