Quellcode durchsuchen

桔医商城项目搭建

malz vor 1 Jahr
Commit
4c234504af
75 geänderte Dateien mit 9011 neuen und 0 gelöschten Zeilen
  1. 119 0
      .flattened-pom.xml
  2. 596 0
      cdm-dependencies/.flattened-pom.xml
  3. 50 0
      cdm-framework/.flattened-pom.xml
  4. 121 0
      cdm-framework/cdm-common/.flattened-pom.xml
  5. 26 0
      cdm-framework/cdm-spring-boot-starter-banner/.flattened-pom.xml
  6. 41 0
      cdm-framework/cdm-spring-boot-starter-biz-data-permission/.flattened-pom.xml
  7. 40 0
      cdm-framework/cdm-spring-boot-starter-biz-dict/.flattened-pom.xml
  8. 39 0
      cdm-framework/cdm-spring-boot-starter-biz-error-code/.flattened-pom.xml
  9. 44 0
      cdm-framework/cdm-spring-boot-starter-biz-ip/.flattened-pom.xml
  10. 40 0
      cdm-framework/cdm-spring-boot-starter-biz-operatelog/.flattened-pom.xml
  11. 63 0
      cdm-framework/cdm-spring-boot-starter-biz-pay/.flattened-pom.xml
  12. 64 0
      cdm-framework/cdm-spring-boot-starter-biz-sms/.flattened-pom.xml
  13. 67 0
      cdm-framework/cdm-spring-boot-starter-biz-tenant/.flattened-pom.xml
  14. 30 0
      cdm-framework/cdm-spring-boot-starter-captcha/.flattened-pom.xml
  15. 33 0
      cdm-framework/cdm-spring-boot-starter-desensitize/.flattened-pom.xml
  16. 41 0
      cdm-framework/cdm-spring-boot-starter-excel/.flattened-pom.xml
  17. 68 0
      cdm-framework/cdm-spring-boot-starter-file/.flattened-pom.xml
  18. 31 0
      cdm-framework/cdm-spring-boot-starter-flowable/.flattened-pom.xml
  19. 32 0
      cdm-framework/cdm-spring-boot-starter-job/.flattened-pom.xml
  20. 60 0
      cdm-framework/cdm-spring-boot-starter-monitor/.flattened-pom.xml
  21. 37 0
      cdm-framework/cdm-spring-boot-starter-mq/.flattened-pom.xml
  22. 67 0
      cdm-framework/cdm-spring-boot-starter-mybatis/.flattened-pom.xml
  23. 32 0
      cdm-framework/cdm-spring-boot-starter-protection/.flattened-pom.xml
  24. 34 0
      cdm-framework/cdm-spring-boot-starter-redis/.flattened-pom.xml
  25. 48 0
      cdm-framework/cdm-spring-boot-starter-security/.flattened-pom.xml
  26. 50 0
      cdm-framework/cdm-spring-boot-starter-test/.flattened-pom.xml
  27. 53 0
      cdm-framework/cdm-spring-boot-starter-web/.flattened-pom.xml
  28. 55 0
      cdm-framework/cdm-spring-boot-starter-websocket/.flattened-pom.xml
  29. 22 0
      cdm-module-infra/.flattened-pom.xml
  30. 26 0
      cdm-module-infra/cdm-module-infra-api/.flattened-pom.xml
  31. 154 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/article/ArticleCategoryConvertImpl.java
  32. 169 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/article/ArticleConvertImpl.java
  33. 136 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/banner/BannerConvertImpl.java
  34. 237 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/bargain/BargainActivityConvertImpl.java
  35. 89 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/bargain/BargainHelpConvertImpl.java
  36. 142 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/bargain/BargainRecordConvertImpl.java
  37. 445 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/combination/CombinationActivityConvertImpl.java
  38. 219 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/coupon/CouponConvertImpl.java
  39. 222 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/coupon/CouponTemplateConvertImpl.java
  40. 88 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/decorate/DecorateComponentConvertImpl.java
  41. 180 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/discount/DiscountActivityConvertImpl.java
  42. 158 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/diy/DiyPageConvertImpl.java
  43. 199 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/diy/DiyTemplateConvertImpl.java
  44. 193 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/reward/RewardActivityConvertImpl.java
  45. 327 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/seckill/seckillactivity/SeckillActivityConvertImpl.java
  46. 173 0
      cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/seckill/seckillconfig/SeckillConfigConvertImpl.java
  47. 51 0
      cdm-module-mall/cdm-module-statistics-biz/target/generated-sources/annotations/com/cdm/module/statistics/convert/member/MemberStatisticsConvertImpl.java
  48. 25 0
      cdm-module-mall/cdm-module-statistics-biz/target/generated-sources/annotations/com/cdm/module/statistics/convert/pay/PayStatisticsConvertImpl.java
  49. 160 0
      cdm-module-mall/cdm-module-statistics-biz/target/generated-sources/annotations/com/cdm/module/statistics/convert/trade/TradeStatisticsConvertImpl.java
  50. 474 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/aftersale/AfterSaleConvertImpl.java
  51. 32 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/aftersale/AfterSaleLogConvertImpl.java
  52. 149 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/brokerage/BrokerageRecordConvertImpl.java
  53. 80 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/brokerage/BrokerageUserConvertImpl.java
  54. 164 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/brokerage/BrokerageWithdrawConvertImpl.java
  55. 79 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/cart/TradeCartConvertImpl.java
  56. 135 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/config/TradeConfigConvertImpl.java
  57. 189 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/delivery/DeliveryExpressConvertImpl.java
  58. 285 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/delivery/DeliveryExpressTemplateConvertImpl.java
  59. 173 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/delivery/DeliveryPickUpStoreConvertImpl.java
  60. 1003 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/order/TradeOrderConvertImpl.java
  61. 32 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/order/TradeOrderLogConvertImpl.java
  62. 104 0
      cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/framework/delivery/core/client/convert/ExpressQueryConvertImpl.java
  63. 96 0
      cdm-module-report/cdm-module-report-biz/target/generated-sources/annotations/com/cdm/module/report/convert/goview/GoViewProjectConvertImpl.java
  64. 21 0
      cdm-module-system/.flattened-pom.xml
  65. 26 0
      cdm-module-system/cdm-module-system-api/.flattened-pom.xml
  66. 105 0
      cdm-module-system/cdm-module-system-biz/.flattened-pom.xml
  67. 109 0
      cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/auth/AuthConvertImpl.java
  68. 72 0
      cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/ip/AreaConvertImpl.java
  69. 11 0
      cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/logger/OperateLogConvertImpl.java
  70. 11 0
      cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/mail/MailAccountConvertImpl.java
  71. 11 0
      cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/oauth2/OAuth2OpenConvertImpl.java
  72. 32 0
      cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/social/SocialUserConvertImpl.java
  73. 11 0
      cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/tenant/TenantConvertImpl.java
  74. 11 0
      cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/user/UserConvertImpl.java
  75. 200 0
      cdm-server/src/main/resources/application-prod.yaml

+ 119 - 0
.flattened-pom.xml

