|
|
@@ -1,108 +0,0 @@
|
|
|
-package com.uas.platform.b2b.erp.service;
|
|
|
-
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import com.uas.platform.b2b.model.Product;
|
|
|
-import com.uas.platform.b2b.model.ProductInfo;
|
|
|
-import com.uas.platform.b2b.model.PurcOrderInfoItem;
|
|
|
-
|
|
|
-import java.lang.reflect.InvocationTargetException;
|
|
|
-import java.lang.reflect.Method;
|
|
|
-import java.util.Arrays;
|
|
|
-
|
|
|
-/**
|
|
|
- * 对象转换赋值
|
|
|
- *
|
|
|
- * @author hejq
|
|
|
- * @date 2018-07-17 11:19
|
|
|
- */
|
|
|
-public class ObjectEvaluate {
|
|
|
-
|
|
|
- /**
|
|
|
- * 给物料编号赋值方法
|
|
|
- */
|
|
|
- static final String EVALUTE_CODE = "setProductCode";
|
|
|
-
|
|
|
- /**
|
|
|
- * 给物料名称赋值方法
|
|
|
- */
|
|
|
- static final String EVALUTE_TITLE = "setProductTitle";
|
|
|
-
|
|
|
- /**
|
|
|
- * 给物料规格赋值方法
|
|
|
- */
|
|
|
- static final String EVALUTE_SPEC = "setProductSpec";
|
|
|
-
|
|
|
- /**
|
|
|
- * 给物料品牌赋值方法
|
|
|
- */
|
|
|
- static final String EVALUTE_BRAND = "setProductBrand";
|
|
|
-
|
|
|
- /**
|
|
|
- * 给物料单位赋值方法
|
|
|
- */
|
|
|
- static final String EVALUTE_UNIT = "setProductUnit";
|
|
|
-
|
|
|
- /**
|
|
|
- * 给物料ID赋值方法
|
|
|
- */
|
|
|
- static final String EVALUTE_ID = "setProductId";
|
|
|
-
|
|
|
- /**
|
|
|
- * 给物料型号赋值方法
|
|
|
- */
|
|
|
- static final String EVALUTE_CMP_CODE = "setProductCmpCode";
|
|
|
-
|
|
|
- /**
|
|
|
- * 物料数据赋值给其他实体
|
|
|
- *
|
|
|
- * @param targetObject 目标实体
|
|
|
- * @param product 物料信息
|
|
|
- * @param <T>
|
|
|
- * @return
|
|
|
- * @throws InvocationTargetException
|
|
|
- * @throws IllegalAccessException
|
|
|
- */
|
|
|
- public static <T> T covert(T targetObject, Product product) {
|
|
|
- Class<T> cls = (Class<T>) targetObject.getClass();
|
|
|
- Method[] methods = cls.getMethods();
|
|
|
- if (methods.length > 0) {
|
|
|
- Arrays.asList(methods).stream().forEach(method -> {
|
|
|
- try {
|
|
|
- if (EVALUTE_BRAND.equals(method.getName())) {
|
|
|
- method.invoke(targetObject, product.getBrand());
|
|
|
- } else if (EVALUTE_CODE.equals(method.getName())) {
|
|
|
- method.invoke(targetObject, product.getCode());
|
|
|
- } else if (EVALUTE_ID.equals(method.getName())) {
|
|
|
- method.invoke(targetObject, product.getId());
|
|
|
- } else if (EVALUTE_CMP_CODE.equals(method.getName())) {
|
|
|
- method.invoke(targetObject, product.getCmpCode());
|
|
|
- } else if (EVALUTE_SPEC.equals(method.getName())) {
|
|
|
- method.invoke(targetObject, product.getSpec());
|
|
|
- } else if (EVALUTE_TITLE.equals(method.getName())) {
|
|
|
- method.invoke(targetObject, product.getTitle());
|
|
|
- } else if (EVALUTE_UNIT.equals(method.getName())) {
|
|
|
- method.invoke(targetObject, product.getUnit());
|
|
|
- }
|
|
|
- } catch (IllegalAccessException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (InvocationTargetException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- return targetObject;
|
|
|
- }
|
|
|
-
|
|
|
- public static void main(String[] args) {
|
|
|
- ProductInfo product = new ProductInfo();
|
|
|
- product.setId(1L);
|
|
|
- product.setBrand("brand001");
|
|
|
- product.setCmpCode("cmpCode001");
|
|
|
- product.setTitle("title001");
|
|
|
- product.setUnit("PCS");
|
|
|
- product.setSpec("spec001");
|
|
|
- PurcOrderInfoItem orderItem = new PurcOrderInfoItem();
|
|
|
- orderItem.setProduct(product);
|
|
|
- System.out.println(JSON.toJSONString(orderItem));
|
|
|
- }
|
|
|
-}
|