From 50e460d83f20cdf7e5e6c46347d39fc0ea88990a Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 10 Dec 2024 22:05:29 +0800 Subject: [PATCH] md --- .../erp/oms/web/Oms2cWaybillController.java | 4 ++ .../erp/oms/domain/vo/WaybillOrder.java | 7 ++++ .../oms/service/svc/FeignErrorDecoder.java | 39 ++++++++++++++++++- 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cWaybillController.java b/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cWaybillController.java index 2998b1a..2b60d2c 100644 --- a/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cWaybillController.java +++ b/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cWaybillController.java @@ -101,6 +101,9 @@ public class Oms2cWaybillController extends BaseController { waybillOrder.setUserId(getLoginUser().getUser().getId()); waybillOrder.setCustomerCode(getLoginUser().getUser().getCustomerCode()); + waybillOrder.setDataFrom(Re); + + return this.iRpcWaybillSvc.realSubmitOrderByOms(waybillOrder,isModify); } @@ -122,6 +125,7 @@ public class Oms2cWaybillController extends BaseController public AjaxResult draftSubmitOrder(@RequestBody EmisWaybill emisWaybillSave){ emisWaybillSave.setUserId(getLoginUser().getUser().getId()); emisWaybillSave.setCustomerCode(getLoginUser().getUser().getCustomerCode()); + emisWaybillSave.setDataFrom(""); return this.iRpcWaybillSvc.draftSubmitOrderByOms(emisWaybillSave); } diff --git a/emis-oms-biz/src/main/java/com/xdadan/erp/oms/domain/vo/WaybillOrder.java b/emis-oms-biz/src/main/java/com/xdadan/erp/oms/domain/vo/WaybillOrder.java index 0395fa8..dcf9dcd 100644 --- a/emis-oms-biz/src/main/java/com/xdadan/erp/oms/domain/vo/WaybillOrder.java +++ b/emis-oms-biz/src/main/java/com/xdadan/erp/oms/domain/vo/WaybillOrder.java @@ -345,6 +345,9 @@ public class WaybillOrder implements Serializable { /* 录单人 */ private String registerManName; + /* 数据来源 */ + private String dataFrom; + // 销售,回款 // private String salesmenName; // private String payeeName; @@ -609,6 +612,8 @@ public class WaybillOrder implements Serializable { // voItem.setCreateSite(dbWaybill.getCreateSite()); // voItem.setUpdateSite(dbWaybill.getUpdateSite()); + voItem.setDataFrom(dbWaybill.getDataFrom()); + voItem.setLockFlag(dbWaybill.getLockFlag()); voItem.setLockReason(dbWaybill.getLockReason()); @@ -815,6 +820,8 @@ public class WaybillOrder implements Serializable { // dbWaybill.setCreateSite(this.getCreateSite()); // dbWaybill.setUpdateSite(this.getUpdateSite()); + dbWaybill.setDataFrom(this.getDataFrom()); + return dbWaybill; } diff --git a/emis-oms-biz/src/main/java/com/xdadan/erp/oms/service/svc/FeignErrorDecoder.java b/emis-oms-biz/src/main/java/com/xdadan/erp/oms/service/svc/FeignErrorDecoder.java index ce01122..89e2df0 100644 --- a/emis-oms-biz/src/main/java/com/xdadan/erp/oms/service/svc/FeignErrorDecoder.java +++ b/emis-oms-biz/src/main/java/com/xdadan/erp/oms/service/svc/FeignErrorDecoder.java @@ -1,14 +1,51 @@ package com.xdadan.erp.oms.service.svc; +import feign.RequestInterceptor; +import feign.RequestTemplate; import feign.Response; import feign.RetryableException; import feign.codec.ErrorDecoder; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Enumeration; +import java.util.LinkedHashMap; +import java.util.Map; @Slf4j @Configuration -public class FeignErrorDecoder extends ErrorDecoder.Default { +public class FeignErrorDecoder extends ErrorDecoder.Default implements RequestInterceptor { + + @Override + public void apply(RequestTemplate requestTemplate) { + Map headers = getHeaders(getHttpServletRequest()); + for(String headerName : headers.keySet()){ + requestTemplate.header(headerName, getHeaders(getHttpServletRequest()).get(headerName)); + } + } + + private HttpServletRequest getHttpServletRequest() { + try { + return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + private Map getHeaders(HttpServletRequest request) { + Map map = new LinkedHashMap<>(); + Enumeration enumeration = request.getHeaderNames(); + while (enumeration.hasMoreElements()) { + String key = enumeration.nextElement(); + String value = request.getHeader(key); + map.put(key, value); + } + return map; + } @Override public Exception decode(String methodKey, Response response) {