package com.zy.api.entity; import com.alibaba.fastjson.JSON; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.BeanUtils; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class OrderParamsFieldAliasTest { private final ObjectMapper objectMapper = new ObjectMapper(); @Test void packageFieldShouldRoundTripThroughJacksonAndFastjson() throws Exception { StockUpOrderParams params = buildSampleParams(); String jacksonJson = objectMapper.writeValueAsString(params); assertTrue(jacksonJson.contains("\"package\":1")); assertFalse(jacksonJson.contains("packageFlag")); StockUpOrderParams jacksonRoundTrip = objectMapper.readValue(jacksonJson, StockUpOrderParams.class); assertEquals(Integer.valueOf(1), jacksonRoundTrip.getPackageFlag()); assertEquals("客户A", jacksonRoundTrip.getCustomerName()); assertEquals("CONT-001", jacksonRoundTrip.getContainerNo()); assertEquals(Integer.valueOf(2), jacksonRoundTrip.getTeu()); String fastjsonJson = JSON.toJSONString(params); assertTrue(fastjsonJson.contains("\"package\":1")); assertFalse(fastjsonJson.contains("packageFlag")); OrderParams fastjsonRoundTrip = JSON.parseObject(fastjsonJson, OrderParams.class); assertEquals(Integer.valueOf(1), fastjsonRoundTrip.getPackageFlag()); assertEquals("外库-01", fastjsonRoundTrip.getOutDoorNo()); assertEquals(Double.valueOf(12.5), fastjsonRoundTrip.getCubeNumber()); } @Test void beanCopyShouldKeepNewInheritedFields() { StockUpOrderParams source = buildSampleParams(); PubOrderParams target = new PubOrderParams(); BeanUtils.copyProperties(source, target); assertEquals(source.getCustomerId(), target.getCustomerId()); assertEquals(source.getCustomerName(), target.getCustomerName()); assertEquals(source.getItem(), target.getItem()); assertEquals(source.getPackageFlag(), target.getPackageFlag()); assertEquals(source.getOutDoorNo(), target.getOutDoorNo()); assertEquals(source.getPlateNo(), target.getPlateNo()); assertEquals(source.getTrainNo(), target.getTrainNo()); assertEquals(source.getFreqType(), target.getFreqType()); assertEquals(source.getCubeNumber(), target.getCubeNumber()); assertEquals(source.getContainerNo(), target.getContainerNo()); assertEquals(source.getTeu(), target.getTeu()); } private StockUpOrderParams buildSampleParams() { StockUpOrderParams params = new StockUpOrderParams(); params.setDispatch_no("DISP-001"); params.setCompany_id("COMP-001"); params.setCustomerId("CUST-001"); params.setCustomerName("客户A"); params.setItem("ITEM-001"); params.setPackageFlag(1); params.setOutDoorNo("外库-01"); params.setPlateNo("沪A12345"); params.setTrainNo("T-20260414"); params.setFreqType(2); params.setCubeNumber(12.5); params.setContainerNo("CONT-001"); params.setTeu(2); return params; } }