Browse Source

service-vpp虚拟电厂模块第一次提交

hanzhengyi 3 days ago
parent
commit
9a5f49a652
100 changed files with 3209 additions and 0 deletions
  1. 2 0
      pom.xml
  2. 65 0
      service-vpp/README.md
  3. 19 0
      service-vpp/pom.xml
  4. 24 0
      service-vpp/service-vpp-api/pom.xml
  5. 108 0
      service-vpp/service-vpp-biz/pom.xml
  6. 47 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/VppApplication.java
  7. 38 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/config/VppUnProperties.java
  8. 63 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/un/UnDnController.java
  9. 59 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/AlarmController.java
  10. 51 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/AnalyticsController.java
  11. 31 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/ArchiveController.java
  12. 47 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/ContractController.java
  13. 84 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/CustomerController.java
  14. 31 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/DashboardController.java
  15. 67 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/DrController.java
  16. 43 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/MobileController.java
  17. 35 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/MonitorController.java
  18. 55 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/ReportInfoController.java
  19. 55 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/ResourceController.java
  20. 51 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/SettlementController.java
  21. 27 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/VppDeviceController.java
  22. 63 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppContract.java
  23. 34 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppContractAuditLog.java
  24. 47 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppContractTemplate.java
  25. 62 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppCustomer.java
  26. 63 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppCustomerAccess.java
  27. 45 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppCustomerContact.java
  28. 58 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDevice.java
  29. 38 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDeviceControlLog.java
  30. 49 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrEvaluation.java
  31. 57 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrEvent.java
  32. 49 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrExecution.java
  33. 49 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrParticipation.java
  34. 51 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrStrategy.java
  35. 31 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrStrategyResource.java
  36. 59 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppEnergyReadingMonthly.java
  37. 52 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppEnergySummaryDaily.java
  38. 22 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppFileArchive.java
  39. 38 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppPaymentRecord.java
  40. 44 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppRegistration.java
  41. 36 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportAuditLog.java
  42. 42 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportData.java
  43. 38 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportLog.java
  44. 54 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportRecord.java
  45. 51 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportTask.java
  46. 66 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppResourcePoint.java
  47. 51 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppResourcePointConfig.java
  48. 58 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppSettlementBill.java
  49. 32 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppSettlementBillDetail.java
  50. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppContractAuditLogMapper.java
  51. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppContractMapper.java
  52. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppContractTemplateMapper.java
  53. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppCustomerAccessMapper.java
  54. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppCustomerContactMapper.java
  55. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppCustomerMapper.java
  56. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDeviceControlLogMapper.java
  57. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDeviceMapper.java
  58. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrEvaluationMapper.java
  59. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrEventMapper.java
  60. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrExecutionMapper.java
  61. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrParticipationMapper.java
  62. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrStrategyMapper.java
  63. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrStrategyResourceMapper.java
  64. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppEnergyReadingMonthlyMapper.java
  65. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppEnergySummaryDailyMapper.java
  66. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppFileArchiveMapper.java
  67. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppPaymentRecordMapper.java
  68. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppRegistrationMapper.java
  69. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportAuditLogMapper.java
  70. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportDataMapper.java
  71. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportLogMapper.java
  72. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportRecordMapper.java
  73. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportTaskMapper.java
  74. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppResourcePointConfigMapper.java
  75. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppResourcePointMapper.java
  76. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppSettlementBillDetailMapper.java
  77. 10 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppSettlementBillMapper.java
  78. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppAlarmService.java
  79. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppAnalyticsService.java
  80. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppArchiveService.java
  81. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppContractService.java
  82. 37 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppCustomerService.java
  83. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppDashboardService.java
  84. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppDeviceService.java
  85. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppDrService.java
  86. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppMobileService.java
  87. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppMonitorService.java
  88. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppReportInfoService.java
  89. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppResourceService.java
  90. 15 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppSettlementService.java
  91. 27 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppUnDnService.java
  92. 11 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppAlarmServiceImpl.java
  93. 11 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppAnalyticsServiceImpl.java
  94. 11 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppArchiveServiceImpl.java
  95. 11 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppContractServiceImpl.java
  96. 256 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppCustomerServiceImpl.java
  97. 11 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppDashboardServiceImpl.java
  98. 11 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppDeviceServiceImpl.java
  99. 11 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppDrServiceImpl.java
  100. 11 0
      service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppMobileServiceImpl.java

+ 2 - 0
pom.xml

@@ -93,6 +93,8 @@
 
         <module>service-sas</module>
 
+        <module>service-vpp</module>
+
   </modules>
           
   

+ 65 - 0
service-vpp/README.md

@@ -0,0 +1,65 @@
+# 虚拟电厂运营管理平台
+
+## 模块信息
+
+| 项目 | 内容 |
+|------|------|
+| 所属系统(模块) | 虚拟电厂运营管理平台 |
+| 分区 | vpp |
+| 英文全称 | Virtual Power Plant |
+| 描述 | 分布式能源聚合管理、运行监控、需求响应、结算报送 |
+| 模块分类 | 应用模块 |
+| 工程模块 | service-vpp |
+
+## 功能范围
+
+依据《虚拟电厂平台详细设计文档 V1.0》,涵盖 13 个一级业务模块:
+
+- 客户管理 / 合同管理 / 资源管理
+- 运行监控 / 告警管理(复用 `base_*`、`rule_*`)
+- 需求响应 / 结算管理 / 信息报送
+- 统计报表 / 数据分析 / 系统管理 / 移动端
+
+## 技术栈
+
+- Java + Spring Boot + MyBatis-Plus
+- MySQL 8.0(`vpp_*` 业务表 + 复用 `sys_*`/`dmp_*`/`base_*`/`rule_*`)
+- TDengine(设备运行曲线)
+- Redis(缓存)
+- 国密 SM2/SM3(运管平台 UN/DN 对接)
+
+## 模块结构
+
+```
+service-vpp/
+├── service-vpp-api/         # Feign API 模块
+├── service-vpp-biz/         # 业务逻辑与启动模块
+│   ├── controller/          # REST 接口(网关前缀 /prod-api/service-vpp)
+│   ├── service/             # 业务服务
+│   ├── domain/              # 实体(28 张 vpp_* 表)
+│   ├── mapper/              # MyBatis Mapper
+│   └── resources/sql/       # DDL 脚本 vpp_schema.sql
+└── pom.xml
+```
+
+## 接口规范
+
+- 网关路径:`/prod-api/service-vpp/{module}/...`
+- 响应格式:`ApiResult`(status/code/msg/data)
+- 分页参数:`current`、`size`
+- 运管平台 DN 端点:`/TokenRequest`、`/Poll` 等(见接口文档第 3 章)
+
+## 启动
+
+```bash
+cd service-vpp/service-vpp-biz
+mvn spring-boot:run
+```
+
+默认端口:`9906`
+
+## 数据库初始化
+
+执行 `service-vpp-biz/src/main/resources/sql/vpp_schema.sql` 创建 VPP 专属表。
+
+平台公共表(用户、设备、告警、规则引擎等)沿用 `usky-cloud.sql`,无需重复创建。

+ 19 - 0
service-vpp/pom.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>usky-modules</artifactId>
+        <groupId>com.usky</groupId>
+        <version>0.0.1</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>service-vpp</artifactId>
+    <packaging>pom</packaging>
+    <version>0.0.1</version>
+
+    <modules>
+        <module>service-vpp-biz</module>
+        <module>service-vpp-api</module>
+    </modules>
+</project>

+ 24 - 0
service-vpp/service-vpp-api/pom.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>service-vpp</artifactId>
+        <groupId>com.usky</groupId>
+        <version>0.0.1</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>service-vpp-api</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>usky-common-core</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

+ 108 - 0
service-vpp/service-vpp-biz/pom.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>service-vpp</artifactId>
+        <groupId>com.usky</groupId>
+        <version>0.0.1</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>service-vpp-biz</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>common-cloud-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>service-vpp-api</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>service-iot-api</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>service-tsdb-api</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>service-alarm-api</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>service-rule-api</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>ruoyi-common-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>ruoyi-common-swagger</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>usky-common-mybatis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- 国密 SM2/SM3(运管平台 UN/DN 对接) -->
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+            <version>1.70</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-crypto</artifactId>
+            <version>5.8.41</version>
+        </dependency>
+
+        <!-- TDengine JDBC(设备运行曲线) -->
+        <dependency>
+            <groupId>com.taosdata.jdbc</groupId>
+            <artifactId>taos-jdbcdriver</artifactId>
+            <version>3.6.3</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>${project.artifactId}</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.2.6.RELEASE</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 47 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/VppApplication.java

