Browse Source

国内保存

licailing 4 years ago
parent
commit
6cd5f138f0

+ 2 - 0
src/main/java/com/izouma/uwip/domain/Patent.java

@@ -1,5 +1,6 @@
 package com.izouma.uwip.domain;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.izouma.uwip.annotations.Searchable;
 import com.izouma.uwip.converter.HandleListConverter;
 import com.izouma.uwip.enums.ApplyStatus;
@@ -22,6 +23,7 @@ import java.util.List;
 @NoArgsConstructor
 @Entity
 @ApiModel(value = "专利申请")
+@JsonIgnoreProperties(value = {"hibernateLazyInitializer"}, ignoreUnknown = true)
 public class Patent extends BaseEntity {
 //    private String workflow;
 

+ 1 - 1
src/main/java/com/izouma/uwip/service/DomesticPatentService.java

@@ -49,7 +49,7 @@ public class DomesticPatentService {
             Patent orig1 = patentRepo.findById(record.getPatentId()).orElseThrow(new BusinessException("无记录"));
             Patent patent = new Patent();
             BeanUtil.copyProperties(record, patent);
-            ObjUtils.merge(orig1, patent);
+            ObjUtils.mergePatent(orig1, patent);
 
             orig1.getHandle().add(Handle.builder()
                     .workflow(record.getWorkflow().toString())

+ 27 - 0
src/main/java/com/izouma/uwip/utils/ObjUtils.java

@@ -1,6 +1,7 @@
 package com.izouma.uwip.utils;
 
 
+import com.izouma.uwip.domain.Patent;
 import org.apache.commons.beanutils.BeanUtilsBean;
 
 import java.lang.reflect.Field;
@@ -22,6 +23,32 @@ public class ObjUtils {
         }
     }
 
+    public static void mergePatent(Object dst, Object src) {
+        Objects.requireNonNull(src);
+        Objects.requireNonNull(dst);
+        if (!dst.getClass().equals(src.getClass())) {
+            if (dst instanceof Patent && src instanceof Patent) {
+                BeanUtilsBean notNull = new NullAwareBeanUtilsBean();
+                try {
+                    notNull.copyProperties(dst, src);
+                } catch (IllegalAccessException | InvocationTargetException e) {
+                    e.printStackTrace();
+                }
+            } else {
+                throw new RuntimeException("cannot merge different class");
+            }
+        } else {
+            BeanUtilsBean notNull = new NullAwareBeanUtilsBean();
+            try {
+                notNull.copyProperties(dst, src);
+            } catch (IllegalAccessException | InvocationTargetException e) {
+                e.printStackTrace();
+            }
+        }
+
+
+    }
+
     public static String[] getFields(Class clazz) {
         Field[] fields = clazz.getDeclaredFields();
         String[] fieldNames = new String[fields.length];

+ 22 - 0
src/test/java/com/izouma/uwip/service/DomesticPatentServiceTest.java

@@ -1,11 +1,15 @@
 package com.izouma.uwip.service;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.izouma.uwip.ApplicationTests;
 import com.izouma.uwip.domain.DomesticPatent;
+import com.izouma.uwip.domain.Patent;
+import com.izouma.uwip.dto.DomesticPatentDTO;
 import com.izouma.uwip.dto.PageQuery;
 import com.izouma.uwip.enums.ApplyStatus;
 import com.izouma.uwip.enums.CaseType;
+import com.izouma.uwip.enums.DomesticWorkflow;
 import com.izouma.uwip.enums.PatentType;
 import com.izouma.uwip.utils.JpaUtils;
 import org.junit.Test;
@@ -38,4 +42,22 @@ public class DomesticPatentServiceTest extends ApplicationTests {
         System.out.println(JpaUtils.isExistField("workflow", DomesticPatent.class));
     }
 
+    @Test
+    public void test3() {
+        DomesticPatentDTO dto = JSONObject.parseObject("{\"did\":217,\"patentId\":216,\"workflow\":\"ADD_SUPPLIERS\"," +
+                "\"applicantUscc\":\"111\",\"inventorIdno\":\"111\",\"deduction\":false," +
+                "\"essentialReview\":false,\"publicInAdvance\":false,\"chapterAcceptanceNotice\":false," +
+                "\"chapterPaymentNotice\":false,\"decideReply\":null,\"isClientReady\":null," +
+                "\"replyPassed\":null,\"registerNotice\":null,\"registerEndDate\":null,\"feeRemark\":null," +
+                "\"payment\":null,\"annualFee\":null,\"feePaymentPeriod\":null,\"bill\":null,\"name\":\"12232\"," +
+                "\"applyStatus\":\"APPLY_STAGE\",\"type\":\"INVENTION\",\"uwNo\":\"CE211——1001\"," +
+                "\"clientPartnerId\":168,\"supplierPartnerId\":null,\"supplierNo\":null," +
+                "\"supplierSubmitPeriod\":null,\"applicantName\":\"111\",\"applicantEnName\":null," +
+                "\"applicantAddress\":\"111\",\"applicantEnAddress\":null,\"inventorName\":\"111\"," +
+                "\"inventorEnName\":null,\"priorityNo\":null,\"priorityDate\":null,\"priorityCountry\":null," +
+                "\"submitPeriod\":null,\"officialPeriod\":null,\"applyNo\":null,\"applyDate\":\"2021-04-12\"," +
+                "\"attachments\":null,\"handle\":[]}", DomesticPatentDTO.class);
+        domesticPatentService.saveDTO(dto, 1L);
+    }
+
 }