BE_MallParseAddress.groovy 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import com.sdtool.common.api.BusinessExecutor
  2. import com.sdtool.common.api.SystemService
  3. import com.sdtool.common.datas.ERPModule
  4. import com.sdtool.common.datas.HttpCode
  5. import com.sdtool.common.entity.base.InvokeCallParams
  6. import com.sdtool.common.entity.base.InvokeCallResult
  7. import com.sdtool.common.entity.base.ProcessMapItem
  8. import com.alibaba.fastjson2.JSON
  9. import com.dySweetFishPlugin.sql.dao.OperatorWait
  10. import com.sweetfish.service.RetResult
  11. import groovy.json.JsonSlurper
  12. import org.apache.commons.lang3.StringUtils
  13. import org.rex.RMap
  14. import javax.annotation.Resource
  15. /**
  16. * @Author: xl Created on 2024-04-07
  17. * @Content:
  18. */
  19. class BE_MallParseAddress implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  20. @Resource
  21. SystemService systemService
  22. @Override
  23. String scriptName(){
  24. return "购物商城-地址识别"
  25. }
  26. @Override
  27. ERPModule module() {
  28. return ERPModule.MALL_FRONT
  29. }
  30. @Override
  31. boolean needLogin(InvokeCallParams source) {
  32. return true
  33. }
  34. @Override
  35. OperatorWait getAWait(InvokeCallParams s) {
  36. return OperatorWait.SYNC
  37. }
  38. @Override
  39. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  40. JsonSlurper jsonSlurper = new JsonSlurper()
  41. def invokeData = jsonSlurper.parseText(source.params)
  42. String inputAddress = invokeData["address"]
  43. if (StringUtils.isBlank(inputAddress)) return RetResult.error().retinfo("地址不能为空")
  44. RMap addressMap = systemService.parseAddress(inputAddress,source.currentUser,source.dataSourceId,source.supplierCode)
  45. if (addressMap.getInt("httpCode") == HttpCode.INTERNAL_SERVER_ERROR.value()) {
  46. return RetResult.error().retinfo("地址识别失败")
  47. } else {
  48. return RetResult.<InvokeCallResult> successT().result(InvokeCallResult
  49. .success()
  50. .data(JSON.toJSONString(addressMap.get("data")))
  51. .page(null)
  52. )
  53. }
  54. }
  55. }