@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <packaging>pom</packaging>
+  <name>${project.artifactId}</name>
+  <description>芋道项目基础脚手架</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <modules>
+    <module>cdm-dependencies</module>
+    <module>cdm-framework</module>
+    <module>cdm-server</module>
+    <module>cdm-module-system</module>
+    <module>cdm-module-infra</module>
+  </modules>
+  <properties>
+    <lombok.version>1.18.30</lombok.version>
+    <maven.compiler.target>${java.version}</maven.compiler.target>
+    <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
+    <java.version>1.8</java.version>
+    <maven.compiler.source>${java.version}</maven.compiler.source>
+    <mapstruct.version>1.5.5.Final</mapstruct.version>
+    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <spring.boot.version>2.7.17</spring.boot.version>
+    <flatten-maven-plugin.version>1.5.0</flatten-maven-plugin.version>
+    <revision>2.0.0-jdk8-snapshot</revision>
+  </properties>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-dependencies</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <repositories>
+    <repository>
+      <id>huaweicloud</id>
+      <name>huawei</name>
+      <url>https://mirrors.huaweicloud.com/repository/maven/</url>
+    </repository>
+    <repository>
+      <id>aliyunmaven</id>
+      <name>aliyun</name>
+      <url>https://maven.aliyun.com/repository/public</url>
+    </repository>
+  </repositories>
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>${maven-surefire-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>${maven-compiler-plugin.version}</version>
+          <configuration>
+            <annotationProcessorPaths>
+              <path>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-configuration-processor</artifactId>
+                <version>${spring.boot.version}</version>
+              </path>
+              <path>
+                <groupId>org.projectlombok</groupId>
+                <artifactId>lombok</artifactId>
+                <version>${lombok.version}</version>
+              </path>
+              <path>
+                <groupId>org.mapstruct</groupId>
+                <artifactId>mapstruct-processor</artifactId>
+                <version>${mapstruct.version}</version>
+              </path>
+            </annotationProcessorPaths>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>flatten-maven-plugin</artifactId>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>flatten-maven-plugin</artifactId>
+        <version>${flatten-maven-plugin.version}</version>
+        <executions>
+          <execution>
+            <id>flatten</id>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>flatten</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>flatten.clean</id>
+            <phase>clean</phase>
+            <goals>
+              <goal>clean</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <flattenMode>resolveCiFriendliesOnly</flattenMode>
+          <updatePomFile>true</updatePomFile>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

+ 596 - 0
cdm-dependencies/.flattened-pom.xml

@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-dependencies</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <packaging>pom</packaging>
+  <name>${project.artifactId}</name>
+  <description>基础 bom 文件,管理整个项目的依赖版本</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <properties>
+    <tika-core.version>2.7.0</tika-core.version>
+    <podam.version>7.2.11.RELEASE</podam.version>
+    <captcha-plus.version>1.0.10</captcha-plus.version>
+    <flatten-maven-plugin.version>1.5.0</flatten-maven-plugin.version>
+    <mapstruct.version>1.5.5.Final</mapstruct.version>
+    <fastjson.version>1.2.83</fastjson.version>
+    <tencentcloud-sdk-java.version>3.1.880</tencentcloud-sdk-java.version>
+    <weixin-java.version>4.5.7.B</weixin-java.version>
+    <mybatis-plus-generator.version>3.5.4</mybatis-plus-generator.version>
+    <opentracing.version>0.33.0</opentracing.version>
+    <screw.version>1.0.5</screw.version>
+    <mybatis-plus-join.version>1.4.7</mybatis-plus-join.version>
+    <aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version>
+    <revision>2.0.0-jdk8-snapshot</revision>
+    <jsch.version>0.1.55</jsch.version>
+    <xercesImpl.version>2.12.2</xercesImpl.version>
+    <rocketmq-spring.version>2.2.3</rocketmq-spring.version>
+    <ip2region.version>2.7.0</ip2region.version>
+    <okio.version>3.5.0</okio.version>
+    <dynamic-datasource.version>3.6.1</dynamic-datasource.version>
+    <redisson.version>3.18.0</redisson.version>
+    <transmittable-thread-local.version>2.14.2</transmittable-thread-local.version>
+    <spring-boot-admin.version>2.7.11</spring-boot-admin.version>
+    <guice.version>5.1.0</guice.version>
+    <minio.version>8.5.6</minio.version>
+    <aliyun-java-sdk-core.version>4.6.4</aliyun-java-sdk-core.version>
+    <jedis-mock.version>1.0.7</jedis-mock.version>
+    <spring.boot.version>2.7.17</spring.boot.version>
+    <hutool.version>5.8.22</hutool.version>
+    <guava.version>32.1.3-jre</guava.version>
+    <servlet.versoin>2.5</servlet.versoin>
+    <springdoc.version>1.6.15</springdoc.version>
+    <resilience4j.version>1.7.1</resilience4j.version>
+    <commons-io.version>2.11.0</commons-io.version>
+    <lock4j.version>2.2.5</lock4j.version>
+    <okhttp3.version>4.11.0</okhttp3.version>
+    <commons-net.version>3.10.0</commons-net.version>
+    <jsoup.version>1.16.2</jsoup.version>
+    <mybatis-plus.version>3.5.4</mybatis-plus.version>
+    <jimureport.version>1.6.1</jimureport.version>
+    <knife4j.version>4.3.0</knife4j.version>
+    <lombok.version>1.18.30</lombok.version>
+    <easyexcel.verion>3.3.2</easyexcel.verion>
+    <ureport2.version>2.2.9</ureport2.version>
+    <flowable.version>6.8.0</flowable.version>
+    <druid.version>1.2.20</druid.version>
+    <skywalking.version>8.12.0</skywalking.version>
+    <mockito-inline.version>4.11.0</mockito-inline.version>
+    <justauth.version>1.0.8</justauth.version>
+    <dm8.jdbc.version>8.1.3.62</dm8.jdbc.version>
+    <velocity.version>2.3</velocity.version>
+  </properties>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${spring.boot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-banner</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-operatelog</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-dict</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-sms</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-pay</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-tenant</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-data-permission</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-social</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-error-code</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-biz-ip</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-captcha</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-desensitize</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-configuration-processor</artifactId>
+        <version>${spring.boot.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-web</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-security</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-websocket</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.github.xiaoymin</groupId>
+        <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
+        <version>${knife4j.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.springdoc</groupId>
+        <artifactId>springdoc-openapi-ui</artifactId>
+        <version>${springdoc.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-mybatis</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.alibaba</groupId>
+        <artifactId>druid-spring-boot-starter</artifactId>
+        <version>${druid.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.baomidou</groupId>
+        <artifactId>mybatis-plus-boot-starter</artifactId>
+        <version>${mybatis-plus.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.baomidou</groupId>
+        <artifactId>mybatis-plus-generator</artifactId>
+        <version>${mybatis-plus-generator.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.baomidou</groupId>
+        <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+        <version>${dynamic-datasource.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.github.yulichang</groupId>
+        <artifactId>mybatis-plus-join-boot-starter</artifactId>
+        <version>${mybatis-plus-join.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-redis</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>org.redisson</groupId>
+        <artifactId>redisson-spring-boot-starter</artifactId>
+        <version>${redisson.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>com.dameng</groupId>
+        <artifactId>DmJdbcDriver18</artifactId>
+        <version>${dm8.jdbc.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-job</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-mq</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.rocketmq</groupId>
+        <artifactId>rocketmq-spring-boot-starter</artifactId>
+        <version>${rocketmq-spring.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-protection</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.baomidou</groupId>
+        <artifactId>lock4j-redisson-spring-boot-starter</artifactId>
+        <version>${lock4j.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson-spring-boot-starter</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>io.github.resilience4j</groupId>
+        <artifactId>resilience4j-ratelimiter</artifactId>
+        <version>${resilience4j.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>io.github.resilience4j</groupId>
+        <artifactId>resilience4j-spring-boot2</artifactId>
+        <version>${resilience4j.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-monitor</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.skywalking</groupId>
+        <artifactId>apm-toolkit-trace</artifactId>
+        <version>${skywalking.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.skywalking</groupId>
+        <artifactId>apm-toolkit-logback-1.x</artifactId>
+        <version>${skywalking.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.skywalking</groupId>
+        <artifactId>apm-toolkit-opentracing</artifactId>
+        <version>${skywalking.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>io.opentracing</groupId>
+        <artifactId>opentracing-api</artifactId>
+        <version>${opentracing.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>io.opentracing</groupId>
+        <artifactId>opentracing-util</artifactId>
+        <version>${opentracing.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>io.opentracing</groupId>
+        <artifactId>opentracing-noop</artifactId>
+        <version>${opentracing.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>de.codecentric</groupId>
+        <artifactId>spring-boot-admin-starter-server</artifactId>
+        <version>${spring-boot-admin.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>de.codecentric</groupId>
+            <artifactId>spring-boot-admin-server-cloud</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>de.codecentric</groupId>
+        <artifactId>spring-boot-admin-starter-client</artifactId>
+        <version>${spring-boot-admin.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-test</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.mockito</groupId>
+        <artifactId>mockito-inline</artifactId>
+        <version>${mockito-inline.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-test</artifactId>
+        <version>${spring.boot.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.ow2.asm</groupId>
+            <artifactId>asm</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>com.github.fppt</groupId>
+        <artifactId>jedis-mock</artifactId>
+        <version>${jedis-mock.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>uk.co.jemos.podam</groupId>
+        <artifactId>podam</artifactId>
+        <version>${podam.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-flowable</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>org.flowable</groupId>
+        <artifactId>flowable-spring-boot-starter-process</artifactId>
+        <version>${flowable.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.flowable</groupId>
+        <artifactId>flowable-spring-boot-starter-actuator</artifactId>
+        <version>${flowable.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-common</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-excel</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>org.projectlombok</groupId>
+        <artifactId>lombok</artifactId>
+        <version>${lombok.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mapstruct</groupId>
+        <artifactId>mapstruct</artifactId>
+        <version>${mapstruct.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mapstruct</groupId>
+        <artifactId>mapstruct-jdk8</artifactId>
+        <version>${mapstruct.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mapstruct</groupId>
+        <artifactId>mapstruct-processor</artifactId>
+        <version>${mapstruct.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>cn.hutool</groupId>
+        <artifactId>hutool-all</artifactId>
+        <version>${hutool.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.alibaba</groupId>
+        <artifactId>easyexcel</artifactId>
+        <version>${easyexcel.verion}</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-io</groupId>
+        <artifactId>commons-io</artifactId>
+        <version>${commons-io.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-core</artifactId>
+        <version>${tika-core.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.velocity</groupId>
+        <artifactId>velocity-engine-core</artifactId>
+        <version>${velocity.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.alibaba</groupId>
+        <artifactId>fastjson</artifactId>
+        <version>${fastjson.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>cn.smallbun.screw</groupId>
+        <artifactId>screw-core</artifactId>
+        <version>${screw.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>com.google.guava</groupId>
+        <artifactId>guava</artifactId>
+        <version>${guava.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.google.inject</groupId>
+        <artifactId>guice</artifactId>
+        <version>${guice.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.alibaba</groupId>
+        <artifactId>transmittable-thread-local</artifactId>
+        <version>${transmittable-thread-local.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-net</groupId>
+        <artifactId>commons-net</artifactId>
+        <version>${commons-net.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.jcraft</groupId>
+        <artifactId>jsch</artifactId>
+        <version>${jsch.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.xingyuv</groupId>
+        <artifactId>spring-boot-starter-captcha-plus</artifactId>
+        <version>${captcha-plus.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.lionsoul</groupId>
+        <artifactId>ip2region</artifactId>
+        <version>${ip2region.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jsoup</groupId>
+        <artifactId>jsoup</artifactId>
+        <version>${jsoup.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.squareup.okio</groupId>
+        <artifactId>okio</artifactId>
+        <version>${okio.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.squareup.okhttp3</groupId>
+        <artifactId>okhttp</artifactId>
+        <version>${okhttp3.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.cdm</groupId>
+        <artifactId>cdm-spring-boot-starter-file</artifactId>
+        <version>2.0.0-jdk8-snapshot</version>
+      </dependency>
+      <dependency>
+        <groupId>io.minio</groupId>
+        <artifactId>minio</artifactId>
+        <version>${minio.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.aliyun</groupId>
+        <artifactId>aliyun-java-sdk-core</artifactId>
+        <version>${aliyun-java-sdk-core.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>io.opentracing</groupId>
+            <artifactId>opentracing-api</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>io.opentracing</groupId>
+            <artifactId>opentracing-util</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>com.aliyun</groupId>
+        <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
+        <version>${aliyun-java-sdk-dysmsapi.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.tencentcloudapi</groupId>
+        <artifactId>tencentcloud-sdk-java-sms</artifactId>
+        <version>${tencentcloud-sdk-java.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.xingyuv</groupId>
+        <artifactId>spring-boot-starter-justauth</artifactId>
+        <version>${justauth.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-core</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>com.github.binarywang</groupId>
+        <artifactId>weixin-java-pay</artifactId>
+        <version>${weixin-java.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.github.binarywang</groupId>
+        <artifactId>wx-java-mp-spring-boot-starter</artifactId>
+        <version>${weixin-java.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.github.binarywang</groupId>
+        <artifactId>wx-java-miniapp-spring-boot-starter</artifactId>
+        <version>${weixin-java.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jeecgframework.jimureport</groupId>
+        <artifactId>jimureport-spring-boot-starter</artifactId>
+        <version>${jimureport.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>xerces</groupId>
+        <artifactId>xercesImpl</artifactId>
+        <version>${xercesImpl.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.bstek.ureport</groupId>
+        <artifactId>ureport2-console</artifactId>
+        <version>${ureport2.version}</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>flatten-maven-plugin</artifactId>
+        <version>${flatten-maven-plugin.version}</version>
+        <executions>
+          <execution>
+            <id>flatten</id>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>flatten</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>flatten.clean</id>
+            <phase>clean</phase>
+            <goals>
+              <goal>clean</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <flattenMode>resolveCiFriendliesOnly</flattenMode>
+          <updatePomFile>true</updatePomFile>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

+ 50 - 0
cdm-framework/.flattened-pom.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-framework</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <packaging>pom</packaging>
+  <description>该包是技术组件,每个子包,代表一个组件。每个组件包括两部分:
+            1. core 包:是该组件的核心封装
+            2. config 包:是该组件基于 Spring 的配置
+
+        技术组件,也分成两类:
+            1. 框架组件:和我们熟悉的 MyBatis、Redis 等等的拓展
+            2. 业务组件:和业务相关的组件的封装,例如说数据字典、操作日志等等。
+        如果是业务组件,Maven 名字会包含 biz</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <modules>
+    <module>cdm-common</module>
+    <module>cdm-spring-boot-starter-banner</module>
+    <module>cdm-spring-boot-starter-mybatis</module>
+    <module>cdm-spring-boot-starter-redis</module>
+    <module>cdm-spring-boot-starter-web</module>
+    <module>cdm-spring-boot-starter-security</module>
+    <module>cdm-spring-boot-starter-file</module>
+    <module>cdm-spring-boot-starter-monitor</module>
+    <module>cdm-spring-boot-starter-protection</module>
+    <module>cdm-spring-boot-starter-job</module>
+    <module>cdm-spring-boot-starter-mq</module>
+    <module>cdm-spring-boot-starter-excel</module>
+    <module>cdm-spring-boot-starter-test</module>
+    <module>cdm-spring-boot-starter-biz-operatelog</module>
+    <module>cdm-spring-boot-starter-biz-dict</module>
+    <module>cdm-spring-boot-starter-biz-sms</module>
+    <module>cdm-spring-boot-starter-biz-pay</module>
+    <module>cdm-spring-boot-starter-biz-tenant</module>
+    <module>cdm-spring-boot-starter-biz-data-permission</module>
+    <module>cdm-spring-boot-starter-biz-error-code</module>
+    <module>cdm-spring-boot-starter-biz-ip</module>
+    <module>cdm-spring-boot-starter-flowable</module>
+    <module>cdm-spring-boot-starter-captcha</module>
+    <module>cdm-spring-boot-starter-websocket</module>
+    <module>cdm-spring-boot-starter-desensitize</module>
+  </modules>
+</project>

+ 121 - 0
cdm-framework/cdm-common/.flattened-pom.xml

@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-common</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>定义基础 pojo 类、枚举、工具类等等</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-expression</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-aop</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.aspectj</groupId>
+      <artifactId>aspectjweaver</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-web</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.servlet</groupId>
+      <artifactId>jakarta.servlet-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springdoc</groupId>
+      <artifactId>springdoc-openapi-ui</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.skywalking</groupId>
+      <artifactId>apm-toolkit-trace</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.projectlombok</groupId>
+      <artifactId>lombok</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mapstruct</groupId>
+      <artifactId>mapstruct</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mapstruct</groupId>
+      <artifactId>mapstruct-jdk8</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mapstruct</groupId>
+      <artifactId>mapstruct-processor</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.datatype</groupId>
+      <artifactId>jackson-datatype-jsr310</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.validation</groupId>
+      <artifactId>jakarta.validation-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>cn.hutool</groupId>
+      <artifactId>hutool-all</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.alibaba</groupId>
+      <artifactId>transmittable-thread-local</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 26 - 0
cdm-framework/cdm-spring-boot-starter-banner/.flattened-pom.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-banner</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>Banner 用于在 console 控制台,打印开发文档、接口文档等</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 41 - 0
cdm-framework/cdm-spring-boot-starter-biz-data-permission/.flattened-pom.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-biz-data-permission</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>数据权限</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-security</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-mybatis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-module-system-api</artifactId>
+      <version>${revision}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 40 - 0
cdm-framework/cdm-spring-boot-starter-biz-dict/.flattened-pom.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-biz-dict</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>字典类型、数据</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-module-system-api</artifactId>
+      <version>${revision}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 39 - 0
cdm-framework/cdm-spring-boot-starter-biz-error-code/.flattened-pom.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-biz-error-code</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>错误码 ErrorCode 的自动配置功能,提供如下功能:
+        1. 远程读取:项目启动时,从 system-server 服务,读取数据库中的 ErrorCode 错误码,实现错误码的提示可配置;
+        2. 自动更新:管理员在管理后台修数据库中的 ErrorCode 错误码时,项目自动从 system-server 服务加载最新的 ErrorCode 错误码;
+        3. 自动写入:项目启动时,将项目本地的错误码写到 system-server 服务中,方便管理员在管理后台编辑;</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-module-system-api</artifactId>
+      <version>${revision}</version>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.validation</groupId>
+      <artifactId>jakarta.validation-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 44 - 0
cdm-framework/cdm-spring-boot-starter-biz-ip/.flattened-pom.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-biz-ip</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>IP 拓展,支持如下功能:
+        1. IP 功能:查询 IP 对应的城市信息
+            基于 https://gitee.com/lionsoul/ip2region 实现
+        2. 城市功能:查询城市编码对应的城市信息
+            基于 https://github.com/modood/Administrative-divisions-of-China 实现</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.lionsoul</groupId>
+      <artifactId>ip2region</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.projectlombok</groupId>
+      <artifactId>lombok</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 40 - 0
cdm-framework/cdm-spring-boot-starter-biz-operatelog/.flattened-pom.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-biz-operatelog</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>操作日志</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-aop</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-web</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-module-system-api</artifactId>
+      <version>${revision}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 63 - 0
cdm-framework/cdm-spring-boot-starter-biz-pay/.flattened-pom.xml

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-biz-pay</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>支付拓展,接入国内多个支付渠道
+        1. 支付宝,基于官方 SDK 接入
+        2. 微信支付,基于 weixin-java-pay 接入</description>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-validation</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.alipay.sdk</groupId>
+      <artifactId>alipay-sdk-java</artifactId>
+      <version>4.35.79.ALL</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.bouncycastle</groupId>
+          <artifactId>bcprov-jdk15on</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.github.binarywang</groupId>
+      <artifactId>weixin-java-pay</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 64 - 0
cdm-framework/cdm-spring-boot-starter-biz-sms/.flattened-pom.xml

@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-biz-sms</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>短信拓展,支持阿里云、腾讯云</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.opentracing</groupId>
+      <artifactId>opentracing-util</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.validation</groupId>
+      <artifactId>jakarta.validation-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.aliyun</groupId>
+      <artifactId>aliyun-java-sdk-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.aliyun</groupId>
+      <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.tencentcloudapi</groupId>
+      <artifactId>tencentcloud-sdk-java-sms</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 67 - 0
cdm-framework/cdm-spring-boot-starter-biz-tenant/.flattened-pom.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-biz-tenant</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>多租户</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-security</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-mybatis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-redis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-job</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-mq</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.kafka</groupId>
+      <artifactId>spring-kafka</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.amqp</groupId>
+      <artifactId>spring-rabbit</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.rocketmq</groupId>
+      <artifactId>rocketmq-spring-boot-starter</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 30 - 0
cdm-framework/cdm-spring-boot-starter-captcha/.flattened-pom.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-captcha</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>验证码拓展
+        1. 基于 aj-captcha 实现滑块验证码,文档:https://ajcaptcha.beliefteam.cn/captcha-doc/</description>
+  <dependencies>
+    <dependency>
+      <groupId>com.xingyuv</groupId>
+      <artifactId>spring-boot-starter-captcha-plus</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-redis</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 33 - 0
cdm-framework/cdm-spring-boot-starter-desensitize/.flattened-pom.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-desensitize</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <description>脱敏组件:支持 JSON 返回数据时,将邮箱、手机等字段进行脱敏</description>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 41 - 0
cdm-framework/cdm-spring-boot-starter-excel/.flattened-pom.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-excel</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>Excel 拓展</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-biz-dict</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-web</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.servlet</groupId>
+      <artifactId>jakarta.servlet-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.alibaba</groupId>
+      <artifactId>easyexcel</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 68 - 0
cdm-framework/cdm-spring-boot-starter-file/.flattened-pom.xml

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-file</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>文件客户端,支持多种存储器
+        1. file:本地磁盘
+        2. ftp:FTP 服务器
+        2. sftp:SFTP 服务器
+        4. db:数据库
+        5. s3:支持 S3 协议的云存储服务,例如说 MinIO、阿里云、华为云、腾讯云、七牛云等等</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-validation</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-net</groupId>
+      <artifactId>commons-net</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.jcraft</groupId>
+      <artifactId>jsch</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tika</groupId>
+      <artifactId>tika-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.minio</groupId>
+      <artifactId>minio</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 31 - 0
cdm-framework/cdm-spring-boot-starter-flowable/.flattened-pom.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-flowable</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-security</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.flowable</groupId>
+      <artifactId>flowable-spring-boot-starter-process</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.flowable</groupId>
+      <artifactId>flowable-spring-boot-starter-actuator</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 32 - 0
cdm-framework/cdm-spring-boot-starter-job/.flattened-pom.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-job</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>任务拓展
+        1. 定时任务,基于 Quartz 拓展
+        2. 异步任务,基于 Spring Async 拓展</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-quartz</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.validation</groupId>
+      <artifactId>jakarta.validation-api</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 60 - 0
cdm-framework/cdm-spring-boot-starter-monitor/.flattened-pom.xml

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-monitor</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>服务监控,提供链路追踪、日志服务、指标收集等等功能</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-aop</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-web</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.servlet</groupId>
+      <artifactId>jakarta.servlet-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>io.opentracing</groupId>
+      <artifactId>opentracing-util</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.skywalking</groupId>
+      <artifactId>apm-toolkit-trace</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.skywalking</groupId>
+      <artifactId>apm-toolkit-logback-1.x</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.skywalking</groupId>
+      <artifactId>apm-toolkit-opentracing</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.micrometer</groupId>
+      <artifactId>micrometer-registry-prometheus</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.codecentric</groupId>
+      <artifactId>spring-boot-admin-starter-client</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 37 - 0
cdm-framework/cdm-spring-boot-starter-mq/.flattened-pom.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-mq</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>消息队列,支持 Redis、RocketMQ、RabbitMQ、Kafka 四种</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-redis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.kafka</groupId>
+      <artifactId>spring-kafka</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.amqp</groupId>
+      <artifactId>spring-rabbit</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.rocketmq</groupId>
+      <artifactId>rocketmq-spring-boot-starter</artifactId>
+      <optional>true</optional>
+    </dependency>
+  </dependencies>
+</project>

+ 67 - 0
cdm-framework/cdm-spring-boot-starter-mybatis/.flattened-pom.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-mybatis</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>数据库连接池、多数据源、事务、MyBatis 拓展</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-web</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.mysql</groupId>
+      <artifactId>mysql-connector-j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.oracle.database.jdbc</groupId>
+      <artifactId>ojdbc8</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.postgresql</groupId>
+      <artifactId>postgresql</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.microsoft.sqlserver</groupId>
+      <artifactId>mssql-jdbc</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.dameng</groupId>
+      <artifactId>DmJdbcDriver18</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.alibaba</groupId>
+      <artifactId>druid-spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.baomidou</groupId>
+      <artifactId>mybatis-plus-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.baomidou</groupId>
+      <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.github.yulichang</groupId>
+      <artifactId>mybatis-plus-join-boot-starter</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 32 - 0
cdm-framework/cdm-spring-boot-starter-protection/.flattened-pom.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-protection</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>服务保证,提供分布式锁、幂等、限流、熔断等等功能</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-redis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.baomidou</groupId>
+      <artifactId>lock4j-redisson-spring-boot-starter</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>io.github.resilience4j</groupId>
+      <artifactId>resilience4j-spring-boot2</artifactId>
+      <optional>true</optional>
+    </dependency>
+  </dependencies>
+</project>

+ 34 - 0
cdm-framework/cdm-spring-boot-starter-redis/.flattened-pom.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-redis</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>Redis 封装拓展</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.redisson</groupId>
+      <artifactId>redisson-spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-cache</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.datatype</groupId>
+      <artifactId>jackson-datatype-jsr310</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 48 - 0
cdm-framework/cdm-spring-boot-starter-security/.flattened-pom.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-security</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>用户的认证、权限的校验</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-aop</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-security</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-module-system-api</artifactId>
+      <version>${revision}</version>
+    </dependency>
+  </dependencies>
+</project>

+ 50 - 0
cdm-framework/cdm-spring-boot-starter-test/.flattened-pom.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-test</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>测试组件,用于单元测试、集成测试</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-mybatis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-redis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-inline</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-test</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.github.fppt</groupId>
+      <artifactId>jedis-mock</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>uk.co.jemos.podam</groupId>
+      <artifactId>podam</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 53 - 0
cdm-framework/cdm-spring-boot-starter-web/.flattened-pom.xml

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-web</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>Web 框架,全局异常、API 日志等</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-web</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-configuration-processor</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.github.xiaoymin</groupId>
+      <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springdoc</groupId>
+      <artifactId>springdoc-openapi-ui</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.security</groupId>
+      <artifactId>spring-security-core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-module-infra-api</artifactId>
+      <version>${revision}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jsoup</groupId>
+      <artifactId>jsoup</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 55 - 0
cdm-framework/cdm-spring-boot-starter-websocket/.flattened-pom.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-framework</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-spring-boot-starter-websocket</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>WebSocket 框架,支持多节点的广播</description>
+  <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-security</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-websocket</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-mq</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.kafka</groupId>
+      <artifactId>spring-kafka</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.amqp</groupId>
+      <artifactId>spring-rabbit</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.rocketmq</groupId>
+      <artifactId>rocketmq-spring-boot-starter</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-biz-tenant</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 22 - 0
cdm-module-infra/.flattened-pom.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-module-infra</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <packaging>pom</packaging>
+  <name>${project.artifactId}</name>
+  <description>infra 模块,主要提供两块能力:
+        1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等
+        2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等</description>
+  <modules>
+    <module>cdm-module-infra-api</module>
+    <module>cdm-module-infra-biz</module>
+  </modules>
+</project>

+ 26 - 0
cdm-module-infra/cdm-module-infra-api/.flattened-pom.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-module-infra</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-module-infra-api</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>infra 模块 API,暴露给其它模块调用</description>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-validation</artifactId>
+      <optional>true</optional>
+    </dependency>
+  </dependencies>
+</project>

+ 154 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/article/ArticleCategoryConvertImpl.java

@@ -0,0 +1,154 @@
+package com.cdm.module.promotion.convert.article;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.article.vo.category.ArticleCategoryCreateReqVO;
+import com.cdm.module.promotion.controller.admin.article.vo.category.ArticleCategoryRespVO;
+import com.cdm.module.promotion.controller.admin.article.vo.category.ArticleCategorySimpleRespVO;
+import com.cdm.module.promotion.controller.admin.article.vo.category.ArticleCategoryUpdateReqVO;
+import com.cdm.module.promotion.controller.app.article.vo.category.AppArticleCategoryRespVO;
+import com.cdm.module.promotion.dal.dataobject.article.ArticleCategoryDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class ArticleCategoryConvertImpl implements ArticleCategoryConvert {
+
+    @Override
+    public ArticleCategoryDO convert(ArticleCategoryCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        ArticleCategoryDO.ArticleCategoryDOBuilder articleCategoryDO = ArticleCategoryDO.builder();
+
+        articleCategoryDO.name( bean.getName() );
+        articleCategoryDO.picUrl( bean.getPicUrl() );
+        articleCategoryDO.status( bean.getStatus() );
+        articleCategoryDO.sort( bean.getSort() );
+
+        return articleCategoryDO.build();
+    }
+
+    @Override
+    public ArticleCategoryDO convert(ArticleCategoryUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        ArticleCategoryDO.ArticleCategoryDOBuilder articleCategoryDO = ArticleCategoryDO.builder();
+
+        articleCategoryDO.id( bean.getId() );
+        articleCategoryDO.name( bean.getName() );
+        articleCategoryDO.picUrl( bean.getPicUrl() );
+        articleCategoryDO.status( bean.getStatus() );
+        articleCategoryDO.sort( bean.getSort() );
+
+        return articleCategoryDO.build();
+    }
+
+    @Override
+    public ArticleCategoryRespVO convert(ArticleCategoryDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        ArticleCategoryRespVO articleCategoryRespVO = new ArticleCategoryRespVO();
+
+        articleCategoryRespVO.setName( bean.getName() );
+        articleCategoryRespVO.setPicUrl( bean.getPicUrl() );
+        articleCategoryRespVO.setStatus( bean.getStatus() );
+        articleCategoryRespVO.setSort( bean.getSort() );
+        articleCategoryRespVO.setId( bean.getId() );
+        articleCategoryRespVO.setCreateTime( bean.getCreateTime() );
+
+        return articleCategoryRespVO;
+    }
+
+    @Override
+    public List<ArticleCategoryRespVO> convertList(List<ArticleCategoryDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<ArticleCategoryRespVO> list1 = new ArrayList<ArticleCategoryRespVO>( list.size() );
+        for ( ArticleCategoryDO articleCategoryDO : list ) {
+            list1.add( convert( articleCategoryDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<ArticleCategoryRespVO> convertPage(PageResult<ArticleCategoryDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<ArticleCategoryRespVO> pageResult = new PageResult<ArticleCategoryRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<ArticleCategorySimpleRespVO> convertList03(List<ArticleCategoryDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<ArticleCategorySimpleRespVO> list1 = new ArrayList<ArticleCategorySimpleRespVO>( list.size() );
+        for ( ArticleCategoryDO articleCategoryDO : list ) {
+            list1.add( articleCategoryDOToArticleCategorySimpleRespVO( articleCategoryDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<AppArticleCategoryRespVO> convertList04(List<ArticleCategoryDO> categoryList) {
+        if ( categoryList == null ) {
+            return null;
+        }
+
+        List<AppArticleCategoryRespVO> list = new ArrayList<AppArticleCategoryRespVO>( categoryList.size() );
+        for ( ArticleCategoryDO articleCategoryDO : categoryList ) {
+            list.add( articleCategoryDOToAppArticleCategoryRespVO( articleCategoryDO ) );
+        }
+
+        return list;
+    }
+
+    protected ArticleCategorySimpleRespVO articleCategoryDOToArticleCategorySimpleRespVO(ArticleCategoryDO articleCategoryDO) {
+        if ( articleCategoryDO == null ) {
+            return null;
+        }
+
+        ArticleCategorySimpleRespVO articleCategorySimpleRespVO = new ArticleCategorySimpleRespVO();
+
+        articleCategorySimpleRespVO.setId( articleCategoryDO.getId() );
+        articleCategorySimpleRespVO.setName( articleCategoryDO.getName() );
+
+        return articleCategorySimpleRespVO;
+    }
+
+    protected AppArticleCategoryRespVO articleCategoryDOToAppArticleCategoryRespVO(ArticleCategoryDO articleCategoryDO) {
+        if ( articleCategoryDO == null ) {
+            return null;
+        }
+
+        AppArticleCategoryRespVO appArticleCategoryRespVO = new AppArticleCategoryRespVO();
+
+        appArticleCategoryRespVO.setId( articleCategoryDO.getId() );
+        appArticleCategoryRespVO.setName( articleCategoryDO.getName() );
+        appArticleCategoryRespVO.setPicUrl( articleCategoryDO.getPicUrl() );
+
+        return appArticleCategoryRespVO;
+    }
+}

+ 169 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/article/ArticleConvertImpl.java

@@ -0,0 +1,169 @@
+package com.cdm.module.promotion.convert.article;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.article.vo.article.ArticleCreateReqVO;
+import com.cdm.module.promotion.controller.admin.article.vo.article.ArticleRespVO;
+import com.cdm.module.promotion.controller.admin.article.vo.article.ArticleUpdateReqVO;
+import com.cdm.module.promotion.controller.app.article.vo.article.AppArticleRespVO;
+import com.cdm.module.promotion.dal.dataobject.article.ArticleDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:31+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class ArticleConvertImpl implements ArticleConvert {
+
+    @Override
+    public ArticleDO convert(ArticleCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        ArticleDO.ArticleDOBuilder articleDO = ArticleDO.builder();
+
+        articleDO.categoryId( bean.getCategoryId() );
+        articleDO.spuId( bean.getSpuId() );
+        articleDO.title( bean.getTitle() );
+        articleDO.author( bean.getAuthor() );
+        articleDO.picUrl( bean.getPicUrl() );
+        articleDO.introduction( bean.getIntroduction() );
+        articleDO.sort( bean.getSort() );
+        articleDO.status( bean.getStatus() );
+        articleDO.recommendHot( bean.getRecommendHot() );
+        articleDO.recommendBanner( bean.getRecommendBanner() );
+        articleDO.content( bean.getContent() );
+
+        return articleDO.build();
+    }
+
+    @Override
+    public ArticleDO convert(ArticleUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        ArticleDO.ArticleDOBuilder articleDO = ArticleDO.builder();
+
+        articleDO.id( bean.getId() );
+        articleDO.categoryId( bean.getCategoryId() );
+        articleDO.spuId( bean.getSpuId() );
+        articleDO.title( bean.getTitle() );
+        articleDO.author( bean.getAuthor() );
+        articleDO.picUrl( bean.getPicUrl() );
+        articleDO.introduction( bean.getIntroduction() );
+        articleDO.sort( bean.getSort() );
+        articleDO.status( bean.getStatus() );
+        articleDO.recommendHot( bean.getRecommendHot() );
+        articleDO.recommendBanner( bean.getRecommendBanner() );
+        articleDO.content( bean.getContent() );
+
+        return articleDO.build();
+    }
+
+    @Override
+    public ArticleRespVO convert(ArticleDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        ArticleRespVO articleRespVO = new ArticleRespVO();
+
+        articleRespVO.setCategoryId( bean.getCategoryId() );
+        articleRespVO.setSpuId( bean.getSpuId() );
+        articleRespVO.setTitle( bean.getTitle() );
+        articleRespVO.setAuthor( bean.getAuthor() );
+        articleRespVO.setPicUrl( bean.getPicUrl() );
+        articleRespVO.setIntroduction( bean.getIntroduction() );
+        articleRespVO.setSort( bean.getSort() );
+        articleRespVO.setStatus( bean.getStatus() );
+        articleRespVO.setRecommendHot( bean.getRecommendHot() );
+        articleRespVO.setRecommendBanner( bean.getRecommendBanner() );
+        articleRespVO.setContent( bean.getContent() );
+        articleRespVO.setId( bean.getId() );
+        articleRespVO.setBrowseCount( bean.getBrowseCount() );
+        articleRespVO.setCreateTime( bean.getCreateTime() );
+
+        return articleRespVO;
+    }
+
+    @Override
+    public List<ArticleRespVO> convertList(List<ArticleDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<ArticleRespVO> list1 = new ArrayList<ArticleRespVO>( list.size() );
+        for ( ArticleDO articleDO : list ) {
+            list1.add( convert( articleDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<ArticleRespVO> convertPage(PageResult<ArticleDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<ArticleRespVO> pageResult = new PageResult<ArticleRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public AppArticleRespVO convert01(ArticleDO article) {
+        if ( article == null ) {
+            return null;
+        }
+
+        AppArticleRespVO appArticleRespVO = new AppArticleRespVO();
+
+        appArticleRespVO.setId( article.getId() );
+        appArticleRespVO.setTitle( article.getTitle() );
+        appArticleRespVO.setAuthor( article.getAuthor() );
+        appArticleRespVO.setCategoryId( article.getCategoryId() );
+        appArticleRespVO.setPicUrl( article.getPicUrl() );
+        appArticleRespVO.setIntroduction( article.getIntroduction() );
+        appArticleRespVO.setCreateTime( article.getCreateTime() );
+        appArticleRespVO.setBrowseCount( article.getBrowseCount() );
+        appArticleRespVO.setSpuId( article.getSpuId() );
+
+        return appArticleRespVO;
+    }
+
+    @Override
+    public PageResult<AppArticleRespVO> convertPage02(PageResult<ArticleDO> articlePage) {
+        if ( articlePage == null ) {
+            return null;
+        }
+
+        PageResult<AppArticleRespVO> pageResult = new PageResult<AppArticleRespVO>();
+
+        pageResult.setList( convertList03( articlePage.getList() ) );
+        pageResult.setTotal( articlePage.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<AppArticleRespVO> convertList03(List<ArticleDO> articleCategoryListByRecommendHotAndRecommendBanner) {
+        if ( articleCategoryListByRecommendHotAndRecommendBanner == null ) {
+            return null;
+        }
+
+        List<AppArticleRespVO> list = new ArrayList<AppArticleRespVO>( articleCategoryListByRecommendHotAndRecommendBanner.size() );
+        for ( ArticleDO articleDO : articleCategoryListByRecommendHotAndRecommendBanner ) {
+            list.add( convert01( articleDO ) );
+        }
+
+        return list;
+    }
+}

+ 136 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/banner/BannerConvertImpl.java

@@ -0,0 +1,136 @@
+package com.cdm.module.promotion.convert.banner;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.banner.vo.BannerCreateReqVO;
+import com.cdm.module.promotion.controller.admin.banner.vo.BannerRespVO;
+import com.cdm.module.promotion.controller.admin.banner.vo.BannerUpdateReqVO;
+import com.cdm.module.promotion.controller.app.banner.vo.AppBannerRespVO;
+import com.cdm.module.promotion.dal.dataobject.banner.BannerDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class BannerConvertImpl implements BannerConvert {
+
+    @Override
+    public List<BannerRespVO> convertList(List<BannerDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<BannerRespVO> list1 = new ArrayList<BannerRespVO>( list.size() );
+        for ( BannerDO bannerDO : list ) {
+            list1.add( convert( bannerDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<BannerRespVO> convertPage(PageResult<BannerDO> pageResult) {
+        if ( pageResult == null ) {
+            return null;
+        }
+
+        PageResult<BannerRespVO> pageResult1 = new PageResult<BannerRespVO>();
+
+        pageResult1.setList( convertList( pageResult.getList() ) );
+        pageResult1.setTotal( pageResult.getTotal() );
+
+        return pageResult1;
+    }
+
+    @Override
+    public BannerRespVO convert(BannerDO banner) {
+        if ( banner == null ) {
+            return null;
+        }
+
+        BannerRespVO bannerRespVO = new BannerRespVO();
+
+        bannerRespVO.setTitle( banner.getTitle() );
+        bannerRespVO.setUrl( banner.getUrl() );
+        bannerRespVO.setPicUrl( banner.getPicUrl() );
+        bannerRespVO.setPosition( banner.getPosition() );
+        bannerRespVO.setSort( banner.getSort() );
+        bannerRespVO.setStatus( banner.getStatus() );
+        bannerRespVO.setMemo( banner.getMemo() );
+        bannerRespVO.setId( banner.getId() );
+        bannerRespVO.setCreateTime( banner.getCreateTime() );
+
+        return bannerRespVO;
+    }
+
+    @Override
+    public BannerDO convert(BannerCreateReqVO createReqVO) {
+        if ( createReqVO == null ) {
+            return null;
+        }
+
+        BannerDO.BannerDOBuilder bannerDO = BannerDO.builder();
+
+        bannerDO.title( createReqVO.getTitle() );
+        bannerDO.url( createReqVO.getUrl() );
+        bannerDO.picUrl( createReqVO.getPicUrl() );
+        bannerDO.sort( createReqVO.getSort() );
+        bannerDO.status( createReqVO.getStatus() );
+        bannerDO.position( createReqVO.getPosition() );
+        bannerDO.memo( createReqVO.getMemo() );
+
+        return bannerDO.build();
+    }
+
+    @Override
+    public BannerDO convert(BannerUpdateReqVO updateReqVO) {
+        if ( updateReqVO == null ) {
+            return null;
+        }
+
+        BannerDO.BannerDOBuilder bannerDO = BannerDO.builder();
+
+        bannerDO.id( updateReqVO.getId() );
+        bannerDO.title( updateReqVO.getTitle() );
+        bannerDO.url( updateReqVO.getUrl() );
+        bannerDO.picUrl( updateReqVO.getPicUrl() );
+        bannerDO.sort( updateReqVO.getSort() );
+        bannerDO.status( updateReqVO.getStatus() );
+        bannerDO.position( updateReqVO.getPosition() );
+        bannerDO.memo( updateReqVO.getMemo() );
+
+        return bannerDO.build();
+    }
+
+    @Override
+    public List<AppBannerRespVO> convertList01(List<BannerDO> bannerList) {
+        if ( bannerList == null ) {
+            return null;
+        }
+
+        List<AppBannerRespVO> list = new ArrayList<AppBannerRespVO>( bannerList.size() );
+        for ( BannerDO bannerDO : bannerList ) {
+            list.add( bannerDOToAppBannerRespVO( bannerDO ) );
+        }
+
+        return list;
+    }
+
+    protected AppBannerRespVO bannerDOToAppBannerRespVO(BannerDO bannerDO) {
+        if ( bannerDO == null ) {
+            return null;
+        }
+
+        AppBannerRespVO appBannerRespVO = new AppBannerRespVO();
+
+        appBannerRespVO.setId( bannerDO.getId() );
+        appBannerRespVO.setTitle( bannerDO.getTitle() );
+        appBannerRespVO.setUrl( bannerDO.getUrl() );
+        appBannerRespVO.setPicUrl( bannerDO.getPicUrl() );
+
+        return appBannerRespVO;
+    }
+}

+ 237 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/bargain/BargainActivityConvertImpl.java

@@ -0,0 +1,237 @@
+package com.cdm.module.promotion.convert.bargain;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.bargain.vo.activity.BargainActivityBaseVO;
+import com.cdm.module.promotion.controller.admin.bargain.vo.activity.BargainActivityPageItemRespVO;
+import com.cdm.module.promotion.controller.admin.bargain.vo.activity.BargainActivityRespVO;
+import com.cdm.module.promotion.controller.admin.bargain.vo.activity.BargainActivityUpdateReqVO;
+import com.cdm.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityDetailRespVO;
+import com.cdm.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityRespVO;
+import com.cdm.module.promotion.dal.dataobject.bargain.BargainActivityDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class BargainActivityConvertImpl implements BargainActivityConvert {
+
+    @Override
+    public BargainActivityDO convert(BargainActivityBaseVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        BargainActivityDO.BargainActivityDOBuilder bargainActivityDO = BargainActivityDO.builder();
+
+        bargainActivityDO.name( bean.getName() );
+        bargainActivityDO.startTime( bean.getStartTime() );
+        bargainActivityDO.endTime( bean.getEndTime() );
+        bargainActivityDO.spuId( bean.getSpuId() );
+        bargainActivityDO.skuId( bean.getSkuId() );
+        bargainActivityDO.bargainFirstPrice( bean.getBargainFirstPrice() );
+        bargainActivityDO.bargainMinPrice( bean.getBargainMinPrice() );
+        bargainActivityDO.stock( bean.getStock() );
+        bargainActivityDO.helpMaxCount( bean.getHelpMaxCount() );
+        bargainActivityDO.bargainCount( bean.getBargainCount() );
+        bargainActivityDO.totalLimitCount( bean.getTotalLimitCount() );
+        bargainActivityDO.randomMinPrice( bean.getRandomMinPrice() );
+        bargainActivityDO.randomMaxPrice( bean.getRandomMaxPrice() );
+
+        return bargainActivityDO.build();
+    }
+
+    @Override
+    public BargainActivityDO convert(BargainActivityUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        BargainActivityDO.BargainActivityDOBuilder bargainActivityDO = BargainActivityDO.builder();
+
+        bargainActivityDO.id( bean.getId() );
+        bargainActivityDO.name( bean.getName() );
+        bargainActivityDO.startTime( bean.getStartTime() );
+        bargainActivityDO.endTime( bean.getEndTime() );
+        bargainActivityDO.spuId( bean.getSpuId() );
+        bargainActivityDO.skuId( bean.getSkuId() );
+        bargainActivityDO.bargainFirstPrice( bean.getBargainFirstPrice() );
+        bargainActivityDO.bargainMinPrice( bean.getBargainMinPrice() );
+        bargainActivityDO.stock( bean.getStock() );
+        bargainActivityDO.helpMaxCount( bean.getHelpMaxCount() );
+        bargainActivityDO.bargainCount( bean.getBargainCount() );
+        bargainActivityDO.totalLimitCount( bean.getTotalLimitCount() );
+        bargainActivityDO.randomMinPrice( bean.getRandomMinPrice() );
+        bargainActivityDO.randomMaxPrice( bean.getRandomMaxPrice() );
+
+        return bargainActivityDO.build();
+    }
+
+    @Override
+    public BargainActivityRespVO convert(BargainActivityDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        BargainActivityRespVO bargainActivityRespVO = new BargainActivityRespVO();
+
+        bargainActivityRespVO.setName( bean.getName() );
+        bargainActivityRespVO.setSpuId( bean.getSpuId() );
+        bargainActivityRespVO.setSkuId( bean.getSkuId() );
+        bargainActivityRespVO.setBargainFirstPrice( bean.getBargainFirstPrice() );
+        bargainActivityRespVO.setBargainMinPrice( bean.getBargainMinPrice() );
+        bargainActivityRespVO.setStock( bean.getStock() );
+        bargainActivityRespVO.setTotalLimitCount( bean.getTotalLimitCount() );
+        bargainActivityRespVO.setStartTime( bean.getStartTime() );
+        bargainActivityRespVO.setEndTime( bean.getEndTime() );
+        bargainActivityRespVO.setHelpMaxCount( bean.getHelpMaxCount() );
+        bargainActivityRespVO.setBargainCount( bean.getBargainCount() );
+        bargainActivityRespVO.setRandomMinPrice( bean.getRandomMinPrice() );
+        bargainActivityRespVO.setRandomMaxPrice( bean.getRandomMaxPrice() );
+        bargainActivityRespVO.setId( bean.getId() );
+        bargainActivityRespVO.setStatus( bean.getStatus() );
+        bargainActivityRespVO.setCreateTime( bean.getCreateTime() );
+
+        return bargainActivityRespVO;
+    }
+
+    @Override
+    public List<BargainActivityRespVO> convertList(List<BargainActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<BargainActivityRespVO> list1 = new ArrayList<BargainActivityRespVO>( list.size() );
+        for ( BargainActivityDO bargainActivityDO : list ) {
+            list1.add( convert( bargainActivityDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<BargainActivityPageItemRespVO> convertPage(PageResult<BargainActivityDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<BargainActivityPageItemRespVO> pageResult = new PageResult<BargainActivityPageItemRespVO>();
+
+        pageResult.setList( bargainActivityDOListToBargainActivityPageItemRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public AppBargainActivityDetailRespVO convert1(BargainActivityDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        AppBargainActivityDetailRespVO appBargainActivityDetailRespVO = new AppBargainActivityDetailRespVO();
+
+        appBargainActivityDetailRespVO.setId( bean.getId() );
+        appBargainActivityDetailRespVO.setName( bean.getName() );
+        appBargainActivityDetailRespVO.setStartTime( bean.getStartTime() );
+        appBargainActivityDetailRespVO.setEndTime( bean.getEndTime() );
+        appBargainActivityDetailRespVO.setSpuId( bean.getSpuId() );
+        appBargainActivityDetailRespVO.setSkuId( bean.getSkuId() );
+        appBargainActivityDetailRespVO.setStock( bean.getStock() );
+        appBargainActivityDetailRespVO.setBargainFirstPrice( bean.getBargainFirstPrice() );
+        appBargainActivityDetailRespVO.setBargainMinPrice( bean.getBargainMinPrice() );
+
+        return appBargainActivityDetailRespVO;
+    }
+
+    @Override
+    public PageResult<AppBargainActivityRespVO> convertAppPage(PageResult<BargainActivityDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<AppBargainActivityRespVO> pageResult = new PageResult<AppBargainActivityRespVO>();
+
+        pageResult.setList( convertAppList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<AppBargainActivityRespVO> convertAppList(List<BargainActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppBargainActivityRespVO> list1 = new ArrayList<AppBargainActivityRespVO>( list.size() );
+        for ( BargainActivityDO bargainActivityDO : list ) {
+            list1.add( bargainActivityDOToAppBargainActivityRespVO( bargainActivityDO ) );
+        }
+
+        return list1;
+    }
+
+    protected BargainActivityPageItemRespVO bargainActivityDOToBargainActivityPageItemRespVO(BargainActivityDO bargainActivityDO) {
+        if ( bargainActivityDO == null ) {
+            return null;
+        }
+
+        BargainActivityPageItemRespVO bargainActivityPageItemRespVO = new BargainActivityPageItemRespVO();
+
+        bargainActivityPageItemRespVO.setName( bargainActivityDO.getName() );
+        bargainActivityPageItemRespVO.setSpuId( bargainActivityDO.getSpuId() );
+        bargainActivityPageItemRespVO.setSkuId( bargainActivityDO.getSkuId() );
+        bargainActivityPageItemRespVO.setBargainFirstPrice( bargainActivityDO.getBargainFirstPrice() );
+        bargainActivityPageItemRespVO.setBargainMinPrice( bargainActivityDO.getBargainMinPrice() );
+        bargainActivityPageItemRespVO.setStock( bargainActivityDO.getStock() );
+        bargainActivityPageItemRespVO.setTotalLimitCount( bargainActivityDO.getTotalLimitCount() );
+        bargainActivityPageItemRespVO.setStartTime( bargainActivityDO.getStartTime() );
+        bargainActivityPageItemRespVO.setEndTime( bargainActivityDO.getEndTime() );
+        bargainActivityPageItemRespVO.setHelpMaxCount( bargainActivityDO.getHelpMaxCount() );
+        bargainActivityPageItemRespVO.setBargainCount( bargainActivityDO.getBargainCount() );
+        bargainActivityPageItemRespVO.setRandomMinPrice( bargainActivityDO.getRandomMinPrice() );
+        bargainActivityPageItemRespVO.setRandomMaxPrice( bargainActivityDO.getRandomMaxPrice() );
+        bargainActivityPageItemRespVO.setId( bargainActivityDO.getId() );
+        bargainActivityPageItemRespVO.setStatus( bargainActivityDO.getStatus() );
+        bargainActivityPageItemRespVO.setTotalStock( bargainActivityDO.getTotalStock() );
+        bargainActivityPageItemRespVO.setCreateTime( bargainActivityDO.getCreateTime() );
+
+        return bargainActivityPageItemRespVO;
+    }
+
+    protected List<BargainActivityPageItemRespVO> bargainActivityDOListToBargainActivityPageItemRespVOList(List<BargainActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<BargainActivityPageItemRespVO> list1 = new ArrayList<BargainActivityPageItemRespVO>( list.size() );
+        for ( BargainActivityDO bargainActivityDO : list ) {
+            list1.add( bargainActivityDOToBargainActivityPageItemRespVO( bargainActivityDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AppBargainActivityRespVO bargainActivityDOToAppBargainActivityRespVO(BargainActivityDO bargainActivityDO) {
+        if ( bargainActivityDO == null ) {
+            return null;
+        }
+
+        AppBargainActivityRespVO appBargainActivityRespVO = new AppBargainActivityRespVO();
+
+        appBargainActivityRespVO.setId( bargainActivityDO.getId() );
+        appBargainActivityRespVO.setName( bargainActivityDO.getName() );
+        appBargainActivityRespVO.setStartTime( bargainActivityDO.getStartTime() );
+        appBargainActivityRespVO.setEndTime( bargainActivityDO.getEndTime() );
+        appBargainActivityRespVO.setSpuId( bargainActivityDO.getSpuId() );
+        appBargainActivityRespVO.setSkuId( bargainActivityDO.getSkuId() );
+        appBargainActivityRespVO.setStock( bargainActivityDO.getStock() );
+        appBargainActivityRespVO.setBargainMinPrice( bargainActivityDO.getBargainMinPrice() );
+
+        return appBargainActivityRespVO;
+    }
+}

+ 89 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/bargain/BargainHelpConvertImpl.java

@@ -0,0 +1,89 @@
+package com.cdm.module.promotion.convert.bargain;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.bargain.vo.help.BargainHelpRespVO;
+import com.cdm.module.promotion.controller.app.bargain.vo.help.AppBargainHelpRespVO;
+import com.cdm.module.promotion.dal.dataobject.bargain.BargainHelpDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class BargainHelpConvertImpl implements BargainHelpConvert {
+
+    @Override
+    public PageResult<BargainHelpRespVO> convertPage(PageResult<BargainHelpDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<BargainHelpRespVO> pageResult = new PageResult<BargainHelpRespVO>();
+
+        pageResult.setList( bargainHelpDOListToBargainHelpRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<AppBargainHelpRespVO> convertList02(List<BargainHelpDO> helps) {
+        if ( helps == null ) {
+            return null;
+        }
+
+        List<AppBargainHelpRespVO> list = new ArrayList<AppBargainHelpRespVO>( helps.size() );
+        for ( BargainHelpDO bargainHelpDO : helps ) {
+            list.add( bargainHelpDOToAppBargainHelpRespVO( bargainHelpDO ) );
+        }
+
+        return list;
+    }
+
+    protected BargainHelpRespVO bargainHelpDOToBargainHelpRespVO(BargainHelpDO bargainHelpDO) {
+        if ( bargainHelpDO == null ) {
+            return null;
+        }
+
+        BargainHelpRespVO bargainHelpRespVO = new BargainHelpRespVO();
+
+        bargainHelpRespVO.setUserId( bargainHelpDO.getUserId() );
+        bargainHelpRespVO.setActivityId( bargainHelpDO.getActivityId() );
+        bargainHelpRespVO.setRecordId( bargainHelpDO.getRecordId() );
+        bargainHelpRespVO.setReducePrice( bargainHelpDO.getReducePrice() );
+        bargainHelpRespVO.setId( bargainHelpDO.getId() );
+        bargainHelpRespVO.setCreateTime( bargainHelpDO.getCreateTime() );
+
+        return bargainHelpRespVO;
+    }
+
+    protected List<BargainHelpRespVO> bargainHelpDOListToBargainHelpRespVOList(List<BargainHelpDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<BargainHelpRespVO> list1 = new ArrayList<BargainHelpRespVO>( list.size() );
+        for ( BargainHelpDO bargainHelpDO : list ) {
+            list1.add( bargainHelpDOToBargainHelpRespVO( bargainHelpDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AppBargainHelpRespVO bargainHelpDOToAppBargainHelpRespVO(BargainHelpDO bargainHelpDO) {
+        if ( bargainHelpDO == null ) {
+            return null;
+        }
+
+        AppBargainHelpRespVO appBargainHelpRespVO = new AppBargainHelpRespVO();
+
+        appBargainHelpRespVO.setUserId( bargainHelpDO.getUserId() );
+        appBargainHelpRespVO.setReducePrice( bargainHelpDO.getReducePrice() );
+        appBargainHelpRespVO.setCreateTime( bargainHelpDO.getCreateTime() );
+
+        return appBargainHelpRespVO;
+    }
+}

+ 142 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/bargain/BargainRecordConvertImpl.java

@@ -0,0 +1,142 @@
+package com.cdm.module.promotion.convert.bargain;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.bargain.vo.recrod.BargainRecordPageItemRespVO;
+import com.cdm.module.promotion.controller.app.bargain.vo.record.AppBargainRecordDetailRespVO;
+import com.cdm.module.promotion.controller.app.bargain.vo.record.AppBargainRecordRespVO;
+import com.cdm.module.promotion.dal.dataobject.bargain.BargainRecordDO;
+import com.cdm.module.trade.api.order.dto.TradeOrderRespDTO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class BargainRecordConvertImpl implements BargainRecordConvert {
+
+    @Override
+    public PageResult<BargainRecordPageItemRespVO> convertPage(PageResult<BargainRecordDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<BargainRecordPageItemRespVO> pageResult = new PageResult<BargainRecordPageItemRespVO>();
+
+        pageResult.setList( bargainRecordDOListToBargainRecordPageItemRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public PageResult<AppBargainRecordRespVO> convertPage02(PageResult<BargainRecordDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<AppBargainRecordRespVO> pageResult = new PageResult<AppBargainRecordRespVO>();
+
+        pageResult.setList( bargainRecordDOListToAppBargainRecordRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public AppBargainRecordDetailRespVO convert02(BargainRecordDO record, Integer helpAction, TradeOrderRespDTO order) {
+        if ( record == null && helpAction == null && order == null ) {
+            return null;
+        }
+
+        AppBargainRecordDetailRespVO appBargainRecordDetailRespVO = new AppBargainRecordDetailRespVO();
+
+        if ( record != null ) {
+            appBargainRecordDetailRespVO.setId( record.getId() );
+            appBargainRecordDetailRespVO.setUserId( record.getUserId() );
+            appBargainRecordDetailRespVO.setStatus( record.getStatus() );
+            appBargainRecordDetailRespVO.setSpuId( record.getSpuId() );
+            appBargainRecordDetailRespVO.setSkuId( record.getSkuId() );
+            appBargainRecordDetailRespVO.setActivityId( record.getActivityId() );
+            appBargainRecordDetailRespVO.setBargainFirstPrice( record.getBargainFirstPrice() );
+            appBargainRecordDetailRespVO.setBargainPrice( record.getBargainPrice() );
+            appBargainRecordDetailRespVO.setOrderId( record.getOrderId() );
+        }
+        if ( order != null ) {
+            appBargainRecordDetailRespVO.setPayStatus( order.getPayStatus() );
+            appBargainRecordDetailRespVO.setPayOrderId( order.getPayOrderId() );
+        }
+        appBargainRecordDetailRespVO.setHelpAction( helpAction );
+
+        return appBargainRecordDetailRespVO;
+    }
+
+    protected BargainRecordPageItemRespVO bargainRecordDOToBargainRecordPageItemRespVO(BargainRecordDO bargainRecordDO) {
+        if ( bargainRecordDO == null ) {
+            return null;
+        }
+
+        BargainRecordPageItemRespVO bargainRecordPageItemRespVO = new BargainRecordPageItemRespVO();
+
+        bargainRecordPageItemRespVO.setActivityId( bargainRecordDO.getActivityId() );
+        bargainRecordPageItemRespVO.setUserId( bargainRecordDO.getUserId() );
+        bargainRecordPageItemRespVO.setSpuId( bargainRecordDO.getSpuId() );
+        bargainRecordPageItemRespVO.setSkuId( bargainRecordDO.getSkuId() );
+        bargainRecordPageItemRespVO.setBargainFirstPrice( bargainRecordDO.getBargainFirstPrice() );
+        bargainRecordPageItemRespVO.setBargainPrice( bargainRecordDO.getBargainPrice() );
+        bargainRecordPageItemRespVO.setStatus( bargainRecordDO.getStatus() );
+        bargainRecordPageItemRespVO.setOrderId( bargainRecordDO.getOrderId() );
+        bargainRecordPageItemRespVO.setEndTime( bargainRecordDO.getEndTime() );
+        bargainRecordPageItemRespVO.setId( bargainRecordDO.getId() );
+        bargainRecordPageItemRespVO.setCreateTime( bargainRecordDO.getCreateTime() );
+
+        return bargainRecordPageItemRespVO;
+    }
+
+    protected List<BargainRecordPageItemRespVO> bargainRecordDOListToBargainRecordPageItemRespVOList(List<BargainRecordDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<BargainRecordPageItemRespVO> list1 = new ArrayList<BargainRecordPageItemRespVO>( list.size() );
+        for ( BargainRecordDO bargainRecordDO : list ) {
+            list1.add( bargainRecordDOToBargainRecordPageItemRespVO( bargainRecordDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AppBargainRecordRespVO bargainRecordDOToAppBargainRecordRespVO(BargainRecordDO bargainRecordDO) {
+        if ( bargainRecordDO == null ) {
+            return null;
+        }
+
+        AppBargainRecordRespVO appBargainRecordRespVO = new AppBargainRecordRespVO();
+
+        appBargainRecordRespVO.setId( bargainRecordDO.getId() );
+        appBargainRecordRespVO.setSpuId( bargainRecordDO.getSpuId() );
+        appBargainRecordRespVO.setSkuId( bargainRecordDO.getSkuId() );
+        appBargainRecordRespVO.setActivityId( bargainRecordDO.getActivityId() );
+        appBargainRecordRespVO.setStatus( bargainRecordDO.getStatus() );
+        appBargainRecordRespVO.setBargainPrice( bargainRecordDO.getBargainPrice() );
+        appBargainRecordRespVO.setEndTime( bargainRecordDO.getEndTime() );
+        appBargainRecordRespVO.setOrderId( bargainRecordDO.getOrderId() );
+
+        return appBargainRecordRespVO;
+    }
+
+    protected List<AppBargainRecordRespVO> bargainRecordDOListToAppBargainRecordRespVOList(List<BargainRecordDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppBargainRecordRespVO> list1 = new ArrayList<AppBargainRecordRespVO>( list.size() );
+        for ( BargainRecordDO bargainRecordDO : list ) {
+            list1.add( bargainRecordDOToAppBargainRecordRespVO( bargainRecordDO ) );
+        }
+
+        return list1;
+    }
+}

+ 445 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/combination/CombinationActivityConvertImpl.java

@@ -0,0 +1,445 @@
+package com.cdm.module.promotion.convert.combination;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.api.combination.dto.CombinationRecordCreateReqDTO;
+import com.cdm.module.promotion.controller.admin.combination.vo.activity.CombinationActivityCreateReqVO;
+import com.cdm.module.promotion.controller.admin.combination.vo.activity.CombinationActivityPageItemRespVO;
+import com.cdm.module.promotion.controller.admin.combination.vo.activity.CombinationActivityRespVO;
+import com.cdm.module.promotion.controller.admin.combination.vo.activity.CombinationActivityUpdateReqVO;
+import com.cdm.module.promotion.controller.admin.combination.vo.product.CombinationProductBaseVO;
+import com.cdm.module.promotion.controller.admin.combination.vo.product.CombinationProductRespVO;
+import com.cdm.module.promotion.controller.admin.combination.vo.recrod.CombinationRecordPageItemRespVO;
+import com.cdm.module.promotion.controller.app.combination.vo.activity.AppCombinationActivityDetailRespVO;
+import com.cdm.module.promotion.controller.app.combination.vo.activity.AppCombinationActivityRespVO;
+import com.cdm.module.promotion.controller.app.combination.vo.record.AppCombinationRecordRespVO;
+import com.cdm.module.promotion.dal.dataobject.combination.CombinationActivityDO;
+import com.cdm.module.promotion.dal.dataobject.combination.CombinationProductDO;
+import com.cdm.module.promotion.dal.dataobject.combination.CombinationRecordDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class CombinationActivityConvertImpl implements CombinationActivityConvert {
+
+    @Override
+    public CombinationActivityDO convert(CombinationActivityCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        CombinationActivityDO.CombinationActivityDOBuilder combinationActivityDO = CombinationActivityDO.builder();
+
+        combinationActivityDO.name( bean.getName() );
+        combinationActivityDO.spuId( bean.getSpuId() );
+        combinationActivityDO.totalLimitCount( bean.getTotalLimitCount() );
+        combinationActivityDO.singleLimitCount( bean.getSingleLimitCount() );
+        combinationActivityDO.startTime( bean.getStartTime() );
+        combinationActivityDO.endTime( bean.getEndTime() );
+        combinationActivityDO.userSize( bean.getUserSize() );
+        combinationActivityDO.virtualGroup( bean.getVirtualGroup() );
+        combinationActivityDO.limitDuration( bean.getLimitDuration() );
+
+        return combinationActivityDO.build();
+    }
+
+    @Override
+    public CombinationActivityDO convert(CombinationActivityUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        CombinationActivityDO.CombinationActivityDOBuilder combinationActivityDO = CombinationActivityDO.builder();
+
+        combinationActivityDO.id( bean.getId() );
+        combinationActivityDO.name( bean.getName() );
+        combinationActivityDO.spuId( bean.getSpuId() );
+        combinationActivityDO.totalLimitCount( bean.getTotalLimitCount() );
+        combinationActivityDO.singleLimitCount( bean.getSingleLimitCount() );
+        combinationActivityDO.startTime( bean.getStartTime() );
+        combinationActivityDO.endTime( bean.getEndTime() );
+        combinationActivityDO.userSize( bean.getUserSize() );
+        combinationActivityDO.virtualGroup( bean.getVirtualGroup() );
+        combinationActivityDO.limitDuration( bean.getLimitDuration() );
+
+        return combinationActivityDO.build();
+    }
+
+    @Override
+    public CombinationActivityRespVO convert(CombinationActivityDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        CombinationActivityRespVO combinationActivityRespVO = new CombinationActivityRespVO();
+
+        combinationActivityRespVO.setName( bean.getName() );
+        combinationActivityRespVO.setSpuId( bean.getSpuId() );
+        combinationActivityRespVO.setTotalLimitCount( bean.getTotalLimitCount() );
+        combinationActivityRespVO.setSingleLimitCount( bean.getSingleLimitCount() );
+        combinationActivityRespVO.setStartTime( bean.getStartTime() );
+        combinationActivityRespVO.setEndTime( bean.getEndTime() );
+        combinationActivityRespVO.setVirtualGroup( bean.getVirtualGroup() );
+        combinationActivityRespVO.setLimitDuration( bean.getLimitDuration() );
+        combinationActivityRespVO.setId( bean.getId() );
+        combinationActivityRespVO.setCreateTime( bean.getCreateTime() );
+        combinationActivityRespVO.setUserSize( bean.getUserSize() );
+
+        return combinationActivityRespVO;
+    }
+
+    @Override
+    public CombinationProductRespVO convert(CombinationProductDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        CombinationProductRespVO combinationProductRespVO = new CombinationProductRespVO();
+
+        combinationProductRespVO.setSpuId( bean.getSpuId() );
+        combinationProductRespVO.setSkuId( bean.getSkuId() );
+        combinationProductRespVO.setCombinationPrice( bean.getCombinationPrice() );
+        combinationProductRespVO.setId( bean.getId() );
+        combinationProductRespVO.setCreateTime( bean.getCreateTime() );
+
+        return combinationProductRespVO;
+    }
+
+    @Override
+    public List<CombinationActivityRespVO> convertList(List<CombinationActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<CombinationActivityRespVO> list1 = new ArrayList<CombinationActivityRespVO>( list.size() );
+        for ( CombinationActivityDO combinationActivityDO : list ) {
+            list1.add( convert( combinationActivityDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<CombinationActivityPageItemRespVO> convertPage(PageResult<CombinationActivityDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<CombinationActivityPageItemRespVO> pageResult = new PageResult<CombinationActivityPageItemRespVO>();
+
+        pageResult.setList( combinationActivityDOListToCombinationActivityPageItemRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<CombinationProductRespVO> convertList2(List<CombinationProductDO> productDOs) {
+        if ( productDOs == null ) {
+            return null;
+        }
+
+        List<CombinationProductRespVO> list = new ArrayList<CombinationProductRespVO>( productDOs.size() );
+        for ( CombinationProductDO combinationProductDO : productDOs ) {
+            list.add( convert( combinationProductDO ) );
+        }
+
+        return list;
+    }
+
+    @Override
+    public CombinationProductDO convert(CombinationActivityDO activity, CombinationProductBaseVO product) {
+        if ( activity == null && product == null ) {
+            return null;
+        }
+
+        CombinationProductDO.CombinationProductDOBuilder combinationProductDO = CombinationProductDO.builder();
+
+        if ( activity != null ) {
+            combinationProductDO.activityId( activity.getId() );
+            combinationProductDO.spuId( activity.getSpuId() );
+            combinationProductDO.activityStartTime( activity.getStartTime() );
+            combinationProductDO.activityEndTime( activity.getEndTime() );
+        }
+        if ( product != null ) {
+            combinationProductDO.skuId( product.getSkuId() );
+            combinationProductDO.combinationPrice( product.getCombinationPrice() );
+        }
+
+        return combinationProductDO.build();
+    }
+
+    @Override
+    public CombinationRecordDO convert(CombinationRecordCreateReqDTO reqDTO) {
+        if ( reqDTO == null ) {
+            return null;
+        }
+
+        CombinationRecordDO.CombinationRecordDOBuilder combinationRecordDO = CombinationRecordDO.builder();
+
+        combinationRecordDO.activityId( reqDTO.getActivityId() );
+        combinationRecordDO.combinationPrice( reqDTO.getCombinationPrice() );
+        combinationRecordDO.spuId( reqDTO.getSpuId() );
+        combinationRecordDO.skuId( reqDTO.getSkuId() );
+        combinationRecordDO.count( reqDTO.getCount() );
+        combinationRecordDO.userId( reqDTO.getUserId() );
+        combinationRecordDO.headId( reqDTO.getHeadId() );
+        combinationRecordDO.orderId( reqDTO.getOrderId() );
+
+        return combinationRecordDO.build();
+    }
+
+    @Override
+    public List<AppCombinationActivityRespVO> convertAppList(List<CombinationActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppCombinationActivityRespVO> list1 = new ArrayList<AppCombinationActivityRespVO>( list.size() );
+        for ( CombinationActivityDO combinationActivityDO : list ) {
+            list1.add( combinationActivityDOToAppCombinationActivityRespVO( combinationActivityDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<AppCombinationActivityRespVO> convertAppPage(PageResult<CombinationActivityDO> result) {
+        if ( result == null ) {
+            return null;
+        }
+
+        PageResult<AppCombinationActivityRespVO> pageResult = new PageResult<AppCombinationActivityRespVO>();
+
+        pageResult.setList( convertAppList( result.getList() ) );
+        pageResult.setTotal( result.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public AppCombinationActivityDetailRespVO convert2(CombinationActivityDO combinationActivity) {
+        if ( combinationActivity == null ) {
+            return null;
+        }
+
+        AppCombinationActivityDetailRespVO appCombinationActivityDetailRespVO = new AppCombinationActivityDetailRespVO();
+
+        appCombinationActivityDetailRespVO.setId( combinationActivity.getId() );
+        appCombinationActivityDetailRespVO.setName( combinationActivity.getName() );
+        appCombinationActivityDetailRespVO.setStatus( combinationActivity.getStatus() );
+        appCombinationActivityDetailRespVO.setStartTime( combinationActivity.getStartTime() );
+        appCombinationActivityDetailRespVO.setEndTime( combinationActivity.getEndTime() );
+        appCombinationActivityDetailRespVO.setUserSize( combinationActivity.getUserSize() );
+        appCombinationActivityDetailRespVO.setSpuId( combinationActivity.getSpuId() );
+        appCombinationActivityDetailRespVO.setTotalLimitCount( combinationActivity.getTotalLimitCount() );
+        appCombinationActivityDetailRespVO.setSingleLimitCount( combinationActivity.getSingleLimitCount() );
+
+        return appCombinationActivityDetailRespVO;
+    }
+
+    @Override
+    public List<AppCombinationActivityDetailRespVO.Product> convertList1(List<CombinationProductDO> products) {
+        if ( products == null ) {
+            return null;
+        }
+
+        List<AppCombinationActivityDetailRespVO.Product> list = new ArrayList<AppCombinationActivityDetailRespVO.Product>( products.size() );
+        for ( CombinationProductDO combinationProductDO : products ) {
+            list.add( combinationProductDOToProduct( combinationProductDO ) );
+        }
+
+        return list;
+    }
+
+    @Override
+    public List<AppCombinationRecordRespVO> convertList3(List<CombinationRecordDO> records) {
+        if ( records == null ) {
+            return null;
+        }
+
+        List<AppCombinationRecordRespVO> list = new ArrayList<AppCombinationRecordRespVO>( records.size() );
+        for ( CombinationRecordDO combinationRecordDO : records ) {
+            list.add( convert( combinationRecordDO ) );
+        }
+
+        return list;
+    }
+
+    @Override
+    public AppCombinationRecordRespVO convert(CombinationRecordDO record) {
+        if ( record == null ) {
+            return null;
+        }
+
+        AppCombinationRecordRespVO appCombinationRecordRespVO = new AppCombinationRecordRespVO();
+
+        appCombinationRecordRespVO.setId( record.getId() );
+        appCombinationRecordRespVO.setActivityId( record.getActivityId() );
+        appCombinationRecordRespVO.setNickname( record.getNickname() );
+        appCombinationRecordRespVO.setAvatar( record.getAvatar() );
+        appCombinationRecordRespVO.setExpireTime( record.getExpireTime() );
+        appCombinationRecordRespVO.setUserSize( record.getUserSize() );
+        appCombinationRecordRespVO.setUserCount( record.getUserCount() );
+        appCombinationRecordRespVO.setStatus( record.getStatus() );
+        appCombinationRecordRespVO.setSpuName( record.getSpuName() );
+        appCombinationRecordRespVO.setPicUrl( record.getPicUrl() );
+        appCombinationRecordRespVO.setCombinationPrice( record.getCombinationPrice() );
+
+        return appCombinationRecordRespVO;
+    }
+
+    @Override
+    public PageResult<CombinationRecordPageItemRespVO> convert(PageResult<CombinationRecordDO> result) {
+        if ( result == null ) {
+            return null;
+        }
+
+        PageResult<CombinationRecordPageItemRespVO> pageResult = new PageResult<CombinationRecordPageItemRespVO>();
+
+        pageResult.setList( combinationRecordDOListToCombinationRecordPageItemRespVOList( result.getList() ) );
+        pageResult.setTotal( result.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public CombinationRecordDO convert5(CombinationRecordDO headRecord) {
+        if ( headRecord == null ) {
+            return null;
+        }
+
+        CombinationRecordDO.CombinationRecordDOBuilder combinationRecordDO = CombinationRecordDO.builder();
+
+        combinationRecordDO.activityId( headRecord.getActivityId() );
+        combinationRecordDO.combinationPrice( headRecord.getCombinationPrice() );
+        combinationRecordDO.spuId( headRecord.getSpuId() );
+        combinationRecordDO.spuName( headRecord.getSpuName() );
+        combinationRecordDO.picUrl( headRecord.getPicUrl() );
+        combinationRecordDO.skuId( headRecord.getSkuId() );
+        combinationRecordDO.count( headRecord.getCount() );
+        combinationRecordDO.userId( headRecord.getUserId() );
+        combinationRecordDO.nickname( headRecord.getNickname() );
+        combinationRecordDO.avatar( headRecord.getAvatar() );
+        combinationRecordDO.headId( headRecord.getHeadId() );
+        combinationRecordDO.status( headRecord.getStatus() );
+        combinationRecordDO.orderId( headRecord.getOrderId() );
+        combinationRecordDO.userSize( headRecord.getUserSize() );
+        combinationRecordDO.userCount( headRecord.getUserCount() );
+        combinationRecordDO.virtualGroup( headRecord.getVirtualGroup() );
+        combinationRecordDO.expireTime( headRecord.getExpireTime() );
+        combinationRecordDO.startTime( headRecord.getStartTime() );
+        combinationRecordDO.endTime( headRecord.getEndTime() );
+
+        return combinationRecordDO.build();
+    }
+
+    protected CombinationActivityPageItemRespVO combinationActivityDOToCombinationActivityPageItemRespVO(CombinationActivityDO combinationActivityDO) {
+        if ( combinationActivityDO == null ) {
+            return null;
+        }
+
+        CombinationActivityPageItemRespVO combinationActivityPageItemRespVO = new CombinationActivityPageItemRespVO();
+
+        combinationActivityPageItemRespVO.setName( combinationActivityDO.getName() );
+        combinationActivityPageItemRespVO.setSpuId( combinationActivityDO.getSpuId() );
+        combinationActivityPageItemRespVO.setTotalLimitCount( combinationActivityDO.getTotalLimitCount() );
+        combinationActivityPageItemRespVO.setSingleLimitCount( combinationActivityDO.getSingleLimitCount() );
+        combinationActivityPageItemRespVO.setStartTime( combinationActivityDO.getStartTime() );
+        combinationActivityPageItemRespVO.setEndTime( combinationActivityDO.getEndTime() );
+        combinationActivityPageItemRespVO.setUserSize( combinationActivityDO.getUserSize() );
+        combinationActivityPageItemRespVO.setVirtualGroup( combinationActivityDO.getVirtualGroup() );
+        combinationActivityPageItemRespVO.setLimitDuration( combinationActivityDO.getLimitDuration() );
+        combinationActivityPageItemRespVO.setId( combinationActivityDO.getId() );
+        combinationActivityPageItemRespVO.setCreateTime( combinationActivityDO.getCreateTime() );
+        combinationActivityPageItemRespVO.setStatus( combinationActivityDO.getStatus() );
+
+        return combinationActivityPageItemRespVO;
+    }
+
+    protected List<CombinationActivityPageItemRespVO> combinationActivityDOListToCombinationActivityPageItemRespVOList(List<CombinationActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<CombinationActivityPageItemRespVO> list1 = new ArrayList<CombinationActivityPageItemRespVO>( list.size() );
+        for ( CombinationActivityDO combinationActivityDO : list ) {
+            list1.add( combinationActivityDOToCombinationActivityPageItemRespVO( combinationActivityDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AppCombinationActivityRespVO combinationActivityDOToAppCombinationActivityRespVO(CombinationActivityDO combinationActivityDO) {
+        if ( combinationActivityDO == null ) {
+            return null;
+        }
+
+        AppCombinationActivityRespVO appCombinationActivityRespVO = new AppCombinationActivityRespVO();
+
+        appCombinationActivityRespVO.setId( combinationActivityDO.getId() );
+        appCombinationActivityRespVO.setName( combinationActivityDO.getName() );
+        appCombinationActivityRespVO.setUserSize( combinationActivityDO.getUserSize() );
+        appCombinationActivityRespVO.setSpuId( combinationActivityDO.getSpuId() );
+
+        return appCombinationActivityRespVO;
+    }
+
+    protected AppCombinationActivityDetailRespVO.Product combinationProductDOToProduct(CombinationProductDO combinationProductDO) {
+        if ( combinationProductDO == null ) {
+            return null;
+        }
+
+        AppCombinationActivityDetailRespVO.Product product = new AppCombinationActivityDetailRespVO.Product();
+
+        product.setSkuId( combinationProductDO.getSkuId() );
+        product.setCombinationPrice( combinationProductDO.getCombinationPrice() );
+
+        return product;
+    }
+
+    protected CombinationRecordPageItemRespVO combinationRecordDOToCombinationRecordPageItemRespVO(CombinationRecordDO combinationRecordDO) {
+        if ( combinationRecordDO == null ) {
+            return null;
+        }
+
+        CombinationRecordPageItemRespVO combinationRecordPageItemRespVO = new CombinationRecordPageItemRespVO();
+
+        combinationRecordPageItemRespVO.setId( combinationRecordDO.getId() );
+        combinationRecordPageItemRespVO.setActivityId( combinationRecordDO.getActivityId() );
+        combinationRecordPageItemRespVO.setHeadId( combinationRecordDO.getHeadId() );
+        combinationRecordPageItemRespVO.setUserId( combinationRecordDO.getUserId() );
+        combinationRecordPageItemRespVO.setNickname( combinationRecordDO.getNickname() );
+        combinationRecordPageItemRespVO.setAvatar( combinationRecordDO.getAvatar() );
+        combinationRecordPageItemRespVO.setSpuId( combinationRecordDO.getSpuId() );
+        combinationRecordPageItemRespVO.setSkuId( combinationRecordDO.getSkuId() );
+        combinationRecordPageItemRespVO.setSpuName( combinationRecordDO.getSpuName() );
+        combinationRecordPageItemRespVO.setPicUrl( combinationRecordDO.getPicUrl() );
+        combinationRecordPageItemRespVO.setExpireTime( combinationRecordDO.getExpireTime() );
+        combinationRecordPageItemRespVO.setUserSize( combinationRecordDO.getUserSize() );
+        combinationRecordPageItemRespVO.setUserCount( combinationRecordDO.getUserCount() );
+        combinationRecordPageItemRespVO.setStatus( combinationRecordDO.getStatus() );
+        combinationRecordPageItemRespVO.setVirtualGroup( combinationRecordDO.getVirtualGroup() );
+        combinationRecordPageItemRespVO.setStartTime( combinationRecordDO.getStartTime() );
+        combinationRecordPageItemRespVO.setEndTime( combinationRecordDO.getEndTime() );
+
+        return combinationRecordPageItemRespVO;
+    }
+
+    protected List<CombinationRecordPageItemRespVO> combinationRecordDOListToCombinationRecordPageItemRespVOList(List<CombinationRecordDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<CombinationRecordPageItemRespVO> list1 = new ArrayList<CombinationRecordPageItemRespVO>( list.size() );
+        for ( CombinationRecordDO combinationRecordDO : list ) {
+            list1.add( combinationRecordDOToCombinationRecordPageItemRespVO( combinationRecordDO ) );
+        }
+
+        return list1;
+    }
+}

+ 219 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/coupon/CouponConvertImpl.java

@@ -0,0 +1,219 @@
+package com.cdm.module.promotion.convert.coupon;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.api.coupon.dto.CouponRespDTO;
+import com.cdm.module.promotion.controller.admin.coupon.vo.coupon.CouponPageItemRespVO;
+import com.cdm.module.promotion.controller.admin.coupon.vo.coupon.CouponPageReqVO;
+import com.cdm.module.promotion.controller.app.coupon.vo.coupon.AppCouponMatchRespVO;
+import com.cdm.module.promotion.controller.app.coupon.vo.coupon.AppCouponPageReqVO;
+import com.cdm.module.promotion.controller.app.coupon.vo.coupon.AppCouponRespVO;
+import com.cdm.module.promotion.dal.dataobject.coupon.CouponDO;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:31+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class CouponConvertImpl implements CouponConvert {
+
+    @Override
+    public PageResult<CouponPageItemRespVO> convertPage(PageResult<CouponDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<CouponPageItemRespVO> pageResult = new PageResult<CouponPageItemRespVO>();
+
+        pageResult.setList( couponDOListToCouponPageItemRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public CouponRespDTO convert(CouponDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        CouponRespDTO couponRespDTO = new CouponRespDTO();
+
+        couponRespDTO.setId( bean.getId() );
+        if ( bean.getTemplateId() != null ) {
+            couponRespDTO.setTemplateId( bean.getTemplateId().intValue() );
+        }
+        couponRespDTO.setName( bean.getName() );
+        couponRespDTO.setStatus( bean.getStatus() );
+        couponRespDTO.setUserId( bean.getUserId() );
+        couponRespDTO.setTakeType( bean.getTakeType() );
+        couponRespDTO.setUsePrice( bean.getUsePrice() );
+        couponRespDTO.setValidStartTime( bean.getValidStartTime() );
+        couponRespDTO.setValidEndTime( bean.getValidEndTime() );
+        couponRespDTO.setProductScope( bean.getProductScope() );
+        List<Long> list = bean.getProductScopeValues();
+        if ( list != null ) {
+            couponRespDTO.setProductScopeValues( new ArrayList<Long>( list ) );
+        }
+        couponRespDTO.setDiscountType( bean.getDiscountType() );
+        couponRespDTO.setDiscountPercent( bean.getDiscountPercent() );
+        couponRespDTO.setDiscountPrice( bean.getDiscountPrice() );
+        couponRespDTO.setDiscountLimitPrice( bean.getDiscountLimitPrice() );
+        couponRespDTO.setUseOrderId( bean.getUseOrderId() );
+        couponRespDTO.setUseTime( bean.getUseTime() );
+
+        return couponRespDTO;
+    }
+
+    @Override
+    public CouponPageReqVO convert(AppCouponPageReqVO pageReqVO, Collection<Long> userIds) {
+        if ( pageReqVO == null && userIds == null ) {
+            return null;
+        }
+
+        CouponPageReqVO couponPageReqVO = new CouponPageReqVO();
+
+        if ( pageReqVO != null ) {
+            couponPageReqVO.setPageNo( pageReqVO.getPageNo() );
+            couponPageReqVO.setPageSize( pageReqVO.getPageSize() );
+            couponPageReqVO.setStatus( pageReqVO.getStatus() );
+        }
+        Collection<Long> collection = userIds;
+        if ( collection != null ) {
+            couponPageReqVO.setUserIds( new ArrayList<Long>( collection ) );
+        }
+
+        return couponPageReqVO;
+    }
+
+    @Override
+    public PageResult<AppCouponRespVO> convertAppPage(PageResult<CouponDO> pageResult) {
+        if ( pageResult == null ) {
+            return null;
+        }
+
+        PageResult<AppCouponRespVO> pageResult1 = new PageResult<AppCouponRespVO>();
+
+        pageResult1.setList( couponDOListToAppCouponRespVOList( pageResult.getList() ) );
+        pageResult1.setTotal( pageResult.getTotal() );
+
+        return pageResult1;
+    }
+
+    @Override
+    public List<AppCouponMatchRespVO> convertList(List<CouponDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppCouponMatchRespVO> list1 = new ArrayList<AppCouponMatchRespVO>( list.size() );
+        for ( CouponDO couponDO : list ) {
+            list1.add( couponDOToAppCouponMatchRespVO( couponDO ) );
+        }
+
+        return list1;
+    }
+
+    protected CouponPageItemRespVO couponDOToCouponPageItemRespVO(CouponDO couponDO) {
+        if ( couponDO == null ) {
+            return null;
+        }
+
+        CouponPageItemRespVO couponPageItemRespVO = new CouponPageItemRespVO();
+
+        couponPageItemRespVO.setTemplateId( couponDO.getTemplateId() );
+        couponPageItemRespVO.setName( couponDO.getName() );
+        couponPageItemRespVO.setStatus( couponDO.getStatus() );
+        couponPageItemRespVO.setUserId( couponDO.getUserId() );
+        couponPageItemRespVO.setTakeType( couponDO.getTakeType() );
+        couponPageItemRespVO.setUsePrice( couponDO.getUsePrice() );
+        couponPageItemRespVO.setValidStartTime( couponDO.getValidStartTime() );
+        couponPageItemRespVO.setValidEndTime( couponDO.getValidEndTime() );
+        couponPageItemRespVO.setProductScope( couponDO.getProductScope() );
+        List<Long> list = couponDO.getProductScopeValues();
+        if ( list != null ) {
+            couponPageItemRespVO.setProductScopeValues( new ArrayList<Long>( list ) );
+        }
+        couponPageItemRespVO.setDiscountType( couponDO.getDiscountType() );
+        couponPageItemRespVO.setDiscountPercent( couponDO.getDiscountPercent() );
+        couponPageItemRespVO.setDiscountPrice( couponDO.getDiscountPrice() );
+        couponPageItemRespVO.setDiscountLimitPrice( couponDO.getDiscountLimitPrice() );
+        couponPageItemRespVO.setUseOrderId( couponDO.getUseOrderId() );
+        couponPageItemRespVO.setUseTime( couponDO.getUseTime() );
+        couponPageItemRespVO.setId( couponDO.getId() );
+        couponPageItemRespVO.setCreateTime( couponDO.getCreateTime() );
+
+        return couponPageItemRespVO;
+    }
+
+    protected List<CouponPageItemRespVO> couponDOListToCouponPageItemRespVOList(List<CouponDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<CouponPageItemRespVO> list1 = new ArrayList<CouponPageItemRespVO>( list.size() );
+        for ( CouponDO couponDO : list ) {
+            list1.add( couponDOToCouponPageItemRespVO( couponDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AppCouponRespVO couponDOToAppCouponRespVO(CouponDO couponDO) {
+        if ( couponDO == null ) {
+            return null;
+        }
+
+        AppCouponRespVO appCouponRespVO = new AppCouponRespVO();
+
+        appCouponRespVO.setId( couponDO.getId() );
+        appCouponRespVO.setName( couponDO.getName() );
+        appCouponRespVO.setStatus( couponDO.getStatus() );
+        appCouponRespVO.setUsePrice( couponDO.getUsePrice() );
+        appCouponRespVO.setValidStartTime( couponDO.getValidStartTime() );
+        appCouponRespVO.setValidEndTime( couponDO.getValidEndTime() );
+        appCouponRespVO.setDiscountType( couponDO.getDiscountType() );
+        appCouponRespVO.setDiscountPercent( couponDO.getDiscountPercent() );
+        appCouponRespVO.setDiscountPrice( couponDO.getDiscountPrice() );
+        appCouponRespVO.setDiscountLimitPrice( couponDO.getDiscountLimitPrice() );
+
+        return appCouponRespVO;
+    }
+
+    protected List<AppCouponRespVO> couponDOListToAppCouponRespVOList(List<CouponDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppCouponRespVO> list1 = new ArrayList<AppCouponRespVO>( list.size() );
+        for ( CouponDO couponDO : list ) {
+            list1.add( couponDOToAppCouponRespVO( couponDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AppCouponMatchRespVO couponDOToAppCouponMatchRespVO(CouponDO couponDO) {
+        if ( couponDO == null ) {
+            return null;
+        }
+
+        AppCouponMatchRespVO appCouponMatchRespVO = new AppCouponMatchRespVO();
+
+        appCouponMatchRespVO.setId( couponDO.getId() );
+        appCouponMatchRespVO.setName( couponDO.getName() );
+        appCouponMatchRespVO.setStatus( couponDO.getStatus() );
+        appCouponMatchRespVO.setUsePrice( couponDO.getUsePrice() );
+        appCouponMatchRespVO.setValidStartTime( couponDO.getValidStartTime() );
+        appCouponMatchRespVO.setValidEndTime( couponDO.getValidEndTime() );
+        appCouponMatchRespVO.setDiscountType( couponDO.getDiscountType() );
+        appCouponMatchRespVO.setDiscountPercent( couponDO.getDiscountPercent() );
+        appCouponMatchRespVO.setDiscountPrice( couponDO.getDiscountPrice() );
+        appCouponMatchRespVO.setDiscountLimitPrice( couponDO.getDiscountLimitPrice() );
+
+        return appCouponMatchRespVO;
+    }
+}

+ 222 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/coupon/CouponTemplateConvertImpl.java

@@ -0,0 +1,222 @@
+package com.cdm.module.promotion.convert.coupon;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.coupon.vo.template.CouponTemplateCreateReqVO;
+import com.cdm.module.promotion.controller.admin.coupon.vo.template.CouponTemplatePageReqVO;
+import com.cdm.module.promotion.controller.admin.coupon.vo.template.CouponTemplateRespVO;
+import com.cdm.module.promotion.controller.admin.coupon.vo.template.CouponTemplateUpdateReqVO;
+import com.cdm.module.promotion.controller.app.coupon.vo.template.AppCouponTemplatePageReqVO;
+import com.cdm.module.promotion.controller.app.coupon.vo.template.AppCouponTemplateRespVO;
+import com.cdm.module.promotion.dal.dataobject.coupon.CouponTemplateDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class CouponTemplateConvertImpl implements CouponTemplateConvert {
+
+    @Override
+    public CouponTemplateDO convert(CouponTemplateCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        CouponTemplateDO couponTemplateDO = new CouponTemplateDO();
+
+        couponTemplateDO.setName( bean.getName() );
+        couponTemplateDO.setTotalCount( bean.getTotalCount() );
+        couponTemplateDO.setTakeLimitCount( bean.getTakeLimitCount() );
+        couponTemplateDO.setTakeType( bean.getTakeType() );
+        couponTemplateDO.setUsePrice( bean.getUsePrice() );
+        couponTemplateDO.setProductScope( bean.getProductScope() );
+        List<Long> list = bean.getProductScopeValues();
+        if ( list != null ) {
+            couponTemplateDO.setProductScopeValues( new ArrayList<Long>( list ) );
+        }
+        couponTemplateDO.setValidityType( bean.getValidityType() );
+        couponTemplateDO.setValidStartTime( bean.getValidStartTime() );
+        couponTemplateDO.setValidEndTime( bean.getValidEndTime() );
+        couponTemplateDO.setFixedStartTerm( bean.getFixedStartTerm() );
+        couponTemplateDO.setFixedEndTerm( bean.getFixedEndTerm() );
+        couponTemplateDO.setDiscountType( bean.getDiscountType() );
+        couponTemplateDO.setDiscountPercent( bean.getDiscountPercent() );
+        couponTemplateDO.setDiscountPrice( bean.getDiscountPrice() );
+        couponTemplateDO.setDiscountLimitPrice( bean.getDiscountLimitPrice() );
+
+        return couponTemplateDO;
+    }
+
+    @Override
+    public CouponTemplateDO convert(CouponTemplateUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        CouponTemplateDO couponTemplateDO = new CouponTemplateDO();
+
+        couponTemplateDO.setId( bean.getId() );
+        couponTemplateDO.setName( bean.getName() );
+        couponTemplateDO.setTotalCount( bean.getTotalCount() );
+        couponTemplateDO.setTakeLimitCount( bean.getTakeLimitCount() );
+        couponTemplateDO.setTakeType( bean.getTakeType() );
+        couponTemplateDO.setUsePrice( bean.getUsePrice() );
+        couponTemplateDO.setProductScope( bean.getProductScope() );
+        List<Long> list = bean.getProductScopeValues();
+        if ( list != null ) {
+            couponTemplateDO.setProductScopeValues( new ArrayList<Long>( list ) );
+        }
+        couponTemplateDO.setValidityType( bean.getValidityType() );
+        couponTemplateDO.setValidStartTime( bean.getValidStartTime() );
+        couponTemplateDO.setValidEndTime( bean.getValidEndTime() );
+        couponTemplateDO.setFixedStartTerm( bean.getFixedStartTerm() );
+        couponTemplateDO.setFixedEndTerm( bean.getFixedEndTerm() );
+        couponTemplateDO.setDiscountType( bean.getDiscountType() );
+        couponTemplateDO.setDiscountPercent( bean.getDiscountPercent() );
+        couponTemplateDO.setDiscountPrice( bean.getDiscountPrice() );
+        couponTemplateDO.setDiscountLimitPrice( bean.getDiscountLimitPrice() );
+
+        return couponTemplateDO;
+    }
+
+    @Override
+    public CouponTemplateRespVO convert(CouponTemplateDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        CouponTemplateRespVO couponTemplateRespVO = new CouponTemplateRespVO();
+
+        couponTemplateRespVO.setName( bean.getName() );
+        couponTemplateRespVO.setTotalCount( bean.getTotalCount() );
+        couponTemplateRespVO.setTakeLimitCount( bean.getTakeLimitCount() );
+        couponTemplateRespVO.setTakeType( bean.getTakeType() );
+        couponTemplateRespVO.setUsePrice( bean.getUsePrice() );
+        couponTemplateRespVO.setProductScope( bean.getProductScope() );
+        List<Long> list = bean.getProductScopeValues();
+        if ( list != null ) {
+            couponTemplateRespVO.setProductScopeValues( new ArrayList<Long>( list ) );
+        }
+        couponTemplateRespVO.setValidityType( bean.getValidityType() );
+        couponTemplateRespVO.setValidStartTime( bean.getValidStartTime() );
+        couponTemplateRespVO.setValidEndTime( bean.getValidEndTime() );
+        couponTemplateRespVO.setFixedStartTerm( bean.getFixedStartTerm() );
+        couponTemplateRespVO.setFixedEndTerm( bean.getFixedEndTerm() );
+        couponTemplateRespVO.setDiscountType( bean.getDiscountType() );
+        couponTemplateRespVO.setDiscountPercent( bean.getDiscountPercent() );
+        couponTemplateRespVO.setDiscountPrice( bean.getDiscountPrice() );
+        couponTemplateRespVO.setDiscountLimitPrice( bean.getDiscountLimitPrice() );
+        couponTemplateRespVO.setId( bean.getId() );
+        couponTemplateRespVO.setStatus( bean.getStatus() );
+        couponTemplateRespVO.setTakeCount( bean.getTakeCount() );
+        couponTemplateRespVO.setUseCount( bean.getUseCount() );
+        couponTemplateRespVO.setCreateTime( bean.getCreateTime() );
+
+        return couponTemplateRespVO;
+    }
+
+    @Override
+    public PageResult<CouponTemplateRespVO> convertPage(PageResult<CouponTemplateDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<CouponTemplateRespVO> pageResult = new PageResult<CouponTemplateRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public CouponTemplatePageReqVO convert(AppCouponTemplatePageReqVO pageReqVO, List<Integer> canTakeTypes, Integer productScope, Long productScopeValue) {
+        if ( pageReqVO == null && canTakeTypes == null && productScope == null && productScopeValue == null ) {
+            return null;
+        }
+
+        CouponTemplatePageReqVO couponTemplatePageReqVO = new CouponTemplatePageReqVO();
+
+        if ( pageReqVO != null ) {
+            couponTemplatePageReqVO.setPageNo( pageReqVO.getPageNo() );
+            couponTemplatePageReqVO.setPageSize( pageReqVO.getPageSize() );
+            couponTemplatePageReqVO.setProductScope( pageReqVO.getProductScope() );
+        }
+        List<Integer> list = canTakeTypes;
+        if ( list != null ) {
+            couponTemplatePageReqVO.setCanTakeTypes( new ArrayList<Integer>( list ) );
+        }
+        couponTemplatePageReqVO.setProductScopeValue( productScopeValue );
+
+        return couponTemplatePageReqVO;
+    }
+
+    @Override
+    public PageResult<AppCouponTemplateRespVO> convertAppPage(PageResult<CouponTemplateDO> pageResult) {
+        if ( pageResult == null ) {
+            return null;
+        }
+
+        PageResult<AppCouponTemplateRespVO> pageResult1 = new PageResult<AppCouponTemplateRespVO>();
+
+        pageResult1.setList( convertAppList( pageResult.getList() ) );
+        pageResult1.setTotal( pageResult.getTotal() );
+
+        return pageResult1;
+    }
+
+    @Override
+    public List<AppCouponTemplateRespVO> convertAppList(List<CouponTemplateDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppCouponTemplateRespVO> list1 = new ArrayList<AppCouponTemplateRespVO>( list.size() );
+        for ( CouponTemplateDO couponTemplateDO : list ) {
+            list1.add( couponTemplateDOToAppCouponTemplateRespVO( couponTemplateDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<CouponTemplateRespVO> convertList(List<CouponTemplateDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<CouponTemplateRespVO> list1 = new ArrayList<CouponTemplateRespVO>( list.size() );
+        for ( CouponTemplateDO couponTemplateDO : list ) {
+            list1.add( convert( couponTemplateDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AppCouponTemplateRespVO couponTemplateDOToAppCouponTemplateRespVO(CouponTemplateDO couponTemplateDO) {
+        if ( couponTemplateDO == null ) {
+            return null;
+        }
+
+        AppCouponTemplateRespVO appCouponTemplateRespVO = new AppCouponTemplateRespVO();
+
+        appCouponTemplateRespVO.setId( couponTemplateDO.getId() );
+        appCouponTemplateRespVO.setName( couponTemplateDO.getName() );
+        appCouponTemplateRespVO.setTakeLimitCount( couponTemplateDO.getTakeLimitCount() );
+        appCouponTemplateRespVO.setUsePrice( couponTemplateDO.getUsePrice() );
+        appCouponTemplateRespVO.setValidityType( couponTemplateDO.getValidityType() );
+        appCouponTemplateRespVO.setValidStartTime( couponTemplateDO.getValidStartTime() );
+        appCouponTemplateRespVO.setValidEndTime( couponTemplateDO.getValidEndTime() );
+        appCouponTemplateRespVO.setFixedStartTerm( couponTemplateDO.getFixedStartTerm() );
+        appCouponTemplateRespVO.setFixedEndTerm( couponTemplateDO.getFixedEndTerm() );
+        appCouponTemplateRespVO.setDiscountType( couponTemplateDO.getDiscountType() );
+        appCouponTemplateRespVO.setDiscountPercent( couponTemplateDO.getDiscountPercent() );
+        appCouponTemplateRespVO.setDiscountPrice( couponTemplateDO.getDiscountPrice() );
+        appCouponTemplateRespVO.setDiscountLimitPrice( couponTemplateDO.getDiscountLimitPrice() );
+
+        return appCouponTemplateRespVO;
+    }
+}

+ 88 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/decorate/DecorateComponentConvertImpl.java

@@ -0,0 +1,88 @@
+package com.cdm.module.promotion.convert.decorate;
+
+import com.cdm.module.promotion.controller.admin.decorate.vo.DecorateComponentRespVO;
+import com.cdm.module.promotion.controller.admin.decorate.vo.DecorateComponentSaveReqVO;
+import com.cdm.module.promotion.controller.app.decorate.vo.AppDecorateComponentRespVO;
+import com.cdm.module.promotion.dal.dataobject.decorate.DecorateComponentDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class DecorateComponentConvertImpl implements DecorateComponentConvert {
+
+    @Override
+    public List<DecorateComponentRespVO> convertList02(List<DecorateComponentDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DecorateComponentRespVO> list1 = new ArrayList<DecorateComponentRespVO>( list.size() );
+        for ( DecorateComponentDO decorateComponentDO : list ) {
+            list1.add( decorateComponentDOToDecorateComponentRespVO( decorateComponentDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public DecorateComponentDO convert(DecorateComponentSaveReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DecorateComponentDO decorateComponentDO = new DecorateComponentDO();
+
+        decorateComponentDO.setPage( bean.getPage() );
+        decorateComponentDO.setCode( bean.getCode() );
+        decorateComponentDO.setValue( bean.getValue() );
+        decorateComponentDO.setStatus( bean.getStatus() );
+
+        return decorateComponentDO;
+    }
+
+    @Override
+    public List<AppDecorateComponentRespVO> convertList(List<DecorateComponentDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppDecorateComponentRespVO> list1 = new ArrayList<AppDecorateComponentRespVO>( list.size() );
+        for ( DecorateComponentDO decorateComponentDO : list ) {
+            list1.add( decorateComponentDOToAppDecorateComponentRespVO( decorateComponentDO ) );
+        }
+
+        return list1;
+    }
+
+    protected DecorateComponentRespVO decorateComponentDOToDecorateComponentRespVO(DecorateComponentDO decorateComponentDO) {
+        if ( decorateComponentDO == null ) {
+            return null;
+        }
+
+        DecorateComponentRespVO decorateComponentRespVO = new DecorateComponentRespVO();
+
+        decorateComponentRespVO.setCode( decorateComponentDO.getCode() );
+        decorateComponentRespVO.setValue( decorateComponentDO.getValue() );
+        decorateComponentRespVO.setStatus( decorateComponentDO.getStatus() );
+
+        return decorateComponentRespVO;
+    }
+
+    protected AppDecorateComponentRespVO decorateComponentDOToAppDecorateComponentRespVO(DecorateComponentDO decorateComponentDO) {
+        if ( decorateComponentDO == null ) {
+            return null;
+        }
+
+        AppDecorateComponentRespVO appDecorateComponentRespVO = new AppDecorateComponentRespVO();
+
+        appDecorateComponentRespVO.setCode( decorateComponentDO.getCode() );
+        appDecorateComponentRespVO.setValue( decorateComponentDO.getValue() );
+
+        return appDecorateComponentRespVO;
+    }
+}

+ 180 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/discount/DiscountActivityConvertImpl.java

@@ -0,0 +1,180 @@
+package com.cdm.module.promotion.convert.discount;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.api.discount.dto.DiscountProductRespDTO;
+import com.cdm.module.promotion.controller.admin.discount.vo.DiscountActivityBaseVO;
+import com.cdm.module.promotion.controller.admin.discount.vo.DiscountActivityCreateReqVO;
+import com.cdm.module.promotion.controller.admin.discount.vo.DiscountActivityRespVO;
+import com.cdm.module.promotion.controller.admin.discount.vo.DiscountActivityUpdateReqVO;
+import com.cdm.module.promotion.dal.dataobject.discount.DiscountActivityDO;
+import com.cdm.module.promotion.dal.dataobject.discount.DiscountProductDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class DiscountActivityConvertImpl implements DiscountActivityConvert {
+
+    @Override
+    public DiscountActivityDO convert(DiscountActivityCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiscountActivityDO discountActivityDO = new DiscountActivityDO();
+
+        discountActivityDO.setName( bean.getName() );
+        discountActivityDO.setStartTime( bean.getStartTime() );
+        discountActivityDO.setEndTime( bean.getEndTime() );
+        discountActivityDO.setRemark( bean.getRemark() );
+
+        return discountActivityDO;
+    }
+
+    @Override
+    public DiscountActivityDO convert(DiscountActivityUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiscountActivityDO discountActivityDO = new DiscountActivityDO();
+
+        discountActivityDO.setId( bean.getId() );
+        discountActivityDO.setName( bean.getName() );
+        discountActivityDO.setStartTime( bean.getStartTime() );
+        discountActivityDO.setEndTime( bean.getEndTime() );
+        discountActivityDO.setRemark( bean.getRemark() );
+
+        return discountActivityDO;
+    }
+
+    @Override
+    public DiscountActivityRespVO convert(DiscountActivityDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiscountActivityRespVO discountActivityRespVO = new DiscountActivityRespVO();
+
+        discountActivityRespVO.setName( bean.getName() );
+        discountActivityRespVO.setStartTime( bean.getStartTime() );
+        discountActivityRespVO.setEndTime( bean.getEndTime() );
+        discountActivityRespVO.setRemark( bean.getRemark() );
+        discountActivityRespVO.setId( bean.getId() );
+        discountActivityRespVO.setStatus( bean.getStatus() );
+        discountActivityRespVO.setCreateTime( bean.getCreateTime() );
+
+        return discountActivityRespVO;
+    }
+
+    @Override
+    public List<DiscountActivityRespVO> convertList(List<DiscountActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DiscountActivityRespVO> list1 = new ArrayList<DiscountActivityRespVO>( list.size() );
+        for ( DiscountActivityDO discountActivityDO : list ) {
+            list1.add( convert( discountActivityDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<DiscountActivityBaseVO.Product> convertList2(List<DiscountProductDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DiscountActivityBaseVO.Product> list1 = new ArrayList<DiscountActivityBaseVO.Product>( list.size() );
+        for ( DiscountProductDO discountProductDO : list ) {
+            list1.add( discountProductDOToProduct( discountProductDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<DiscountProductRespDTO> convertList02(List<DiscountProductDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DiscountProductRespDTO> list1 = new ArrayList<DiscountProductRespDTO>( list.size() );
+        for ( DiscountProductDO discountProductDO : list ) {
+            list1.add( discountProductDOToDiscountProductRespDTO( discountProductDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<DiscountActivityRespVO> convertPage(PageResult<DiscountActivityDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<DiscountActivityRespVO> pageResult = new PageResult<DiscountActivityRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public DiscountProductDO convert(DiscountActivityBaseVO.Product bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiscountProductDO discountProductDO = new DiscountProductDO();
+
+        discountProductDO.setSpuId( bean.getSpuId() );
+        discountProductDO.setSkuId( bean.getSkuId() );
+        discountProductDO.setDiscountType( bean.getDiscountType() );
+        discountProductDO.setDiscountPercent( bean.getDiscountPercent() );
+        discountProductDO.setDiscountPrice( bean.getDiscountPrice() );
+
+        return discountProductDO;
+    }
+
+    protected DiscountActivityBaseVO.Product discountProductDOToProduct(DiscountProductDO discountProductDO) {
+        if ( discountProductDO == null ) {
+            return null;
+        }
+
+        DiscountActivityBaseVO.Product product = new DiscountActivityBaseVO.Product();
+
+        product.setSpuId( discountProductDO.getSpuId() );
+        product.setSkuId( discountProductDO.getSkuId() );
+        product.setDiscountType( discountProductDO.getDiscountType() );
+        product.setDiscountPercent( discountProductDO.getDiscountPercent() );
+        product.setDiscountPrice( discountProductDO.getDiscountPrice() );
+
+        return product;
+    }
+
+    protected DiscountProductRespDTO discountProductDOToDiscountProductRespDTO(DiscountProductDO discountProductDO) {
+        if ( discountProductDO == null ) {
+            return null;
+        }
+
+        DiscountProductRespDTO discountProductRespDTO = new DiscountProductRespDTO();
+
+        discountProductRespDTO.setId( discountProductDO.getId() );
+        discountProductRespDTO.setSpuId( discountProductDO.getSpuId() );
+        discountProductRespDTO.setSkuId( discountProductDO.getSkuId() );
+        discountProductRespDTO.setDiscountType( discountProductDO.getDiscountType() );
+        discountProductRespDTO.setDiscountPercent( discountProductDO.getDiscountPercent() );
+        discountProductRespDTO.setDiscountPrice( discountProductDO.getDiscountPrice() );
+        discountProductRespDTO.setActivityId( discountProductDO.getActivityId() );
+
+        return discountProductRespDTO;
+    }
+}

+ 158 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/diy/DiyPageConvertImpl.java

@@ -0,0 +1,158 @@
+package com.cdm.module.promotion.convert.diy;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.diy.vo.page.DiyPageCreateReqVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.page.DiyPagePropertyRespVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.page.DiyPagePropertyUpdateRequestVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.page.DiyPageRespVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.page.DiyPageUpdateReqVO;
+import com.cdm.module.promotion.dal.dataobject.diy.DiyPageDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class DiyPageConvertImpl implements DiyPageConvert {
+
+    @Override
+    public DiyPageDO convert(DiyPageCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiyPageDO.DiyPageDOBuilder diyPageDO = DiyPageDO.builder();
+
+        diyPageDO.templateId( bean.getTemplateId() );
+        diyPageDO.name( bean.getName() );
+        diyPageDO.remark( bean.getRemark() );
+        List<String> list = bean.getPreviewImageUrls();
+        if ( list != null ) {
+            diyPageDO.previewImageUrls( new ArrayList<String>( list ) );
+        }
+
+        return diyPageDO.build();
+    }
+
+    @Override
+    public DiyPageDO convert(DiyPageUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiyPageDO.DiyPageDOBuilder diyPageDO = DiyPageDO.builder();
+
+        diyPageDO.id( bean.getId() );
+        diyPageDO.templateId( bean.getTemplateId() );
+        diyPageDO.name( bean.getName() );
+        diyPageDO.remark( bean.getRemark() );
+        List<String> list = bean.getPreviewImageUrls();
+        if ( list != null ) {
+            diyPageDO.previewImageUrls( new ArrayList<String>( list ) );
+        }
+
+        return diyPageDO.build();
+    }
+
+    @Override
+    public DiyPageRespVO convert(DiyPageDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiyPageRespVO diyPageRespVO = new DiyPageRespVO();
+
+        diyPageRespVO.setTemplateId( bean.getTemplateId() );
+        diyPageRespVO.setName( bean.getName() );
+        diyPageRespVO.setRemark( bean.getRemark() );
+        List<String> list = bean.getPreviewImageUrls();
+        if ( list != null ) {
+            diyPageRespVO.setPreviewImageUrls( new ArrayList<String>( list ) );
+        }
+        diyPageRespVO.setId( bean.getId() );
+        diyPageRespVO.setCreateTime( bean.getCreateTime() );
+
+        return diyPageRespVO;
+    }
+
+    @Override
+    public List<DiyPageRespVO> convertList(List<DiyPageDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DiyPageRespVO> list1 = new ArrayList<DiyPageRespVO>( list.size() );
+        for ( DiyPageDO diyPageDO : list ) {
+            list1.add( convert( diyPageDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<DiyPageRespVO> convertPage(PageResult<DiyPageDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<DiyPageRespVO> pageResult = new PageResult<DiyPageRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public DiyPageCreateReqVO convertCreateVo(Long templateId, String name, String remark) {
+        if ( templateId == null && name == null && remark == null ) {
+            return null;
+        }
+
+        DiyPageCreateReqVO diyPageCreateReqVO = new DiyPageCreateReqVO();
+
+        diyPageCreateReqVO.setTemplateId( templateId );
+        diyPageCreateReqVO.setName( name );
+        diyPageCreateReqVO.setRemark( remark );
+
+        return diyPageCreateReqVO;
+    }
+
+    @Override
+    public DiyPagePropertyRespVO convertPropertyVo(DiyPageDO diyPage) {
+        if ( diyPage == null ) {
+            return null;
+        }
+
+        DiyPagePropertyRespVO diyPagePropertyRespVO = new DiyPagePropertyRespVO();
+
+        diyPagePropertyRespVO.setTemplateId( diyPage.getTemplateId() );
+        diyPagePropertyRespVO.setName( diyPage.getName() );
+        diyPagePropertyRespVO.setRemark( diyPage.getRemark() );
+        List<String> list = diyPage.getPreviewImageUrls();
+        if ( list != null ) {
+            diyPagePropertyRespVO.setPreviewImageUrls( new ArrayList<String>( list ) );
+        }
+        diyPagePropertyRespVO.setId( diyPage.getId() );
+        diyPagePropertyRespVO.setProperty( diyPage.getProperty() );
+
+        return diyPagePropertyRespVO;
+    }
+
+    @Override
+    public DiyPageDO convert(DiyPagePropertyUpdateRequestVO updateReqVO) {
+        if ( updateReqVO == null ) {
+            return null;
+        }
+
+        DiyPageDO.DiyPageDOBuilder diyPageDO = DiyPageDO.builder();
+
+        diyPageDO.id( updateReqVO.getId() );
+        diyPageDO.property( updateReqVO.getProperty() );
+
+        return diyPageDO.build();
+    }
+}

+ 199 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/diy/DiyTemplateConvertImpl.java

@@ -0,0 +1,199 @@
+package com.cdm.module.promotion.convert.diy;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.diy.vo.page.DiyPagePropertyRespVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.template.DiyTemplateCreateReqVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.template.DiyTemplatePropertyRespVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.template.DiyTemplatePropertyUpdateRequestVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.template.DiyTemplateRespVO;
+import com.cdm.module.promotion.controller.admin.diy.vo.template.DiyTemplateUpdateReqVO;
+import com.cdm.module.promotion.controller.app.diy.vo.AppDiyTemplatePropertyRespVO;
+import com.cdm.module.promotion.dal.dataobject.diy.DiyPageDO;
+import com.cdm.module.promotion.dal.dataobject.diy.DiyTemplateDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class DiyTemplateConvertImpl implements DiyTemplateConvert {
+
+    @Override
+    public DiyTemplateDO convert(DiyTemplateCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiyTemplateDO.DiyTemplateDOBuilder diyTemplateDO = DiyTemplateDO.builder();
+
+        diyTemplateDO.name( bean.getName() );
+        diyTemplateDO.remark( bean.getRemark() );
+        List<String> list = bean.getPreviewImageUrls();
+        if ( list != null ) {
+            diyTemplateDO.previewImageUrls( new ArrayList<String>( list ) );
+        }
+
+        return diyTemplateDO.build();
+    }
+
+    @Override
+    public DiyTemplateDO convert(DiyTemplateUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiyTemplateDO.DiyTemplateDOBuilder diyTemplateDO = DiyTemplateDO.builder();
+
+        diyTemplateDO.id( bean.getId() );
+        diyTemplateDO.name( bean.getName() );
+        diyTemplateDO.remark( bean.getRemark() );
+        List<String> list = bean.getPreviewImageUrls();
+        if ( list != null ) {
+            diyTemplateDO.previewImageUrls( new ArrayList<String>( list ) );
+        }
+
+        return diyTemplateDO.build();
+    }
+
+    @Override
+    public DiyTemplateRespVO convert(DiyTemplateDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DiyTemplateRespVO diyTemplateRespVO = new DiyTemplateRespVO();
+
+        diyTemplateRespVO.setName( bean.getName() );
+        diyTemplateRespVO.setRemark( bean.getRemark() );
+        List<String> list = bean.getPreviewImageUrls();
+        if ( list != null ) {
+            diyTemplateRespVO.setPreviewImageUrls( new ArrayList<String>( list ) );
+        }
+        diyTemplateRespVO.setId( bean.getId() );
+        diyTemplateRespVO.setCreateTime( bean.getCreateTime() );
+        diyTemplateRespVO.setUsed( bean.getUsed() );
+        diyTemplateRespVO.setUsedTime( bean.getUsedTime() );
+
+        return diyTemplateRespVO;
+    }
+
+    @Override
+    public List<DiyTemplateRespVO> convertList(List<DiyTemplateDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DiyTemplateRespVO> list1 = new ArrayList<DiyTemplateRespVO>( list.size() );
+        for ( DiyTemplateDO diyTemplateDO : list ) {
+            list1.add( convert( diyTemplateDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<DiyTemplateRespVO> convertPage(PageResult<DiyTemplateDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<DiyTemplateRespVO> pageResult = new PageResult<DiyTemplateRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public DiyTemplatePropertyRespVO convertPropertyVo(DiyTemplateDO diyTemplate, List<DiyPageDO> pages) {
+        if ( diyTemplate == null && pages == null ) {
+            return null;
+        }
+
+        DiyTemplatePropertyRespVO diyTemplatePropertyRespVO = new DiyTemplatePropertyRespVO();
+
+        if ( diyTemplate != null ) {
+            diyTemplatePropertyRespVO.setName( diyTemplate.getName() );
+            diyTemplatePropertyRespVO.setRemark( diyTemplate.getRemark() );
+            List<String> list = diyTemplate.getPreviewImageUrls();
+            if ( list != null ) {
+                diyTemplatePropertyRespVO.setPreviewImageUrls( new ArrayList<String>( list ) );
+            }
+            diyTemplatePropertyRespVO.setId( diyTemplate.getId() );
+            diyTemplatePropertyRespVO.setProperty( diyTemplate.getProperty() );
+        }
+        diyTemplatePropertyRespVO.setPages( diyPageDOListToDiyPagePropertyRespVOList( pages ) );
+
+        return diyTemplatePropertyRespVO;
+    }
+
+    @Override
+    public AppDiyTemplatePropertyRespVO convertPropertyVo2(DiyTemplateDO diyTemplate, String home, String user) {
+        if ( diyTemplate == null && home == null && user == null ) {
+            return null;
+        }
+
+        AppDiyTemplatePropertyRespVO appDiyTemplatePropertyRespVO = new AppDiyTemplatePropertyRespVO();
+
+        if ( diyTemplate != null ) {
+            appDiyTemplatePropertyRespVO.setId( diyTemplate.getId() );
+            appDiyTemplatePropertyRespVO.setName( diyTemplate.getName() );
+            appDiyTemplatePropertyRespVO.setProperty( diyTemplate.getProperty() );
+        }
+        appDiyTemplatePropertyRespVO.setHome( home );
+        appDiyTemplatePropertyRespVO.setUser( user );
+
+        return appDiyTemplatePropertyRespVO;
+    }
+
+    @Override
+    public DiyTemplateDO convert(DiyTemplatePropertyUpdateRequestVO updateReqVO) {
+        if ( updateReqVO == null ) {
+            return null;
+        }
+
+        DiyTemplateDO.DiyTemplateDOBuilder diyTemplateDO = DiyTemplateDO.builder();
+
+        diyTemplateDO.id( updateReqVO.getId() );
+        diyTemplateDO.property( updateReqVO.getProperty() );
+
+        return diyTemplateDO.build();
+    }
+
+    protected DiyPagePropertyRespVO diyPageDOToDiyPagePropertyRespVO(DiyPageDO diyPageDO) {
+        if ( diyPageDO == null ) {
+            return null;
+        }
+
+        DiyPagePropertyRespVO diyPagePropertyRespVO = new DiyPagePropertyRespVO();
+
+        diyPagePropertyRespVO.setTemplateId( diyPageDO.getTemplateId() );
+        diyPagePropertyRespVO.setName( diyPageDO.getName() );
+        diyPagePropertyRespVO.setRemark( diyPageDO.getRemark() );
+        List<String> list = diyPageDO.getPreviewImageUrls();
+        if ( list != null ) {
+            diyPagePropertyRespVO.setPreviewImageUrls( new ArrayList<String>( list ) );
+        }
+        diyPagePropertyRespVO.setId( diyPageDO.getId() );
+        diyPagePropertyRespVO.setProperty( diyPageDO.getProperty() );
+
+        return diyPagePropertyRespVO;
+    }
+
+    protected List<DiyPagePropertyRespVO> diyPageDOListToDiyPagePropertyRespVOList(List<DiyPageDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DiyPagePropertyRespVO> list1 = new ArrayList<DiyPagePropertyRespVO>( list.size() );
+        for ( DiyPageDO diyPageDO : list ) {
+            list1.add( diyPageDOToDiyPagePropertyRespVO( diyPageDO ) );
+        }
+
+        return list1;
+    }
+}

+ 193 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/reward/RewardActivityConvertImpl.java

@@ -0,0 +1,193 @@
+package com.cdm.module.promotion.convert.reward;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.reward.vo.RewardActivityBaseVO;
+import com.cdm.module.promotion.controller.admin.reward.vo.RewardActivityCreateReqVO;
+import com.cdm.module.promotion.controller.admin.reward.vo.RewardActivityRespVO;
+import com.cdm.module.promotion.controller.admin.reward.vo.RewardActivityUpdateReqVO;
+import com.cdm.module.promotion.dal.dataobject.reward.RewardActivityDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:31+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class RewardActivityConvertImpl implements RewardActivityConvert {
+
+    @Override
+    public RewardActivityDO convert(RewardActivityCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        RewardActivityDO rewardActivityDO = new RewardActivityDO();
+
+        rewardActivityDO.setName( bean.getName() );
+        rewardActivityDO.setStartTime( bean.getStartTime() );
+        rewardActivityDO.setEndTime( bean.getEndTime() );
+        rewardActivityDO.setRemark( bean.getRemark() );
+        rewardActivityDO.setConditionType( bean.getConditionType() );
+        rewardActivityDO.setProductScope( bean.getProductScope() );
+        List<Long> list = bean.getProductSpuIds();
+        if ( list != null ) {
+            rewardActivityDO.setProductSpuIds( new ArrayList<Long>( list ) );
+        }
+        rewardActivityDO.setRules( ruleListToRuleList( bean.getRules() ) );
+
+        return rewardActivityDO;
+    }
+
+    @Override
+    public RewardActivityDO convert(RewardActivityUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        RewardActivityDO rewardActivityDO = new RewardActivityDO();
+
+        rewardActivityDO.setId( bean.getId() );
+        rewardActivityDO.setName( bean.getName() );
+        rewardActivityDO.setStartTime( bean.getStartTime() );
+        rewardActivityDO.setEndTime( bean.getEndTime() );
+        rewardActivityDO.setRemark( bean.getRemark() );
+        rewardActivityDO.setConditionType( bean.getConditionType() );
+        rewardActivityDO.setProductScope( bean.getProductScope() );
+        List<Long> list = bean.getProductSpuIds();
+        if ( list != null ) {
+            rewardActivityDO.setProductSpuIds( new ArrayList<Long>( list ) );
+        }
+        rewardActivityDO.setRules( ruleListToRuleList( bean.getRules() ) );
+
+        return rewardActivityDO;
+    }
+
+    @Override
+    public RewardActivityRespVO convert(RewardActivityDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        RewardActivityRespVO rewardActivityRespVO = new RewardActivityRespVO();
+
+        rewardActivityRespVO.setName( bean.getName() );
+        rewardActivityRespVO.setStartTime( bean.getStartTime() );
+        rewardActivityRespVO.setEndTime( bean.getEndTime() );
+        rewardActivityRespVO.setRemark( bean.getRemark() );
+        rewardActivityRespVO.setConditionType( bean.getConditionType() );
+        rewardActivityRespVO.setProductScope( bean.getProductScope() );
+        List<Long> list = bean.getProductSpuIds();
+        if ( list != null ) {
+            rewardActivityRespVO.setProductSpuIds( new ArrayList<Long>( list ) );
+        }
+        rewardActivityRespVO.setRules( ruleListToRuleList1( bean.getRules() ) );
+        if ( bean.getId() != null ) {
+            rewardActivityRespVO.setId( bean.getId().intValue() );
+        }
+        rewardActivityRespVO.setStatus( bean.getStatus() );
+        rewardActivityRespVO.setCreateTime( bean.getCreateTime() );
+
+        return rewardActivityRespVO;
+    }
+
+    @Override
+    public PageResult<RewardActivityRespVO> convertPage(PageResult<RewardActivityDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<RewardActivityRespVO> pageResult = new PageResult<RewardActivityRespVO>();
+
+        pageResult.setList( rewardActivityDOListToRewardActivityRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    protected RewardActivityDO.Rule ruleToRule(RewardActivityBaseVO.Rule rule) {
+        if ( rule == null ) {
+            return null;
+        }
+
+        RewardActivityDO.Rule rule1 = new RewardActivityDO.Rule();
+
+        rule1.setLimit( rule.getLimit() );
+        rule1.setDiscountPrice( rule.getDiscountPrice() );
+        rule1.setFreeDelivery( rule.getFreeDelivery() );
+        rule1.setPoint( rule.getPoint() );
+        List<Long> list = rule.getCouponIds();
+        if ( list != null ) {
+            rule1.setCouponIds( new ArrayList<Long>( list ) );
+        }
+        List<Integer> list1 = rule.getCouponCounts();
+        if ( list1 != null ) {
+            rule1.setCouponCounts( new ArrayList<Integer>( list1 ) );
+        }
+
+        return rule1;
+    }
+
+    protected List<RewardActivityDO.Rule> ruleListToRuleList(List<RewardActivityBaseVO.Rule> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<RewardActivityDO.Rule> list1 = new ArrayList<RewardActivityDO.Rule>( list.size() );
+        for ( RewardActivityBaseVO.Rule rule : list ) {
+            list1.add( ruleToRule( rule ) );
+        }
+
+        return list1;
+    }
+
+    protected RewardActivityBaseVO.Rule ruleToRule1(RewardActivityDO.Rule rule) {
+        if ( rule == null ) {
+            return null;
+        }
+
+        RewardActivityBaseVO.Rule rule1 = new RewardActivityBaseVO.Rule();
+
+        rule1.setLimit( rule.getLimit() );
+        rule1.setDiscountPrice( rule.getDiscountPrice() );
+        rule1.setFreeDelivery( rule.getFreeDelivery() );
+        rule1.setPoint( rule.getPoint() );
+        List<Long> list = rule.getCouponIds();
+        if ( list != null ) {
+            rule1.setCouponIds( new ArrayList<Long>( list ) );
+        }
+        List<Integer> list1 = rule.getCouponCounts();
+        if ( list1 != null ) {
+            rule1.setCouponCounts( new ArrayList<Integer>( list1 ) );
+        }
+
+        return rule1;
+    }
+
+    protected List<RewardActivityBaseVO.Rule> ruleListToRuleList1(List<RewardActivityDO.Rule> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<RewardActivityBaseVO.Rule> list1 = new ArrayList<RewardActivityBaseVO.Rule>( list.size() );
+        for ( RewardActivityDO.Rule rule : list ) {
+            list1.add( ruleToRule1( rule ) );
+        }
+
+        return list1;
+    }
+
+    protected List<RewardActivityRespVO> rewardActivityDOListToRewardActivityRespVOList(List<RewardActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<RewardActivityRespVO> list1 = new ArrayList<RewardActivityRespVO>( list.size() );
+        for ( RewardActivityDO rewardActivityDO : list ) {
+            list1.add( convert( rewardActivityDO ) );
+        }
+
+        return list1;
+    }
+}

+ 327 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/seckill/seckillactivity/SeckillActivityConvertImpl.java

@@ -0,0 +1,327 @@
+package com.cdm.module.promotion.convert.seckill.seckillactivity;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.api.seckill.dto.SeckillValidateJoinRespDTO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.activity.SeckillActivityCreateReqVO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.activity.SeckillActivityDetailRespVO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.activity.SeckillActivityRespVO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.activity.SeckillActivityUpdateReqVO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.product.SeckillProductBaseVO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.product.SeckillProductRespVO;
+import com.cdm.module.promotion.controller.app.seckill.vo.activity.AppSeckillActivityDetailRespVO;
+import com.cdm.module.promotion.controller.app.seckill.vo.activity.AppSeckillActivityRespVO;
+import com.cdm.module.promotion.dal.dataobject.seckill.SeckillActivityDO;
+import com.cdm.module.promotion.dal.dataobject.seckill.SeckillProductDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class SeckillActivityConvertImpl implements SeckillActivityConvert {
+
+    @Override
+    public SeckillActivityDO convert(SeckillActivityCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        SeckillActivityDO seckillActivityDO = new SeckillActivityDO();
+
+        seckillActivityDO.setSpuId( bean.getSpuId() );
+        seckillActivityDO.setName( bean.getName() );
+        seckillActivityDO.setRemark( bean.getRemark() );
+        seckillActivityDO.setStartTime( bean.getStartTime() );
+        seckillActivityDO.setEndTime( bean.getEndTime() );
+        seckillActivityDO.setSort( bean.getSort() );
+        List<Long> list = bean.getConfigIds();
+        if ( list != null ) {
+            seckillActivityDO.setConfigIds( new ArrayList<Long>( list ) );
+        }
+        seckillActivityDO.setTotalLimitCount( bean.getTotalLimitCount() );
+        seckillActivityDO.setSingleLimitCount( bean.getSingleLimitCount() );
+
+        return seckillActivityDO;
+    }
+
+    @Override
+    public SeckillActivityDO convert(SeckillActivityUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        SeckillActivityDO seckillActivityDO = new SeckillActivityDO();
+
+        seckillActivityDO.setId( bean.getId() );
+        seckillActivityDO.setSpuId( bean.getSpuId() );
+        seckillActivityDO.setName( bean.getName() );
+        seckillActivityDO.setRemark( bean.getRemark() );
+        seckillActivityDO.setStartTime( bean.getStartTime() );
+        seckillActivityDO.setEndTime( bean.getEndTime() );
+        seckillActivityDO.setSort( bean.getSort() );
+        List<Long> list = bean.getConfigIds();
+        if ( list != null ) {
+            seckillActivityDO.setConfigIds( new ArrayList<Long>( list ) );
+        }
+        seckillActivityDO.setTotalLimitCount( bean.getTotalLimitCount() );
+        seckillActivityDO.setSingleLimitCount( bean.getSingleLimitCount() );
+
+        return seckillActivityDO;
+    }
+
+    @Override
+    public SeckillActivityRespVO convert(SeckillActivityDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        SeckillActivityRespVO seckillActivityRespVO = new SeckillActivityRespVO();
+
+        seckillActivityRespVO.setSpuId( bean.getSpuId() );
+        seckillActivityRespVO.setName( bean.getName() );
+        seckillActivityRespVO.setRemark( bean.getRemark() );
+        seckillActivityRespVO.setStartTime( bean.getStartTime() );
+        seckillActivityRespVO.setEndTime( bean.getEndTime() );
+        seckillActivityRespVO.setSort( bean.getSort() );
+        List<Long> list = bean.getConfigIds();
+        if ( list != null ) {
+            seckillActivityRespVO.setConfigIds( new ArrayList<Long>( list ) );
+        }
+        seckillActivityRespVO.setTotalLimitCount( bean.getTotalLimitCount() );
+        seckillActivityRespVO.setSingleLimitCount( bean.getSingleLimitCount() );
+        seckillActivityRespVO.setId( bean.getId() );
+        seckillActivityRespVO.setStatus( bean.getStatus() );
+        seckillActivityRespVO.setStock( bean.getStock() );
+        seckillActivityRespVO.setTotalStock( bean.getTotalStock() );
+        seckillActivityRespVO.setCreateTime( bean.getCreateTime() );
+
+        return seckillActivityRespVO;
+    }
+
+    @Override
+    public List<SeckillActivityRespVO> convertList(List<SeckillActivityDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<SeckillActivityRespVO> list1 = new ArrayList<SeckillActivityRespVO>( list.size() );
+        for ( SeckillActivityDO seckillActivityDO : list ) {
+            list1.add( convert( seckillActivityDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<SeckillActivityRespVO> convertPage(PageResult<SeckillActivityDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<SeckillActivityRespVO> pageResult = new PageResult<SeckillActivityRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public SeckillActivityDetailRespVO convert1(SeckillActivityDO activity) {
+        if ( activity == null ) {
+            return null;
+        }
+
+        SeckillActivityDetailRespVO seckillActivityDetailRespVO = new SeckillActivityDetailRespVO();
+
+        seckillActivityDetailRespVO.setSpuId( activity.getSpuId() );
+        seckillActivityDetailRespVO.setName( activity.getName() );
+        seckillActivityDetailRespVO.setRemark( activity.getRemark() );
+        seckillActivityDetailRespVO.setStartTime( activity.getStartTime() );
+        seckillActivityDetailRespVO.setEndTime( activity.getEndTime() );
+        seckillActivityDetailRespVO.setSort( activity.getSort() );
+        List<Long> list = activity.getConfigIds();
+        if ( list != null ) {
+            seckillActivityDetailRespVO.setConfigIds( new ArrayList<Long>( list ) );
+        }
+        seckillActivityDetailRespVO.setTotalLimitCount( activity.getTotalLimitCount() );
+        seckillActivityDetailRespVO.setSingleLimitCount( activity.getSingleLimitCount() );
+        seckillActivityDetailRespVO.setId( activity.getId() );
+
+        return seckillActivityDetailRespVO;
+    }
+
+    @Override
+    public SeckillProductDO convert(SeckillActivityDO activity, SeckillProductBaseVO product) {
+        if ( activity == null && product == null ) {
+            return null;
+        }
+
+        SeckillProductDO.SeckillProductDOBuilder seckillProductDO = SeckillProductDO.builder();
+
+        if ( activity != null ) {
+            seckillProductDO.activityId( activity.getId() );
+            List<Long> list = activity.getConfigIds();
+            if ( list != null ) {
+                seckillProductDO.configIds( new ArrayList<Long>( list ) );
+            }
+            seckillProductDO.spuId( activity.getSpuId() );
+            seckillProductDO.activityStartTime( activity.getStartTime() );
+            seckillProductDO.activityEndTime( activity.getEndTime() );
+        }
+        if ( product != null ) {
+            seckillProductDO.skuId( product.getSkuId() );
+            seckillProductDO.seckillPrice( product.getSeckillPrice() );
+            seckillProductDO.stock( product.getStock() );
+        }
+
+        return seckillProductDO.build();
+    }
+
+    @Override
+    public List<SeckillProductRespVO> convertList2(List<SeckillProductDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<SeckillProductRespVO> list1 = new ArrayList<SeckillProductRespVO>( list.size() );
+        for ( SeckillProductDO seckillProductDO : list ) {
+            list1.add( seckillProductDOToSeckillProductRespVO( seckillProductDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<AppSeckillActivityRespVO> convertList3(List<SeckillActivityDO> activityList) {
+        if ( activityList == null ) {
+            return null;
+        }
+
+        List<AppSeckillActivityRespVO> list = new ArrayList<AppSeckillActivityRespVO>( activityList.size() );
+        for ( SeckillActivityDO seckillActivityDO : activityList ) {
+            list.add( seckillActivityDOToAppSeckillActivityRespVO( seckillActivityDO ) );
+        }
+
+        return list;
+    }
+
+    @Override
+    public PageResult<AppSeckillActivityRespVO> convertPage1(PageResult<SeckillActivityDO> pageResult) {
+        if ( pageResult == null ) {
+            return null;
+        }
+
+        PageResult<AppSeckillActivityRespVO> pageResult1 = new PageResult<AppSeckillActivityRespVO>();
+
+        pageResult1.setList( convertList3( pageResult.getList() ) );
+        pageResult1.setTotal( pageResult.getTotal() );
+
+        return pageResult1;
+    }
+
+    @Override
+    public AppSeckillActivityDetailRespVO convert2(SeckillActivityDO seckillActivity) {
+        if ( seckillActivity == null ) {
+            return null;
+        }
+
+        AppSeckillActivityDetailRespVO appSeckillActivityDetailRespVO = new AppSeckillActivityDetailRespVO();
+
+        appSeckillActivityDetailRespVO.setId( seckillActivity.getId() );
+        appSeckillActivityDetailRespVO.setName( seckillActivity.getName() );
+        appSeckillActivityDetailRespVO.setStatus( seckillActivity.getStatus() );
+        appSeckillActivityDetailRespVO.setStartTime( seckillActivity.getStartTime() );
+        appSeckillActivityDetailRespVO.setEndTime( seckillActivity.getEndTime() );
+        appSeckillActivityDetailRespVO.setSpuId( seckillActivity.getSpuId() );
+        appSeckillActivityDetailRespVO.setTotalLimitCount( seckillActivity.getTotalLimitCount() );
+        appSeckillActivityDetailRespVO.setSingleLimitCount( seckillActivity.getSingleLimitCount() );
+        appSeckillActivityDetailRespVO.setStock( seckillActivity.getStock() );
+        appSeckillActivityDetailRespVO.setTotalStock( seckillActivity.getTotalStock() );
+
+        return appSeckillActivityDetailRespVO;
+    }
+
+    @Override
+    public List<AppSeckillActivityDetailRespVO.Product> convertList1(List<SeckillProductDO> products) {
+        if ( products == null ) {
+            return null;
+        }
+
+        List<AppSeckillActivityDetailRespVO.Product> list = new ArrayList<AppSeckillActivityDetailRespVO.Product>( products.size() );
+        for ( SeckillProductDO seckillProductDO : products ) {
+            list.add( seckillProductDOToProduct( seckillProductDO ) );
+        }
+
+        return list;
+    }
+
+    @Override
+    public SeckillValidateJoinRespDTO convert02(SeckillActivityDO activity, SeckillProductDO product) {
+        if ( activity == null && product == null ) {
+            return null;
+        }
+
+        SeckillValidateJoinRespDTO seckillValidateJoinRespDTO = new SeckillValidateJoinRespDTO();
+
+        if ( activity != null ) {
+            seckillValidateJoinRespDTO.setName( activity.getName() );
+            seckillValidateJoinRespDTO.setTotalLimitCount( activity.getTotalLimitCount() );
+        }
+        if ( product != null ) {
+            seckillValidateJoinRespDTO.setSeckillPrice( product.getSeckillPrice() );
+        }
+
+        return seckillValidateJoinRespDTO;
+    }
+
+    protected SeckillProductRespVO seckillProductDOToSeckillProductRespVO(SeckillProductDO seckillProductDO) {
+        if ( seckillProductDO == null ) {
+            return null;
+        }
+
+        SeckillProductRespVO seckillProductRespVO = new SeckillProductRespVO();
+
+        seckillProductRespVO.setSkuId( seckillProductDO.getSkuId() );
+        seckillProductRespVO.setSeckillPrice( seckillProductDO.getSeckillPrice() );
+        seckillProductRespVO.setStock( seckillProductDO.getStock() );
+        seckillProductRespVO.setId( seckillProductDO.getId() );
+        seckillProductRespVO.setCreateTime( seckillProductDO.getCreateTime() );
+
+        return seckillProductRespVO;
+    }
+
+    protected AppSeckillActivityRespVO seckillActivityDOToAppSeckillActivityRespVO(SeckillActivityDO seckillActivityDO) {
+        if ( seckillActivityDO == null ) {
+            return null;
+        }
+
+        AppSeckillActivityRespVO appSeckillActivityRespVO = new AppSeckillActivityRespVO();
+
+        appSeckillActivityRespVO.setId( seckillActivityDO.getId() );
+        appSeckillActivityRespVO.setName( seckillActivityDO.getName() );
+        appSeckillActivityRespVO.setSpuId( seckillActivityDO.getSpuId() );
+        appSeckillActivityRespVO.setStatus( seckillActivityDO.getStatus() );
+        appSeckillActivityRespVO.setStock( seckillActivityDO.getStock() );
+        appSeckillActivityRespVO.setTotalStock( seckillActivityDO.getTotalStock() );
+
+        return appSeckillActivityRespVO;
+    }
+
+    protected AppSeckillActivityDetailRespVO.Product seckillProductDOToProduct(SeckillProductDO seckillProductDO) {
+        if ( seckillProductDO == null ) {
+            return null;
+        }
+
+        AppSeckillActivityDetailRespVO.Product product = new AppSeckillActivityDetailRespVO.Product();
+
+        product.setSkuId( seckillProductDO.getSkuId() );
+        product.setSeckillPrice( seckillProductDO.getSeckillPrice() );
+        product.setStock( seckillProductDO.getStock() );
+
+        return product;
+    }
+}

+ 173 - 0
cdm-module-mall/cdm-module-promotion-biz/target/generated-sources/annotations/com/cdm/module/promotion/convert/seckill/seckillconfig/SeckillConfigConvertImpl.java

@@ -0,0 +1,173 @@
+package com.cdm.module.promotion.convert.seckill.seckillconfig;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.promotion.controller.admin.seckill.vo.config.SeckillConfigCreateReqVO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.config.SeckillConfigRespVO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.config.SeckillConfigSimpleRespVO;
+import com.cdm.module.promotion.controller.admin.seckill.vo.config.SeckillConfigUpdateReqVO;
+import com.cdm.module.promotion.controller.app.seckill.vo.config.AppSeckillConfigRespVO;
+import com.cdm.module.promotion.dal.dataobject.seckill.SeckillConfigDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class SeckillConfigConvertImpl implements SeckillConfigConvert {
+
+    @Override
+    public SeckillConfigDO convert(SeckillConfigCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        SeckillConfigDO.SeckillConfigDOBuilder seckillConfigDO = SeckillConfigDO.builder();
+
+        seckillConfigDO.name( bean.getName() );
+        seckillConfigDO.startTime( bean.getStartTime() );
+        seckillConfigDO.endTime( bean.getEndTime() );
+        List<String> list = bean.getSliderPicUrls();
+        if ( list != null ) {
+            seckillConfigDO.sliderPicUrls( new ArrayList<String>( list ) );
+        }
+        seckillConfigDO.status( bean.getStatus() );
+
+        return seckillConfigDO.build();
+    }
+
+    @Override
+    public SeckillConfigDO convert(SeckillConfigUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        SeckillConfigDO.SeckillConfigDOBuilder seckillConfigDO = SeckillConfigDO.builder();
+
+        seckillConfigDO.id( bean.getId() );
+        seckillConfigDO.name( bean.getName() );
+        seckillConfigDO.startTime( bean.getStartTime() );
+        seckillConfigDO.endTime( bean.getEndTime() );
+        List<String> list = bean.getSliderPicUrls();
+        if ( list != null ) {
+            seckillConfigDO.sliderPicUrls( new ArrayList<String>( list ) );
+        }
+        seckillConfigDO.status( bean.getStatus() );
+
+        return seckillConfigDO.build();
+    }
+
+    @Override
+    public SeckillConfigRespVO convert(SeckillConfigDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        SeckillConfigRespVO seckillConfigRespVO = new SeckillConfigRespVO();
+
+        seckillConfigRespVO.setName( bean.getName() );
+        seckillConfigRespVO.setStartTime( bean.getStartTime() );
+        seckillConfigRespVO.setEndTime( bean.getEndTime() );
+        List<String> list = bean.getSliderPicUrls();
+        if ( list != null ) {
+            seckillConfigRespVO.setSliderPicUrls( new ArrayList<String>( list ) );
+        }
+        seckillConfigRespVO.setStatus( bean.getStatus() );
+        seckillConfigRespVO.setId( bean.getId() );
+        seckillConfigRespVO.setCreateTime( bean.getCreateTime() );
+
+        return seckillConfigRespVO;
+    }
+
+    @Override
+    public List<SeckillConfigRespVO> convertList(List<SeckillConfigDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<SeckillConfigRespVO> list1 = new ArrayList<SeckillConfigRespVO>( list.size() );
+        for ( SeckillConfigDO seckillConfigDO : list ) {
+            list1.add( convert( seckillConfigDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<SeckillConfigSimpleRespVO> convertList1(List<SeckillConfigDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<SeckillConfigSimpleRespVO> list1 = new ArrayList<SeckillConfigSimpleRespVO>( list.size() );
+        for ( SeckillConfigDO seckillConfigDO : list ) {
+            list1.add( seckillConfigDOToSeckillConfigSimpleRespVO( seckillConfigDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<SeckillConfigRespVO> convertPage(PageResult<SeckillConfigDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<SeckillConfigRespVO> pageResult = new PageResult<SeckillConfigRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<AppSeckillConfigRespVO> convertList2(List<SeckillConfigDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppSeckillConfigRespVO> list1 = new ArrayList<AppSeckillConfigRespVO>( list.size() );
+        for ( SeckillConfigDO seckillConfigDO : list ) {
+            list1.add( convert1( seckillConfigDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public AppSeckillConfigRespVO convert1(SeckillConfigDO filteredConfig) {
+        if ( filteredConfig == null ) {
+            return null;
+        }
+
+        AppSeckillConfigRespVO appSeckillConfigRespVO = new AppSeckillConfigRespVO();
+
+        appSeckillConfigRespVO.setId( filteredConfig.getId() );
+        appSeckillConfigRespVO.setStartTime( filteredConfig.getStartTime() );
+        appSeckillConfigRespVO.setEndTime( filteredConfig.getEndTime() );
+        List<String> list = filteredConfig.getSliderPicUrls();
+        if ( list != null ) {
+            appSeckillConfigRespVO.setSliderPicUrls( new ArrayList<String>( list ) );
+        }
+
+        return appSeckillConfigRespVO;
+    }
+
+    protected SeckillConfigSimpleRespVO seckillConfigDOToSeckillConfigSimpleRespVO(SeckillConfigDO seckillConfigDO) {
+        if ( seckillConfigDO == null ) {
+            return null;
+        }
+
+        SeckillConfigSimpleRespVO seckillConfigSimpleRespVO = new SeckillConfigSimpleRespVO();
+
+        seckillConfigSimpleRespVO.setId( seckillConfigDO.getId() );
+        seckillConfigSimpleRespVO.setName( seckillConfigDO.getName() );
+        seckillConfigSimpleRespVO.setStartTime( seckillConfigDO.getStartTime() );
+        seckillConfigSimpleRespVO.setEndTime( seckillConfigDO.getEndTime() );
+
+        return seckillConfigSimpleRespVO;
+    }
+}

+ 51 - 0
cdm-module-mall/cdm-module-statistics-biz/target/generated-sources/annotations/com/cdm/module/statistics/convert/member/MemberStatisticsConvertImpl.java

@@ -0,0 +1,51 @@
+package com.cdm.module.statistics.convert.member;
+
+import com.cdm.module.statistics.controller.admin.common.vo.DataComparisonRespVO;
+import com.cdm.module.statistics.controller.admin.member.vo.MemberAnalyseDataRespVO;
+import com.cdm.module.statistics.controller.admin.member.vo.MemberAnalyseRespVO;
+import com.cdm.module.statistics.controller.admin.member.vo.MemberSummaryRespVO;
+import com.cdm.module.statistics.service.pay.bo.RechargeSummaryRespBO;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:18+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class MemberStatisticsConvertImpl implements MemberStatisticsConvert {
+
+    @Override
+    public MemberSummaryRespVO convert(RechargeSummaryRespBO rechargeSummary, Integer expensePrice, Integer userCount) {
+        if ( rechargeSummary == null && expensePrice == null && userCount == null ) {
+            return null;
+        }
+
+        MemberSummaryRespVO memberSummaryRespVO = new MemberSummaryRespVO();
+
+        if ( rechargeSummary != null ) {
+            memberSummaryRespVO.setRechargeUserCount( rechargeSummary.getRechargeUserCount() );
+            memberSummaryRespVO.setRechargePrice( rechargeSummary.getRechargePrice() );
+        }
+        memberSummaryRespVO.setExpensePrice( expensePrice );
+        memberSummaryRespVO.setUserCount( userCount );
+
+        return memberSummaryRespVO;
+    }
+
+    @Override
+    public MemberAnalyseRespVO convert(Integer visitUserCount, Integer orderUserCount, Integer payUserCount, int atv, DataComparisonRespVO<MemberAnalyseDataRespVO> comparison) {
+        if ( visitUserCount == null && orderUserCount == null && payUserCount == null && comparison == null ) {
+            return null;
+        }
+
+        MemberAnalyseRespVO memberAnalyseRespVO = new MemberAnalyseRespVO();
+
+        memberAnalyseRespVO.setVisitUserCount( visitUserCount );
+        memberAnalyseRespVO.setOrderUserCount( orderUserCount );
+        memberAnalyseRespVO.setPayUserCount( payUserCount );
+        memberAnalyseRespVO.setAtv( atv );
+        memberAnalyseRespVO.setComparison( comparison );
+
+        return memberAnalyseRespVO;
+    }
+}

+ 25 - 0
cdm-module-mall/cdm-module-statistics-biz/target/generated-sources/annotations/com/cdm/module/statistics/convert/pay/PayStatisticsConvertImpl.java

@@ -0,0 +1,25 @@
+package com.cdm.module.statistics.convert.pay;
+
+import com.cdm.module.statistics.controller.admin.pay.vo.PaySummaryRespVO;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:18+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class PayStatisticsConvertImpl implements PayStatisticsConvert {
+
+    @Override
+    public PaySummaryRespVO convert(Integer rechargePrice) {
+        if ( rechargePrice == null ) {
+            return null;
+        }
+
+        PaySummaryRespVO paySummaryRespVO = new PaySummaryRespVO();
+
+        paySummaryRespVO.setRechargePrice( rechargePrice );
+
+        return paySummaryRespVO;
+    }
+}

+ 160 - 0
cdm-module-mall/cdm-module-statistics-biz/target/generated-sources/annotations/com/cdm/module/statistics/convert/trade/TradeStatisticsConvertImpl.java

@@ -0,0 +1,160 @@
+package com.cdm.module.statistics.convert.trade;
+
+import com.cdm.module.statistics.controller.admin.common.vo.DataComparisonRespVO;
+import com.cdm.module.statistics.controller.admin.trade.vo.TradeOrderCountRespVO;
+import com.cdm.module.statistics.controller.admin.trade.vo.TradeSummaryRespVO;
+import com.cdm.module.statistics.controller.admin.trade.vo.TradeTrendSummaryExcelVO;
+import com.cdm.module.statistics.controller.admin.trade.vo.TradeTrendSummaryRespVO;
+import com.cdm.module.statistics.dal.dataobject.trade.TradeStatisticsDO;
+import com.cdm.module.statistics.service.trade.bo.AfterSaleSummaryRespBO;
+import com.cdm.module.statistics.service.trade.bo.TradeOrderSummaryRespBO;
+import com.cdm.module.statistics.service.trade.bo.WalletSummaryRespBO;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:18+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class TradeStatisticsConvertImpl implements TradeStatisticsConvert {
+
+    @Override
+    public DataComparisonRespVO<TradeSummaryRespVO> convert(TradeSummaryRespVO value, TradeSummaryRespVO reference) {
+        if ( value == null && reference == null ) {
+            return null;
+        }
+
+        DataComparisonRespVO<TradeSummaryRespVO> dataComparisonRespVO = new DataComparisonRespVO<TradeSummaryRespVO>();
+
+        dataComparisonRespVO.setValue( value );
+        dataComparisonRespVO.setReference( reference );
+
+        return dataComparisonRespVO;
+    }
+
+    @Override
+    public DataComparisonRespVO<TradeTrendSummaryRespVO> convert(TradeTrendSummaryRespVO value, TradeTrendSummaryRespVO reference) {
+        if ( value == null && reference == null ) {
+            return null;
+        }
+
+        DataComparisonRespVO<TradeTrendSummaryRespVO> dataComparisonRespVO = new DataComparisonRespVO<TradeTrendSummaryRespVO>();
+
+        dataComparisonRespVO.setValue( value );
+        dataComparisonRespVO.setReference( reference );
+
+        return dataComparisonRespVO;
+    }
+
+    @Override
+    public List<TradeTrendSummaryExcelVO> convertList02(List<TradeTrendSummaryRespVO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<TradeTrendSummaryExcelVO> list1 = new ArrayList<TradeTrendSummaryExcelVO>( list.size() );
+        for ( TradeTrendSummaryRespVO tradeTrendSummaryRespVO : list ) {
+            list1.add( tradeTrendSummaryRespVOToTradeTrendSummaryExcelVO( tradeTrendSummaryRespVO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public TradeStatisticsDO convert(LocalDateTime time, TradeOrderSummaryRespBO orderSummary, AfterSaleSummaryRespBO afterSaleSummary, Integer brokerageSettlementPrice, WalletSummaryRespBO walletSummary) {
+        if ( time == null && orderSummary == null && afterSaleSummary == null && brokerageSettlementPrice == null && walletSummary == null ) {
+            return null;
+        }
+
+        TradeStatisticsDO.TradeStatisticsDOBuilder tradeStatisticsDO = TradeStatisticsDO.builder();
+
+        if ( orderSummary != null ) {
+            tradeStatisticsDO.orderCreateCount( orderSummary.getOrderCreateCount() );
+            tradeStatisticsDO.orderPayCount( orderSummary.getOrderPayCount() );
+            tradeStatisticsDO.orderPayPrice( orderSummary.getOrderPayPrice() );
+        }
+        if ( afterSaleSummary != null ) {
+            tradeStatisticsDO.afterSaleCount( afterSaleSummary.getAfterSaleCount() );
+            tradeStatisticsDO.afterSaleRefundPrice( afterSaleSummary.getAfterSaleRefundPrice() );
+        }
+        if ( walletSummary != null ) {
+            tradeStatisticsDO.walletPayPrice( walletSummary.getWalletPayPrice() );
+            tradeStatisticsDO.rechargePayCount( walletSummary.getRechargePayCount() );
+            tradeStatisticsDO.rechargePayPrice( walletSummary.getRechargePayPrice() );
+            tradeStatisticsDO.rechargeRefundCount( walletSummary.getRechargeRefundCount() );
+            tradeStatisticsDO.rechargeRefundPrice( walletSummary.getRechargeRefundPrice() );
+        }
+        tradeStatisticsDO.time( time );
+        tradeStatisticsDO.brokerageSettlementPrice( brokerageSettlementPrice );
+
+        return tradeStatisticsDO.build();
+    }
+
+    @Override
+    public List<TradeTrendSummaryRespVO> convertList(List<TradeStatisticsDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<TradeTrendSummaryRespVO> list1 = new ArrayList<TradeTrendSummaryRespVO>( list.size() );
+        for ( TradeStatisticsDO tradeStatisticsDO : list ) {
+            list1.add( convert( tradeStatisticsDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public TradeTrendSummaryRespVO convertA(TradeStatisticsDO tradeStatistics) {
+        if ( tradeStatistics == null ) {
+            return null;
+        }
+
+        TradeTrendSummaryRespVO tradeTrendSummaryRespVO = new TradeTrendSummaryRespVO();
+
+        tradeTrendSummaryRespVO.setOrderPayPrice( tradeStatistics.getOrderPayPrice() );
+        tradeTrendSummaryRespVO.setWalletPayPrice( tradeStatistics.getWalletPayPrice() );
+        tradeTrendSummaryRespVO.setAfterSaleRefundPrice( tradeStatistics.getAfterSaleRefundPrice() );
+        tradeTrendSummaryRespVO.setBrokerageSettlementPrice( tradeStatistics.getBrokerageSettlementPrice() );
+
+        return tradeTrendSummaryRespVO;
+    }
+
+    @Override
+    public TradeOrderCountRespVO convert(Long undelivered, Long pickUp, Long afterSaleApply, Long auditingWithdraw) {
+        if ( undelivered == null && pickUp == null && afterSaleApply == null && auditingWithdraw == null ) {
+            return null;
+        }
+
+        TradeOrderCountRespVO tradeOrderCountRespVO = new TradeOrderCountRespVO();
+
+        tradeOrderCountRespVO.setUndelivered( undelivered );
+        tradeOrderCountRespVO.setPickUp( pickUp );
+        tradeOrderCountRespVO.setAfterSaleApply( afterSaleApply );
+        tradeOrderCountRespVO.setAuditingWithdraw( auditingWithdraw );
+
+        return tradeOrderCountRespVO;
+    }
+
+    protected TradeTrendSummaryExcelVO tradeTrendSummaryRespVOToTradeTrendSummaryExcelVO(TradeTrendSummaryRespVO tradeTrendSummaryRespVO) {
+        if ( tradeTrendSummaryRespVO == null ) {
+            return null;
+        }
+
+        TradeTrendSummaryExcelVO tradeTrendSummaryExcelVO = new TradeTrendSummaryExcelVO();
+
+        tradeTrendSummaryExcelVO.setDate( tradeTrendSummaryRespVO.getDate() );
+        tradeTrendSummaryExcelVO.setTurnoverPrice( tradeTrendSummaryRespVO.getTurnoverPrice() );
+        tradeTrendSummaryExcelVO.setOrderPayPrice( tradeTrendSummaryRespVO.getOrderPayPrice() );
+        tradeTrendSummaryExcelVO.setRechargePrice( tradeTrendSummaryRespVO.getRechargePrice() );
+        tradeTrendSummaryExcelVO.setExpensePrice( tradeTrendSummaryRespVO.getExpensePrice() );
+        tradeTrendSummaryExcelVO.setWalletPayPrice( tradeTrendSummaryRespVO.getWalletPayPrice() );
+        tradeTrendSummaryExcelVO.setBrokerageSettlementPrice( tradeTrendSummaryRespVO.getBrokerageSettlementPrice() );
+        tradeTrendSummaryExcelVO.setAfterSaleRefundPrice( tradeTrendSummaryRespVO.getAfterSaleRefundPrice() );
+
+        return tradeTrendSummaryExcelVO;
+    }
+}

+ 474 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/aftersale/AfterSaleConvertImpl.java

@@ -0,0 +1,474 @@
+package com.cdm.module.trade.convert.aftersale;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.member.api.user.dto.MemberUserRespDTO;
+import com.cdm.module.pay.api.refund.dto.PayRefundCreateReqDTO;
+import com.cdm.module.product.api.property.dto.ProductPropertyValueDetailRespDTO;
+import com.cdm.module.trade.controller.admin.aftersale.vo.AfterSaleDetailRespVO;
+import com.cdm.module.trade.controller.admin.aftersale.vo.AfterSaleRespPageItemVO;
+import com.cdm.module.trade.controller.admin.aftersale.vo.log.AfterSaleLogRespVO;
+import com.cdm.module.trade.controller.admin.base.member.user.MemberUserRespVO;
+import com.cdm.module.trade.controller.admin.base.product.property.ProductPropertyValueDetailRespVO;
+import com.cdm.module.trade.controller.admin.order.vo.TradeOrderBaseVO;
+import com.cdm.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO;
+import com.cdm.module.trade.controller.app.aftersale.vo.AppAfterSaleRespVO;
+import com.cdm.module.trade.controller.app.base.property.AppProductPropertyValueDetailRespVO;
+import com.cdm.module.trade.dal.dataobject.aftersale.AfterSaleDO;
+import com.cdm.module.trade.dal.dataobject.aftersale.AfterSaleLogDO;
+import com.cdm.module.trade.dal.dataobject.order.TradeOrderDO;
+import com.cdm.module.trade.dal.dataobject.order.TradeOrderItemDO;
+import com.cdm.module.trade.framework.order.config.TradeOrderProperties;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:57+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class AfterSaleConvertImpl implements AfterSaleConvert {
+
+    @Override
+    public AfterSaleDO convert(AppAfterSaleCreateReqVO createReqVO, TradeOrderItemDO tradeOrderItem) {
+        if ( createReqVO == null && tradeOrderItem == null ) {
+            return null;
+        }
+
+        AfterSaleDO afterSaleDO = new AfterSaleDO();
+
+        if ( createReqVO != null ) {
+            afterSaleDO.setWay( createReqVO.getWay() );
+            afterSaleDO.setApplyReason( createReqVO.getApplyReason() );
+            afterSaleDO.setApplyDescription( createReqVO.getApplyDescription() );
+            List<String> list = createReqVO.getApplyPicUrls();
+            if ( list != null ) {
+                afterSaleDO.setApplyPicUrls( new ArrayList<String>( list ) );
+            }
+            afterSaleDO.setOrderItemId( createReqVO.getOrderItemId() );
+            afterSaleDO.setRefundPrice( createReqVO.getRefundPrice() );
+        }
+        if ( tradeOrderItem != null ) {
+            afterSaleDO.setDeleted( tradeOrderItem.getDeleted() );
+            afterSaleDO.setUserId( tradeOrderItem.getUserId() );
+            afterSaleDO.setOrderId( tradeOrderItem.getOrderId() );
+            afterSaleDO.setSpuId( tradeOrderItem.getSpuId() );
+            afterSaleDO.setSpuName( tradeOrderItem.getSpuName() );
+            afterSaleDO.setSkuId( tradeOrderItem.getSkuId() );
+            List<TradeOrderItemDO.Property> list1 = tradeOrderItem.getProperties();
+            if ( list1 != null ) {
+                afterSaleDO.setProperties( new ArrayList<TradeOrderItemDO.Property>( list1 ) );
+            }
+            afterSaleDO.setPicUrl( tradeOrderItem.getPicUrl() );
+            afterSaleDO.setCount( tradeOrderItem.getCount() );
+        }
+
+        return afterSaleDO;
+    }
+
+    @Override
+    public PayRefundCreateReqDTO convert(String userIp, AfterSaleDO afterSale, TradeOrderProperties orderProperties) {
+        if ( userIp == null && afterSale == null && orderProperties == null ) {
+            return null;
+        }
+
+        PayRefundCreateReqDTO payRefundCreateReqDTO = new PayRefundCreateReqDTO();
+
+        if ( afterSale != null ) {
+            if ( afterSale.getOrderId() != null ) {
+                payRefundCreateReqDTO.setMerchantOrderId( String.valueOf( afterSale.getOrderId() ) );
+            }
+            if ( afterSale.getId() != null ) {
+                payRefundCreateReqDTO.setMerchantRefundId( String.valueOf( afterSale.getId() ) );
+            }
+            payRefundCreateReqDTO.setReason( afterSale.getApplyReason() );
+            payRefundCreateReqDTO.setPrice( afterSale.getRefundPrice() );
+        }
+        if ( orderProperties != null ) {
+            payRefundCreateReqDTO.setAppId( orderProperties.getAppId() );
+        }
+        payRefundCreateReqDTO.setUserIp( userIp );
+
+        return payRefundCreateReqDTO;
+    }
+
+    @Override
+    public MemberUserRespVO convert(MemberUserRespDTO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        MemberUserRespVO memberUserRespVO = new MemberUserRespVO();
+
+        memberUserRespVO.setId( bean.getId() );
+        memberUserRespVO.setNickname( bean.getNickname() );
+        memberUserRespVO.setAvatar( bean.getAvatar() );
+
+        return memberUserRespVO;
+    }
+
+    @Override
+    public PageResult<AfterSaleRespPageItemVO> convertPage(PageResult<AfterSaleDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<AfterSaleRespPageItemVO> pageResult = new PageResult<AfterSaleRespPageItemVO>();
+
+        pageResult.setList( afterSaleDOListToAfterSaleRespPageItemVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        ProductPropertyValueDetailRespVO productPropertyValueDetailRespVO = new ProductPropertyValueDetailRespVO();
+
+        productPropertyValueDetailRespVO.setPropertyId( bean.getPropertyId() );
+        productPropertyValueDetailRespVO.setPropertyName( bean.getPropertyName() );
+        productPropertyValueDetailRespVO.setValueId( bean.getValueId() );
+        productPropertyValueDetailRespVO.setValueName( bean.getValueName() );
+
+        return productPropertyValueDetailRespVO;
+    }
+
+    @Override
+    public AppAfterSaleRespVO convert(AfterSaleDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        AppAfterSaleRespVO appAfterSaleRespVO = new AppAfterSaleRespVO();
+
+        appAfterSaleRespVO.setId( bean.getId() );
+        appAfterSaleRespVO.setNo( bean.getNo() );
+        appAfterSaleRespVO.setStatus( bean.getStatus() );
+        appAfterSaleRespVO.setWay( bean.getWay() );
+        appAfterSaleRespVO.setType( bean.getType() );
+        appAfterSaleRespVO.setApplyReason( bean.getApplyReason() );
+        appAfterSaleRespVO.setApplyDescription( bean.getApplyDescription() );
+        List<String> list = bean.getApplyPicUrls();
+        if ( list != null ) {
+            appAfterSaleRespVO.setApplyPicUrls( new ArrayList<String>( list ) );
+        }
+        appAfterSaleRespVO.setOrderId( bean.getOrderId() );
+        appAfterSaleRespVO.setOrderNo( bean.getOrderNo() );
+        appAfterSaleRespVO.setOrderItemId( bean.getOrderItemId() );
+        appAfterSaleRespVO.setSpuId( bean.getSpuId() );
+        appAfterSaleRespVO.setSpuName( bean.getSpuName() );
+        appAfterSaleRespVO.setSkuId( bean.getSkuId() );
+        appAfterSaleRespVO.setProperties( propertyListToAppProductPropertyValueDetailRespVOList( bean.getProperties() ) );
+        appAfterSaleRespVO.setPicUrl( bean.getPicUrl() );
+        appAfterSaleRespVO.setCount( bean.getCount() );
+        appAfterSaleRespVO.setAuditReason( bean.getAuditReason() );
+        appAfterSaleRespVO.setRefundPrice( bean.getRefundPrice() );
+        appAfterSaleRespVO.setRefundTime( bean.getRefundTime() );
+        appAfterSaleRespVO.setLogisticsId( bean.getLogisticsId() );
+        appAfterSaleRespVO.setLogisticsNo( bean.getLogisticsNo() );
+        appAfterSaleRespVO.setDeliveryTime( bean.getDeliveryTime() );
+        appAfterSaleRespVO.setReceiveTime( bean.getReceiveTime() );
+        appAfterSaleRespVO.setReceiveReason( bean.getReceiveReason() );
+
+        return appAfterSaleRespVO;
+    }
+
+    @Override
+    public PageResult<AppAfterSaleRespVO> convertPage02(PageResult<AfterSaleDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<AppAfterSaleRespVO> pageResult = new PageResult<AppAfterSaleRespVO>();
+
+        pageResult.setList( afterSaleDOListToAppAfterSaleRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<AfterSaleLogRespVO> convertList1(List<AfterSaleLogDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AfterSaleLogRespVO> list1 = new ArrayList<AfterSaleLogRespVO>( list.size() );
+        for ( AfterSaleLogDO afterSaleLogDO : list ) {
+            list1.add( afterSaleLogDOToAfterSaleLogRespVO( afterSaleLogDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public AfterSaleDetailRespVO convert02(AfterSaleDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        AfterSaleDetailRespVO afterSaleDetailRespVO = new AfterSaleDetailRespVO();
+
+        afterSaleDetailRespVO.setNo( bean.getNo() );
+        afterSaleDetailRespVO.setStatus( bean.getStatus() );
+        afterSaleDetailRespVO.setType( bean.getType() );
+        afterSaleDetailRespVO.setWay( bean.getWay() );
+        afterSaleDetailRespVO.setUserId( bean.getUserId() );
+        afterSaleDetailRespVO.setApplyReason( bean.getApplyReason() );
+        afterSaleDetailRespVO.setApplyDescription( bean.getApplyDescription() );
+        List<String> list = bean.getApplyPicUrls();
+        if ( list != null ) {
+            afterSaleDetailRespVO.setApplyPicUrls( new ArrayList<String>( list ) );
+        }
+        afterSaleDetailRespVO.setOrderId( bean.getOrderId() );
+        afterSaleDetailRespVO.setOrderNo( bean.getOrderNo() );
+        afterSaleDetailRespVO.setOrderItemId( bean.getOrderItemId() );
+        afterSaleDetailRespVO.setSpuId( bean.getSpuId() );
+        afterSaleDetailRespVO.setSpuName( bean.getSpuName() );
+        afterSaleDetailRespVO.setSkuId( bean.getSkuId() );
+        afterSaleDetailRespVO.setPicUrl( bean.getPicUrl() );
+        afterSaleDetailRespVO.setCount( bean.getCount() );
+        afterSaleDetailRespVO.setAuditTime( bean.getAuditTime() );
+        afterSaleDetailRespVO.setAuditUserId( bean.getAuditUserId() );
+        afterSaleDetailRespVO.setAuditReason( bean.getAuditReason() );
+        afterSaleDetailRespVO.setRefundPrice( bean.getRefundPrice() );
+        afterSaleDetailRespVO.setPayRefundId( bean.getPayRefundId() );
+        afterSaleDetailRespVO.setRefundTime( bean.getRefundTime() );
+        afterSaleDetailRespVO.setLogisticsId( bean.getLogisticsId() );
+        afterSaleDetailRespVO.setLogisticsNo( bean.getLogisticsNo() );
+        afterSaleDetailRespVO.setDeliveryTime( bean.getDeliveryTime() );
+        afterSaleDetailRespVO.setReceiveTime( bean.getReceiveTime() );
+        afterSaleDetailRespVO.setReceiveReason( bean.getReceiveReason() );
+        afterSaleDetailRespVO.setId( bean.getId() );
+
+        return afterSaleDetailRespVO;
+    }
+
+    @Override
+    public AfterSaleDetailRespVO.OrderItem convert02(TradeOrderItemDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        AfterSaleDetailRespVO.OrderItem orderItem = new AfterSaleDetailRespVO.OrderItem();
+
+        orderItem.setId( bean.getId() );
+        orderItem.setUserId( bean.getUserId() );
+        orderItem.setOrderId( bean.getOrderId() );
+        orderItem.setSpuId( bean.getSpuId() );
+        orderItem.setSpuName( bean.getSpuName() );
+        orderItem.setSkuId( bean.getSkuId() );
+        orderItem.setPicUrl( bean.getPicUrl() );
+        orderItem.setCount( bean.getCount() );
+        orderItem.setPrice( bean.getPrice() );
+        orderItem.setDiscountPrice( bean.getDiscountPrice() );
+        orderItem.setPayPrice( bean.getPayPrice() );
+        orderItem.setAfterSaleStatus( bean.getAfterSaleStatus() );
+        orderItem.setProperties( propertyListToProductPropertyValueDetailRespVOList( bean.getProperties() ) );
+
+        return orderItem;
+    }
+
+    @Override
+    public TradeOrderBaseVO convert(TradeOrderDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        TradeOrderBaseVO tradeOrderBaseVO = new TradeOrderBaseVO();
+
+        tradeOrderBaseVO.setId( bean.getId() );
+        tradeOrderBaseVO.setNo( bean.getNo() );
+        tradeOrderBaseVO.setCreateTime( bean.getCreateTime() );
+        tradeOrderBaseVO.setType( bean.getType() );
+        tradeOrderBaseVO.setTerminal( bean.getTerminal() );
+        tradeOrderBaseVO.setUserId( bean.getUserId() );
+        tradeOrderBaseVO.setUserIp( bean.getUserIp() );
+        tradeOrderBaseVO.setUserRemark( bean.getUserRemark() );
+        tradeOrderBaseVO.setStatus( bean.getStatus() );
+        tradeOrderBaseVO.setProductCount( bean.getProductCount() );
+        tradeOrderBaseVO.setFinishTime( bean.getFinishTime() );
+        tradeOrderBaseVO.setCancelTime( bean.getCancelTime() );
+        tradeOrderBaseVO.setCancelType( bean.getCancelType() );
+        tradeOrderBaseVO.setRemark( bean.getRemark() );
+        tradeOrderBaseVO.setPayOrderId( bean.getPayOrderId() );
+        tradeOrderBaseVO.setPayStatus( bean.getPayStatus() );
+        tradeOrderBaseVO.setPayTime( bean.getPayTime() );
+        tradeOrderBaseVO.setPayChannelCode( bean.getPayChannelCode() );
+        tradeOrderBaseVO.setTotalPrice( bean.getTotalPrice() );
+        tradeOrderBaseVO.setDiscountPrice( bean.getDiscountPrice() );
+        tradeOrderBaseVO.setDeliveryPrice( bean.getDeliveryPrice() );
+        tradeOrderBaseVO.setAdjustPrice( bean.getAdjustPrice() );
+        tradeOrderBaseVO.setPayPrice( bean.getPayPrice() );
+        tradeOrderBaseVO.setDeliveryType( bean.getDeliveryType() );
+        tradeOrderBaseVO.setPickUpStoreId( bean.getPickUpStoreId() );
+        if ( bean.getPickUpVerifyCode() != null ) {
+            tradeOrderBaseVO.setPickUpVerifyCode( Long.parseLong( bean.getPickUpVerifyCode() ) );
+        }
+        tradeOrderBaseVO.setLogisticsId( bean.getLogisticsId() );
+        tradeOrderBaseVO.setLogisticsNo( bean.getLogisticsNo() );
+        tradeOrderBaseVO.setDeliveryTime( bean.getDeliveryTime() );
+        tradeOrderBaseVO.setReceiveTime( bean.getReceiveTime() );
+        tradeOrderBaseVO.setReceiverName( bean.getReceiverName() );
+        tradeOrderBaseVO.setReceiverMobile( bean.getReceiverMobile() );
+        tradeOrderBaseVO.setReceiverAreaId( bean.getReceiverAreaId() );
+        tradeOrderBaseVO.setReceiverDetailAddress( bean.getReceiverDetailAddress() );
+        tradeOrderBaseVO.setRefundPrice( bean.getRefundPrice() );
+        tradeOrderBaseVO.setCouponId( bean.getCouponId() );
+        tradeOrderBaseVO.setCouponPrice( bean.getCouponPrice() );
+        tradeOrderBaseVO.setPointPrice( bean.getPointPrice() );
+        tradeOrderBaseVO.setVipPrice( bean.getVipPrice() );
+        tradeOrderBaseVO.setBrokerageUserId( bean.getBrokerageUserId() );
+
+        return tradeOrderBaseVO;
+    }
+
+    protected ProductPropertyValueDetailRespVO propertyToProductPropertyValueDetailRespVO(TradeOrderItemDO.Property property) {
+        if ( property == null ) {
+            return null;
+        }
+
+        ProductPropertyValueDetailRespVO productPropertyValueDetailRespVO = new ProductPropertyValueDetailRespVO();
+
+        productPropertyValueDetailRespVO.setPropertyId( property.getPropertyId() );
+        productPropertyValueDetailRespVO.setPropertyName( property.getPropertyName() );
+        productPropertyValueDetailRespVO.setValueId( property.getValueId() );
+        productPropertyValueDetailRespVO.setValueName( property.getValueName() );
+
+        return productPropertyValueDetailRespVO;
+    }
+
+    protected List<ProductPropertyValueDetailRespVO> propertyListToProductPropertyValueDetailRespVOList(List<TradeOrderItemDO.Property> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<ProductPropertyValueDetailRespVO> list1 = new ArrayList<ProductPropertyValueDetailRespVO>( list.size() );
+        for ( TradeOrderItemDO.Property property : list ) {
+            list1.add( propertyToProductPropertyValueDetailRespVO( property ) );
+        }
+
+        return list1;
+    }
+
+    protected AfterSaleRespPageItemVO afterSaleDOToAfterSaleRespPageItemVO(AfterSaleDO afterSaleDO) {
+        if ( afterSaleDO == null ) {
+            return null;
+        }
+
+        AfterSaleRespPageItemVO afterSaleRespPageItemVO = new AfterSaleRespPageItemVO();
+
+        afterSaleRespPageItemVO.setNo( afterSaleDO.getNo() );
+        afterSaleRespPageItemVO.setStatus( afterSaleDO.getStatus() );
+        afterSaleRespPageItemVO.setType( afterSaleDO.getType() );
+        afterSaleRespPageItemVO.setWay( afterSaleDO.getWay() );
+        afterSaleRespPageItemVO.setUserId( afterSaleDO.getUserId() );
+        afterSaleRespPageItemVO.setApplyReason( afterSaleDO.getApplyReason() );
+        afterSaleRespPageItemVO.setApplyDescription( afterSaleDO.getApplyDescription() );
+        List<String> list = afterSaleDO.getApplyPicUrls();
+        if ( list != null ) {
+            afterSaleRespPageItemVO.setApplyPicUrls( new ArrayList<String>( list ) );
+        }
+        afterSaleRespPageItemVO.setOrderId( afterSaleDO.getOrderId() );
+        afterSaleRespPageItemVO.setOrderNo( afterSaleDO.getOrderNo() );
+        afterSaleRespPageItemVO.setOrderItemId( afterSaleDO.getOrderItemId() );
+        afterSaleRespPageItemVO.setSpuId( afterSaleDO.getSpuId() );
+        afterSaleRespPageItemVO.setSpuName( afterSaleDO.getSpuName() );
+        afterSaleRespPageItemVO.setSkuId( afterSaleDO.getSkuId() );
+        afterSaleRespPageItemVO.setPicUrl( afterSaleDO.getPicUrl() );
+        afterSaleRespPageItemVO.setCount( afterSaleDO.getCount() );
+        afterSaleRespPageItemVO.setAuditTime( afterSaleDO.getAuditTime() );
+        afterSaleRespPageItemVO.setAuditUserId( afterSaleDO.getAuditUserId() );
+        afterSaleRespPageItemVO.setAuditReason( afterSaleDO.getAuditReason() );
+        afterSaleRespPageItemVO.setRefundPrice( afterSaleDO.getRefundPrice() );
+        afterSaleRespPageItemVO.setPayRefundId( afterSaleDO.getPayRefundId() );
+        afterSaleRespPageItemVO.setRefundTime( afterSaleDO.getRefundTime() );
+        afterSaleRespPageItemVO.setLogisticsId( afterSaleDO.getLogisticsId() );
+        afterSaleRespPageItemVO.setLogisticsNo( afterSaleDO.getLogisticsNo() );
+        afterSaleRespPageItemVO.setDeliveryTime( afterSaleDO.getDeliveryTime() );
+        afterSaleRespPageItemVO.setReceiveTime( afterSaleDO.getReceiveTime() );
+        afterSaleRespPageItemVO.setReceiveReason( afterSaleDO.getReceiveReason() );
+        afterSaleRespPageItemVO.setId( afterSaleDO.getId() );
+        afterSaleRespPageItemVO.setCreateTime( afterSaleDO.getCreateTime() );
+        afterSaleRespPageItemVO.setProperties( propertyListToProductPropertyValueDetailRespVOList( afterSaleDO.getProperties() ) );
+
+        return afterSaleRespPageItemVO;
+    }
+
+    protected List<AfterSaleRespPageItemVO> afterSaleDOListToAfterSaleRespPageItemVOList(List<AfterSaleDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AfterSaleRespPageItemVO> list1 = new ArrayList<AfterSaleRespPageItemVO>( list.size() );
+        for ( AfterSaleDO afterSaleDO : list ) {
+            list1.add( afterSaleDOToAfterSaleRespPageItemVO( afterSaleDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AppProductPropertyValueDetailRespVO propertyToAppProductPropertyValueDetailRespVO(TradeOrderItemDO.Property property) {
+        if ( property == null ) {
+            return null;
+        }
+
+        AppProductPropertyValueDetailRespVO appProductPropertyValueDetailRespVO = new AppProductPropertyValueDetailRespVO();
+
+        appProductPropertyValueDetailRespVO.setPropertyId( property.getPropertyId() );
+        appProductPropertyValueDetailRespVO.setPropertyName( property.getPropertyName() );
+        appProductPropertyValueDetailRespVO.setValueId( property.getValueId() );
+        appProductPropertyValueDetailRespVO.setValueName( property.getValueName() );
+
+        return appProductPropertyValueDetailRespVO;
+    }
+
+    protected List<AppProductPropertyValueDetailRespVO> propertyListToAppProductPropertyValueDetailRespVOList(List<TradeOrderItemDO.Property> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppProductPropertyValueDetailRespVO> list1 = new ArrayList<AppProductPropertyValueDetailRespVO>( list.size() );
+        for ( TradeOrderItemDO.Property property : list ) {
+            list1.add( propertyToAppProductPropertyValueDetailRespVO( property ) );
+        }
+
+        return list1;
+    }
+
+    protected List<AppAfterSaleRespVO> afterSaleDOListToAppAfterSaleRespVOList(List<AfterSaleDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppAfterSaleRespVO> list1 = new ArrayList<AppAfterSaleRespVO>( list.size() );
+        for ( AfterSaleDO afterSaleDO : list ) {
+            list1.add( convert( afterSaleDO ) );
+        }
+
+        return list1;
+    }
+
+    protected AfterSaleLogRespVO afterSaleLogDOToAfterSaleLogRespVO(AfterSaleLogDO afterSaleLogDO) {
+        if ( afterSaleLogDO == null ) {
+            return null;
+        }
+
+        AfterSaleLogRespVO afterSaleLogRespVO = new AfterSaleLogRespVO();
+
+        afterSaleLogRespVO.setId( afterSaleLogDO.getId() );
+        afterSaleLogRespVO.setUserId( afterSaleLogDO.getUserId() );
+        afterSaleLogRespVO.setUserType( afterSaleLogDO.getUserType() );
+        afterSaleLogRespVO.setAfterSaleId( afterSaleLogDO.getAfterSaleId() );
+        afterSaleLogRespVO.setBeforeStatus( afterSaleLogDO.getBeforeStatus() );
+        afterSaleLogRespVO.setAfterStatus( afterSaleLogDO.getAfterStatus() );
+        afterSaleLogRespVO.setContent( afterSaleLogDO.getContent() );
+        afterSaleLogRespVO.setCreateTime( afterSaleLogDO.getCreateTime() );
+
+        return afterSaleLogRespVO;
+    }
+}

+ 32 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/aftersale/AfterSaleLogConvertImpl.java

@@ -0,0 +1,32 @@
+package com.cdm.module.trade.convert.aftersale;
+
+import com.cdm.module.trade.dal.dataobject.aftersale.AfterSaleLogDO;
+import com.cdm.module.trade.service.aftersale.bo.AfterSaleLogCreateReqBO;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:55+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class AfterSaleLogConvertImpl implements AfterSaleLogConvert {
+
+    @Override
+    public AfterSaleLogDO convert(AfterSaleLogCreateReqBO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        AfterSaleLogDO.AfterSaleLogDOBuilder afterSaleLogDO = AfterSaleLogDO.builder();
+
+        afterSaleLogDO.userId( bean.getUserId() );
+        afterSaleLogDO.userType( bean.getUserType() );
+        afterSaleLogDO.afterSaleId( bean.getAfterSaleId() );
+        afterSaleLogDO.beforeStatus( bean.getBeforeStatus() );
+        afterSaleLogDO.afterStatus( bean.getAfterStatus() );
+        afterSaleLogDO.operateType( bean.getOperateType() );
+        afterSaleLogDO.content( bean.getContent() );
+
+        return afterSaleLogDO.build();
+    }
+}

+ 149 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/brokerage/BrokerageRecordConvertImpl.java

@@ -0,0 +1,149 @@
+package com.cdm.module.trade.convert.brokerage;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.member.api.user.dto.MemberUserRespDTO;
+import com.cdm.module.trade.controller.admin.brokerage.vo.record.BrokerageRecordPageReqVO;
+import com.cdm.module.trade.controller.admin.brokerage.vo.record.BrokerageRecordRespVO;
+import com.cdm.module.trade.controller.app.brokerage.vo.record.AppBrokerageRecordPageReqVO;
+import com.cdm.module.trade.controller.app.brokerage.vo.record.AppBrokerageRecordRespVO;
+import com.cdm.module.trade.controller.app.brokerage.vo.user.AppBrokerageUserRankByPriceRespVO;
+import com.cdm.module.trade.dal.dataobject.brokerage.BrokerageRecordDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:56+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class BrokerageRecordConvertImpl implements BrokerageRecordConvert {
+
+    @Override
+    public BrokerageRecordRespVO convert(BrokerageRecordDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        BrokerageRecordRespVO brokerageRecordRespVO = new BrokerageRecordRespVO();
+
+        brokerageRecordRespVO.setUserId( bean.getUserId() );
+        brokerageRecordRespVO.setBizId( bean.getBizId() );
+        brokerageRecordRespVO.setBizType( bean.getBizType() );
+        brokerageRecordRespVO.setTitle( bean.getTitle() );
+        brokerageRecordRespVO.setPrice( bean.getPrice() );
+        brokerageRecordRespVO.setTotalPrice( bean.getTotalPrice() );
+        brokerageRecordRespVO.setDescription( bean.getDescription() );
+        brokerageRecordRespVO.setStatus( bean.getStatus() );
+        brokerageRecordRespVO.setFrozenDays( bean.getFrozenDays() );
+        brokerageRecordRespVO.setUnfreezeTime( bean.getUnfreezeTime() );
+        brokerageRecordRespVO.setSourceUserLevel( bean.getSourceUserLevel() );
+        brokerageRecordRespVO.setSourceUserId( bean.getSourceUserId() );
+        brokerageRecordRespVO.setId( bean.getId() );
+        brokerageRecordRespVO.setCreateTime( bean.getCreateTime() );
+
+        return brokerageRecordRespVO;
+    }
+
+    @Override
+    public List<BrokerageRecordRespVO> convertList(List<BrokerageRecordDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<BrokerageRecordRespVO> list1 = new ArrayList<BrokerageRecordRespVO>( list.size() );
+        for ( BrokerageRecordDO brokerageRecordDO : list ) {
+            list1.add( convert( brokerageRecordDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<BrokerageRecordRespVO> convertPage(PageResult<BrokerageRecordDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<BrokerageRecordRespVO> pageResult = new PageResult<BrokerageRecordRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public BrokerageRecordPageReqVO convert(AppBrokerageRecordPageReqVO pageReqVO, Long userId) {
+        if ( pageReqVO == null && userId == null ) {
+            return null;
+        }
+
+        BrokerageRecordPageReqVO brokerageRecordPageReqVO = new BrokerageRecordPageReqVO();
+
+        if ( pageReqVO != null ) {
+            brokerageRecordPageReqVO.setPageNo( pageReqVO.getPageNo() );
+            brokerageRecordPageReqVO.setPageSize( pageReqVO.getPageSize() );
+            brokerageRecordPageReqVO.setBizType( pageReqVO.getBizType() );
+            brokerageRecordPageReqVO.setStatus( pageReqVO.getStatus() );
+        }
+        brokerageRecordPageReqVO.setUserId( userId );
+
+        return brokerageRecordPageReqVO;
+    }
+
+    @Override
+    public PageResult<AppBrokerageRecordRespVO> convertPage02(PageResult<BrokerageRecordDO> pageResult) {
+        if ( pageResult == null ) {
+            return null;
+        }
+
+        PageResult<AppBrokerageRecordRespVO> pageResult1 = new PageResult<AppBrokerageRecordRespVO>();
+
+        pageResult1.setList( brokerageRecordDOListToAppBrokerageRecordRespVOList( pageResult.getList() ) );
+        pageResult1.setTotal( pageResult.getTotal() );
+
+        return pageResult1;
+    }
+
+    @Override
+    public void copyTo(MemberUserRespDTO from, AppBrokerageUserRankByPriceRespVO to) {
+        if ( from == null ) {
+            return;
+        }
+
+        to.setId( from.getId() );
+        to.setNickname( from.getNickname() );
+        to.setAvatar( from.getAvatar() );
+    }
+
+    protected AppBrokerageRecordRespVO brokerageRecordDOToAppBrokerageRecordRespVO(BrokerageRecordDO brokerageRecordDO) {
+        if ( brokerageRecordDO == null ) {
+            return null;
+        }
+
+        AppBrokerageRecordRespVO appBrokerageRecordRespVO = new AppBrokerageRecordRespVO();
+
+        if ( brokerageRecordDO.getId() != null ) {
+            appBrokerageRecordRespVO.setId( brokerageRecordDO.getId().longValue() );
+        }
+        appBrokerageRecordRespVO.setTitle( brokerageRecordDO.getTitle() );
+        appBrokerageRecordRespVO.setPrice( brokerageRecordDO.getPrice() );
+        appBrokerageRecordRespVO.setCreateTime( brokerageRecordDO.getCreateTime() );
+
+        return appBrokerageRecordRespVO;
+    }
+
+    protected List<AppBrokerageRecordRespVO> brokerageRecordDOListToAppBrokerageRecordRespVOList(List<BrokerageRecordDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppBrokerageRecordRespVO> list1 = new ArrayList<AppBrokerageRecordRespVO>( list.size() );
+        for ( BrokerageRecordDO brokerageRecordDO : list ) {
+            list1.add( brokerageRecordDOToAppBrokerageRecordRespVO( brokerageRecordDO ) );
+        }
+
+        return list1;
+    }
+}

+ 80 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/brokerage/BrokerageUserConvertImpl.java

@@ -0,0 +1,80 @@
+package com.cdm.module.trade.convert.brokerage;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.member.api.user.dto.MemberUserRespDTO;
+import com.cdm.module.trade.controller.admin.brokerage.vo.user.BrokerageUserRespVO;
+import com.cdm.module.trade.controller.app.brokerage.vo.user.AppBrokerageUserRankByUserCountRespVO;
+import com.cdm.module.trade.dal.dataobject.brokerage.BrokerageUserDO;
+import com.cdm.module.trade.service.brokerage.bo.UserBrokerageSummaryRespBO;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:56+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class BrokerageUserConvertImpl implements BrokerageUserConvert {
+
+    @Override
+    public BrokerageUserRespVO convert(BrokerageUserDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        BrokerageUserRespVO brokerageUserRespVO = new BrokerageUserRespVO();
+
+        brokerageUserRespVO.setBindUserId( bean.getBindUserId() );
+        brokerageUserRespVO.setBindUserTime( bean.getBindUserTime() );
+        brokerageUserRespVO.setBrokerageEnabled( bean.getBrokerageEnabled() );
+        brokerageUserRespVO.setBrokerageTime( bean.getBrokerageTime() );
+        brokerageUserRespVO.setFrozenPrice( bean.getFrozenPrice() );
+        brokerageUserRespVO.setId( bean.getId() );
+        brokerageUserRespVO.setCreateTime( bean.getCreateTime() );
+
+        return brokerageUserRespVO;
+    }
+
+    @Override
+    public List<BrokerageUserRespVO> convertList(List<BrokerageUserDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<BrokerageUserRespVO> list1 = new ArrayList<BrokerageUserRespVO>( list.size() );
+        for ( BrokerageUserDO brokerageUserDO : list ) {
+            list1.add( convert( brokerageUserDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<BrokerageUserRespVO> convertPage(PageResult<BrokerageUserDO> page, Map<Long, MemberUserRespDTO> userMap, Map<Long, Long> brokerageUserCountMap, Map<Long, UserBrokerageSummaryRespBO> userOrderSummaryMap) {
+        if ( page == null && userMap == null && brokerageUserCountMap == null && userOrderSummaryMap == null ) {
+            return null;
+        }
+
+        PageResult<BrokerageUserRespVO> pageResult = new PageResult<BrokerageUserRespVO>();
+
+        if ( page != null ) {
+            pageResult.setList( convertList( page.getList() ) );
+            pageResult.setTotal( page.getTotal() );
+        }
+
+        return pageResult;
+    }
+
+    @Override
+    public void copyTo(MemberUserRespDTO from, AppBrokerageUserRankByUserCountRespVO to) {
+        if ( from == null ) {
+            return;
+        }
+
+        to.setId( from.getId() );
+        to.setNickname( from.getNickname() );
+        to.setAvatar( from.getAvatar() );
+    }
+}

+ 164 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/brokerage/BrokerageWithdrawConvertImpl.java

@@ -0,0 +1,164 @@
+package com.cdm.module.trade.convert.brokerage;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.trade.controller.admin.brokerage.vo.withdraw.BrokerageWithdrawPageReqVO;
+import com.cdm.module.trade.controller.admin.brokerage.vo.withdraw.BrokerageWithdrawRespVO;
+import com.cdm.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawCreateReqVO;
+import com.cdm.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawPageReqVO;
+import com.cdm.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawRespVO;
+import com.cdm.module.trade.dal.dataobject.brokerage.BrokerageWithdrawDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:13+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class BrokerageWithdrawConvertImpl implements BrokerageWithdrawConvert {
+
+    @Override
+    public BrokerageWithdrawDO convert(AppBrokerageWithdrawCreateReqVO createReqVO, Long userId, Integer feePrice) {
+        if ( createReqVO == null && userId == null && feePrice == null ) {
+            return null;
+        }
+
+        BrokerageWithdrawDO.BrokerageWithdrawDOBuilder brokerageWithdrawDO = BrokerageWithdrawDO.builder();
+
+        if ( createReqVO != null ) {
+            brokerageWithdrawDO.price( createReqVO.getPrice() );
+            brokerageWithdrawDO.type( createReqVO.getType() );
+            brokerageWithdrawDO.name( createReqVO.getName() );
+            brokerageWithdrawDO.accountNo( createReqVO.getAccountNo() );
+            if ( createReqVO.getBankName() != null ) {
+                brokerageWithdrawDO.bankName( String.valueOf( createReqVO.getBankName() ) );
+            }
+            brokerageWithdrawDO.bankAddress( createReqVO.getBankAddress() );
+            brokerageWithdrawDO.accountQrCodeUrl( createReqVO.getAccountQrCodeUrl() );
+        }
+        brokerageWithdrawDO.userId( userId );
+        brokerageWithdrawDO.feePrice( feePrice );
+
+        return brokerageWithdrawDO.build();
+    }
+
+    @Override
+    public BrokerageWithdrawRespVO convert(BrokerageWithdrawDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        BrokerageWithdrawRespVO brokerageWithdrawRespVO = new BrokerageWithdrawRespVO();
+
+        brokerageWithdrawRespVO.setUserId( bean.getUserId() );
+        brokerageWithdrawRespVO.setPrice( bean.getPrice() );
+        brokerageWithdrawRespVO.setFeePrice( bean.getFeePrice() );
+        brokerageWithdrawRespVO.setTotalPrice( bean.getTotalPrice() );
+        brokerageWithdrawRespVO.setType( bean.getType() );
+        brokerageWithdrawRespVO.setName( bean.getName() );
+        brokerageWithdrawRespVO.setAccountNo( bean.getAccountNo() );
+        brokerageWithdrawRespVO.setBankName( bean.getBankName() );
+        brokerageWithdrawRespVO.setBankAddress( bean.getBankAddress() );
+        brokerageWithdrawRespVO.setAccountQrCodeUrl( bean.getAccountQrCodeUrl() );
+        brokerageWithdrawRespVO.setStatus( bean.getStatus() );
+        brokerageWithdrawRespVO.setAuditReason( bean.getAuditReason() );
+        brokerageWithdrawRespVO.setAuditTime( bean.getAuditTime() );
+        brokerageWithdrawRespVO.setRemark( bean.getRemark() );
+        if ( bean.getId() != null ) {
+            brokerageWithdrawRespVO.setId( bean.getId().intValue() );
+        }
+        brokerageWithdrawRespVO.setCreateTime( bean.getCreateTime() );
+
+        return brokerageWithdrawRespVO;
+    }
+
+    @Override
+    public List<BrokerageWithdrawRespVO> convertList(List<BrokerageWithdrawDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<BrokerageWithdrawRespVO> list1 = new ArrayList<BrokerageWithdrawRespVO>( list.size() );
+        for ( BrokerageWithdrawDO brokerageWithdrawDO : list ) {
+            list1.add( convert( brokerageWithdrawDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<BrokerageWithdrawRespVO> convertPage(PageResult<BrokerageWithdrawDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<BrokerageWithdrawRespVO> pageResult = new PageResult<BrokerageWithdrawRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public PageResult<AppBrokerageWithdrawRespVO> convertPage02(PageResult<BrokerageWithdrawDO> pageResult) {
+        if ( pageResult == null ) {
+            return null;
+        }
+
+        PageResult<AppBrokerageWithdrawRespVO> pageResult1 = new PageResult<AppBrokerageWithdrawRespVO>();
+
+        pageResult1.setList( brokerageWithdrawDOListToAppBrokerageWithdrawRespVOList( pageResult.getList() ) );
+        pageResult1.setTotal( pageResult.getTotal() );
+
+        return pageResult1;
+    }
+
+    @Override
+    public BrokerageWithdrawPageReqVO convert(AppBrokerageWithdrawPageReqVO pageReqVO, Long userId) {
+        if ( pageReqVO == null && userId == null ) {
+            return null;
+        }
+
+        BrokerageWithdrawPageReqVO brokerageWithdrawPageReqVO = new BrokerageWithdrawPageReqVO();
+
+        if ( pageReqVO != null ) {
+            brokerageWithdrawPageReqVO.setPageNo( pageReqVO.getPageNo() );
+            brokerageWithdrawPageReqVO.setPageSize( pageReqVO.getPageSize() );
+            brokerageWithdrawPageReqVO.setType( pageReqVO.getType() );
+            brokerageWithdrawPageReqVO.setStatus( pageReqVO.getStatus() );
+        }
+        brokerageWithdrawPageReqVO.setUserId( userId );
+
+        return brokerageWithdrawPageReqVO;
+    }
+
+    protected AppBrokerageWithdrawRespVO brokerageWithdrawDOToAppBrokerageWithdrawRespVO(BrokerageWithdrawDO brokerageWithdrawDO) {
+        if ( brokerageWithdrawDO == null ) {
+            return null;
+        }
+
+        AppBrokerageWithdrawRespVO appBrokerageWithdrawRespVO = new AppBrokerageWithdrawRespVO();
+
+        appBrokerageWithdrawRespVO.setId( brokerageWithdrawDO.getId() );
+        appBrokerageWithdrawRespVO.setStatus( brokerageWithdrawDO.getStatus() );
+        appBrokerageWithdrawRespVO.setPrice( brokerageWithdrawDO.getPrice() );
+        appBrokerageWithdrawRespVO.setCreateTime( brokerageWithdrawDO.getCreateTime() );
+
+        return appBrokerageWithdrawRespVO;
+    }
+
+    protected List<AppBrokerageWithdrawRespVO> brokerageWithdrawDOListToAppBrokerageWithdrawRespVOList(List<BrokerageWithdrawDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppBrokerageWithdrawRespVO> list1 = new ArrayList<AppBrokerageWithdrawRespVO>( list.size() );
+        for ( BrokerageWithdrawDO brokerageWithdrawDO : list ) {
+            list1.add( brokerageWithdrawDOToAppBrokerageWithdrawRespVO( brokerageWithdrawDO ) );
+        }
+
+        return list1;
+    }
+}

+ 79 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/cart/TradeCartConvertImpl.java

@@ -0,0 +1,79 @@
+package com.cdm.module.trade.convert.cart;
+
+import com.cdm.module.product.api.property.dto.ProductPropertyValueDetailRespDTO;
+import com.cdm.module.product.api.sku.dto.ProductSkuRespDTO;
+import com.cdm.module.product.api.spu.dto.ProductSpuRespDTO;
+import com.cdm.module.trade.controller.app.base.property.AppProductPropertyValueDetailRespVO;
+import com.cdm.module.trade.controller.app.base.sku.AppProductSkuBaseRespVO;
+import com.cdm.module.trade.controller.app.base.spu.AppProductSpuBaseRespVO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:57+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class TradeCartConvertImpl implements TradeCartConvert {
+
+    @Override
+    public AppProductSpuBaseRespVO convert(ProductSpuRespDTO spu) {
+        if ( spu == null ) {
+            return null;
+        }
+
+        AppProductSpuBaseRespVO appProductSpuBaseRespVO = new AppProductSpuBaseRespVO();
+
+        appProductSpuBaseRespVO.setId( spu.getId() );
+        appProductSpuBaseRespVO.setName( spu.getName() );
+        appProductSpuBaseRespVO.setPicUrl( spu.getPicUrl() );
+
+        return appProductSpuBaseRespVO;
+    }
+
+    @Override
+    public AppProductSkuBaseRespVO convert(ProductSkuRespDTO sku) {
+        if ( sku == null ) {
+            return null;
+        }
+
+        AppProductSkuBaseRespVO appProductSkuBaseRespVO = new AppProductSkuBaseRespVO();
+
+        appProductSkuBaseRespVO.setId( sku.getId() );
+        appProductSkuBaseRespVO.setPicUrl( sku.getPicUrl() );
+        appProductSkuBaseRespVO.setPrice( sku.getPrice() );
+        appProductSkuBaseRespVO.setStock( sku.getStock() );
+        appProductSkuBaseRespVO.setProperties( productPropertyValueDetailRespDTOListToAppProductPropertyValueDetailRespVOList( sku.getProperties() ) );
+
+        return appProductSkuBaseRespVO;
+    }
+
+    protected AppProductPropertyValueDetailRespVO productPropertyValueDetailRespDTOToAppProductPropertyValueDetailRespVO(ProductPropertyValueDetailRespDTO productPropertyValueDetailRespDTO) {
+        if ( productPropertyValueDetailRespDTO == null ) {
+            return null;
+        }
+
+        AppProductPropertyValueDetailRespVO appProductPropertyValueDetailRespVO = new AppProductPropertyValueDetailRespVO();
+
+        appProductPropertyValueDetailRespVO.setPropertyId( productPropertyValueDetailRespDTO.getPropertyId() );
+        appProductPropertyValueDetailRespVO.setPropertyName( productPropertyValueDetailRespDTO.getPropertyName() );
+        appProductPropertyValueDetailRespVO.setValueId( productPropertyValueDetailRespDTO.getValueId() );
+        appProductPropertyValueDetailRespVO.setValueName( productPropertyValueDetailRespDTO.getValueName() );
+
+        return appProductPropertyValueDetailRespVO;
+    }
+
+    protected List<AppProductPropertyValueDetailRespVO> productPropertyValueDetailRespDTOListToAppProductPropertyValueDetailRespVOList(List<ProductPropertyValueDetailRespDTO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppProductPropertyValueDetailRespVO> list1 = new ArrayList<AppProductPropertyValueDetailRespVO>( list.size() );
+        for ( ProductPropertyValueDetailRespDTO productPropertyValueDetailRespDTO : list ) {
+            list1.add( productPropertyValueDetailRespDTOToAppProductPropertyValueDetailRespVO( productPropertyValueDetailRespDTO ) );
+        }
+
+        return list1;
+    }
+}

+ 135 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/config/TradeConfigConvertImpl.java

@@ -0,0 +1,135 @@
+package com.cdm.module.trade.convert.config;
+
+import com.cdm.module.trade.controller.admin.config.vo.TradeConfigRespVO;
+import com.cdm.module.trade.controller.admin.config.vo.TradeConfigSaveReqVO;
+import com.cdm.module.trade.controller.app.config.vo.AppTradeConfigRespVO;
+import com.cdm.module.trade.dal.dataobject.config.TradeConfigDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:57+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class TradeConfigConvertImpl implements TradeConfigConvert {
+
+    @Override
+    public TradeConfigDO convert(TradeConfigSaveReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        TradeConfigDO.TradeConfigDOBuilder tradeConfigDO = TradeConfigDO.builder();
+
+        List<String> list = bean.getAfterSaleRefundReasons();
+        if ( list != null ) {
+            tradeConfigDO.afterSaleRefundReasons( new ArrayList<String>( list ) );
+        }
+        List<String> list1 = bean.getAfterSaleReturnReasons();
+        if ( list1 != null ) {
+            tradeConfigDO.afterSaleReturnReasons( new ArrayList<String>( list1 ) );
+        }
+        tradeConfigDO.deliveryExpressFreeEnabled( bean.getDeliveryExpressFreeEnabled() );
+        tradeConfigDO.deliveryExpressFreePrice( bean.getDeliveryExpressFreePrice() );
+        tradeConfigDO.deliveryPickUpEnabled( bean.getDeliveryPickUpEnabled() );
+        tradeConfigDO.brokerageEnabled( bean.getBrokerageEnabled() );
+        tradeConfigDO.brokerageEnabledCondition( bean.getBrokerageEnabledCondition() );
+        tradeConfigDO.brokerageBindMode( bean.getBrokerageBindMode() );
+        List<String> list2 = bean.getBrokeragePosterUrls();
+        if ( list2 != null ) {
+            tradeConfigDO.brokeragePosterUrls( new ArrayList<String>( list2 ) );
+        }
+        tradeConfigDO.brokerageFirstPercent( bean.getBrokerageFirstPercent() );
+        tradeConfigDO.brokerageSecondPercent( bean.getBrokerageSecondPercent() );
+        tradeConfigDO.brokerageWithdrawMinPrice( bean.getBrokerageWithdrawMinPrice() );
+        tradeConfigDO.brokerageWithdrawFeePercent( bean.getBrokerageWithdrawFeePercent() );
+        List<Integer> list3 = bean.getBrokerageBankNames();
+        if ( list3 != null ) {
+            tradeConfigDO.brokerageBankNames( new ArrayList<Integer>( list3 ) );
+        }
+        tradeConfigDO.brokerageFrozenDays( bean.getBrokerageFrozenDays() );
+        List<Integer> list4 = bean.getBrokerageWithdrawTypes();
+        if ( list4 != null ) {
+            tradeConfigDO.brokerageWithdrawTypes( new ArrayList<Integer>( list4 ) );
+        }
+
+        return tradeConfigDO.build();
+    }
+
+    @Override
+    public TradeConfigRespVO convert(TradeConfigDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        TradeConfigRespVO tradeConfigRespVO = new TradeConfigRespVO();
+
+        List<String> list = bean.getAfterSaleRefundReasons();
+        if ( list != null ) {
+            tradeConfigRespVO.setAfterSaleRefundReasons( new ArrayList<String>( list ) );
+        }
+        List<String> list1 = bean.getAfterSaleReturnReasons();
+        if ( list1 != null ) {
+            tradeConfigRespVO.setAfterSaleReturnReasons( new ArrayList<String>( list1 ) );
+        }
+        tradeConfigRespVO.setDeliveryExpressFreeEnabled( bean.getDeliveryExpressFreeEnabled() );
+        tradeConfigRespVO.setDeliveryExpressFreePrice( bean.getDeliveryExpressFreePrice() );
+        tradeConfigRespVO.setDeliveryPickUpEnabled( bean.getDeliveryPickUpEnabled() );
+        tradeConfigRespVO.setBrokerageEnabled( bean.getBrokerageEnabled() );
+        tradeConfigRespVO.setBrokerageEnabledCondition( bean.getBrokerageEnabledCondition() );
+        tradeConfigRespVO.setBrokerageBindMode( bean.getBrokerageBindMode() );
+        List<String> list2 = bean.getBrokeragePosterUrls();
+        if ( list2 != null ) {
+            tradeConfigRespVO.setBrokeragePosterUrls( new ArrayList<String>( list2 ) );
+        }
+        tradeConfigRespVO.setBrokerageFirstPercent( bean.getBrokerageFirstPercent() );
+        tradeConfigRespVO.setBrokerageSecondPercent( bean.getBrokerageSecondPercent() );
+        tradeConfigRespVO.setBrokerageWithdrawMinPrice( bean.getBrokerageWithdrawMinPrice() );
+        tradeConfigRespVO.setBrokerageWithdrawFeePercent( bean.getBrokerageWithdrawFeePercent() );
+        List<Integer> list3 = bean.getBrokerageBankNames();
+        if ( list3 != null ) {
+            tradeConfigRespVO.setBrokerageBankNames( new ArrayList<Integer>( list3 ) );
+        }
+        tradeConfigRespVO.setBrokerageFrozenDays( bean.getBrokerageFrozenDays() );
+        List<Integer> list4 = bean.getBrokerageWithdrawTypes();
+        if ( list4 != null ) {
+            tradeConfigRespVO.setBrokerageWithdrawTypes( new ArrayList<Integer>( list4 ) );
+        }
+        tradeConfigRespVO.setId( bean.getId() );
+
+        return tradeConfigRespVO;
+    }
+
+    @Override
+    public AppTradeConfigRespVO convert02(TradeConfigDO tradeConfig) {
+        if ( tradeConfig == null ) {
+            return null;
+        }
+
+        AppTradeConfigRespVO appTradeConfigRespVO = new AppTradeConfigRespVO();
+
+        appTradeConfigRespVO.setDeliveryPickUpEnabled( tradeConfig.getDeliveryPickUpEnabled() );
+        List<String> list = tradeConfig.getAfterSaleRefundReasons();
+        if ( list != null ) {
+            appTradeConfigRespVO.setAfterSaleRefundReasons( new ArrayList<String>( list ) );
+        }
+        List<String> list1 = tradeConfig.getAfterSaleReturnReasons();
+        if ( list1 != null ) {
+            appTradeConfigRespVO.setAfterSaleReturnReasons( new ArrayList<String>( list1 ) );
+        }
+        List<String> list2 = tradeConfig.getBrokeragePosterUrls();
+        if ( list2 != null ) {
+            appTradeConfigRespVO.setBrokeragePosterUrls( new ArrayList<String>( list2 ) );
+        }
+        appTradeConfigRespVO.setBrokerageFrozenDays( tradeConfig.getBrokerageFrozenDays() );
+        appTradeConfigRespVO.setBrokerageWithdrawMinPrice( tradeConfig.getBrokerageWithdrawMinPrice() );
+        List<Integer> list3 = tradeConfig.getBrokerageWithdrawTypes();
+        if ( list3 != null ) {
+            appTradeConfigRespVO.setBrokerageWithdrawTypes( new ArrayList<Integer>( list3 ) );
+        }
+
+        return appTradeConfigRespVO;
+    }
+}

+ 189 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/delivery/DeliveryExpressConvertImpl.java

@@ -0,0 +1,189 @@
+package com.cdm.module.trade.convert.delivery;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.trade.controller.admin.delivery.vo.express.DeliveryExpressCreateReqVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.express.DeliveryExpressExcelVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.express.DeliveryExpressRespVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.express.DeliveryExpressSimpleRespVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.express.DeliveryExpressUpdateReqVO;
+import com.cdm.module.trade.controller.app.delivery.vo.express.AppDeliveryExpressRespVO;
+import com.cdm.module.trade.dal.dataobject.delivery.DeliveryExpressDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:57+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class DeliveryExpressConvertImpl implements DeliveryExpressConvert {
+
+    @Override
+    public DeliveryExpressDO convert(DeliveryExpressCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressDO deliveryExpressDO = new DeliveryExpressDO();
+
+        deliveryExpressDO.setCode( bean.getCode() );
+        deliveryExpressDO.setName( bean.getName() );
+        deliveryExpressDO.setLogo( bean.getLogo() );
+        deliveryExpressDO.setSort( bean.getSort() );
+        deliveryExpressDO.setStatus( bean.getStatus() );
+
+        return deliveryExpressDO;
+    }
+
+    @Override
+    public DeliveryExpressDO convert(DeliveryExpressUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressDO deliveryExpressDO = new DeliveryExpressDO();
+
+        deliveryExpressDO.setId( bean.getId() );
+        deliveryExpressDO.setCode( bean.getCode() );
+        deliveryExpressDO.setName( bean.getName() );
+        deliveryExpressDO.setLogo( bean.getLogo() );
+        deliveryExpressDO.setSort( bean.getSort() );
+        deliveryExpressDO.setStatus( bean.getStatus() );
+
+        return deliveryExpressDO;
+    }
+
+    @Override
+    public DeliveryExpressRespVO convert(DeliveryExpressDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressRespVO deliveryExpressRespVO = new DeliveryExpressRespVO();
+
+        deliveryExpressRespVO.setCode( bean.getCode() );
+        deliveryExpressRespVO.setName( bean.getName() );
+        deliveryExpressRespVO.setLogo( bean.getLogo() );
+        deliveryExpressRespVO.setSort( bean.getSort() );
+        deliveryExpressRespVO.setStatus( bean.getStatus() );
+        deliveryExpressRespVO.setId( bean.getId() );
+        deliveryExpressRespVO.setCreateTime( bean.getCreateTime() );
+
+        return deliveryExpressRespVO;
+    }
+
+    @Override
+    public List<DeliveryExpressRespVO> convertList(List<DeliveryExpressDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryExpressRespVO> list1 = new ArrayList<DeliveryExpressRespVO>( list.size() );
+        for ( DeliveryExpressDO deliveryExpressDO : list ) {
+            list1.add( convert( deliveryExpressDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<DeliveryExpressRespVO> convertPage(PageResult<DeliveryExpressDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<DeliveryExpressRespVO> pageResult = new PageResult<DeliveryExpressRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<DeliveryExpressExcelVO> convertList02(List<DeliveryExpressDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryExpressExcelVO> list1 = new ArrayList<DeliveryExpressExcelVO>( list.size() );
+        for ( DeliveryExpressDO deliveryExpressDO : list ) {
+            list1.add( deliveryExpressDOToDeliveryExpressExcelVO( deliveryExpressDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<DeliveryExpressSimpleRespVO> convertList1(List<DeliveryExpressDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryExpressSimpleRespVO> list1 = new ArrayList<DeliveryExpressSimpleRespVO>( list.size() );
+        for ( DeliveryExpressDO deliveryExpressDO : list ) {
+            list1.add( deliveryExpressDOToDeliveryExpressSimpleRespVO( deliveryExpressDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<AppDeliveryExpressRespVO> convertList03(List<DeliveryExpressDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppDeliveryExpressRespVO> list1 = new ArrayList<AppDeliveryExpressRespVO>( list.size() );
+        for ( DeliveryExpressDO deliveryExpressDO : list ) {
+            list1.add( deliveryExpressDOToAppDeliveryExpressRespVO( deliveryExpressDO ) );
+        }
+
+        return list1;
+    }
+
+    protected DeliveryExpressExcelVO deliveryExpressDOToDeliveryExpressExcelVO(DeliveryExpressDO deliveryExpressDO) {
+        if ( deliveryExpressDO == null ) {
+            return null;
+        }
+
+        DeliveryExpressExcelVO deliveryExpressExcelVO = new DeliveryExpressExcelVO();
+
+        deliveryExpressExcelVO.setId( deliveryExpressDO.getId() );
+        deliveryExpressExcelVO.setCode( deliveryExpressDO.getCode() );
+        deliveryExpressExcelVO.setName( deliveryExpressDO.getName() );
+        deliveryExpressExcelVO.setLogo( deliveryExpressDO.getLogo() );
+        deliveryExpressExcelVO.setSort( deliveryExpressDO.getSort() );
+        deliveryExpressExcelVO.setStatus( deliveryExpressDO.getStatus() );
+        deliveryExpressExcelVO.setCreateTime( deliveryExpressDO.getCreateTime() );
+
+        return deliveryExpressExcelVO;
+    }
+
+    protected DeliveryExpressSimpleRespVO deliveryExpressDOToDeliveryExpressSimpleRespVO(DeliveryExpressDO deliveryExpressDO) {
+        if ( deliveryExpressDO == null ) {
+            return null;
+        }
+
+        DeliveryExpressSimpleRespVO deliveryExpressSimpleRespVO = new DeliveryExpressSimpleRespVO();
+
+        deliveryExpressSimpleRespVO.setId( deliveryExpressDO.getId() );
+        deliveryExpressSimpleRespVO.setName( deliveryExpressDO.getName() );
+
+        return deliveryExpressSimpleRespVO;
+    }
+
+    protected AppDeliveryExpressRespVO deliveryExpressDOToAppDeliveryExpressRespVO(DeliveryExpressDO deliveryExpressDO) {
+        if ( deliveryExpressDO == null ) {
+            return null;
+        }
+
+        AppDeliveryExpressRespVO appDeliveryExpressRespVO = new AppDeliveryExpressRespVO();
+
+        appDeliveryExpressRespVO.setId( deliveryExpressDO.getId() );
+        appDeliveryExpressRespVO.setName( deliveryExpressDO.getName() );
+
+        return appDeliveryExpressRespVO;
+    }
+}

+ 285 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/delivery/DeliveryExpressTemplateConvertImpl.java

@@ -0,0 +1,285 @@
+package com.cdm.module.trade.convert.delivery;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.trade.controller.admin.delivery.vo.expresstemplate.DeliveryExpressTemplateChargeBaseVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.expresstemplate.DeliveryExpressTemplateCreateReqVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.expresstemplate.DeliveryExpressTemplateDetailRespVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.expresstemplate.DeliveryExpressTemplateFreeBaseVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.expresstemplate.DeliveryExpressTemplateRespVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.expresstemplate.DeliveryExpressTemplateSimpleRespVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.expresstemplate.DeliveryExpressTemplateUpdateReqVO;
+import com.cdm.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateChargeDO;
+import com.cdm.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateDO;
+import com.cdm.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateFreeDO;
+import com.cdm.module.trade.service.delivery.bo.DeliveryExpressTemplateRespBO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:57+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class DeliveryExpressTemplateConvertImpl implements DeliveryExpressTemplateConvert {
+
+    @Override
+    public DeliveryExpressTemplateDO convert(DeliveryExpressTemplateCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateDO deliveryExpressTemplateDO = new DeliveryExpressTemplateDO();
+
+        deliveryExpressTemplateDO.setName( bean.getName() );
+        deliveryExpressTemplateDO.setChargeMode( bean.getChargeMode() );
+        deliveryExpressTemplateDO.setSort( bean.getSort() );
+
+        return deliveryExpressTemplateDO;
+    }
+
+    @Override
+    public DeliveryExpressTemplateDO convert(DeliveryExpressTemplateUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateDO deliveryExpressTemplateDO = new DeliveryExpressTemplateDO();
+
+        deliveryExpressTemplateDO.setId( bean.getId() );
+        deliveryExpressTemplateDO.setName( bean.getName() );
+        deliveryExpressTemplateDO.setChargeMode( bean.getChargeMode() );
+        deliveryExpressTemplateDO.setSort( bean.getSort() );
+
+        return deliveryExpressTemplateDO;
+    }
+
+    @Override
+    public DeliveryExpressTemplateRespVO convert(DeliveryExpressTemplateDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateRespVO deliveryExpressTemplateRespVO = new DeliveryExpressTemplateRespVO();
+
+        deliveryExpressTemplateRespVO.setName( bean.getName() );
+        deliveryExpressTemplateRespVO.setChargeMode( bean.getChargeMode() );
+        deliveryExpressTemplateRespVO.setSort( bean.getSort() );
+        deliveryExpressTemplateRespVO.setId( bean.getId() );
+        deliveryExpressTemplateRespVO.setCreateTime( bean.getCreateTime() );
+
+        return deliveryExpressTemplateRespVO;
+    }
+
+    @Override
+    public DeliveryExpressTemplateDetailRespVO convert2(DeliveryExpressTemplateDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateDetailRespVO deliveryExpressTemplateDetailRespVO = new DeliveryExpressTemplateDetailRespVO();
+
+        deliveryExpressTemplateDetailRespVO.setName( bean.getName() );
+        deliveryExpressTemplateDetailRespVO.setChargeMode( bean.getChargeMode() );
+        deliveryExpressTemplateDetailRespVO.setSort( bean.getSort() );
+        deliveryExpressTemplateDetailRespVO.setId( bean.getId() );
+
+        return deliveryExpressTemplateDetailRespVO;
+    }
+
+    @Override
+    public List<DeliveryExpressTemplateRespVO> convertList(List<DeliveryExpressTemplateDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryExpressTemplateRespVO> list1 = new ArrayList<DeliveryExpressTemplateRespVO>( list.size() );
+        for ( DeliveryExpressTemplateDO deliveryExpressTemplateDO : list ) {
+            list1.add( convert( deliveryExpressTemplateDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<DeliveryExpressTemplateSimpleRespVO> convertList1(List<DeliveryExpressTemplateDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryExpressTemplateSimpleRespVO> list1 = new ArrayList<DeliveryExpressTemplateSimpleRespVO>( list.size() );
+        for ( DeliveryExpressTemplateDO deliveryExpressTemplateDO : list ) {
+            list1.add( deliveryExpressTemplateDOToDeliveryExpressTemplateSimpleRespVO( deliveryExpressTemplateDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<DeliveryExpressTemplateRespVO> convertPage(PageResult<DeliveryExpressTemplateDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<DeliveryExpressTemplateRespVO> pageResult = new PageResult<DeliveryExpressTemplateRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public DeliveryExpressTemplateChargeDO convertTemplateCharge(Long templateId, Integer chargeMode, DeliveryExpressTemplateChargeBaseVO vo) {
+        if ( templateId == null && chargeMode == null && vo == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateChargeDO deliveryExpressTemplateChargeDO = new DeliveryExpressTemplateChargeDO();
+
+        if ( vo != null ) {
+            deliveryExpressTemplateChargeDO.setId( vo.getId() );
+            List<Integer> list = vo.getAreaIds();
+            if ( list != null ) {
+                deliveryExpressTemplateChargeDO.setAreaIds( new ArrayList<Integer>( list ) );
+            }
+            deliveryExpressTemplateChargeDO.setStartCount( vo.getStartCount() );
+            deliveryExpressTemplateChargeDO.setStartPrice( vo.getStartPrice() );
+            deliveryExpressTemplateChargeDO.setExtraCount( vo.getExtraCount() );
+            deliveryExpressTemplateChargeDO.setExtraPrice( vo.getExtraPrice() );
+        }
+        deliveryExpressTemplateChargeDO.setTemplateId( templateId );
+        deliveryExpressTemplateChargeDO.setChargeMode( chargeMode );
+
+        return deliveryExpressTemplateChargeDO;
+    }
+
+    @Override
+    public DeliveryExpressTemplateRespBO.Charge convertTemplateCharge(DeliveryExpressTemplateChargeDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateRespBO.Charge charge = new DeliveryExpressTemplateRespBO.Charge();
+
+        charge.setStartCount( bean.getStartCount() );
+        charge.setStartPrice( bean.getStartPrice() );
+        charge.setExtraCount( bean.getExtraCount() );
+        charge.setExtraPrice( bean.getExtraPrice() );
+
+        return charge;
+    }
+
+    @Override
+    public DeliveryExpressTemplateFreeDO convertTemplateFree(Long templateId, DeliveryExpressTemplateFreeBaseVO vo) {
+        if ( templateId == null && vo == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateFreeDO deliveryExpressTemplateFreeDO = new DeliveryExpressTemplateFreeDO();
+
+        if ( vo != null ) {
+            List<Integer> list = vo.getAreaIds();
+            if ( list != null ) {
+                deliveryExpressTemplateFreeDO.setAreaIds( new ArrayList<Integer>( list ) );
+            }
+            deliveryExpressTemplateFreeDO.setFreePrice( vo.getFreePrice() );
+            deliveryExpressTemplateFreeDO.setFreeCount( vo.getFreeCount() );
+        }
+        deliveryExpressTemplateFreeDO.setTemplateId( templateId );
+
+        return deliveryExpressTemplateFreeDO;
+    }
+
+    @Override
+    public DeliveryExpressTemplateRespBO.Free convertTemplateFree(DeliveryExpressTemplateFreeDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateRespBO.Free free = new DeliveryExpressTemplateRespBO.Free();
+
+        free.setFreePrice( bean.getFreePrice() );
+        free.setFreeCount( bean.getFreeCount() );
+
+        return free;
+    }
+
+    @Override
+    public List<DeliveryExpressTemplateChargeBaseVO> convertTemplateChargeList(List<DeliveryExpressTemplateChargeDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryExpressTemplateChargeBaseVO> list1 = new ArrayList<DeliveryExpressTemplateChargeBaseVO>( list.size() );
+        for ( DeliveryExpressTemplateChargeDO deliveryExpressTemplateChargeDO : list ) {
+            list1.add( deliveryExpressTemplateChargeDOToDeliveryExpressTemplateChargeBaseVO( deliveryExpressTemplateChargeDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<DeliveryExpressTemplateFreeBaseVO> convertTemplateFreeList(List<DeliveryExpressTemplateFreeDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryExpressTemplateFreeBaseVO> list1 = new ArrayList<DeliveryExpressTemplateFreeBaseVO>( list.size() );
+        for ( DeliveryExpressTemplateFreeDO deliveryExpressTemplateFreeDO : list ) {
+            list1.add( deliveryExpressTemplateFreeDOToDeliveryExpressTemplateFreeBaseVO( deliveryExpressTemplateFreeDO ) );
+        }
+
+        return list1;
+    }
+
+    protected DeliveryExpressTemplateSimpleRespVO deliveryExpressTemplateDOToDeliveryExpressTemplateSimpleRespVO(DeliveryExpressTemplateDO deliveryExpressTemplateDO) {
+        if ( deliveryExpressTemplateDO == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateSimpleRespVO deliveryExpressTemplateSimpleRespVO = new DeliveryExpressTemplateSimpleRespVO();
+
+        deliveryExpressTemplateSimpleRespVO.setId( deliveryExpressTemplateDO.getId() );
+        deliveryExpressTemplateSimpleRespVO.setName( deliveryExpressTemplateDO.getName() );
+
+        return deliveryExpressTemplateSimpleRespVO;
+    }
+
+    protected DeliveryExpressTemplateChargeBaseVO deliveryExpressTemplateChargeDOToDeliveryExpressTemplateChargeBaseVO(DeliveryExpressTemplateChargeDO deliveryExpressTemplateChargeDO) {
+        if ( deliveryExpressTemplateChargeDO == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateChargeBaseVO deliveryExpressTemplateChargeBaseVO = new DeliveryExpressTemplateChargeBaseVO();
+
+        deliveryExpressTemplateChargeBaseVO.setId( deliveryExpressTemplateChargeDO.getId() );
+        List<Integer> list = deliveryExpressTemplateChargeDO.getAreaIds();
+        if ( list != null ) {
+            deliveryExpressTemplateChargeBaseVO.setAreaIds( new ArrayList<Integer>( list ) );
+        }
+        deliveryExpressTemplateChargeBaseVO.setStartCount( deliveryExpressTemplateChargeDO.getStartCount() );
+        deliveryExpressTemplateChargeBaseVO.setStartPrice( deliveryExpressTemplateChargeDO.getStartPrice() );
+        deliveryExpressTemplateChargeBaseVO.setExtraCount( deliveryExpressTemplateChargeDO.getExtraCount() );
+        deliveryExpressTemplateChargeBaseVO.setExtraPrice( deliveryExpressTemplateChargeDO.getExtraPrice() );
+
+        return deliveryExpressTemplateChargeBaseVO;
+    }
+
+    protected DeliveryExpressTemplateFreeBaseVO deliveryExpressTemplateFreeDOToDeliveryExpressTemplateFreeBaseVO(DeliveryExpressTemplateFreeDO deliveryExpressTemplateFreeDO) {
+        if ( deliveryExpressTemplateFreeDO == null ) {
+            return null;
+        }
+
+        DeliveryExpressTemplateFreeBaseVO deliveryExpressTemplateFreeBaseVO = new DeliveryExpressTemplateFreeBaseVO();
+
+        List<Integer> list = deliveryExpressTemplateFreeDO.getAreaIds();
+        if ( list != null ) {
+            deliveryExpressTemplateFreeBaseVO.setAreaIds( new ArrayList<Integer>( list ) );
+        }
+        deliveryExpressTemplateFreeBaseVO.setFreePrice( deliveryExpressTemplateFreeDO.getFreePrice() );
+        deliveryExpressTemplateFreeBaseVO.setFreeCount( deliveryExpressTemplateFreeDO.getFreeCount() );
+
+        return deliveryExpressTemplateFreeBaseVO;
+    }
+}

+ 173 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/delivery/DeliveryPickUpStoreConvertImpl.java

@@ -0,0 +1,173 @@
+package com.cdm.module.trade.convert.delivery;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreCreateReqVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreRespVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreSimpleRespVO;
+import com.cdm.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreUpdateReqVO;
+import com.cdm.module.trade.controller.app.delivery.vo.pickup.AppDeliveryPickUpStoreRespVO;
+import com.cdm.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:57+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class DeliveryPickUpStoreConvertImpl implements DeliveryPickUpStoreConvert {
+
+    @Override
+    public DeliveryPickUpStoreDO convert(DeliveryPickUpStoreCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryPickUpStoreDO deliveryPickUpStoreDO = new DeliveryPickUpStoreDO();
+
+        deliveryPickUpStoreDO.setName( bean.getName() );
+        deliveryPickUpStoreDO.setIntroduction( bean.getIntroduction() );
+        deliveryPickUpStoreDO.setPhone( bean.getPhone() );
+        deliveryPickUpStoreDO.setAreaId( bean.getAreaId() );
+        deliveryPickUpStoreDO.setDetailAddress( bean.getDetailAddress() );
+        deliveryPickUpStoreDO.setLogo( bean.getLogo() );
+        deliveryPickUpStoreDO.setOpeningTime( bean.getOpeningTime() );
+        deliveryPickUpStoreDO.setClosingTime( bean.getClosingTime() );
+        deliveryPickUpStoreDO.setLatitude( bean.getLatitude() );
+        deliveryPickUpStoreDO.setLongitude( bean.getLongitude() );
+        deliveryPickUpStoreDO.setStatus( bean.getStatus() );
+
+        return deliveryPickUpStoreDO;
+    }
+
+    @Override
+    public DeliveryPickUpStoreDO convert(DeliveryPickUpStoreUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryPickUpStoreDO deliveryPickUpStoreDO = new DeliveryPickUpStoreDO();
+
+        deliveryPickUpStoreDO.setId( bean.getId() );
+        deliveryPickUpStoreDO.setName( bean.getName() );
+        deliveryPickUpStoreDO.setIntroduction( bean.getIntroduction() );
+        deliveryPickUpStoreDO.setPhone( bean.getPhone() );
+        deliveryPickUpStoreDO.setAreaId( bean.getAreaId() );
+        deliveryPickUpStoreDO.setDetailAddress( bean.getDetailAddress() );
+        deliveryPickUpStoreDO.setLogo( bean.getLogo() );
+        deliveryPickUpStoreDO.setOpeningTime( bean.getOpeningTime() );
+        deliveryPickUpStoreDO.setClosingTime( bean.getClosingTime() );
+        deliveryPickUpStoreDO.setLatitude( bean.getLatitude() );
+        deliveryPickUpStoreDO.setLongitude( bean.getLongitude() );
+        deliveryPickUpStoreDO.setStatus( bean.getStatus() );
+
+        return deliveryPickUpStoreDO;
+    }
+
+    @Override
+    public DeliveryPickUpStoreRespVO convert(DeliveryPickUpStoreDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryPickUpStoreRespVO deliveryPickUpStoreRespVO = new DeliveryPickUpStoreRespVO();
+
+        deliveryPickUpStoreRespVO.setName( bean.getName() );
+        deliveryPickUpStoreRespVO.setIntroduction( bean.getIntroduction() );
+        deliveryPickUpStoreRespVO.setPhone( bean.getPhone() );
+        deliveryPickUpStoreRespVO.setAreaId( bean.getAreaId() );
+        deliveryPickUpStoreRespVO.setDetailAddress( bean.getDetailAddress() );
+        deliveryPickUpStoreRespVO.setLogo( bean.getLogo() );
+        deliveryPickUpStoreRespVO.setOpeningTime( bean.getOpeningTime() );
+        deliveryPickUpStoreRespVO.setClosingTime( bean.getClosingTime() );
+        deliveryPickUpStoreRespVO.setLatitude( bean.getLatitude() );
+        deliveryPickUpStoreRespVO.setLongitude( bean.getLongitude() );
+        deliveryPickUpStoreRespVO.setStatus( bean.getStatus() );
+        deliveryPickUpStoreRespVO.setId( bean.getId() );
+        deliveryPickUpStoreRespVO.setCreateTime( bean.getCreateTime() );
+
+        return deliveryPickUpStoreRespVO;
+    }
+
+    @Override
+    public List<DeliveryPickUpStoreRespVO> convertList(List<DeliveryPickUpStoreDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryPickUpStoreRespVO> list1 = new ArrayList<DeliveryPickUpStoreRespVO>( list.size() );
+        for ( DeliveryPickUpStoreDO deliveryPickUpStoreDO : list ) {
+            list1.add( convert( deliveryPickUpStoreDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public PageResult<DeliveryPickUpStoreRespVO> convertPage(PageResult<DeliveryPickUpStoreDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<DeliveryPickUpStoreRespVO> pageResult = new PageResult<DeliveryPickUpStoreRespVO>();
+
+        pageResult.setList( convertList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    @Override
+    public List<DeliveryPickUpStoreSimpleRespVO> convertList1(List<DeliveryPickUpStoreDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<DeliveryPickUpStoreSimpleRespVO> list1 = new ArrayList<DeliveryPickUpStoreSimpleRespVO>( list.size() );
+        for ( DeliveryPickUpStoreDO deliveryPickUpStoreDO : list ) {
+            list1.add( convert02( deliveryPickUpStoreDO ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public DeliveryPickUpStoreSimpleRespVO convert02(DeliveryPickUpStoreDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        DeliveryPickUpStoreSimpleRespVO deliveryPickUpStoreSimpleRespVO = new DeliveryPickUpStoreSimpleRespVO();
+
+        deliveryPickUpStoreSimpleRespVO.setAreaName( convertAreaIdToAreaName( bean.getAreaId() ) );
+        deliveryPickUpStoreSimpleRespVO.setId( bean.getId() );
+        deliveryPickUpStoreSimpleRespVO.setName( bean.getName() );
+        deliveryPickUpStoreSimpleRespVO.setPhone( bean.getPhone() );
+        deliveryPickUpStoreSimpleRespVO.setAreaId( bean.getAreaId() );
+        deliveryPickUpStoreSimpleRespVO.setDetailAddress( bean.getDetailAddress() );
+
+        return deliveryPickUpStoreSimpleRespVO;
+    }
+
+    @Override
+    public AppDeliveryPickUpStoreRespVO convert03(DeliveryPickUpStoreDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        AppDeliveryPickUpStoreRespVO appDeliveryPickUpStoreRespVO = new AppDeliveryPickUpStoreRespVO();
+
+        appDeliveryPickUpStoreRespVO.setAreaName( convertAreaIdToAreaName( bean.getAreaId() ) );
+        appDeliveryPickUpStoreRespVO.setId( bean.getId() );
+        appDeliveryPickUpStoreRespVO.setName( bean.getName() );
+        appDeliveryPickUpStoreRespVO.setLogo( bean.getLogo() );
+        appDeliveryPickUpStoreRespVO.setPhone( bean.getPhone() );
+        appDeliveryPickUpStoreRespVO.setAreaId( bean.getAreaId() );
+        appDeliveryPickUpStoreRespVO.setDetailAddress( bean.getDetailAddress() );
+        appDeliveryPickUpStoreRespVO.setLatitude( bean.getLatitude() );
+        appDeliveryPickUpStoreRespVO.setLongitude( bean.getLongitude() );
+
+        return appDeliveryPickUpStoreRespVO;
+    }
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 1003 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/order/TradeOrderConvertImpl.java


+ 32 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/convert/order/TradeOrderLogConvertImpl.java

@@ -0,0 +1,32 @@
+package com.cdm.module.trade.convert.order;
+
+import com.cdm.module.trade.dal.dataobject.order.TradeOrderLogDO;
+import com.cdm.module.trade.service.order.bo.TradeOrderLogCreateReqBO;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:57+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class TradeOrderLogConvertImpl implements TradeOrderLogConvert {
+
+    @Override
+    public TradeOrderLogDO convert(TradeOrderLogCreateReqBO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        TradeOrderLogDO.TradeOrderLogDOBuilder tradeOrderLogDO = TradeOrderLogDO.builder();
+
+        tradeOrderLogDO.userId( bean.getUserId() );
+        tradeOrderLogDO.userType( bean.getUserType() );
+        tradeOrderLogDO.orderId( bean.getOrderId() );
+        tradeOrderLogDO.beforeStatus( bean.getBeforeStatus() );
+        tradeOrderLogDO.afterStatus( bean.getAfterStatus() );
+        tradeOrderLogDO.operateType( bean.getOperateType() );
+        tradeOrderLogDO.content( bean.getContent() );
+
+        return tradeOrderLogDO.build();
+    }
+}

+ 104 - 0
cdm-module-mall/cdm-module-trade-biz/target/generated-sources/annotations/com/cdm/module/trade/framework/delivery/core/client/convert/ExpressQueryConvertImpl.java

@@ -0,0 +1,104 @@
+package com.cdm.module.trade.framework.delivery.core.client.convert;
+
+import com.cdm.module.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO;
+import com.cdm.module.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
+import com.cdm.module.trade.framework.delivery.core.client.dto.kd100.Kd100ExpressQueryReqDTO;
+import com.cdm.module.trade.framework.delivery.core.client.dto.kd100.Kd100ExpressQueryRespDTO;
+import com.cdm.module.trade.framework.delivery.core.client.dto.kdniao.KdNiaoExpressQueryReqDTO;
+import com.cdm.module.trade.framework.delivery.core.client.dto.kdniao.KdNiaoExpressQueryRespDTO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:56:56+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class ExpressQueryConvertImpl implements ExpressQueryConvert {
+
+    @Override
+    public List<ExpressTrackRespDTO> convertList(List<KdNiaoExpressQueryRespDTO.ExpressTrack> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<ExpressTrackRespDTO> list1 = new ArrayList<ExpressTrackRespDTO>( list.size() );
+        for ( KdNiaoExpressQueryRespDTO.ExpressTrack expressTrack : list ) {
+            list1.add( convert( expressTrack ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public ExpressTrackRespDTO convert(KdNiaoExpressQueryRespDTO.ExpressTrack track) {
+        if ( track == null ) {
+            return null;
+        }
+
+        ExpressTrackRespDTO expressTrackRespDTO = new ExpressTrackRespDTO();
+
+        expressTrackRespDTO.setTime( track.getAcceptTime() );
+        expressTrackRespDTO.setContent( track.getAcceptStation() );
+
+        return expressTrackRespDTO;
+    }
+
+    @Override
+    public List<ExpressTrackRespDTO> convertList2(List<Kd100ExpressQueryRespDTO.ExpressTrack> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<ExpressTrackRespDTO> list1 = new ArrayList<ExpressTrackRespDTO>( list.size() );
+        for ( Kd100ExpressQueryRespDTO.ExpressTrack expressTrack : list ) {
+            list1.add( convert( expressTrack ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public ExpressTrackRespDTO convert(Kd100ExpressQueryRespDTO.ExpressTrack track) {
+        if ( track == null ) {
+            return null;
+        }
+
+        ExpressTrackRespDTO expressTrackRespDTO = new ExpressTrackRespDTO();
+
+        expressTrackRespDTO.setContent( track.getContext() );
+        expressTrackRespDTO.setTime( track.getTime() );
+
+        return expressTrackRespDTO;
+    }
+
+    @Override
+    public KdNiaoExpressQueryReqDTO convert(ExpressTrackQueryReqDTO dto) {
+        if ( dto == null ) {
+            return null;
+        }
+
+        KdNiaoExpressQueryReqDTO kdNiaoExpressQueryReqDTO = new KdNiaoExpressQueryReqDTO();
+
+        kdNiaoExpressQueryReqDTO.setExpressCode( dto.getExpressCode() );
+        kdNiaoExpressQueryReqDTO.setLogisticsNo( dto.getLogisticsNo() );
+
+        return kdNiaoExpressQueryReqDTO;
+    }
+
+    @Override
+    public Kd100ExpressQueryReqDTO convert2(ExpressTrackQueryReqDTO dto) {
+        if ( dto == null ) {
+            return null;
+        }
+
+        Kd100ExpressQueryReqDTO kd100ExpressQueryReqDTO = new Kd100ExpressQueryReqDTO();
+
+        kd100ExpressQueryReqDTO.setExpressCode( dto.getExpressCode() );
+        kd100ExpressQueryReqDTO.setLogisticsNo( dto.getLogisticsNo() );
+        kd100ExpressQueryReqDTO.setPhone( dto.getPhone() );
+
+        return kd100ExpressQueryReqDTO;
+    }
+}

+ 96 - 0
cdm-module-report/cdm-module-report-biz/target/generated-sources/annotations/com/cdm/module/report/convert/goview/GoViewProjectConvertImpl.java

@@ -0,0 +1,96 @@
+package com.cdm.module.report.convert.goview;
+
+import com.cdm.framework.common.pojo.PageResult;
+import com.cdm.module.report.controller.admin.goview.vo.project.GoViewProjectCreateReqVO;
+import com.cdm.module.report.controller.admin.goview.vo.project.GoViewProjectRespVO;
+import com.cdm.module.report.controller.admin.goview.vo.project.GoViewProjectUpdateReqVO;
+import com.cdm.module.report.dal.dataobject.goview.GoViewProjectDO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:57:23+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class GoViewProjectConvertImpl implements GoViewProjectConvert {
+
+    @Override
+    public GoViewProjectDO convert(GoViewProjectCreateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        GoViewProjectDO.GoViewProjectDOBuilder goViewProjectDO = GoViewProjectDO.builder();
+
+        goViewProjectDO.name( bean.getName() );
+
+        return goViewProjectDO.build();
+    }
+
+    @Override
+    public GoViewProjectDO convert(GoViewProjectUpdateReqVO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        GoViewProjectDO.GoViewProjectDOBuilder goViewProjectDO = GoViewProjectDO.builder();
+
+        goViewProjectDO.id( bean.getId() );
+        goViewProjectDO.name( bean.getName() );
+        goViewProjectDO.picUrl( bean.getPicUrl() );
+        goViewProjectDO.content( bean.getContent() );
+        goViewProjectDO.status( bean.getStatus() );
+        goViewProjectDO.remark( bean.getRemark() );
+
+        return goViewProjectDO.build();
+    }
+
+    @Override
+    public GoViewProjectRespVO convert(GoViewProjectDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        GoViewProjectRespVO goViewProjectRespVO = new GoViewProjectRespVO();
+
+        goViewProjectRespVO.setId( bean.getId() );
+        goViewProjectRespVO.setName( bean.getName() );
+        goViewProjectRespVO.setStatus( bean.getStatus() );
+        goViewProjectRespVO.setContent( bean.getContent() );
+        goViewProjectRespVO.setPicUrl( bean.getPicUrl() );
+        goViewProjectRespVO.setRemark( bean.getRemark() );
+        goViewProjectRespVO.setCreator( bean.getCreator() );
+        goViewProjectRespVO.setCreateTime( bean.getCreateTime() );
+
+        return goViewProjectRespVO;
+    }
+
+    @Override
+    public PageResult<GoViewProjectRespVO> convertPage(PageResult<GoViewProjectDO> page) {
+        if ( page == null ) {
+            return null;
+        }
+
+        PageResult<GoViewProjectRespVO> pageResult = new PageResult<GoViewProjectRespVO>();
+
+        pageResult.setList( goViewProjectDOListToGoViewProjectRespVOList( page.getList() ) );
+        pageResult.setTotal( page.getTotal() );
+
+        return pageResult;
+    }
+
+    protected List<GoViewProjectRespVO> goViewProjectDOListToGoViewProjectRespVOList(List<GoViewProjectDO> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<GoViewProjectRespVO> list1 = new ArrayList<GoViewProjectRespVO>( list.size() );
+        for ( GoViewProjectDO goViewProjectDO : list ) {
+            list1.add( convert( goViewProjectDO ) );
+        }
+
+        return list1;
+    }
+}

+ 21 - 0
cdm-module-system/.flattened-pom.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-module-system</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <packaging>pom</packaging>
+  <name>${project.artifactId}</name>
+  <description>system 模块下,我们放通用业务,支撑上层的核心业务。
+        例如说:用户、部门、权限、数据字典等等</description>
+  <modules>
+    <module>cdm-module-system-api</module>
+    <module>cdm-module-system-biz</module>
+  </modules>
+</project>

+ 26 - 0
cdm-module-system/cdm-module-system-api/.flattened-pom.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-module-system</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-module-system-api</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>system 模块 API,暴露给其它模块调用</description>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-validation</artifactId>
+      <optional>true</optional>
+    </dependency>
+  </dependencies>
+</project>

+ 105 - 0
cdm-module-system/cdm-module-system-biz/.flattened-pom.xml

@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.cdm</groupId>
+    <artifactId>cdm-module-system</artifactId>
+    <version>2.0.0-jdk8-snapshot</version>
+  </parent>
+  <groupId>com.cdm</groupId>
+  <artifactId>cdm-module-system-biz</artifactId>
+  <version>2.0.0-jdk8-snapshot</version>
+  <name>${project.artifactId}</name>
+  <description>system 模块下,我们放通用业务,支撑上层的核心业务。
+        例如说:用户、部门、权限、数据字典等等</description>
+  <dependencies>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-module-system-api</artifactId>
+      <version>${revision}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-module-infra-api</artifactId>
+      <version>${revision}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-biz-operatelog</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-biz-sms</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-biz-dict</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-biz-data-permission</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-biz-tenant</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-biz-ip</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-security</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-validation</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-mybatis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-redis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-job</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-mq</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-excel</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.cdm</groupId>
+      <artifactId>cdm-spring-boot-starter-captcha</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-mail</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.xingyuv</groupId>
+      <artifactId>spring-boot-starter-justauth</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.github.binarywang</groupId>
+      <artifactId>wx-java-mp-spring-boot-starter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.github.binarywang</groupId>
+      <artifactId>wx-java-miniapp-spring-boot-starter</artifactId>
+    </dependency>
+  </dependencies>
+</project>

+ 109 - 0
cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/auth/AuthConvertImpl.java

@@ -0,0 +1,109 @@
+package com.cdm.module.system.convert.auth;
+
+import com.cdm.module.system.api.sms.dto.code.SmsCodeSendReqDTO;
+import com.cdm.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
+import com.cdm.module.system.api.social.dto.SocialUserBindReqDTO;
+import com.cdm.module.system.controller.admin.auth.vo.AuthLoginRespVO;
+import com.cdm.module.system.controller.admin.auth.vo.AuthPermissionInfoRespVO;
+import com.cdm.module.system.controller.admin.auth.vo.AuthSmsLoginReqVO;
+import com.cdm.module.system.controller.admin.auth.vo.AuthSmsSendReqVO;
+import com.cdm.module.system.controller.admin.auth.vo.AuthSocialLoginReqVO;
+import com.cdm.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
+import com.cdm.module.system.dal.dataobject.permission.MenuDO;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:51:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class AuthConvertImpl implements AuthConvert {
+
+    @Override
+    public AuthLoginRespVO convert(OAuth2AccessTokenDO bean) {
+        if ( bean == null ) {
+            return null;
+        }
+
+        AuthLoginRespVO.AuthLoginRespVOBuilder authLoginRespVO = AuthLoginRespVO.builder();
+
+        authLoginRespVO.userId( bean.getUserId() );
+        authLoginRespVO.accessToken( bean.getAccessToken() );
+        authLoginRespVO.refreshToken( bean.getRefreshToken() );
+        authLoginRespVO.expiresTime( bean.getExpiresTime() );
+
+        return authLoginRespVO.build();
+    }
+
+    @Override
+    public AuthPermissionInfoRespVO.MenuVO convertTreeNode(MenuDO menu) {
+        if ( menu == null ) {
+            return null;
+        }
+
+        AuthPermissionInfoRespVO.MenuVO.MenuVOBuilder menuVO = AuthPermissionInfoRespVO.MenuVO.builder();
+
+        menuVO.id( menu.getId() );
+        menuVO.parentId( menu.getParentId() );
+        menuVO.name( menu.getName() );
+        menuVO.path( menu.getPath() );
+        menuVO.component( menu.getComponent() );
+        menuVO.componentName( menu.getComponentName() );
+        menuVO.icon( menu.getIcon() );
+        menuVO.visible( menu.getVisible() );
+        menuVO.keepAlive( menu.getKeepAlive() );
+        menuVO.alwaysShow( menu.getAlwaysShow() );
+
+        return menuVO.build();
+    }
+
+    @Override
+    public SocialUserBindReqDTO convert(Long userId, Integer userType, AuthSocialLoginReqVO reqVO) {
+        if ( userId == null && userType == null && reqVO == null ) {
+            return null;
+        }
+
+        SocialUserBindReqDTO socialUserBindReqDTO = new SocialUserBindReqDTO();
+
+        if ( reqVO != null ) {
+            socialUserBindReqDTO.setCode( reqVO.getCode() );
+            socialUserBindReqDTO.setState( reqVO.getState() );
+        }
+        socialUserBindReqDTO.setUserId( userId );
+        socialUserBindReqDTO.setUserType( userType );
+
+        return socialUserBindReqDTO;
+    }
+
+    @Override
+    public SmsCodeSendReqDTO convert(AuthSmsSendReqVO reqVO) {
+        if ( reqVO == null ) {
+            return null;
+        }
+
+        SmsCodeSendReqDTO smsCodeSendReqDTO = new SmsCodeSendReqDTO();
+
+        smsCodeSendReqDTO.setMobile( reqVO.getMobile() );
+        smsCodeSendReqDTO.setScene( reqVO.getScene() );
+
+        return smsCodeSendReqDTO;
+    }
+
+    @Override
+    public SmsCodeUseReqDTO convert(AuthSmsLoginReqVO reqVO, Integer scene, String usedIp) {
+        if ( reqVO == null && scene == null && usedIp == null ) {
+            return null;
+        }
+
+        SmsCodeUseReqDTO smsCodeUseReqDTO = new SmsCodeUseReqDTO();
+
+        if ( reqVO != null ) {
+            smsCodeUseReqDTO.setMobile( reqVO.getMobile() );
+            smsCodeUseReqDTO.setCode( reqVO.getCode() );
+        }
+        smsCodeUseReqDTO.setScene( scene );
+        smsCodeUseReqDTO.setUsedIp( usedIp );
+
+        return smsCodeUseReqDTO;
+    }
+}

+ 72 - 0
cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/ip/AreaConvertImpl.java

@@ -0,0 +1,72 @@
+package com.cdm.module.system.convert.ip;
+
+import com.cdm.framework.ip.core.Area;
+import com.cdm.module.system.controller.admin.ip.vo.AreaNodeRespVO;
+import com.cdm.module.system.controller.app.ip.vo.AppAreaNodeRespVO;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:51:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class AreaConvertImpl implements AreaConvert {
+
+    @Override
+    public List<AreaNodeRespVO> convertList(List<Area> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AreaNodeRespVO> list1 = new ArrayList<AreaNodeRespVO>( list.size() );
+        for ( Area area : list ) {
+            list1.add( areaToAreaNodeRespVO( area ) );
+        }
+
+        return list1;
+    }
+
+    @Override
+    public List<AppAreaNodeRespVO> convertList3(List<Area> list) {
+        if ( list == null ) {
+            return null;
+        }
+
+        List<AppAreaNodeRespVO> list1 = new ArrayList<AppAreaNodeRespVO>( list.size() );
+        for ( Area area : list ) {
+            list1.add( areaToAppAreaNodeRespVO( area ) );
+        }
+
+        return list1;
+    }
+
+    protected AreaNodeRespVO areaToAreaNodeRespVO(Area area) {
+        if ( area == null ) {
+            return null;
+        }
+
+        AreaNodeRespVO areaNodeRespVO = new AreaNodeRespVO();
+
+        areaNodeRespVO.setId( area.getId() );
+        areaNodeRespVO.setName( area.getName() );
+        areaNodeRespVO.setChildren( convertList( area.getChildren() ) );
+
+        return areaNodeRespVO;
+    }
+
+    protected AppAreaNodeRespVO areaToAppAreaNodeRespVO(Area area) {
+        if ( area == null ) {
+            return null;
+        }
+
+        AppAreaNodeRespVO appAreaNodeRespVO = new AppAreaNodeRespVO();
+
+        appAreaNodeRespVO.setId( area.getId() );
+        appAreaNodeRespVO.setName( area.getName() );
+        appAreaNodeRespVO.setChildren( convertList3( area.getChildren() ) );
+
+        return appAreaNodeRespVO;
+    }
+}

+ 11 - 0
cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/logger/OperateLogConvertImpl.java

@@ -0,0 +1,11 @@
+package com.cdm.module.system.convert.logger;
+
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:51:41+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class OperateLogConvertImpl implements OperateLogConvert {
+}

+ 11 - 0
cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/mail/MailAccountConvertImpl.java

@@ -0,0 +1,11 @@
+package com.cdm.module.system.convert.mail;
+
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:51:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class MailAccountConvertImpl implements MailAccountConvert {
+}

+ 11 - 0
cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/oauth2/OAuth2OpenConvertImpl.java

@@ -0,0 +1,11 @@
+package com.cdm.module.system.convert.oauth2;
+
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:51:41+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class OAuth2OpenConvertImpl implements OAuth2OpenConvert {
+}

+ 32 - 0
cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/social/SocialUserConvertImpl.java

@@ -0,0 +1,32 @@
+package com.cdm.module.system.convert.social;
+
+import com.cdm.module.system.api.social.dto.SocialUserBindReqDTO;
+import com.cdm.module.system.controller.admin.socail.vo.user.SocialUserBindReqVO;
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:51:31+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class SocialUserConvertImpl implements SocialUserConvert {
+
+    @Override
+    public SocialUserBindReqDTO convert(Long userId, Integer userType, SocialUserBindReqVO reqVO) {
+        if ( userId == null && userType == null && reqVO == null ) {
+            return null;
+        }
+
+        SocialUserBindReqDTO socialUserBindReqDTO = new SocialUserBindReqDTO();
+
+        if ( reqVO != null ) {
+            socialUserBindReqDTO.setSocialType( reqVO.getType() );
+            socialUserBindReqDTO.setCode( reqVO.getCode() );
+            socialUserBindReqDTO.setState( reqVO.getState() );
+        }
+        socialUserBindReqDTO.setUserId( userId );
+        socialUserBindReqDTO.setUserType( userType );
+
+        return socialUserBindReqDTO;
+    }
+}

+ 11 - 0
cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/tenant/TenantConvertImpl.java

@@ -0,0 +1,11 @@
+package com.cdm.module.system.convert.tenant;
+
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:51:32+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class TenantConvertImpl implements TenantConvert {
+}

+ 11 - 0
cdm-module-system/cdm-module-system-biz/target/generated-sources/annotations/com/cdm/module/system/convert/user/UserConvertImpl.java

@@ -0,0 +1,11 @@
+package com.cdm.module.system.convert.user;
+
+import javax.annotation.processing.Generated;
+
+@Generated(
+    value = "org.mapstruct.ap.MappingProcessor",
+    date = "2023-12-21T17:51:41+0800",
+    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.3 (JetBrains s.r.o.)"
+)
+public class UserConvertImpl implements UserConvert {
+}

+ 200 - 0
cdm-server/src/main/resources/application-prod.yaml

@@ -0,0 +1,200 @@
+server:
+  port: 48091
+
+--- #################### 数据库相关配置 ####################
+db:
+  url: rm-uf63d18d12v7lw1x1.mysql.rds.aliyuncs.com
+  username: jy123
+  password: SDS-80310225-ct
+
+spring:
+  # 数据源配置项
+  autoconfigure:
+    exclude:
+      - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源
+      - org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration # 排除积木报表带来的 MongoDB 的自动配置
+  datasource:
+    druid: # Druid 【监控】相关的全局配置
+      web-stat-filter:
+        enabled: true
+      stat-view-servlet:
+        enabled: true
+        allow: # 设置白名单,不填则允许所有访问
+        url-pattern: /druid/*
+        login-username: # 控制台管理用户名和密码
+        login-password:
+      filter:
+        stat:
+          enabled: true
+          log-slow-sql: true # 慢 SQL 记录
+          slow-sql-millis: 100
+          merge-sql: true
+        wall:
+          config:
+            multi-statement-allow: true
+    dynamic: # 多数据源配置
+      druid: # Druid 【连接池】相关的全局配置
+        initial-size: 5 # 初始连接数
+        min-idle: 10 # 最小连接池数量
+        max-active: 20 # 最大连接池数量
+        max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒
+        time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒
+        min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒
+        max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒
+        validation-query: SELECT 1 # 配置检测连接是否有效
+        test-while-idle: true
+        test-on-borrow: false
+        test-on-return: false
+      primary: master
+      datasource:
+        master:
+          name: crm
+          url: jdbc:mysql://${db.url}:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8&autoReconnect=true&nullCatalogMeansCurrent=true&zeroDateTimeBehavior=convertToNull # MySQL Connector/J 8.X 连接的示例
+          username: ${db.username}
+          password: ${db.password}
+        slave: # 模拟从库,可根据自己需要修改
+          name: cdm2
+          url: jdbc:mysql://${db.url}:3306/${spring.datasource.dynamic.datasource.slave.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8&autoReconnect=true&nullCatalogMeansCurrent=true&zeroDateTimeBehavior=convertToNull # MySQL Connector/J 8.X 连接的示例
+          username: ${db.username}
+          password: ${db.password}
+
+  # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
+  redis:
+    host: 127.0.0.1 # 地址
+    port: 6379 # 端口
+    database: 1 # 数据库索引
+    password: 123456 # 密码,建议生产环境开启
+
+--- #################### 定时任务相关配置 ####################
+
+# Quartz 配置项,对应 QuartzProperties 配置类
+spring:
+  quartz:
+    auto-startup: true # 测试环境,需要开启 Job
+    scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName
+    job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。
+    wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true
+    properties: # 添加 Quartz Scheduler 附加属性,更多可以看 http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/configuration.html 文档
+      org:
+        quartz:
+          # Scheduler 相关配置
+          scheduler:
+            instanceName: schedulerName
+            instanceId: AUTO # 自动生成 instance ID
+          # JobStore 相关配置
+          jobStore:
+            # JobStore 实现类。可见博客:https://blog.csdn.net/weixin_42458219/article/details/122247162
+            class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
+            isClustered: true # 是集群模式
+            clusterCheckinInterval: 15000 # 集群检查频率,单位:毫秒。默认为 15000,即 15 秒
+            misfireThreshold: 60000 # misfire 阀值,单位:毫秒。
+          # 线程池相关配置
+          threadPool:
+            threadCount: 25 # 线程池大小。默认为 10 。
+            threadPriority: 5 # 线程优先级
+            class: org.quartz.simpl.SimpleThreadPool # 线程池类型
+    jdbc: # 使用 JDBC 的 JobStore 的时候,JDBC 的配置
+      initialize-schema: NEVER # 是否自动使用 SQL 初始化 Quartz 表结构。这里设置成 never ,我们手动创建表结构。
+
+--- #################### 服务保障相关配置 ####################
+
+# Lock4j 配置项
+lock4j:
+  acquire-timeout: 3000 # 获取分布式锁超时时间,默认为 3000 毫秒
+  expire: 30000 # 分布式锁的超时时间,默认为 30 毫秒
+
+# Resilience4j 配置项
+resilience4j:
+  ratelimiter:
+    instances:
+      backendA:
+        limit-for-period: 1 # 每个周期内,允许的请求数。默认为 50
+        limit-refresh-period: 60s # 每个周期的时长,单位:微秒。默认为 500
+        timeout-duration: 1s # 被限流时,阻塞等待的时长,单位:微秒。默认为 5s
+        register-health-indicator: true # 是否注册到健康监测
+
+--- #################### 监控相关配置 ####################
+
+# Actuator 监控端点的配置项
+management:
+  endpoints:
+    web:
+      base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator
+      exposure:
+        include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
+
+# Spring Boot Admin 配置项
+spring:
+  boot:
+    admin:
+      # Spring Boot Admin Client 客户端的相关配置
+      client:
+        url: http://127.0.0.1:${server.port}/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址
+        instance:
+          service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME]
+      # Spring Boot Admin Server 服务端的相关配置
+      context-path: /admin # 配置 Spring
+
+# 日志文件配置
+logging:
+  file:
+    name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径
+
+--- #################### 微信公众号相关配置 ####################
+wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档
+  mp:
+    # 公众号配置(必填)
+    app-id: wx041349c6f39b268b
+    secret: 5abee519483bc9f8cb37ce280e814bd0
+    # 存储配置,解决 AccessToken 的跨节点的共享
+    config-storage:
+      type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
+      key-prefix: wx # Redis Key 的前缀
+      http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台
+  miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档
+    appid: wx63c280fe3248a3e7
+    secret: 6f270509224a7ae1296bbf1c8cb97aed
+    config-storage:
+      type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
+      key-prefix: wa # Redis Key 的前缀
+      http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台
+
+--- #################### 芋道相关配置 ####################
+
+# 芋道配置项,设置当前项目所有自定义的配置
+cdm:
+  xss:
+    enable: false
+    exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
+      - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
+      - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
+  pay:
+    order-notify-url: http://yunai.natapp1.cc/admin-api/pay/notify/order # 支付渠道的【支付】回调地址
+    refund-notify-url: http://yunai.natapp1.cc/admin-api/pay/notify/refund # 支付渠道的【退款】回调地址
+  demo: true # 开启演示模式
+  tencent-lbs-key: TVDBZ-TDILD-4ON4B-PFDZA-RNLKH-VVF6E # QQ 地图的密钥 https://lbs.qq.com/service/staticV2/staticGuide/staticDoc
+
+justauth:
+  enabled: true
+  type:
+    DINGTALK: # 钉钉
+      client-id: dingvrnreaje3yqvzhxg
+      client-secret: i8E6iZyDvZj51JIb0tYsYfVQYOks9Cq1lgryEjFRqC79P3iJcrxEwT6Qk2QvLrLI
+      ignore-check-redirect-uri: true
+    WECHAT_ENTERPRISE: # 企业微信
+      client-id: wwd411c69a39ad2e54
+      client-secret: 1wTb7hYxnpT2TUbIeHGXGo7T0odav1ic10mLdyyATOw
+      agent-id: 1000004
+      ignore-check-redirect-uri: true
+  cache:
+    type: REDIS
+    prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
+    timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
+wx:
+  mp:
+    useRedis: false
+    defaultContent: \u60A8\u597D\uFF0C\u6709\u4EC0\u4E48\u95EE\u9898\uFF1F
+    redisConfig:
+      host: 127.0.0.1
+      port: 6379
+      password: