BE_Express_StoreBind_SFTC.groovy 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import com.dderp.common.api.BusinessExecutor
  2. import com.dderp.common.datas.ERPModule
  3. import com.dderp.common.entity.base.InvokeCallParams
  4. import com.dderp.common.entity.base.InvokeCallResult
  5. import com.dderp.common.entity.store.StoreInfo
  6. import com.dderp.common.entity.store.StorePlatformRequire
  7. import com.dySweetFishPlugin.sql.dao.OperatorWait
  8. import com.sweetfish.service.RetResult
  9. import groovy.json.JsonSlurper
  10. import org.apache.logging.log4j.LogManager
  11. import org.apache.logging.log4j.Logger
  12. import javax.annotation.Resource
  13. class BE_Express_StoreBind_SFTC implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  14. private final Logger logger = LogManager.getLogger(this.getClass().getSimpleName())
  15. @Resource(name = "property.sftc.appId")
  16. long sfAppId
  17. @Resource(name = "property.sftc.appKey")
  18. String sfAppKey
  19. @Resource(name = "property.sftc.storeBindUrl")
  20. String sfStoreBindUrl
  21. @Override
  22. String scriptName() {
  23. return "顺丰同城店铺绑定地址"
  24. }
  25. @Override
  26. ERPModule module() {
  27. return ERPModule.EXPRESS_API
  28. }
  29. @Override
  30. OperatorWait getAWait() {
  31. return OperatorWait.SYNC
  32. }
  33. @Override
  34. RetResult<InvokeCallParams> checkExecute(InvokeCallParams source) {
  35. //检查门店信息
  36. def jsonSlurper = new JsonSlurper()
  37. def invokeData = jsonSlurper.parseText(source.params)
  38. long idStore = invokeData["id"] as long
  39. //todo 调用store服务获取门店信息,检查
  40. return RetResult.<InvokeCallParams> successT().result(source)
  41. }
  42. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  43. def jsonSlurper = new JsonSlurper()
  44. def invokeData = jsonSlurper.parseText(source.params)
  45. long idStore = invokeData["id"] as long
  46. //todo 调用store服务获取门店信息,检查
  47. StoreInfo storeInfo = new StoreInfo()
  48. //查找顺丰店铺id
  49. StorePlatformRequire storePlatformRequire = storeInfo.requireItem("SFTC", "shopId")
  50. if (storePlatformRequire == null) {
  51. return RetResult.<InvokeCallResult> errorT().retinfo("门店未设置顺丰店铺id")
  52. }
  53. return RetResult.<InvokeCallResult> successT().result(
  54. InvokeCallResult.success().data(sfStoreBindUrl + "?" + "dev_id" + sfAppId + "&out_shop_id=" + storePlatformRequire.itemValue)
  55. )
  56. }
  57. }