@@ -0,0 +1,47 @@
+package com.usky.vpp;
+
+import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
+import org.mybatis.spring.annotation.MapperScan;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.core.env.Environment;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * 虚拟电厂运营管理平台服务
+ *
+ * @author usky
+ */
+@EnableCustomSwagger2
+@EnableFeignClients(basePackages = "com.usky")
+@MapperScan(value = "com.usky.vpp.mapper")
+@ComponentScan("com.usky")
+@SpringBootApplication
+@EnableScheduling
+public class VppApplication {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(VppApplication.class);
+
+    public static void main(String[] args) throws UnknownHostException {
+        ConfigurableApplicationContext application = SpringApplication.run(VppApplication.class, args);
+        Environment env = application.getEnvironment();
+        String ip = InetAddress.getLocalHost().getHostAddress();
+        String port = env.getProperty("server.port");
+        String path = env.getProperty("server.servlet.context-path");
+        LOGGER.info("\n----------------------------------------------------------\n\t" +
+                "Application is running! Access URLs:\n\t" +
+                "Local: \t\thttp://localhost:" + port + (null == path ? "" : path) + "/\n\t" +
+                "External: \thttp://" + ip + ":" + port + (null == path ? "" : path) + "/\n\t" +
+                "Api: \t\thttp://" + ip + ":" + port + (null == path ? "" : path) + "/swagger-ui/index.html\n\t" +
+                "Gateway: \t/prod-api/service-vpp\n\t" +
+                "----------------------------------------------------------");
+    }
+}

+ 38 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/config/VppUnProperties.java

@@ -0,0 +1,38 @@
+package com.usky.vpp.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * 运管平台 UN/DN 对接配置
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "vpp.un")
+public class VppUnProperties {
+
+    /** 运管平台 UN 基地址 */
+    private String baseUrl;
+
+    /** 虚拟电厂运营商 DN ID */
+    private String dnId;
+
+    /** DN 名称 */
+    private String dnName;
+
+    /** DN 对外服务地址(供 UN 回调) */
+    private String transportAddress;
+
+    /** UN 公钥 Base64 */
+    private String unPublicKey;
+
+    /** DN 公钥 Base64 */
+    private String dnPublicKey;
+
+    /** DN 私钥 Base64 */
+    private String dnPrivateKey;
+
+    /** Poll 轮询间隔秒,默认 10 */
+    private Integer pollIntervalSec = 10;
+}

+ 63 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/un/UnDnController.java

@@ -0,0 +1,63 @@
+package com.usky.vpp.controller.un;
+
+import com.usky.vpp.service.VppUnDnService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * 运管平台 DN 侧被动接口(UN 调用 DN)
+ * 路径与服务名一致,如 /TokenRequest、/Poll
+ */
+@RestController
+public class UnDnController {
+
+    @Autowired
+    private VppUnDnService vppUnDnService;
+
+    @PostMapping("/TokenRequest")
+    public Map<String, Object> tokenRequest(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.tokenRequest(body);
+    }
+
+    @PostMapping("/CreateRegistrationRequest")
+    public Map<String, Object> createRegistration(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.createRegistration(body);
+    }
+
+    @PostMapping("/RegisterReportRequest")
+    public Map<String, Object> registerReport(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.registerReport(body);
+    }
+
+    @PostMapping("/MomentDataReportRequest")
+    public Map<String, Object> momentDataReport(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.momentDataReport(body);
+    }
+
+    @PostMapping("/IntervalDataReportRequest")
+    public Map<String, Object> intervalDataReport(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.intervalDataReport(body);
+    }
+
+    @PostMapping("/Poll")
+    public Map<String, Object> poll(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.poll(body);
+    }
+
+    @PostMapping("/CreateOptRequest")
+    public Map<String, Object> createOpt(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.createOpt(body);
+    }
+
+    @PostMapping("/CreateCqRequest")
+    public Map<String, Object> createCq(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.createCq(body);
+    }
+
+    @PostMapping("/CreateEventResponse")
+    public Map<String, Object> createEventResponse(@RequestBody(required = false) Map<String, Object> body) {
+        return vppUnDnService.createEventResponse(body);
+    }
+}

+ 59 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/AlarmController.java

