From f38f83d6301ef7784ec552259fe06a1dab2ddf60 Mon Sep 17 00:00:00 2001 From: mzr <1562242162@qq.com> Date: Thu, 27 Mar 2025 12:10:28 +0800 Subject: [PATCH] =?UTF-8?q?openapi=E5=8F=82=E6=95=B0=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../openapi/so/m30/OpenAPIParaUtil.java | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 so/src/public/nccloud/openapi/so/m30/OpenAPIParaUtil.java diff --git a/so/src/public/nccloud/openapi/so/m30/OpenAPIParaUtil.java b/so/src/public/nccloud/openapi/so/m30/OpenAPIParaUtil.java new file mode 100644 index 0000000..201604d --- /dev/null +++ b/so/src/public/nccloud/openapi/so/m30/OpenAPIParaUtil.java @@ -0,0 +1,76 @@ +package nccloud.openapi.so.m30; + +import nc.vo.pub.VOStatus; +import nc.vo.pubapp.AppContext; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; +import nc.vo.so.m30.entity.SaleOrderBVO; +import nc.vo.so.m30.entity.SaleOrderHVO; +import nc.vo.so.m30.entity.SaleOrderVO; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +/** + * 销售订单接口适配2005代码 + * zhangxinah + */ + + +/** + * openapi参数解析工具类 + * + * @author Administrator + */ +public class OpenAPIParaUtil { + + /** + * json转VO + * + * @param paramList + * @param headtable + * @param bodytable + * @return + */ + public static SaleOrderVO[] changeVO(List> paramList, String headtable, String bodytable) { + List aggVOList = new ArrayList(); + for (Map map : paramList) { + if (!map.containsKey(headtable) || !map.containsKey(bodytable)) { + ExceptionUtils.wrappBusinessException("传入数据异常,参数要包含表头信息和表体信息"); + } + Map headInfo = (Map) map.get(headtable); + List> bodyInfo = (List>) map.get(bodytable); + + SaleOrderVO aggvo = new SaleOrderVO(); + SaleOrderHVO hvo = new SaleOrderHVO(); + // 首先设置集团 + hvo.setAttributeValue(SaleOrderHVO.PK_GROUP, AppContext.getInstance().getPkGroup()); + hvo.setStatus(VOStatus.NEW); + + Iterator> iterator = headInfo.entrySet().iterator(); + while (iterator.hasNext()) { + Entry headkey = iterator.next(); + hvo.setAttributeValue(headkey.getKey(), headkey.getValue()); + } + aggvo.setParentVO(hvo); + List bvoList = new ArrayList(); + for (Map bodyMap : bodyInfo) { + SaleOrderBVO bvo = new SaleOrderBVO(); + bvo.setAttributeValue(SaleOrderBVO.PK_GROUP, AppContext.getInstance().getPkGroup()); + hvo.setStatus(VOStatus.NEW); + Iterator> biterator = bodyMap.entrySet().iterator(); + while (biterator.hasNext()) { + Entry next = biterator.next(); + bvo.setAttributeValue(next.getKey(), next.getValue()); + } + bvoList.add(bvo); + } + aggvo.setChildrenVO(bvoList.toArray(new SaleOrderBVO[bvoList.size()])); + aggVOList.add(aggvo); + } + SaleOrderVO[] retvos = aggVOList.toArray(new SaleOrderVO[aggVOList.size()]); + return retvos; + } +}