BE_DocClearScriptCache.groovy 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. import com.sdtool.common.api.*
  2. import com.sdtool.common.api.mall.MallAdminService
  3. import com.sdtool.common.api.mall.MallApiCallService
  4. import com.sdtool.common.api.mall.MallFrontService
  5. import com.sdtool.common.datas.ERPModule
  6. import com.sdtool.common.datas.ERPModuleEntity
  7. import com.sdtool.common.entity.base.BusinessOperation
  8. import com.sdtool.common.entity.base.ProcessEntityItem
  9. import com.sweetfish.service.RetResult
  10. import org.apache.logging.log4j.LogManager
  11. import org.apache.logging.log4j.Logger
  12. import javax.annotation.Resource
  13. /**
  14. * Created by jlutt on 2020-08-25
  15. *
  16. * @author jlutt
  17. */
  18. @SuppressWarnings("unused")
  19. class BE_DocClearScriptCache implements BusinessExecutor<ProcessEntityItem<ERPModuleEntity>, ERPModuleEntity> {
  20. protected final Logger logger = LogManager.getLogger(this.getClass().getSimpleName())
  21. @Resource
  22. SystemService systemService
  23. @Resource
  24. DocInfoService docInfoService
  25. @Resource
  26. MallAdminService mallAdminService
  27. @Resource
  28. MallFrontService mallFrontService
  29. @Resource
  30. ConfigService configService
  31. @Resource
  32. LoginService loginService
  33. @Resource
  34. AddressService addressService
  35. @Resource
  36. MallApiCallService mallApiCallService
  37. @Resource
  38. DataSyncService dataSyncService
  39. @Override
  40. String scriptName() {
  41. return "保存业务脚本清除对象"
  42. }
  43. @Override
  44. ERPModule module() {
  45. return ERPModule.NONE
  46. }
  47. @Override
  48. RetResult<ERPModuleEntity> execute(ProcessEntityItem<ERPModuleEntity> source) {
  49. ERPModule erpModule = source.inputItem.erpModule
  50. logger.info("修改模块" + erpModule.moduleDisplayName + source.inputItem.code)
  51. if ("Init_ExpandoGroovy".equalsIgnoreCase(source.inputItem.code)) {
  52. //Init_ExpandoGroovy每个使用脚本的service都载入了,由于是默认载入的,而且是启动自动载入的,所以不提供清除的方法,而是每个都重载一次
  53. //2024-01-26未测试这个重载能不能不重启给groovy增加扩展方法,需要测试,不过理论上没啥用,因为Init_ExpandoGroovy的脚本是用的其它groovy代码实现的,先这样吧,留着以后处理,暂时不经常修改GroovyExtensions代码算了
  54. systemService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  55. docInfoService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  56. if (mallAdminService != null) {
  57. mallAdminService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  58. }
  59. if (mallFrontService != null) {
  60. mallFrontService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  61. }
  62. if (configService != null) {
  63. configService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  64. }
  65. if (loginService != null) {
  66. loginService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  67. }
  68. if (addressService != null) {
  69. addressService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  70. }
  71. if (mallApiCallService != null) {
  72. mallApiCallService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  73. }
  74. if (dataSyncService != null) {
  75. dataSyncService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  76. }
  77. } else {
  78. switch (erpModule) {
  79. case ERPModule.NONE:
  80. break
  81. case ERPModule.SYSTEM:
  82. if (source.operation == BusinessOperation.SAVE) {
  83. systemService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  84. } else {
  85. systemService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  86. }
  87. break
  88. case [ERPModule.DOC, ERPModule.INQUIREINFO]:
  89. if (source.operation == BusinessOperation.SAVE) {
  90. docInfoService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  91. } else {
  92. docInfoService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  93. }
  94. break
  95. case ERPModule.CONFIG:
  96. if (source.operation == BusinessOperation.SAVE) {
  97. configService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  98. } else {
  99. configService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  100. }
  101. break
  102. case ERPModule.LOGIN:
  103. if (source.operation == BusinessOperation.SAVE) {
  104. loginService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  105. } else {
  106. loginService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  107. }
  108. break
  109. case [ERPModule.EXPORT, ERPModule.CHARTS]:
  110. if (source.operation == BusinessOperation.SAVE) {
  111. systemService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  112. } else {
  113. systemService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  114. }
  115. break
  116. case ERPModule.ADDRESSPARSER:
  117. if (source.operation == BusinessOperation.SAVE) {
  118. addressService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  119. } else {
  120. addressService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  121. }
  122. break
  123. case ERPModule.APP:
  124. break
  125. case ERPModule.MALL_ADMIN:
  126. if (source.operation == BusinessOperation.SAVE) {
  127. mallAdminService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  128. } else {
  129. mallAdminService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  130. }
  131. break
  132. case ERPModule.MALL_FRONT:
  133. if (source.operation == BusinessOperation.SAVE) {
  134. mallFrontService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  135. } else {
  136. mallFrontService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  137. }
  138. break
  139. case ERPModule.MALL_CALL:
  140. if (mallApiCallService != null) {
  141. if (source.operation == BusinessOperation.SAVE) {
  142. mallApiCallService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  143. } else {
  144. mallApiCallService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  145. }
  146. }
  147. break
  148. case ERPModule.DATA_SYNC:
  149. if (dataSyncService != null) {
  150. if (source.operation == BusinessOperation.SAVE) {
  151. dataSyncService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  152. } else {
  153. dataSyncService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  154. }
  155. }
  156. break
  157. case ERPModule.MALL_MINI:
  158. if (mallMiniService != null) {
  159. if (source.operation == BusinessOperation.SAVE) {
  160. mallMiniService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  161. } else {
  162. mallMiniService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  163. }
  164. }
  165. break
  166. default:
  167. break
  168. }
  169. }
  170. return RetResult.success().result(source.inputItem)
  171. }
  172. }