diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/protocol/GmfxxtbReqBO.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/protocol/GmfxxtbReqBO.java index 5b577dd5..603714da 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/protocol/GmfxxtbReqBO.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/protocol/GmfxxtbReqBO.java @@ -37,4 +37,15 @@ public class GmfxxtbReqBO extends GmfxxBO implements Serializable { * 山能 MDM 客户API 里的开票税号字段(DESC49) */ private String INVOICE_TAXNO; + + /** + * 山能MDM 客户API里的code + */ + private String CODE; + + + /** + * 山能MDM 客户API里的UUID + */ + private String UUID; } diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/protocol/GmfxxtbRspBO.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/protocol/GmfxxtbRspBO.java index 921a9fc2..2ea97e82 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/protocol/GmfxxtbRspBO.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/protocol/GmfxxtbRspBO.java @@ -44,6 +44,13 @@ public class GmfxxtbRspBO extends BuyerResponseV4BO implements Serializable { * 购买方名称 */ private String GMFMC; + + /** + * 山能MDM CODE + */ + private String CODE; + + private String UUID; /** * 静态方法的方式设置字段ZTDM和ZTXX的值 diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java index 378f727b..dbf66c41 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java @@ -323,42 +323,42 @@ public class InvoiceRestApiV6 { } else if (ConfigurerInfo.SDENERGY_MDM_KS_SYNC_GROUP_TAX_CODE.equals(interfaceName)) { // 同步物料信息 - SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(reqStr, SDEnergyMdmBaseBO.class); - List list = new ArrayList<>(); - GroupTaxRespBO respBO = GroupTaxRespBO.build(OrderInfoContentEnum.SYNC_GROUP_TAX_009996); - try { - // 逐级判断是否为空,直到取到DATAINFO - list = (List) Optional.of(baseBO) - .map(SDEnergyMdmBaseBO::getESB) - .map(ESBBO::getDATA) - .map(DATABO::getDATAINFOS) - .map(DATAINFOSBO::getDATAINFO) - .map(i -> { - // 转成List - return i.stream().map(j -> { - return JSONObject.parseObject(JSONObject.toJSONString(j), MdmSyncGroupTaxCodeReqBO.class); - }).collect(Collectors.toList()); - }) - .orElse(new ArrayList()); - - // 进行同步 - List reqBOList = list.stream().map(i -> { - GroupTaxReqBO temp = new GroupTaxReqBO(); - temp.setSpmc(i.getDESC1()); - temp.setMs(i.getDESCSHORT()); - temp.setUnit(i.getDESC5()); - temp.setEncoding(i.getCODE()); - return temp; - }).collect(Collectors.toList()); - - respBO = interfaceServiceV3.syncGroupTax(reqBOList, secretId); - - } catch (Exception e) { - log.error("{}解析列表失败,原始string:{},错误原因{},错误堆栈:{}", LOGGER_MSG, reqStr, e.getMessage(), e.getStackTrace()); - } - - returnJsonString = JsonUtils.getInstance().toJsonStringNullToEmpty(respBO); - + // SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(reqStr, SDEnergyMdmBaseBO.class); + // List list = new ArrayList<>(); + // GroupTaxRespBO respBO = GroupTaxRespBO.build(OrderInfoContentEnum.SYNC_GROUP_TAX_009996); + // try { + // // 逐级判断是否为空,直到取到DATAINFO + // list = (List) Optional.of(baseBO) + // .map(SDEnergyMdmBaseBO::getESB) + // .map(ESBBO::getDATA) + // .map(DATABO::getDATAINFOS) + // .map(DATAINFOSBO::getDATAINFO) + // .map(i -> { + // // 转成List + // return i.stream().map(j -> { + // return JSONObject.parseObject(JSONObject.toJSONString(j), MdmSyncGroupTaxCodeReqBO.class); + // }).collect(Collectors.toList()); + // }) + // .orElse(new ArrayList()); + // + // // 进行同步 + // List reqBOList = list.stream().map(i -> { + // GroupTaxReqBO temp = new GroupTaxReqBO(); + // temp.setSpmc(i.getDESC1()); + // temp.setMs(i.getDESCSHORT()); + // temp.setUnit(i.getDESC5()); + // temp.setEncoding(i.getCODE()); + // return temp; + // }).collect(Collectors.toList()); + // + // respBO = interfaceServiceV3.syncGroupTax(reqBOList, secretId); + // + // } catch (Exception e) { + // log.error("{}解析列表失败,原始string:{},错误原因{},错误堆栈:{}", LOGGER_MSG, reqStr, e.getMessage(), e.getStackTrace()); + // } + // + // returnJsonString = JsonUtils.getInstance().toJsonStringNullToEmpty(respBO); + return returnJsonString = ""; } else { returnJsonString = ""; } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java index 9fa47118..2f633423 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java @@ -1,14 +1,20 @@ package com.dxhy.order.consumer.openapi.api; import com.alibaba.fastjson.JSONObject; +import com.dxhy.order.baseservice.module.buyer.protocol.BuyerResponseV4BO; import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbReqBO; import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbRspBO; -import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbMulticodeValuelistBO; -import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbReqBO; +import com.dxhy.order.constant.OrderInfoContentEnum; +import com.dxhy.order.consumer.openapi.protocol.v4.ResponseV4BO; +import com.dxhy.order.consumer.openapi.protocol.v4.grouptax.GroupTaxReqBO; +import com.dxhy.order.consumer.openapi.protocol.v4.grouptax.GroupTaxRespBO; +import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.*; import com.dxhy.order.consumer.openapi.service.InterfaceServiceV3; +import com.dxhy.order.exception.OrderReceiveException; import com.dxhy.order.utils.JsonUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -17,8 +23,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** * @Description @@ -30,6 +37,7 @@ import java.util.List; @RequestMapping("/invoice/api/invoice_sd_energy") public class InvoiceRestSDEnregy { + private static final String LOGGER_MSG = "(对外接口山能MDM)"; @Resource private InterfaceServiceV3 interfaceServiceV3; @@ -40,7 +48,22 @@ public class InvoiceRestSDEnregy { */ @PostMapping("/sync_buyer_message") public String syncBuyerMessage(@RequestBody String requestBody) { - List mdmGmfxxtbReqBOS = JSONObject.parseArray(requestBody, MdmGmfxxtbReqBO.class); + String logUUID = UUID.randomUUID().toString(); + log.info("{}[syncBuyerMessage],uuid:{},收到请求报文:{}", LOGGER_MSG, logUUID, requestBody); + SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class); + List mdmGmfxxtbReqBOS = (List) Optional.of(baseBO) + .map(SDEnergyMdmBaseBO::getESB) + .map(ESBBO::getDATA) + .map(DATABO::getDATAINFOS) + .map(DATAINFOSBO::getDATAINFO) + .map(i -> { + // 转成List + return i.stream().map(j -> { + return JSONObject.parseObject(JSONObject.toJSONString(j), MdmGmfxxtbReqBO.class); + }).collect(Collectors.toList()); + }) + .orElse(new ArrayList()); + List gmfxxtbReqList = new ArrayList<>(); for (MdmGmfxxtbReqBO tempMdmGmfxxtbReqBO : mdmGmfxxtbReqBOS) { GmfxxtbReqBO gmfxxtbReqBO = new GmfxxtbReqBO(); @@ -93,6 +116,113 @@ public class InvoiceRestSDEnregy { gmfxxtbReqList.add(gmfxxtbReqBO); } List gmfxxtbRspList = interfaceServiceV3.syncBuyerMessage(gmfxxtbReqList, ""); - return JsonUtils.getInstance().toJsonStringNullToEmpty(gmfxxtbRspList); + // 构造返回请求 + SDEnergyMdmBaseBO result = buildResult( + baseBO, + gmfxxtbRspList, + i -> { + GmfxxtbRspBO t = (GmfxxtbRspBO) i; + SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO(); + resp.setCODE(t.getCODE()); + resp.setUUID(t.getUUID()); + resp.setSYNSTATUS(StringUtils.equals(t.getZTDM(), OrderInfoContentEnum.SUCCESS.getKey()) ? "0" : "1"); + resp.setSYNRESULT(t.getZTXX()); + return resp; + } + ); + + String resp = JsonUtils.getInstance().toJsonStringNullToEmpty(result); + log.info("{}[syncGroupTax],uuid:{},返回报文:{}", LOGGER_MSG, logUUID, resp); + return resp; + } + + @PostMapping("/sync_group_tax") + public String syncGroupTax(@RequestBody String requestBody) { + String logUUID = UUID.randomUUID().toString(); + log.info("{}[syncGroupTax],uuid:{},收到请求报文:{}", LOGGER_MSG, logUUID, requestBody); + SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class); + List list = new ArrayList<>(); + List respBO = new ArrayList<>(); + try { + // 逐级判断是否为空,直到取到DATAINFO + list = (List) Optional.of(baseBO) + .map(SDEnergyMdmBaseBO::getESB) + .map(ESBBO::getDATA) + .map(DATABO::getDATAINFOS) + .map(DATAINFOSBO::getDATAINFO) + .map(i -> { + // 转成List + return i.stream().map(j -> { + return JSONObject.parseObject(JSONObject.toJSONString(j), MdmSyncGroupTaxCodeReqBO.class); + }).collect(Collectors.toList()); + }) + .orElse(new ArrayList()); + + // 进行同步 + List reqBOList = list.stream().map(i -> { + GroupTaxReqBO temp = new GroupTaxReqBO(); + temp.setSpmc(i.getDESC1()); + temp.setMs(i.getDESCSHORT()); + temp.setUnit(i.getDESC5()); + temp.setEncoding(i.getCODE()); + temp.setCODE(i.getCODE()); + temp.setUUID(i.getUUID()); + return temp; + }).collect(Collectors.toList()); + + respBO = interfaceServiceV3.syncGroupTax(reqBOList, ""); + + } catch (Exception e) { + log.error("{}解析列表失败,原始string:{},错误原因{},错误堆栈:{}", LOGGER_MSG, requestBody, e.getMessage(), e.getStackTrace()); + } + + // 构造返回请求 + SDEnergyMdmBaseBO result = buildResult( + baseBO, + respBO, + i -> { + GroupTaxRespBO t = (GroupTaxRespBO) i; + SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO(); + resp.setCODE(t.getCode()); + resp.setUUID(t.getUuid()); + resp.setSYNSTATUS(StringUtils.equals(t.getZTDM(), OrderInfoContentEnum.SUCCESS.getKey()) ? "0" : "1"); + resp.setSYNRESULT(t.getZTXX()); + return resp; + } + ); + + String resp = JsonUtils.getInstance().toJsonStringNullToEmpty(result); + log.info("{}[syncGroupTax],uuid:{},返回报文:{}", LOGGER_MSG, logUUID, resp); + return resp; + } + + + /** + * 统一构造 山能MDM 返回 + * + * @param baseBO + * @param respList + * @param handleFunction + * @return + */ + private SDEnergyMdmBaseBO buildResult(SDEnergyMdmBaseBO baseBO, List respList, Function handleFunction) { + DATAINFOSBO requestDATAINFOSBO = (DATAINFOSBO) Optional.of(baseBO) + .map(SDEnergyMdmBaseBO::getESB) + .map(ESBBO::getDATA) + .map(DATABO::getDATAINFOS) + .orElse(DATAINFOSBO.build()); + SDEnergyMdmBaseBO respBaseBO = SDEnergyMdmBaseBO.build(); + respBaseBO.getESB().setRESULT("S"); + respBaseBO.getESB().setDESC("处理完成"); + respBaseBO.getESB().getDATA().getDATAINFOS().setPUUID(requestDATAINFOSBO.getPUUID()); + List respDataInfo = respBaseBO.getESB().getDATA().getDATAINFOS().getDATAINFO(); + // 开始循环处理结果 + for (int i = 0; i < respList.size(); i++) { + Object currentBO = respList.get(i); + SDEnergyMdmBaseRespBO baseRespBO = handleFunction.apply(currentBO); + respDataInfo.add(baseRespBO); + } + + return respBaseBO; } } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/grouptax/GroupTaxReqBO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/grouptax/GroupTaxReqBO.java index 3bbf171a..1767e309 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/grouptax/GroupTaxReqBO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/grouptax/GroupTaxReqBO.java @@ -25,4 +25,8 @@ public class GroupTaxReqBO { // 山能MDM中 CODE主编码的值 private String encoding; + + private String UUID; + + private String CODE; } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/grouptax/GroupTaxRespBO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/grouptax/GroupTaxRespBO.java index 32a5b09f..303389e5 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/grouptax/GroupTaxRespBO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v4/grouptax/GroupTaxRespBO.java @@ -14,6 +14,10 @@ import java.io.Serializable; @Data public class GroupTaxRespBO extends ResponseV4BO implements Serializable { + private String uuid; + + private String code; + public static GroupTaxRespBO build(OrderInfoContentEnum orderInfoContentEnum) { GroupTaxRespBO resp = new GroupTaxRespBO(); resp.setZTDM(orderInfoContentEnum.getKey()); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/DATABO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/DATABO.java index 3564b0cf..bffe092a 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/DATABO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/DATABO.java @@ -4,6 +4,12 @@ package com.dxhy.order.consumer.openapi.protocol.v6.sdenergy; public class DATABO { + public static DATABO build() { + DATABO databo = new DATABO(); + databo.setDATAINFOS(DATAINFOSBO.build()); + return databo; + } + private DATAINFOSBO DATAINFOS; public void setDATAINFOS(DATAINFOSBO DATAINFOS) { this.DATAINFOS = DATAINFOS; diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/DATAINFOSBO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/DATAINFOSBO.java index 5dd2c205..754fc2fe 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/DATAINFOSBO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/DATAINFOSBO.java @@ -3,11 +3,19 @@ package com.dxhy.order.consumer.openapi.protocol.v6.sdenergy; import com.alibaba.fastjson.annotation.JSONField; +import java.util.ArrayList; import java.util.List; public class DATAINFOSBO { + public static DATAINFOSBO build() { + DATAINFOSBO datainfosbo = new DATAINFOSBO(); + datainfosbo.setDATAINFO(new ArrayList()); + datainfosbo.setPUUID(""); + return datainfosbo; + } + @JSONField(name = "DATAINFO") private List DATAINFO; private String PUUID; diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/ESBBO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/ESBBO.java index befaa474..02001af8 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/ESBBO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/ESBBO.java @@ -2,8 +2,22 @@ package com.dxhy.order.consumer.openapi.protocol.v6.sdenergy; +import com.dxhy.order.consumer.openapi.protocol.v4.sbzx.SbzxztcxRspBO; + public class ESBBO { + public static ESBBO build() { + ESBBO esbbo = new ESBBO(); + esbbo.setDATA(DATABO.build()); + esbbo.setRESULT(""); + esbbo.setDESC(""); + return esbbo; + } + + private String RESULT; + + private String DESC; + private DATABO DATA; public void setDATA(DATABO DATA) { this.DATA = DATA; @@ -12,4 +26,19 @@ public class ESBBO { return DATA; } + public String getRESULT() { + return RESULT; + } + + public void setRESULT(String RESULT) { + this.RESULT = RESULT; + } + + public String getDESC() { + return DESC; + } + + public void setDESC(String DESC) { + this.DESC = DESC; + } } \ No newline at end of file diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/SDEnergyMdmBaseBO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/SDEnergyMdmBaseBO.java index 00079981..d700a3db 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/SDEnergyMdmBaseBO.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/SDEnergyMdmBaseBO.java @@ -1,16 +1,22 @@ - package com.dxhy.order.consumer.openapi.protocol.v6.sdenergy; public class SDEnergyMdmBaseBO { - private ESBBO ESBBO; + + public static SDEnergyMdmBaseBO build() { + SDEnergyMdmBaseBO baseBO = new SDEnergyMdmBaseBO(); + baseBO.setESB(ESBBO.build()); + return baseBO; + } + + private ESBBO ESB; public void setESB(ESBBO ESBBO) { - this.ESBBO = ESBBO; + this.ESB = ESBBO; } public ESBBO getESB() { - return ESBBO; + return ESB; } } \ No newline at end of file diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/SDEnergyMdmBaseRespBO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/SDEnergyMdmBaseRespBO.java new file mode 100644 index 00000000..0f5ad44d --- /dev/null +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/SDEnergyMdmBaseRespBO.java @@ -0,0 +1,42 @@ +package com.dxhy.order.consumer.openapi.protocol.v6.sdenergy; + +/** + * @Description 山能mdm返回报文基础BO + * @Author 巩权林 + * @Date 2023/2/15 15:18 + **/ +public class SDEnergyMdmBaseRespBO { + + private String CODE; + private String UUID; + private String SYNSTATUS; + private String SYNRESULT; + public void setCODE(String CODE) { + this.CODE = CODE; + } + public String getCODE() { + return CODE; + } + + public void setUUID(String UUID) { + this.UUID = UUID; + } + public String getUUID() { + return UUID; + } + + public void setSYNSTATUS(String SYNSTATUS) { + this.SYNSTATUS = SYNSTATUS; + } + public String getSYNSTATUS() { + return SYNSTATUS; + } + + public void setSYNRESULT(String SYNRESULT) { + this.SYNRESULT = SYNRESULT; + } + public String getSYNRESULT() { + return SYNRESULT; + } + +} diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/InterfaceServiceV3.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/InterfaceServiceV3.java index 8ebe6e72..066c8d04 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/InterfaceServiceV3.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/InterfaceServiceV3.java @@ -381,5 +381,5 @@ public interface InterfaceServiceV3 { * @param secretId * @return */ - GroupTaxRespBO syncGroupTax(List groupTaxReqBO, String secretId); + List syncGroupTax(List groupTaxReqBO, String secretId); } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV3.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV3.java index 309e8216..d223d0d7 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV3.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV3.java @@ -2545,6 +2545,8 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 { log.error("{}同步购买方信息异常:{}", LOGGER_MSG_V4, e); GmfxxtbRspBO.build(gmfxxtbRsp, OrderInfoContentEnum.BUYER_MESSAGE_SYNC_ERROR); } + gmfxxtbRsp.setCODE(gmfxxtbReq.getCODE()); + gmfxxtbRsp.setUUID(gmfxxtbReq.getUUID()); gmfxxtbRspList.add(gmfxxtbRsp); } return gmfxxtbRspList; @@ -5330,20 +5332,25 @@ public class InterfaceServiceImplV3 implements InterfaceServiceV3 { * @return */ @Override - public GroupTaxRespBO syncGroupTax(List groupTaxReqBO, String secretId) { - GroupTaxRespBO resp = GroupTaxRespBO.build(OrderInfoContentEnum.SUCCESS); + public List syncGroupTax(List groupTaxReqBO, String secretId) { + List resp = new ArrayList(); // 根据商品名称和和商品编码查下商品编码公司是否已经录入了物料编码 - try { - for (GroupTaxReqBO tempBO : groupTaxReqBO) { - GroupTaxRespBO tempResp = syncGroupTax(tempBO, secretId); - if (tempResp.isFailed()) { - return tempResp; - } + for (GroupTaxReqBO tempBO : groupTaxReqBO) { + GroupTaxRespBO tempResp = new GroupTaxRespBO(); + try { + tempResp = syncGroupTax(tempBO, secretId); + tempResp.setCode(tempBO.getCODE()); + tempResp.setUuid(tempBO.getUUID()); + resp.add(tempResp); + } catch (OrderReceiveException e) { + log.error("{}同步集团商品税编表异常", LOGGER_MSG_V4, e); + GroupTaxRespBO errorResp = new GroupTaxRespBO(); + errorResp.setZTDM(e.getCode()); + errorResp.setZTXX(e.getMessage()); + errorResp.setCode(tempBO.getCODE()); + errorResp.setUuid(tempBO.getUUID()); + resp.add(errorResp); } - } catch (OrderReceiveException e) { - log.error("{}同步集团商品税编表异常", LOGGER_MSG_V4, e); - resp.setZTDM(e.getCode()); - resp.setZTXX(e.getMessage()); } return resp;