@@ -0,0 +1,59 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppAlarmService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Alarm 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/alarm")
+public class AlarmController {
+
+    @Autowired
+    private VppAlarmService vppAlarmService;
+
+    @GetMapping(value = "/rule")
+    public ApiResult<Object> pageRule(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/rule")
+    public ApiResult<Object> createRule(@RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+    @PutMapping(value = "/rule/{id}")
+    public ApiResult<Void> updateRule(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @DeleteMapping(value = "/rule/{id}")
+    public ApiResult<Void> deleteRule(@PathVariable("id") Long id) {
+        return ApiResult.success();
+    }
+    @GetMapping(value = "/type")
+    public ApiResult<Object> listType(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping
+    public ApiResult<Object> pageAlarm() {
+        return ApiResult.success(null);
+    }
+    @PutMapping(value = "/{id}/handle")
+    public ApiResult<Void> handleAlarm(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @PutMapping(value = "/{id}/false-alarm")
+    public ApiResult<Void> falseAlarm(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @GetMapping(value = "/notice")
+    public ApiResult<Object> listNotice(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/statistic")
+    public ApiResult<Object> statistic(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+}

+ 51 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/AnalyticsController.java

@@ -0,0 +1,51 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppAnalyticsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Analytics 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/analytics")
+public class AnalyticsController {
+
+    @Autowired
+    private VppAnalyticsService vppAnalyticsService;
+
+    @GetMapping(value = "/energy")
+    public ApiResult<Object> energyReport(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/monthly")
+    public ApiResult<Object> monthlyReport(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/settlement")
+    public ApiResult<Object> settlementReport(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/dr-settlement")
+    public ApiResult<Object> drSettlementReport(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/total-energy")
+    public ApiResult<Object> totalEnergy(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/time-of-use")
+    public ApiResult<Object> timeOfUse(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/compare")
+    public ApiResult<Object> compare(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/export")
+    public ApiResult<Object> export(@RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+}

+ 31 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/ArchiveController.java

@@ -0,0 +1,31 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppArchiveService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Archive 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/archive")
+public class ArchiveController {
+
+    @Autowired
+    private VppArchiveService vppArchiveService;
+
+    @GetMapping
+    public ApiResult<Object> page() {
+        return ApiResult.success(null);
+    }
+    @PostMapping
+    public ApiResult<Object> upload() {
+        return ApiResult.success(null);
+    }
+    @DeleteMapping(value = "/{id}")
+    public ApiResult<Void> delete(@PathVariable("id") Long id) {
+        return ApiResult.success();
+    }
+}

+ 47 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/ContractController.java

@@ -0,0 +1,47 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppContractService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Contract 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/contract")
+public class ContractController {
+
+    @Autowired
+    private VppContractService vppContractService;
+
+    @GetMapping(value = "/template")
+    public ApiResult<Object> listTemplate(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping
+    public ApiResult<Object> createContract() {
+        return ApiResult.success(null);
+    }
+    @GetMapping
+    public ApiResult<Object> pageContract() {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/{id}")
+    public ApiResult<Object> getContract(@PathVariable("id") Long id, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/{id}/submit")
+    public ApiResult<Void> submitContract(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @PutMapping(value = "/{id}/audit")
+    public ApiResult<Void> auditContract(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @PostMapping(value = "/{id}/archive")
+    public ApiResult<Void> archiveContract(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+}

+ 84 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/CustomerController.java

@@ -0,0 +1,84 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.vpp.domain.VppCustomer;
+import com.usky.vpp.domain.VppCustomerAccess;
+import com.usky.vpp.domain.VppCustomerContact;
+import com.usky.vpp.service.VppCustomerService;
+import com.usky.vpp.service.vo.CustomerAccessAuditRequest;
+import com.usky.vpp.service.vo.CustomerAccessRequest;
+import com.usky.vpp.service.vo.CustomerContactRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * 客户管理接口
+ * 网关前缀: /prod-api/service-vpp/customer
+ */
+@RestController
+@RequestMapping("/customer")
+public class CustomerController {
+
+    @Autowired
+    private VppCustomerService vppCustomerService;
+
+    @PostMapping("/access")
+    public ApiResult<VppCustomerAccess> submitAccess(@RequestBody CustomerAccessRequest body) {
+        return ApiResult.success(vppCustomerService.submitAccess(body));
+    }
+
+    @GetMapping("/access")
+    public ApiResult<CommonPage<VppCustomerAccess>> pageAccess(@RequestParam(required = false) Map<String, Object> params) {
+        return ApiResult.success(vppCustomerService.pageAccess(params));
+    }
+
+    @PutMapping("/access/{id}/audit")
+    public ApiResult<Void> auditAccess(@PathVariable("id") Long id, @RequestBody CustomerAccessAuditRequest body) {
+        vppCustomerService.auditAccess(id, body);
+        return ApiResult.success();
+    }
+
+    @GetMapping
+    public ApiResult<CommonPage<VppCustomer>> pageCustomer(@RequestParam(required = false) Map<String, Object> params) {
+        return ApiResult.success(vppCustomerService.pageCustomer(params));
+    }
+
+    @GetMapping("/{id}")
+    public ApiResult<VppCustomer> getCustomer(@PathVariable("id") Long id) {
+        return ApiResult.success(vppCustomerService.getCustomer(id));
+    }
+
+    @PutMapping("/{id}")
+    public ApiResult<Void> updateCustomer(@PathVariable("id") Long id, @RequestBody VppCustomer body) {
+        vppCustomerService.updateCustomer(id, body);
+        return ApiResult.success();
+    }
+
+    @GetMapping("/{id}/contact")
+    public ApiResult<CommonPage<VppCustomerContact>> listContact(@PathVariable("id") Long id,
+                                                                  @RequestParam(required = false) Map<String, Object> params) {
+        return ApiResult.success(vppCustomerService.listContact(id, params));
+    }
+
+    @PostMapping("/{id}/contact")
+    public ApiResult<VppCustomerContact> addContact(@PathVariable("id") Long id, @RequestBody CustomerContactRequest body) {
+        return ApiResult.success(vppCustomerService.addContact(id, body));
+    }
+
+    @PutMapping("/{id}/contact/{contactId}")
+    public ApiResult<Void> updateContact(@PathVariable("id") Long id,
+                                         @PathVariable("contactId") Long contactId,
+                                         @RequestBody CustomerContactRequest body) {
+        vppCustomerService.updateContact(id, contactId, body);
+        return ApiResult.success();
+    }
+
+    @DeleteMapping("/{id}/contact/{contactId}")
+    public ApiResult<Void> deleteContact(@PathVariable("id") Long id, @PathVariable("contactId") Long contactId) {
+        vppCustomerService.deleteContact(id, contactId);
+        return ApiResult.success();
+    }
+}

+ 31 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/DashboardController.java

@@ -0,0 +1,31 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppDashboardService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Dashboard 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/dashboard")
+public class DashboardController {
+
+    @Autowired
+    private VppDashboardService vppDashboardService;
+
+    @GetMapping(value = "/summary")
+    public ApiResult<Object> summary(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/map")
+    public ApiResult<Object> mapResources(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/curve")
+    public ApiResult<Object> curve(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+}

+ 67 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/DrController.java

@@ -0,0 +1,67 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppDrService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Dr 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/dr")
+public class DrController {
+
+    @Autowired
+    private VppDrService vppDrService;
+
+    @GetMapping(value = "/event")
+    public ApiResult<Object> pageEvent(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/event/{id}")
+    public ApiResult<Object> getEvent(@PathVariable("id") Long id, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/event/{id}/assess")
+    public ApiResult<Object> assess(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/event/{id}/participate")
+    public ApiResult<Void> participate(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @PostMapping(value = "/event/{id}/clearing")
+    public ApiResult<Void> clearing(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @GetMapping(value = "/event/{id}/execution")
+    public ApiResult<Object> execution(@PathVariable("id") Long id, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/event/{id}/intervene")
+    public ApiResult<Void> intervene(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @GetMapping(value = "/event/{id}/evaluation")
+    public ApiResult<Object> evaluation(@PathVariable("id") Long id, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/strategy")
+    public ApiResult<Object> pageStrategy(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/strategy")
+    public ApiResult<Object> createStrategy(@RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+    @PutMapping(value = "/strategy/{id}")
+    public ApiResult<Void> updateStrategy(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @DeleteMapping(value = "/strategy/{id}")
+    public ApiResult<Void> deleteStrategy(@PathVariable("id") Long id) {
+        return ApiResult.success();
+    }
+}

+ 43 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/MobileController.java

@@ -0,0 +1,43 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppMobileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Mobile 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/mobile")
+public class MobileController {
+
+    @Autowired
+    private VppMobileService vppMobileService;
+
+    @GetMapping(value = "/operator/dashboard")
+    public ApiResult<Object> operatorDashboard(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/owner/resource")
+    public ApiResult<Object> ownerResource(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/owner/bill")
+    public ApiResult<Object> ownerBill(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/message")
+    public ApiResult<Object> messages(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PutMapping(value = "/message/{id}/read")
+    public ApiResult<Void> readMessage(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @PostMapping(value = "/wechat/subscribe")
+    public ApiResult<Void> wechatSubscribe(@RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+}

+ 35 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/MonitorController.java

@@ -0,0 +1,35 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppMonitorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Monitor 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/monitor")
+public class MonitorController {
+
+    @Autowired
+    private VppMonitorService vppMonitorService;
+
+    @GetMapping(value = "/realtime")
+    public ApiResult<Object> realtime(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/history")
+    public ApiResult<Object> history(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/control")
+    public ApiResult<Object> control(@RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/control/log")
+    public ApiResult<Object> controlLog(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+}

+ 55 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/ReportInfoController.java

@@ -0,0 +1,55 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppReportInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - ReportInfo 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/report")
+public class ReportInfoController {
+
+    @Autowired
+    private VppReportInfoService vppReportInfoService;
+
+    @GetMapping(value = "/task")
+    public ApiResult<Object> pageTask(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/record/{id}")
+    public ApiResult<Object> getRecord(@PathVariable("id") Long id, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/record/{id}/prefill")
+    public ApiResult<Object> prefill(@PathVariable("id") Long id, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/record/{id}/data")
+    public ApiResult<Void> saveData(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @PostMapping(value = "/record/{id}/validate")
+    public ApiResult<Object> validateData(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/record/{id}/submit")
+    public ApiResult<Void> submitAudit(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @PutMapping(value = "/record/{id}/audit")
+    public ApiResult<Void> audit(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @PostMapping(value = "/record/{id}/submit-external")
+    public ApiResult<Void> submitExternal(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @GetMapping(value = "/history")
+    public ApiResult<Object> history(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+}

+ 55 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/ResourceController.java

@@ -0,0 +1,55 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppResourceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Resource 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/resource")
+public class ResourceController {
+
+    @Autowired
+    private VppResourceService vppResourceService;
+
+    @GetMapping
+    public ApiResult<Object> pageResource() {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/board")
+    public ApiResult<Object> resourceBoard(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping
+    public ApiResult<Object> createResource() {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/{id}")
+    public ApiResult<Object> getResource(@PathVariable("id") Long id, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PutMapping(value = "/{id}")
+    public ApiResult<Void> updateResource(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @DeleteMapping(value = "/{id}")
+    public ApiResult<Void> deleteResource(@PathVariable("id") Long id) {
+        return ApiResult.success();
+    }
+    @GetMapping(value = "/overview")
+    public ApiResult<Object> overview(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/{resourceId}/device")
+    public ApiResult<Object> listDevice(@PathVariable("resourceId") Long resourceId, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/{resourceId}/device")
+    public ApiResult<Object> addDevice(@PathVariable("resourceId") Long resourceId, @RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+}

+ 51 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/SettlementController.java

@@ -0,0 +1,51 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppSettlementService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - Settlement 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/settlement")
+public class SettlementController {
+
+    @Autowired
+    private VppSettlementService vppSettlementService;
+
+    @GetMapping(value = "/reading")
+    public ApiResult<Object> pageReading(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/reading/calculate")
+    public ApiResult<Void> calculateReading(@RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @GetMapping(value = "/bill")
+    public ApiResult<Object> pageBill(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/bill")
+    public ApiResult<Object> generateBill(@RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/bill/{id}")
+    public ApiResult<Object> getBill(@PathVariable("id") Long id, @RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/bill/{id}/download")
+    public ApiResult<Object> downloadBill(@PathVariable("id") Long id) {
+        return ApiResult.success(null);
+    }
+    @GetMapping(value = "/payment")
+    public ApiResult<Object> pagePayment(@RequestParam(required = false) java.util.Map<String, Object> params) {
+        return ApiResult.success(null);
+    }
+    @PostMapping(value = "/payment")
+    public ApiResult<Object> recordPayment(@RequestBody(required = false) Object body) {
+        return ApiResult.success(null);
+    }
+}

+ 27 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/controller/web/VppDeviceController.java

@@ -0,0 +1,27 @@
+package com.usky.vpp.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.vpp.service.VppDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 虚拟电厂 - VppDevice 接口
+ * 网关前缀: /prod-api/service-vpp
+ */
+@RestController
+@RequestMapping("/device")
+public class VppDeviceController {
+
+    @Autowired
+    private VppDeviceService vppDeviceService;
+
+    @PutMapping(value = "/{id}")
+    public ApiResult<Void> updateDevice(@PathVariable("id") Long id, @RequestBody(required = false) Object body) {
+        return ApiResult.success();
+    }
+    @DeleteMapping(value = "/{id}")
+    public ApiResult<Void> deleteDevice(@PathVariable("id") Long id) {
+        return ApiResult.success();
+    }
+}

+ 63 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppContract.java

@@ -0,0 +1,63 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_contract
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_contract")
+public class VppContract implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("contract_no")
+    private String contractNo;
+    @TableField("customer_id")
+    private Long customerId;
+    @TableField("template_id")
+    private Long templateId;
+    @TableField("contract_type")
+    private Integer contractType;
+    @TableField("contract_name")
+    private String contractName;
+    @TableField("contract_status")
+    private Integer contractStatus;
+    @TableField("sign_date")
+    private LocalDate signDate;
+    @TableField("effective_date")
+    private LocalDate effectiveDate;
+    @TableField("expire_date")
+    private LocalDate expireDate;
+    @TableField("file_url")
+    private String fileUrl;
+    @TableField("share_ratio")
+    private BigDecimal shareRatio;
+    @TableField("price_json")
+    private String priceJson;
+    @TableField("account_info_json")
+    private String accountInfoJson;
+    private String remark;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 34 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppContractAuditLog.java

@@ -0,0 +1,34 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_contract_audit_log
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_contract_audit_log")
+public class VppContractAuditLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("contract_id")
+    private Long contractId;
+    private Integer action;
+    private String opinion;
+    @TableField("operator_id")
+    private Long operatorId;
+    @TableField("operator_name")
+    private String operatorName;
+    @TableField("operated_at")
+    private LocalDateTime operatedAt;
+}

+ 47 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppContractTemplate.java

@@ -0,0 +1,47 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_contract_template
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_contract_template")
+public class VppContractTemplate implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("template_code")
+    private String templateCode;
+    @TableField("template_name")
+    private String templateName;
+    @TableField("contract_type")
+    private Integer contractType;
+    private String version;
+    @TableField("file_url")
+    private String fileUrl;
+    @TableField("variables_json")
+    private String variablesJson;
+    @TableField("is_enabled")
+    private Integer isEnabled;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 62 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppCustomer.java

@@ -0,0 +1,62 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_customer
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_customer")
+public class VppCustomer implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("account_no")
+    private String accountNo;
+    @TableField("customer_name")
+    private String customerName;
+    @TableField("customer_type")
+    private Integer customerType;
+    @TableField("power_company")
+    private String powerCompany;
+    @TableField("contract_capacity")
+    private BigDecimal contractCapacity;
+    @TableField("credit_status")
+    private Integer creditStatus;
+    @TableField("lifecycle_status")
+    private Integer lifecycleStatus;
+    @TableField("dr_notify_minutes")
+    private Integer drNotifyMinutes;
+    @TableField("dr_up_capacity_kw")
+    private BigDecimal drUpCapacityKw;
+    @TableField("dr_down_capacity_kw")
+    private BigDecimal drDownCapacityKw;
+    private String province;
+    private String city;
+    private String district;
+    private String address;
+    @TableField("business_license_url")
+    private String businessLicenseUrl;
+    private String remark;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 63 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppCustomerAccess.java

@@ -0,0 +1,63 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_customer_access
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_customer_access")
+public class VppCustomerAccess implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("apply_no")
+    private String applyNo;
+    @TableField("account_no")
+    private String accountNo;
+    @TableField("customer_name")
+    private String customerName;
+    @TableField("customer_type")
+    private Integer customerType;
+    @TableField("power_company")
+    private String powerCompany;
+    @TableField("contract_capacity")
+    private BigDecimal contractCapacity;
+    @TableField("business_license_url")
+    private String businessLicenseUrl;
+    @TableField("credit_status")
+    private Integer creditStatus;
+    @TableField("access_status")
+    private Integer accessStatus;
+    @TableField("audit_opinion")
+    private String auditOpinion;
+    @TableField("audit_by")
+    private Long auditBy;
+    @TableField("audit_at")
+    private LocalDateTime auditAt;
+    @TableField("customer_id")
+    private Long customerId;
+    @TableField("apply_at")
+    private LocalDateTime applyAt;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 45 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppCustomerContact.java

@@ -0,0 +1,45 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_customer_contact
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_customer_contact")
+public class VppCustomerContact implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("customer_id")
+    private Long customerId;
+    @TableField("contact_name")
+    private String contactName;
+    @TableField("contact_phone")
+    private String contactPhone;
+    @TableField("contact_email")
+    private String contactEmail;
+    @TableField("is_primary")
+    private Integer isPrimary;
+    private String position;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 58 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDevice.java

@@ -0,0 +1,58 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_device
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_device")
+public class VppDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("device_code")
+    private String deviceCode;
+    @TableField("device_name")
+    private String deviceName;
+    @TableField("resource_id")
+    private Long resourceId;
+    @TableField("device_type")
+    private String deviceType;
+    private String manufacturer;
+    private String model;
+    @TableField("rated_power_kw")
+    private BigDecimal ratedPowerKw;
+    @TableField("comm_status")
+    private Integer commStatus;
+    @TableField("run_status")
+    private Integer runStatus;
+    @TableField("firmware_version")
+    private String firmwareVersion;
+    @TableField("last_online_at")
+    private LocalDateTime lastOnlineAt;
+    @TableField("gateway_id")
+    private String gatewayId;
+    private String remark;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 38 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDeviceControlLog.java

@@ -0,0 +1,38 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_device_control_log
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_device_control_log")
+public class VppDeviceControlLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("device_id")
+    private Long deviceId;
+    @TableField("control_type")
+    private String controlType;
+    @TableField("control_params")
+    private String controlParams;
+    @TableField("control_result")
+    private Integer controlResult;
+    @TableField("result_message")
+    private String resultMessage;
+    @TableField("operator_id")
+    private Long operatorId;
+    @TableField("operated_at")
+    private LocalDateTime operatedAt;
+}

+ 49 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrEvaluation.java

@@ -0,0 +1,49 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_dr_evaluation
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_dr_evaluation")
+public class VppDrEvaluation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("event_id")
+    private Long eventId;
+    @TableField("actual_capacity_kw")
+    private BigDecimal actualCapacityKw;
+    @TableField("response_duration_min")
+    private Integer responseDurationMin;
+    @TableField("subsidy_amount")
+    private BigDecimal subsidyAmount;
+    @TableField("qualified_rate")
+    private BigDecimal qualifiedRate;
+    @TableField("report_file_url")
+    private String reportFileUrl;
+    @TableField("evaluated_at")
+    private LocalDateTime evaluatedAt;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 57 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrEvent.java

@@ -0,0 +1,57 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_dr_event
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_dr_event")
+public class VppDrEvent implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("event_id")
+    private String eventId;
+    @TableField("event_name")
+    private String eventName;
+    @TableField("response_type")
+    private Integer responseType;
+    @TableField("event_type")
+    private Integer eventType;
+    @TableField("start_time")
+    private LocalDateTime startTime;
+    @TableField("end_time")
+    private LocalDateTime endTime;
+    @TableField("target_capacity_kw")
+    private BigDecimal targetCapacityKw;
+    @TableField("cleared_capacity_kw")
+    private BigDecimal clearedCapacityKw;
+    @TableField("subsidy_price")
+    private BigDecimal subsidyPrice;
+    @TableField("event_status")
+    private Integer eventStatus;
+    @TableField("raw_payload")
+    private String rawPayload;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 49 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrExecution.java

@@ -0,0 +1,49 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_dr_execution
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_dr_execution")
+public class VppDrExecution implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("event_id")
+    private Long eventId;
+    @TableField("resource_id")
+    private Long resourceId;
+    @TableField("target_kw")
+    private BigDecimal targetKw;
+    @TableField("actual_kw")
+    private BigDecimal actualKw;
+    @TableField("execute_status")
+    private Integer executeStatus;
+    @TableField("started_at")
+    private LocalDateTime startedAt;
+    @TableField("finished_at")
+    private LocalDateTime finishedAt;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 49 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrParticipation.java

@@ -0,0 +1,49 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_dr_participation
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_dr_participation")
+public class VppDrParticipation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("event_id")
+    private Long eventId;
+    @TableField("customer_id")
+    private Long customerId;
+    @TableField("resource_id")
+    private Long resourceId;
+    @TableField("participate_status")
+    private Integer participateStatus;
+    @TableField("declared_capacity_kw")
+    private BigDecimal declaredCapacityKw;
+    @TableField("cleared_capacity_kw")
+    private BigDecimal clearedCapacityKw;
+    @TableField("declared_at")
+    private LocalDateTime declaredAt;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 51 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrStrategy.java

@@ -0,0 +1,51 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_dr_strategy
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_dr_strategy")
+public class VppDrStrategy implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("strategy_code")
+    private String strategyCode;
+    @TableField("strategy_name")
+    private String strategyName;
+    @TableField("response_type")
+    private Integer responseType;
+    @TableField("adjust_step_kw")
+    private BigDecimal adjustStepKw;
+    @TableField("execute_mode")
+    private Integer executeMode;
+    @TableField("strategy_config")
+    private String strategyConfig;
+    @TableField("is_default")
+    private Integer isDefault;
+    @TableField("is_enabled")
+    private Integer isEnabled;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 31 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppDrStrategyResource.java

@@ -0,0 +1,31 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * vpp_dr_strategy_resource
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_dr_strategy_resource")
+public class VppDrStrategyResource implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("strategy_id")
+    private Long strategyId;
+    @TableField("resource_id")
+    private Long resourceId;
+    private Integer priority;
+    @TableField("max_adjust_kw")
+    private BigDecimal maxAdjustKw;
+}

+ 59 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppEnergyReadingMonthly.java

@@ -0,0 +1,59 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_energy_reading_monthly
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_energy_reading_monthly")
+public class VppEnergyReadingMonthly implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("customer_id")
+    private Long customerId;
+    @TableField("resource_id")
+    private Long resourceId;
+    @TableField("settle_year")
+    private String settleYear;
+    @TableField("settle_month")
+    private Integer settleMonth;
+    @TableField("total_energy_kwh")
+    private BigDecimal totalEnergyKwh;
+    @TableField("peak_energy_kwh")
+    private BigDecimal peakEnergyKwh;
+    @TableField("flat_energy_kwh")
+    private BigDecimal flatEnergyKwh;
+    @TableField("valley_energy_kwh")
+    private BigDecimal valleyEnergyKwh;
+    @TableField("sharp_energy_kwh")
+    private BigDecimal sharpEnergyKwh;
+    @TableField("gen_energy_kwh")
+    private BigDecimal genEnergyKwh;
+    @TableField("calc_status")
+    private Integer calcStatus;
+    @TableField("calc_at")
+    private LocalDateTime calcAt;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 52 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppEnergySummaryDaily.java

@@ -0,0 +1,52 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_energy_summary_daily
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_energy_summary_daily")
+public class VppEnergySummaryDaily implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("summary_date")
+    private LocalDate summaryDate;
+    @TableField("resource_id")
+    private Long resourceId;
+    @TableField("resource_type")
+    private String resourceType;
+    @TableField("gen_energy_kwh")
+    private BigDecimal genEnergyKwh;
+    @TableField("use_energy_kwh")
+    private BigDecimal useEnergyKwh;
+    @TableField("green_ratio")
+    private BigDecimal greenRatio;
+    @TableField("max_power_kw")
+    private BigDecimal maxPowerKw;
+    @TableField("avg_power_kw")
+    private BigDecimal avgPowerKw;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 22 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppFileArchive.java

@@ -0,0 +1,22 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+
+/**
+ * vpp_file_archive
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_file_archive")
+public class VppFileArchive implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+}

+ 38 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppPaymentRecord.java

@@ -0,0 +1,38 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+/**
+ * vpp_payment_record
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_payment_record")
+public class VppPaymentRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("bill_id")
+    private Long billId;
+    @TableField("payment_amount")
+    private BigDecimal paymentAmount;
+    @TableField("payment_method")
+    private Integer paymentMethod;
+    @TableField("payment_date")
+    private LocalDate paymentDate;
+    @TableField("voucher_url")
+    private String voucherUrl;
+    private String remark;
+    @TableField("recorded_by")
+    private Long recordedBy;
+}

+ 44 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppRegistration.java

@@ -0,0 +1,44 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_registration
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_registration")
+public class VppRegistration implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("dn_id")
+    private String dnId;
+    @TableField("registration_id")
+    private String registrationId;
+    @TableField("reg_status")
+    private Integer regStatus;
+    @TableField("registered_at")
+    private LocalDateTime registeredAt;
+    @TableField("meta_report_id")
+    private String metaReportId;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 36 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportAuditLog.java

@@ -0,0 +1,36 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_report_audit_log
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_report_audit_log")
+public class VppReportAuditLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("record_id")
+    private Long recordId;
+    @TableField("audit_level")
+    private Integer auditLevel;
+    private Integer action;
+    private String opinion;
+    @TableField("operator_id")
+    private Long operatorId;
+    @TableField("operator_ip")
+    private String operatorIp;
+    @TableField("operated_at")
+    private LocalDateTime operatedAt;
+}

+ 42 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportData.java

@@ -0,0 +1,42 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_report_data
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_report_data")
+public class VppReportData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("record_id")
+    private Long recordId;
+    @TableField("form_data")
+    private String formData;
+    @TableField("validation_errors")
+    private String validationErrors;
+    @TableField("is_draft")
+    private Integer isDraft;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 38 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportLog.java

@@ -0,0 +1,38 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_report_log
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_report_log")
+public class VppReportLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("report_type")
+    private String reportType;
+    @TableField("request_id")
+    private String requestId;
+    @TableField("report_status")
+    private Integer reportStatus;
+    @TableField("response_code")
+    private Integer responseCode;
+    @TableField("error_message")
+    private String errorMessage;
+    @TableField("payload_size")
+    private Integer payloadSize;
+    @TableField("reported_at")
+    private LocalDateTime reportedAt;
+}

+ 54 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportRecord.java

@@ -0,0 +1,54 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_report_record
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_report_record")
+public class VppReportRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("task_id")
+    private Long taskId;
+    @TableField("record_no")
+    private String recordNo;
+    @TableField("report_period")
+    private String reportPeriod;
+    @TableField("submit_mode")
+    private Integer submitMode;
+    @TableField("record_status")
+    private Integer recordStatus;
+    @TableField("report_file_url")
+    private String reportFileUrl;
+    @TableField("receipt_file_url")
+    private String receiptFileUrl;
+    @TableField("retry_count")
+    private Integer retryCount;
+    @TableField("submitted_at")
+    private LocalDateTime submittedAt;
+    @TableField("archived_at")
+    private LocalDateTime archivedAt;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 51 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppReportTask.java

@@ -0,0 +1,51 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_report_task
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_report_task")
+public class VppReportTask implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("task_no")
+    private String taskNo;
+    @TableField("task_name")
+    private String taskName;
+    @TableField("report_org")
+    private Integer reportOrg;
+    @TableField("report_cycle")
+    private Integer reportCycle;
+    @TableField("report_type")
+    private String reportType;
+    private LocalDateTime deadline;
+    @TableField("task_status")
+    private Integer taskStatus;
+    @TableField("assignee_id")
+    private Long assigneeId;
+    @TableField("remind_days")
+    private Integer remindDays;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 66 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppResourcePoint.java

@@ -0,0 +1,66 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_resource_point
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_resource_point")
+public class VppResourcePoint implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("resource_code")
+    private String resourceCode;
+    @TableField("resource_name")
+    private String resourceName;
+    @TableField("customer_id")
+    private Long customerId;
+    @TableField("resource_type")
+    private String resourceType;
+    @TableField("capacity_kw")
+    private BigDecimal capacityKw;
+    @TableField("adjustable_kw")
+    private BigDecimal adjustableKw;
+    private String province;
+    private String city;
+    private String district;
+    private String address;
+    private BigDecimal longitude;
+    private BigDecimal latitude;
+    @TableField("owner_name")
+    private String ownerName;
+    @TableField("contact_name")
+    private String contactName;
+    @TableField("contact_phone")
+    private String contactPhone;
+    @TableField("run_status")
+    private Integer runStatus;
+    @TableField("response_priority")
+    private Integer responsePriority;
+    @TableField("un_resource_id")
+    private String unResourceId;
+    private String remark;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 51 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppResourcePointConfig.java

@@ -0,0 +1,51 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_resource_point_config
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_resource_point_config")
+public class VppResourcePointConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("resource_id")
+    private Long resourceId;
+    @TableField("collect_interval_sec")
+    private Integer collectIntervalSec;
+    @TableField("power_upper_limit")
+    private BigDecimal powerUpperLimit;
+    @TableField("power_lower_limit")
+    private BigDecimal powerLowerLimit;
+    @TableField("soc_upper_limit")
+    private BigDecimal socUpperLimit;
+    @TableField("soc_lower_limit")
+    private BigDecimal socLowerLimit;
+    @TableField("offline_timeout_sec")
+    private Integer offlineTimeoutSec;
+    @TableField("alarm_rule_json")
+    private String alarmRuleJson;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 58 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppSettlementBill.java

@@ -0,0 +1,58 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * vpp_settlement_bill
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_settlement_bill")
+public class VppSettlementBill implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("bill_no")
+    private String billNo;
+    @TableField("customer_id")
+    private Long customerId;
+    @TableField("settle_year")
+    private String settleYear;
+    @TableField("settle_month")
+    private Integer settleMonth;
+    @TableField("total_energy_kwh")
+    private BigDecimal totalEnergyKwh;
+    @TableField("total_amount")
+    private BigDecimal totalAmount;
+    @TableField("paid_amount")
+    private BigDecimal paidAmount;
+    @TableField("payment_status")
+    private Integer paymentStatus;
+    @TableField("due_date")
+    private LocalDate dueDate;
+    @TableField("bill_file_url")
+    private String billFileUrl;
+    @TableField("generated_at")
+    private LocalDateTime generatedAt;
+    @TableField("create_time")
+    private LocalDateTime createTime;
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+    @TableField("created_by")
+    private Long createdBy;
+    @TableField("updated_by")
+    private Long updatedBy;
+    @TableField("deleted_at")
+    private LocalDateTime deletedAt;
+}

+ 32 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/domain/VppSettlementBillDetail.java

@@ -0,0 +1,32 @@
+package com.usky.vpp.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * vpp_settlement_bill_detail
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("vpp_settlement_bill_detail")
+public class VppSettlementBillDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    @TableField("bill_id")
+    private Long billId;
+    @TableField("time_period")
+    private Integer timePeriod;
+    @TableField("energy_kwh")
+    private BigDecimal energyKwh;
+    private BigDecimal price;
+    private BigDecimal amount;
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppContractAuditLogMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppContractAuditLog;
+
+/**
+ * vpp_contract_audit_log Mapper
+ */
+public interface VppContractAuditLogMapper extends CrudMapper<VppContractAuditLog> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppContractMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppContract;
+
+/**
+ * vpp_contract Mapper
+ */
+public interface VppContractMapper extends CrudMapper<VppContract> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppContractTemplateMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppContractTemplate;
+
+/**
+ * vpp_contract_template Mapper
+ */
+public interface VppContractTemplateMapper extends CrudMapper<VppContractTemplate> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppCustomerAccessMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppCustomerAccess;
+
+/**
+ * vpp_customer_access Mapper
+ */
+public interface VppCustomerAccessMapper extends CrudMapper<VppCustomerAccess> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppCustomerContactMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppCustomerContact;
+
+/**
+ * vpp_customer_contact Mapper
+ */
+public interface VppCustomerContactMapper extends CrudMapper<VppCustomerContact> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppCustomerMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppCustomer;
+
+/**
+ * vpp_customer Mapper
+ */
+public interface VppCustomerMapper extends CrudMapper<VppCustomer> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDeviceControlLogMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppDeviceControlLog;
+
+/**
+ * vpp_device_control_log Mapper
+ */
+public interface VppDeviceControlLogMapper extends CrudMapper<VppDeviceControlLog> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDeviceMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppDevice;
+
+/**
+ * vpp_device Mapper
+ */
+public interface VppDeviceMapper extends CrudMapper<VppDevice> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrEvaluationMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppDrEvaluation;
+
+/**
+ * vpp_dr_evaluation Mapper
+ */
+public interface VppDrEvaluationMapper extends CrudMapper<VppDrEvaluation> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrEventMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppDrEvent;
+
+/**
+ * vpp_dr_event Mapper
+ */
+public interface VppDrEventMapper extends CrudMapper<VppDrEvent> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrExecutionMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppDrExecution;
+
+/**
+ * vpp_dr_execution Mapper
+ */
+public interface VppDrExecutionMapper extends CrudMapper<VppDrExecution> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrParticipationMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppDrParticipation;
+
+/**
+ * vpp_dr_participation Mapper
+ */
+public interface VppDrParticipationMapper extends CrudMapper<VppDrParticipation> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrStrategyMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppDrStrategy;
+
+/**
+ * vpp_dr_strategy Mapper
+ */
+public interface VppDrStrategyMapper extends CrudMapper<VppDrStrategy> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppDrStrategyResourceMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppDrStrategyResource;
+
+/**
+ * vpp_dr_strategy_resource Mapper
+ */
+public interface VppDrStrategyResourceMapper extends CrudMapper<VppDrStrategyResource> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppEnergyReadingMonthlyMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppEnergyReadingMonthly;
+
+/**
+ * vpp_energy_reading_monthly Mapper
+ */
+public interface VppEnergyReadingMonthlyMapper extends CrudMapper<VppEnergyReadingMonthly> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppEnergySummaryDailyMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppEnergySummaryDaily;
+
+/**
+ * vpp_energy_summary_daily Mapper
+ */
+public interface VppEnergySummaryDailyMapper extends CrudMapper<VppEnergySummaryDaily> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppFileArchiveMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppFileArchive;
+
+/**
+ * vpp_file_archive Mapper
+ */
+public interface VppFileArchiveMapper extends CrudMapper<VppFileArchive> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppPaymentRecordMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppPaymentRecord;
+
+/**
+ * vpp_payment_record Mapper
+ */
+public interface VppPaymentRecordMapper extends CrudMapper<VppPaymentRecord> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppRegistrationMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppRegistration;
+
+/**
+ * vpp_registration Mapper
+ */
+public interface VppRegistrationMapper extends CrudMapper<VppRegistration> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportAuditLogMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppReportAuditLog;
+
+/**
+ * vpp_report_audit_log Mapper
+ */
+public interface VppReportAuditLogMapper extends CrudMapper<VppReportAuditLog> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportDataMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppReportData;
+
+/**
+ * vpp_report_data Mapper
+ */
+public interface VppReportDataMapper extends CrudMapper<VppReportData> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportLogMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppReportLog;
+
+/**
+ * vpp_report_log Mapper
+ */
+public interface VppReportLogMapper extends CrudMapper<VppReportLog> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportRecordMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppReportRecord;
+
+/**
+ * vpp_report_record Mapper
+ */
+public interface VppReportRecordMapper extends CrudMapper<VppReportRecord> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppReportTaskMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppReportTask;
+
+/**
+ * vpp_report_task Mapper
+ */
+public interface VppReportTaskMapper extends CrudMapper<VppReportTask> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppResourcePointConfigMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppResourcePointConfig;
+
+/**
+ * vpp_resource_point_config Mapper
+ */
+public interface VppResourcePointConfigMapper extends CrudMapper<VppResourcePointConfig> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppResourcePointMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppResourcePoint;
+
+/**
+ * vpp_resource_point Mapper
+ */
+public interface VppResourcePointMapper extends CrudMapper<VppResourcePoint> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppSettlementBillDetailMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppSettlementBillDetail;
+
+/**
+ * vpp_settlement_bill_detail Mapper
+ */
+public interface VppSettlementBillDetailMapper extends CrudMapper<VppSettlementBillDetail> {
+}

+ 10 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/mapper/VppSettlementBillMapper.java

@@ -0,0 +1,10 @@
+package com.usky.vpp.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.vpp.domain.VppSettlementBill;
+
+/**
+ * vpp_settlement_bill Mapper
+ */
+public interface VppSettlementBillMapper extends CrudMapper<VppSettlementBill> {
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppAlarmService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppAlarmService 业务接口
+ */
+public interface VppAlarmService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppAnalyticsService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppAnalyticsService 业务接口
+ */
+public interface VppAnalyticsService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppArchiveService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppArchiveService 业务接口
+ */
+public interface VppArchiveService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppContractService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppContractService 业务接口
+ */
+public interface VppContractService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 37 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppCustomerService.java

@@ -0,0 +1,37 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.vpp.domain.VppCustomer;
+import com.usky.vpp.domain.VppCustomerAccess;
+import com.usky.vpp.domain.VppCustomerContact;
+import com.usky.vpp.service.vo.CustomerAccessAuditRequest;
+import com.usky.vpp.service.vo.CustomerAccessRequest;
+import com.usky.vpp.service.vo.CustomerContactRequest;
+
+import java.util.Map;
+
+/**
+ * 客户管理业务接口
+ */
+public interface VppCustomerService {
+
+    VppCustomerAccess submitAccess(CustomerAccessRequest request);
+
+    CommonPage<VppCustomerAccess> pageAccess(Map<String, Object> params);
+
+    void auditAccess(Long id, CustomerAccessAuditRequest request);
+
+    CommonPage<VppCustomer> pageCustomer(Map<String, Object> params);
+
+    VppCustomer getCustomer(Long id);
+
+    void updateCustomer(Long id, VppCustomer customer);
+
+    CommonPage<VppCustomerContact> listContact(Long customerId, Map<String, Object> params);
+
+    VppCustomerContact addContact(Long customerId, CustomerContactRequest request);
+
+    void updateContact(Long customerId, Long contactId, CustomerContactRequest request);
+
+    void deleteContact(Long customerId, Long contactId);
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppDashboardService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppDashboardService 业务接口
+ */
+public interface VppDashboardService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppDeviceService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppDeviceService 业务接口
+ */
+public interface VppDeviceService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppDrService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppDrService 业务接口
+ */
+public interface VppDrService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppMobileService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppMobileService 业务接口
+ */
+public interface VppMobileService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppMonitorService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppMonitorService 业务接口
+ */
+public interface VppMonitorService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppReportInfoService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppReportInfoService 业务接口
+ */
+public interface VppReportInfoService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppResourceService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppResourceService 业务接口
+ */
+public interface VppResourceService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 15 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppSettlementService.java

@@ -0,0 +1,15 @@
+package com.usky.vpp.service;
+
+import com.usky.common.core.bean.CommonPage;
+
+import java.util.Map;
+
+/**
+ * VppSettlementService 业务接口
+ */
+public interface VppSettlementService {
+
+    default Object stub(String action, Map<String, Object> params) {
+        return null;
+    }
+}

+ 27 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/VppUnDnService.java

@@ -0,0 +1,27 @@
+package com.usky.vpp.service;
+
+import java.util.Map;
+
+/**
+ * 运管平台 UN/DN 对接服务
+ */
+public interface VppUnDnService {
+
+    Map<String, Object> tokenRequest(Map<String, Object> body);
+
+    Map<String, Object> createRegistration(Map<String, Object> body);
+
+    Map<String, Object> registerReport(Map<String, Object> body);
+
+    Map<String, Object> momentDataReport(Map<String, Object> body);
+
+    Map<String, Object> intervalDataReport(Map<String, Object> body);
+
+    Map<String, Object> poll(Map<String, Object> body);
+
+    Map<String, Object> createOpt(Map<String, Object> body);
+
+    Map<String, Object> createCq(Map<String, Object> body);
+
+    Map<String, Object> createEventResponse(Map<String, Object> body);
+}

+ 11 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppAlarmServiceImpl.java

@@ -0,0 +1,11 @@
+package com.usky.vpp.service.impl;
+
+import com.usky.vpp.service.VppAlarmService;
+import org.springframework.stereotype.Service;
+
+/**
+ * VppAlarmService 默认实现(待按业务完善)
+ */
+@Service
+public class VppAlarmServiceImpl implements VppAlarmService {
+}

+ 11 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppAnalyticsServiceImpl.java

@@ -0,0 +1,11 @@
+package com.usky.vpp.service.impl;
+
+import com.usky.vpp.service.VppAnalyticsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * VppAnalyticsService 默认实现(待按业务完善)
+ */
+@Service
+public class VppAnalyticsServiceImpl implements VppAnalyticsService {
+}

+ 11 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppArchiveServiceImpl.java

@@ -0,0 +1,11 @@
+package com.usky.vpp.service.impl;
+
+import com.usky.vpp.service.VppArchiveService;
+import org.springframework.stereotype.Service;
+
+/**
+ * VppArchiveService 默认实现(待按业务完善)
+ */
+@Service
+public class VppArchiveServiceImpl implements VppArchiveService {
+}

+ 11 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppContractServiceImpl.java

@@ -0,0 +1,11 @@
+package com.usky.vpp.service.impl;
+
+import com.usky.vpp.service.VppContractService;
+import org.springframework.stereotype.Service;
+
+/**
+ * VppContractService 默认实现(待按业务完善)
+ */
+@Service
+public class VppContractServiceImpl implements VppContractService {
+}

+ 256 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppCustomerServiceImpl.java

@@ -0,0 +1,256 @@
+package com.usky.vpp.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.vpp.domain.VppCustomer;
+import com.usky.vpp.domain.VppCustomerAccess;
+import com.usky.vpp.domain.VppCustomerContact;
+import com.usky.vpp.mapper.VppCustomerAccessMapper;
+import com.usky.vpp.mapper.VppCustomerContactMapper;
+import com.usky.vpp.mapper.VppCustomerMapper;
+import com.usky.vpp.service.VppCustomerService;
+import com.usky.vpp.service.vo.CustomerAccessAuditRequest;
+import com.usky.vpp.service.vo.CustomerAccessRequest;
+import com.usky.vpp.service.vo.CustomerContactRequest;
+import com.usky.vpp.util.VppAuditHelper;
+import com.usky.vpp.util.VppPageHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import java.time.LocalDateTime;
+import java.util.Map;
+
+/**
+ * 客户管理业务实现
+ */
+@Service
+public class VppCustomerServiceImpl implements VppCustomerService {
+
+    private static final int ACCESS_PENDING = 0;
+    private static final int ACCESS_PASSED = 1;
+    private static final int ACCESS_REJECTED = 2;
+    private static final int LIFECYCLE_PENDING = 1;
+    private static final int LIFECYCLE_ADMITTED = 2;
+
+    @Autowired
+    private VppCustomerMapper customerMapper;
+    @Autowired
+    private VppCustomerAccessMapper accessMapper;
+    @Autowired
+    private VppCustomerContactMapper contactMapper;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public VppCustomerAccess submitAccess(CustomerAccessRequest request) {
+        validateAccessRequest(request);
+        VppCustomerAccess access = new VppCustomerAccess();
+        access.setApplyNo(VppAuditHelper.nextApplyNo());
+        access.setAccountNo(request.getAccountNo());
+        access.setCustomerName(request.getCustomerName());
+        access.setCustomerType(request.getCustomerType());
+        access.setPowerCompany(request.getPowerCompany());
+        access.setContractCapacity(request.getContractCapacity());
+        access.setBusinessLicenseUrl(request.getBusinessLicenseUrl());
+        access.setCreditStatus(request.getCreditStatus());
+        access.setAccessStatus(ACCESS_PENDING);
+        access.setApplyAt(LocalDateTime.now());
+        VppAuditHelper.fillCreate(access);
+        accessMapper.insert(access);
+        return access;
+    }
+
+    @Override
+    public CommonPage<VppCustomerAccess> pageAccess(Map<String, Object> params) {
+        Page<VppCustomerAccess> page = VppPageHelper.of(params);
+        LambdaQueryWrapper<VppCustomerAccess> wrapper = new LambdaQueryWrapper<VppCustomerAccess>()
+                .isNull(VppCustomerAccess::getDeletedAt)
+                .orderByDesc(VppCustomerAccess::getApplyAt);
+        if (params != null && params.get("accessStatus") != null) {
+            wrapper.eq(VppCustomerAccess::getAccessStatus, Integer.parseInt(params.get("accessStatus").toString()));
+        }
+        Page<VppCustomerAccess> result = accessMapper.selectPage(page, wrapper);
+        return toCommonPage(result);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void auditAccess(Long id, CustomerAccessAuditRequest request) {
+        VppCustomerAccess access = accessMapper.selectById(id);
+        if (access == null || access.getDeletedAt() != null) {
+            throw new BusinessException("准入申请不存在");
+        }
+        if (access.getAccessStatus() != ACCESS_PENDING) {
+            throw new BusinessException("当前状态不允许审核");
+        }
+        if (request.getPassed() == null) {
+            throw new BusinessException("审核结果不能为空");
+        }
+        access.setAuditOpinion(request.getAuditOpinion());
+        access.setAuditAt(LocalDateTime.now());
+        if (Boolean.TRUE.equals(request.getPassed())) {
+            access.setAccessStatus(ACCESS_PASSED);
+            VppCustomer customer = buildCustomerFromAccess(access);
+            VppAuditHelper.fillCreate(customer);
+            customerMapper.insert(customer);
+            access.setCustomerId(customer.getId());
+        } else {
+            access.setAccessStatus(ACCESS_REJECTED);
+        }
+        VppAuditHelper.fillUpdate(access);
+        accessMapper.updateById(access);
+    }
+
+    @Override
+    public CommonPage<VppCustomer> pageCustomer(Map<String, Object> params) {
+        Page<VppCustomer> page = VppPageHelper.of(params);
+        LambdaQueryWrapper<VppCustomer> wrapper = new LambdaQueryWrapper<VppCustomer>()
+                .isNull(VppCustomer::getDeletedAt)
+                .orderByDesc(VppCustomer::getCreateTime);
+        if (params != null) {
+            if (params.get("customerName") != null) {
+                wrapper.like(VppCustomer::getCustomerName, params.get("customerName").toString());
+            }
+            if (params.get("accountNo") != null) {
+                wrapper.eq(VppCustomer::getAccountNo, params.get("accountNo").toString());
+            }
+            if (params.get("lifecycleStatus") != null) {
+                wrapper.eq(VppCustomer::getLifecycleStatus, Integer.parseInt(params.get("lifecycleStatus").toString()));
+            }
+            if (params.get("customerType") != null) {
+                wrapper.eq(VppCustomer::getCustomerType, Integer.parseInt(params.get("customerType").toString()));
+            }
+        }
+        return toCommonPage(customerMapper.selectPage(page, wrapper));
+    }
+
+    @Override
+    public VppCustomer getCustomer(Long id) {
+        VppCustomer customer = customerMapper.selectById(id);
+        if (customer == null || customer.getDeletedAt() != null) {
+            throw new BusinessException("客户不存在");
+        }
+        return customer;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateCustomer(Long id, VppCustomer customer) {
+        VppCustomer existing = getCustomer(id);
+        customer.setId(existing.getId());
+        customer.setAccountNo(existing.getAccountNo());
+        customer.setCreateTime(existing.getCreateTime());
+        customer.setCreatedBy(existing.getCreatedBy());
+        VppAuditHelper.fillUpdate(customer);
+        customerMapper.updateById(customer);
+    }
+
+    @Override
+    public CommonPage<VppCustomerContact> listContact(Long customerId, Map<String, Object> params) {
+        getCustomer(customerId);
+        Page<VppCustomerContact> page = VppPageHelper.of(params);
+        LambdaQueryWrapper<VppCustomerContact> wrapper = new LambdaQueryWrapper<VppCustomerContact>()
+                .eq(VppCustomerContact::getCustomerId, customerId)
+                .isNull(VppCustomerContact::getDeletedAt)
+                .orderByDesc(VppCustomerContact::getIsPrimary);
+        return toCommonPage(contactMapper.selectPage(page, wrapper));
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public VppCustomerContact addContact(Long customerId, CustomerContactRequest request) {
+        getCustomer(customerId);
+        validateContactRequest(request);
+        VppCustomerContact contact = new VppCustomerContact();
+        contact.setCustomerId(customerId);
+        contact.setContactName(request.getContactName());
+        contact.setContactPhone(request.getContactPhone());
+        contact.setContactEmail(request.getContactEmail());
+        contact.setIsPrimary(request.getIsPrimary() == null ? 0 : request.getIsPrimary());
+        contact.setPosition(request.getPosition());
+        VppAuditHelper.fillCreate(contact);
+        contactMapper.insert(contact);
+        return contact;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateContact(Long customerId, Long contactId, CustomerContactRequest request) {
+        VppCustomerContact contact = getContact(customerId, contactId);
+        validateContactRequest(request);
+        contact.setContactName(request.getContactName());
+        contact.setContactPhone(request.getContactPhone());
+        contact.setContactEmail(request.getContactEmail());
+        if (request.getIsPrimary() != null) {
+            contact.setIsPrimary(request.getIsPrimary());
+        }
+        contact.setPosition(request.getPosition());
+        VppAuditHelper.fillUpdate(contact);
+        contactMapper.updateById(contact);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteContact(Long customerId, Long contactId) {
+        VppCustomerContact contact = getContact(customerId, contactId);
+        contact.setDeletedAt(LocalDateTime.now());
+        VppAuditHelper.fillUpdate(contact);
+        contactMapper.updateById(contact);
+    }
+
+    private <T> CommonPage<T> toCommonPage(Page<T> page) {
+        return new CommonPage<>(page.getRecords(), page.getTotal(), page.getCurrent(), page.getSize());
+    }
+
+    private VppCustomerContact getContact(Long customerId, Long contactId) {
+        VppCustomerContact contact = contactMapper.selectById(contactId);
+        if (contact == null || contact.getDeletedAt() != null || !customerId.equals(contact.getCustomerId())) {
+            throw new BusinessException("联系人不存在");
+        }
+        return contact;
+    }
+
+    private VppCustomer buildCustomerFromAccess(VppCustomerAccess access) {
+        VppCustomer customer = new VppCustomer();
+        customer.setAccountNo(access.getAccountNo());
+        customer.setCustomerName(access.getCustomerName());
+        customer.setCustomerType(access.getCustomerType());
+        customer.setPowerCompany(access.getPowerCompany());
+        customer.setContractCapacity(access.getContractCapacity());
+        customer.setCreditStatus(access.getCreditStatus());
+        customer.setBusinessLicenseUrl(access.getBusinessLicenseUrl());
+        customer.setLifecycleStatus(LIFECYCLE_ADMITTED);
+        customer.setDrNotifyMinutes(30);
+        return customer;
+    }
+
+    private void validateAccessRequest(CustomerAccessRequest request) {
+        if (request == null || !StringUtils.hasText(request.getAccountNo())) {
+            throw new BusinessException("电力户号不能为空");
+        }
+        if (!StringUtils.hasText(request.getCustomerName())) {
+            throw new BusinessException("客户名称不能为空");
+        }
+        if (request.getCustomerType() == null) {
+            throw new BusinessException("客户类型不能为空");
+        }
+        if (!StringUtils.hasText(request.getPowerCompany())) {
+            throw new BusinessException("供电公司不能为空");
+        }
+        if (request.getContractCapacity() == null) {
+            throw new BusinessException("用电容量不能为空");
+        }
+    }
+
+    private void validateContactRequest(CustomerContactRequest request) {
+        if (request == null || !StringUtils.hasText(request.getContactName())) {
+            throw new BusinessException("联系人姓名不能为空");
+        }
+        if (!StringUtils.hasText(request.getContactPhone())) {
+            throw new BusinessException("联系电话不能为空");
+        }
+    }
+}

+ 11 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppDashboardServiceImpl.java

@@ -0,0 +1,11 @@
+package com.usky.vpp.service.impl;
+
+import com.usky.vpp.service.VppDashboardService;
+import org.springframework.stereotype.Service;
+
+/**
+ * VppDashboardService 默认实现(待按业务完善)
+ */
+@Service
+public class VppDashboardServiceImpl implements VppDashboardService {
+}

+ 11 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppDeviceServiceImpl.java

@@ -0,0 +1,11 @@
+package com.usky.vpp.service.impl;
+
+import com.usky.vpp.service.VppDeviceService;
+import org.springframework.stereotype.Service;
+
+/**
+ * VppDeviceService 默认实现(待按业务完善)
+ */
+@Service
+public class VppDeviceServiceImpl implements VppDeviceService {
+}

+ 11 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppDrServiceImpl.java

@@ -0,0 +1,11 @@
+package com.usky.vpp.service.impl;
+
+import com.usky.vpp.service.VppDrService;
+import org.springframework.stereotype.Service;
+
+/**
+ * VppDrService 默认实现(待按业务完善)
+ */
+@Service
+public class VppDrServiceImpl implements VppDrService {
+}

+ 11 - 0
service-vpp/service-vpp-biz/src/main/java/com/usky/vpp/service/impl/VppMobileServiceImpl.java

@@ -0,0 +1,11 @@
+package com.usky.vpp.service.impl;
+
+import com.usky.vpp.service.VppMobileService;
+import org.springframework.stereotype.Service;
+
+/**
+ * VppMobileService 默认实现(待按业务完善)
+ */
+@Service
+public class VppMobileServiceImpl implements VppMobileService {
+}

Some files were not shown because too many files changed in this diff