BE_System_Void_ERPClient.groovy 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import com.sdtool.common.api.BusinessExecutor
  2. import com.sdtool.common.api.ERPService
  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.DataBaseMultiItemEx
  7. import com.sdtool.common.entity.base.ProcessERPClientItem
  8. import com.sdtool.common.entity.base.ProcessStringItem
  9. import com.dySweetFishPlugin.redis.RedisService
  10. import com.dySweetFishPlugin.sql.DBService
  11. import com.sweetfish.service.RetResult
  12. import org.apache.logging.log4j.LogManager
  13. import org.apache.logging.log4j.Logger
  14. import org.rex.DB
  15. import org.rex.RMap
  16. import javax.annotation.Resource
  17. @SuppressWarnings("unused")
  18. class BE_System_Void_ERPClient implements BusinessExecutor<ProcessERPClientItem, ProcessStringItem> {
  19. protected final Logger logger = LogManager.getLogger(this.getClass().getSimpleName())
  20. @Resource
  21. private ERPService erpService
  22. @Resource
  23. private DBService dbService
  24. @Resource
  25. private RedisService redisService
  26. @Resource
  27. private NoSqlKeysService keysService
  28. @Override
  29. String scriptName() {
  30. return "启用禁用SAAS商户"
  31. }
  32. @Override
  33. ERPModule module() {
  34. return ERPModule.SYSTEM
  35. }
  36. RetResult<ProcessStringItem> execute(ProcessERPClientItem source) {
  37. //源头只需要传递itemCode和voidFlag即可
  38. DataBaseMultiItemEx dataItem = source.dataItem
  39. DataBaseMultiItemEx srcItem = erpService.getERPSupplierInfoByCode(dataItem.getItemCode())
  40. if (srcItem == null) {
  41. return RetResult.<ProcessStringItem> errorT().retinfo("无效的商户信息")
  42. }
  43. //禁用后需要通过BaseServlet之类的去判断最好,下次启动会删掉注入的脚本之类的,数据暂时保留
  44. srcItem.voidFlag = dataItem.voidFlag
  45. RMap dataParams = new RMap()
  46. dataParams.put("id", srcItem.id)
  47. dataParams.put("voidFlag", srcItem.voidFlag)
  48. DB.update("update sys_DataBaseMultiItem set voidFlag = #{voidFlag} where id = #{id}", dataParams)
  49. redisService.hset(keysService.getRedisKey(RedisKeys.KEY_SUPPLIER_PLATFORM), String.valueOf(srcItem.id), srcItem)
  50. redisService.hset(keysService.getRedisKey(RedisKeys.KEY_SUPPLIER_SHARDING_KEY_PLATFORM), srcItem.shardingKey, srcItem)
  51. redisService.hset(keysService.getRedisKey(RedisKeys.KEY_SUPPLIER_ITEM_CODE_PLATFORM), srcItem.itemCode, srcItem)
  52. return RetResult.<ProcessStringItem> successT()
  53. }
  54. }