import com.dderp.common.api.BusinessExecutor import com.dderp.common.datas.ERPModule import com.dderp.common.entity.base.InvokeCallParams import com.dderp.common.entity.base.InvokeCallResult import com.dderp.common.entity.store.StoreInfo import com.dderp.common.entity.store.StorePlatformRequire import com.dySweetFishPlugin.sql.dao.OperatorWait import com.sweetfish.service.RetResult import groovy.json.JsonSlurper import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.Logger import javax.annotation.Resource class BE_Express_StoreBind_SFTC implements BusinessExecutor { private final Logger logger = LogManager.getLogger(this.getClass().getSimpleName()) @Resource(name = "property.sftc.appId") long sfAppId @Resource(name = "property.sftc.appKey") String sfAppKey @Resource(name = "property.sftc.storeBindUrl") String sfStoreBindUrl @Override String scriptName() { return "顺丰同城店铺绑定地址" } @Override ERPModule module() { return ERPModule.EXPRESS_API } @Override OperatorWait getAWait() { return OperatorWait.SYNC } @Override RetResult checkExecute(InvokeCallParams source) { //检查门店信息 def jsonSlurper = new JsonSlurper() def invokeData = jsonSlurper.parseText(source.params) long idStore = invokeData["id"] as long //todo 调用store服务获取门店信息,检查 return RetResult. successT().result(source) } RetResult execute(InvokeCallParams source) { def jsonSlurper = new JsonSlurper() def invokeData = jsonSlurper.parseText(source.params) long idStore = invokeData["id"] as long //todo 调用store服务获取门店信息,检查 StoreInfo storeInfo = new StoreInfo() //查找顺丰店铺id StorePlatformRequire storePlatformRequire = storeInfo.requireItem("SFTC", "shopId") if (storePlatformRequire == null) { return RetResult. errorT().retinfo("门店未设置顺丰店铺id") } return RetResult. successT().result( InvokeCallResult.success().data(sfStoreBindUrl + "?" + "dev_id" + sfAppId + "&out_shop_id=" + storePlatformRequire.itemValue) ) } }