diff --git a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/PDto.java b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/PDto.java new file mode 100644 index 0000000..116ab34 --- /dev/null +++ b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/PDto.java @@ -0,0 +1,12 @@ +package io.github.linpeilie.model; + +import io.github.linpeilie.annotations.AutoMapping; +import lombok.Data; + +@Data +public class PDto { + + @AutoMapping(targetClass = PVO.class, expression = "java(source.getSuccess() ? 1 : 0)") + private Boolean success; + +} diff --git a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/PVO.java b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/PVO.java new file mode 100644 index 0000000..e0064d5 --- /dev/null +++ b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/PVO.java @@ -0,0 +1,12 @@ +package io.github.linpeilie.model; + +import io.github.linpeilie.annotations.AutoMapping; +import lombok.Data; + +@Data +public class PVO { + + @AutoMapping(targetClass = PDto.class, expression = "java(source.getSuccess().equals(1) ? true : false)") + private Integer success; + +} diff --git a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/SDto.java b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/SDto.java new file mode 100644 index 0000000..edba92c --- /dev/null +++ b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/SDto.java @@ -0,0 +1,14 @@ +package io.github.linpeilie.model; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.ToString; + +@Data +@ToString(callSuper = true) +@AutoMapper(target = SVO.class) +public class SDto extends PDto { + + private Long id; + +} diff --git a/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/SVO.java b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/SVO.java new file mode 100644 index 0000000..ef6ad6c --- /dev/null +++ b/example/spring-boot-with-lombok/src/main/java/io/github/linpeilie/model/SVO.java @@ -0,0 +1,14 @@ +package io.github.linpeilie.model; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.ToString; + +@Data +@ToString(callSuper = true) +@AutoMapper(target = SDto.class) +public class SVO extends PVO { + + private Long id; + +} diff --git a/example/spring-boot-with-lombok/src/test/java/io/github/linpeilie/QuickStartTest.java b/example/spring-boot-with-lombok/src/test/java/io/github/linpeilie/QuickStartTest.java index 1cef04f..7ef1639 100644 --- a/example/spring-boot-with-lombok/src/test/java/io/github/linpeilie/QuickStartTest.java +++ b/example/spring-boot-with-lombok/src/test/java/io/github/linpeilie/QuickStartTest.java @@ -2,13 +2,17 @@ package io.github.linpeilie; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Assert; +import io.github.linpeilie.model.Car; import io.github.linpeilie.model.Goods; import io.github.linpeilie.model.GoodsDto; import io.github.linpeilie.model.GoodsStateEnum; import io.github.linpeilie.model.GoodsVo; +import io.github.linpeilie.model.InnerClassTarget; import io.github.linpeilie.model.MapModelA; import io.github.linpeilie.model.Order; import io.github.linpeilie.model.OrderVO; +import io.github.linpeilie.model.SDto; +import io.github.linpeilie.model.SVO; import io.github.linpeilie.model.Sku; import io.github.linpeilie.model.SysMenu; import io.github.linpeilie.model.SysMenuVo; @@ -228,4 +232,34 @@ public class QuickStartTest { System.out.println(goods1); } + @Test + public void innerClassTest() { + Car.InnerClass innerClass = new Car.InnerClass(); + innerClass.setF("1111"); + InnerClassTarget innerClassTarget = converter.convert(innerClass, InnerClassTarget.class); + Assert.equals(innerClassTarget.getF(), "1111"); + System.out.println(innerClassTarget); + + Car.InnerClass innerClass1 = converter.convert(innerClassTarget, Car.InnerClass.class); + Assert.equals(innerClass1.getF(), "1111"); + System.out.println(innerClass1); + } + + @Test + public void extendTest() { + SDto sDto = new SDto(); + sDto.setId(111111L); + sDto.setSuccess(true); + + SVO svo = converter.convert(sDto, SVO.class); + Assert.equals(svo.getId(), sDto.getId()); + Assert.equals(svo.getSuccess(), 1); + System.out.println(svo); + + SDto sDto1 = converter.convert(svo, SDto.class); + Assert.equals(sDto1.getId(), sDto.getId()); + Assert.equals(sDto1.getSuccess(), sDto.getSuccess()); + System.out.println(sDto1); + } + }