Compare commits

..

No commits in common. "main" and "master" have entirely different histories.
main ... master

1672 changed files with 233299 additions and 0 deletions

44
.gitignore vendored Normal file
View File

@ -0,0 +1,44 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
!*/build/*.java
!*/build/*.html
!*/build/*.xml

118
README.md Normal file
View File

@ -0,0 +1,118 @@
## 平台简介
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
* 采用前后端分离的模式,微服务版本前端(基于 [RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue))。
* 后端采用Spring Boot、Spring Cloud & Alibaba。
* 注册中心、配置中心选型Nacos权限认证使用Redis。
* 流量控制框架选型Sentinel分布式事务选型Seata。
* 如需不分离应用,请移步 [RuoYi](https://gitee.com/y_project/RuoYi),如需分离应用,请移步 [RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue)
* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)  
* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)  
#### 友情链接 [若依/RuoYi-Cloud](https://gitee.com/zhangmrit/ruoyi-cloud) Ant Design版本。
## 系统模块
~~~
com.ruoyi
├── ruoyi-ui // 前端框架 [80]
├── ruoyi-gateway // 网关模块 [8080]
├── ruoyi-auth // 认证中心 [9200]
├── ruoyi-api // 接口模块
│ └── ruoyi-api-system // 系统接口
├── ruoyi-common // 通用模块
│ └── ruoyi-common-core // 核心模块
│ └── ruoyi-common-datascope // 权限范围
│ └── ruoyi-common-datasource // 多数据源
│ └── ruoyi-common-log // 日志记录
│ └── ruoyi-common-redis // 缓存服务
│ └── ruoyi-common-security // 安全模块
│ └── ruoyi-common-swagger // 系统接口
├── ruoyi-modules // 业务模块
│ └── ruoyi-system // 系统模块 [9201]
│ └── ruoyi-gen // 代码生成 [9202]
│ └── ruoyi-job // 定时任务 [9203]
│ └── ruoyi-file // 文件服务 [9300]
├── ruoyi-visual // 图形化管理模块
│ └── ruoyi-visual-monitor // 监控中心 [9100]
├──pom.xml // 公共依赖
~~~
## 架构图
<img src="https://oscimg.oschina.net/oscnet/up-82e9722ecb846786405a904bafcf19f73f3.png"/>
## 内置功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 代码生成前后端代码的生成java、html、xml、sql支持CRUD下载 。
14. 系统接口根据业务代码自动生成相关的api接口文档。
15. 服务监控监视当前系统CPU、内存、磁盘、堆栈等相关信息。
16. 在线构建器拖动表单元素生成相应的HTML代码。
17. 连接池监视监视当前系统数据库连接池状态可进行分析SQL找出系统性能瓶颈。
## 在线体验
- admin/admin123
- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
演示地址http://ruoyi.vip
文档地址http://doc.ruoyi.vip
## 演示图
<table>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/cd1f90be5f2684f4560c9519c0f2a232ee8.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/1cbcf0e6f257c7d3a063c0e3f2ff989e4b3.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-8074972883b5ba0622e13246738ebba237a.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-9f88719cdfca9af2e58b352a20e23d43b12.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-39bf2584ec3a529b0d5a3b70d15c9b37646.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-4148b24f58660a9dc347761e4cf6162f28f.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-b2d62ceb95d2dd9b3fbe157bb70d26001e9.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-d67451d308b7a79ad6819723396f7c3d77a.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/5e8c387724954459291aafd5eb52b456f53.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/644e78da53c2e92a95dfda4f76e6d117c4b.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-8370a0d02977eebf6dbf854c8450293c937.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-49003ed83f60f633e7153609a53a2b644f7.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-d4fe726319ece268d4746602c39cffc0621.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-c195234bbcd30be6927f037a6755e6ab69c.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-ece3fd37a3d4bb75a3926e905a3c5629055.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-92ffb7f3835855cff100fa0f754a6be0d99.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-ff9e3066561574aca73005c5730c6a41f15.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-5e4daac0bb59612c5038448acbcef235e3a.png"/></td>
</tr>
</table>
## 若依微服务交流群
QQ群 [![加入QQ群](https://img.shields.io/badge/已满-42799195-blue.svg)](https://jq.qq.com/?_wv=1027&k=yqInfq0S) [![加入QQ群](https://img.shields.io/badge/已满-170157040-blue.svg)](https://jq.qq.com/?_wv=1027&k=Oy1mb3p8) [![加入QQ群](https://img.shields.io/badge/已满-130643120-blue.svg)](https://jq.qq.com/?_wv=1027&k=rvxkJtXK) [![加入QQ群](https://img.shields.io/badge/225920371-blue.svg)](https://jq.qq.com/?_wv=1027&k=0Ck3PvTe) 点击按钮入群。

12
bin/clean.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 清理生成路径。
echo.
%~d0
cd %~dp0
cd ..
call mvn clean
pause

12
bin/package.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 打包Web工程生成war/jar包文件。
echo.
%~d0
cd %~dp0
cd ..
call mvn clean package -Dmaven.test.skip=true
pause

14
bin/run-auth.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 运行auth工程。
echo.
cd %~dp0
cd ../ruoyi-auth/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 -jar %JAVA_OPTS% ruoyi-auth.jar
cd bin
pause

14
bin/run-gateway.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 运行gateway工程。
echo.
cd %~dp0
cd ../ruoyi-gateway/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 -jar %JAVA_OPTS% ruoyi-gateway.jar
cd bin
pause

14
bin/run-modules-file.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 运行modules-file工程。
echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-file/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 -jar %JAVA_OPTS% ruoyi-modules-file.jar
cd bin
pause

14
bin/run-modules-gen.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 运行modules-gen工程。
echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-gen/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 -jar %JAVA_OPTS% ruoyi-modules-gen.jar
cd bin
pause

14
bin/run-modules-job.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 运行modules-job工程。
echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-job/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 -jar %JAVA_OPTS% ruoyi-modules-job.jar
cd bin
pause

View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 运行modules-system工程。
echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-system/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 -jar %JAVA_OPTS% ruoyi-modules-system.jar
cd bin
pause

14
bin/run-monitor.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 运行monitor工程。
echo.
cd %~dp0
cd ../ruoyi-visual/ruoyi-monitor/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 -jar %JAVA_OPTS% ruoyi-visual-monitor.jar
cd bin
pause

67
docker/deploy.sh Normal file
View File

@ -0,0 +1,67 @@
#!/bin/sh
# 使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [port|base|modules|stop|rm]"
exit 1
}
# 开启所需端口
port(){
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=9848/tcp --permanent
firewall-cmd --add-port=9849/tcp --permanent
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --add-port=9100/tcp --permanent
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9201/tcp --permanent
firewall-cmd --add-port=9202/tcp --permanent
firewall-cmd --add-port=9203/tcp --permanent
firewall-cmd --add-port=9300/tcp --permanent
service firewalld restart
}
# 启动基础环境(必须)
base(){
docker-compose up -d ruoyi-mysql ruoyi-redis ruoyi-nacos ruoyi-nginx
}
# 启动程序模块(必须)
modules(){
docker-compose up -d ruoyi-gateway ruoyi-auth ruoyi-modules-system
}
# 关闭所有环境/模块
stop(){
docker-compose stop
}
# 删除所有环境/模块
rm(){
docker-compose rm
}
# 根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"port")
port
;;
"base")
base
;;
"modules")
modules
;;
"stop")
stop
;;
"rm")
rm
;;
*)
usage
;;
esac

140
docker/docker-compose.yml Normal file
View File

@ -0,0 +1,140 @@
version : '3.8'
services:
ruoyi-nacos:
container_name: ruoyi-nacos
image: nacos/nacos-server
build:
context: ./nacos
environment:
- MODE=standalone
volumes:
- ./nacos/logs/:/home/nacos/logs
- ./nacos/conf/application.properties:/home/nacos/conf/application.properties
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
depends_on:
- ruoyi-mysql
ruoyi-mysql:
container_name: ruoyi-mysql
image: mysql:5.7
build:
context: ./mysql
ports:
- "3306:3306"
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
command: [
'mysqld',
'--innodb-buffer-pool-size=80M',
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci',
'--default-time-zone=+8:00',
'--lower-case-table-names=1'
]
environment:
MYSQL_DATABASE: 'ry-cloud'
MYSQL_ROOT_PASSWORD: password
ruoyi-redis:
container_name: ruoyi-redis
image: redis
build:
context: ./redis
ports:
- "6379:6379"
volumes:
- ./redis/conf/redis.conf:/home/ruoyi/redis/redis.conf
- ./redis/data:/data
command: redis-server /home/ruoyi/redis/redis.conf
ruoyi-nginx:
container_name: ruoyi-nginx
image: nginx
build:
context: ./nginx
ports:
- "80:80"
volumes:
- ./nginx/html/dist:/home/ruoyi/projects/ruoyi-ui
- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/logs:/var/log/nginx
- ./nginx/conf.d:/etc/nginx/conf.d
depends_on:
- ruoyi-gateway
links:
- ruoyi-gateway
ruoyi-gateway:
container_name: ruoyi-gateway
build:
context: ./ruoyi/gateway
dockerfile: dockerfile
ports:
- "8080:8080"
depends_on:
- ruoyi-redis
links:
- ruoyi-redis
ruoyi-auth:
container_name: ruoyi-auth
build:
context: ./ruoyi/auth
dockerfile: dockerfile
ports:
- "9200:9200"
depends_on:
- ruoyi-redis
links:
- ruoyi-redis
ruoyi-modules-system:
container_name: ruoyi-modules-system
build:
context: ./ruoyi/modules/system
dockerfile: dockerfile
ports:
- "9201:9201"
depends_on:
- ruoyi-redis
- ruoyi-mysql
links:
- ruoyi-redis
- ruoyi-mysql
ruoyi-modules-gen:
container_name: ruoyi-modules-gen
build:
context: ./ruoyi/modules/gen
dockerfile: dockerfile
ports:
- "9202:9202"
depends_on:
- ruoyi-mysql
links:
- ruoyi-mysql
ruoyi-modules-job:
container_name: ruoyi-modules-job
build:
context: ./ruoyi/modules/job
dockerfile: dockerfile
ports:
- "9203:9203"
depends_on:
- ruoyi-mysql
links:
- ruoyi-mysql
ruoyi-modules-file:
container_name: ruoyi-modules-file
build:
context: ./ruoyi/modules/file
dockerfile: dockerfile
ports:
- "9300:9300"
volumes:
- ./ruoyi/uploadPath:/home/ruoyi/uploadPath
ruoyi-visual-monitor:
container_name: ruoyi-visual-monitor
build:
context: ./ruoyi/visual/monitor
dockerfile: dockerfile
ports:
- "9100:9100"

View File

@ -0,0 +1 @@
存放sql目录下的所有脚本用于docker自动执行。

7
docker/mysql/dockerfile Normal file
View File

@ -0,0 +1,7 @@
# 基础镜像
FROM mysql:5.7
# author
MAINTAINER ruoyi
# 执行sql脚本
ADD ./db/*.sql /docker-entrypoint-initdb.d/

View File

@ -0,0 +1,32 @@
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://182.140.223.172:8036/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=ry-config
db.password=xiaohua123
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000
management.endpoints.web.exposure.include=*
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.basedir=
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false
nacos.core.auth.default.token.expire.seconds=18000
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
nacos.istio.mcp.server.enabled=false

7
docker/nacos/dockerfile Normal file
View File

@ -0,0 +1,7 @@
# 基础镜像
FROM nacos/nacos-server
# author
MAINTAINER ruoyi
# 复制conf文件到路径
COPY ./conf/application.properties /home/nacos/conf/application.properties

View File

@ -0,0 +1,36 @@
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /home/ruoyi/projects/ruoyi-ui;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /prod-api/{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ruoyi-gateway:8080/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}# requirepass 123456

15
docker/nginx/dockerfile Normal file
View File

@ -0,0 +1,15 @@
# 基础镜像
FROM nginx
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi/projects/ruoyi-ui
# 创建目录
RUN mkdir -p /home/ruoyi/projects/ruoyi-ui
# 指定路径
WORKDIR /home/ruoyi/projects/ruoyi-ui
# 复制conf文件到路径
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
# 复制html文件到路径
COPY ./html/dist /home/ruoyi/projects/ruoyi-ui

1
docker/nginx/html/dist/readme.txt vendored Normal file
View File

@ -0,0 +1 @@
存放前端ruoyi-ui构建好的静态文件用于nginx请求访问。

View File

@ -0,0 +1 @@
# requirepass 123456

13
docker/redis/dockerfile Normal file
View File

@ -0,0 +1,13 @@
# 基础镜像
FROM redis
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi/redis
# 创建目录
RUN mkdir -p /home/ruoyi/redis
# 指定路径
WORKDIR /home/ruoyi/redis
# 复制conf文件到路径
COPY ./conf/redis.conf /home/ruoyi/redis/redis.conf

View File

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-auth.jar /home/ruoyi/ruoyi-auth.jar
# 启动认证服务
ENTRYPOINT ["java","-jar","ruoyi-auth.jar"]

View File

@ -0,0 +1 @@
存放认证中心打包好的jar文件用于docker启动应用。

View File

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-gateway.jar /home/ruoyi/ruoyi-gateway.jar
# 启动网关服务
ENTRYPOINT ["java","-jar","ruoyi-gateway.jar"]

View File

@ -0,0 +1 @@
存放网关模块打包好的jar文件用于docker启动应用。

View File

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-modules-file.jar /home/ruoyi/ruoyi-modules-file.jar
# 启动文件服务
ENTRYPOINT ["java","-jar","ruoyi-modules-file.jar"]

View File

@ -0,0 +1 @@
存放文件服务打包好的jar文件用于docker启动应用。

View File

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-modules-gen.jar /home/ruoyi/ruoyi-modules-gen.jar
# 启动代码生成服务
ENTRYPOINT ["java","-jar","ruoyi-modules-gen.jar"]

View File

@ -0,0 +1 @@
存放代码生成打包好的jar文件用于docker启动应用。

View File

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-modules-job.jar /home/ruoyi/ruoyi-modules-job.jar
# 启动定时任务服务
ENTRYPOINT ["java","-jar","ruoyi-modules-job.jar"]

View File

@ -0,0 +1 @@
存放定时任务打包好的jar文件用于docker启动应用。

View File

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-modules-system.jar /home/ruoyi/ruoyi-modules-system.jar
# 启动系统服务
ENTRYPOINT ["java","-jar","ruoyi-modules-system.jar"]

View File

@ -0,0 +1 @@
存放系统模块打包好的jar文件用于docker启动应用。

View File

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-visual-monitor.jar /home/ruoyi/ruoyi-visual-monitor.jar
# 启动系统服务
ENTRYPOINT ["java","-jar","ruoyi-visual-monitor.jar"]

View File

@ -0,0 +1 @@
存放监控中心打包好的jar文件用于docker启动应用。

View File

@ -0,0 +1,97 @@
<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>
<groupId>com.xhpc</groupId>
<artifactId>evcs-modules</artifactId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>evcs-common</artifactId>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.8</version>
</dependency>
<!-- Used to support JSONPath usage in testing. -->
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<!-- Allow for automatic restarts when classpath contents change. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>xhpc-common</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>

View File

@ -0,0 +1,24 @@
package com.xhpc.evcs.cdjgpc.domain;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Getter
@Setter
@Entity
@Table(name = "ET_PUSH_CDJG_FAILED_ORDER")
public class EtPushCdjgFailedOrder {
@Id
private Long id;
private String operatorId3rdpty;
private Date createTime;
}

View File

@ -0,0 +1,115 @@
package com.xhpc.evcs.cdjgpc.domain;
import com.xhpc.common.core.web.domain.BaseEntity;
import lombok.Data;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
/**
* 充电订单
*
* @author yuyang
* @Date 2024-08-16 14:07
*/
@Table(name = "xhpc_charge_order")
@Entity
@Data
public class XhpcChargeOrder extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "charge_order_id", nullable = false)
private Long id;
@Column(name = "charging_station_id")
private Long chargingStationId;
@Column(name = "user_id")
private Long userId;
@Column(name = "terminal_id")
private Long terminalId;
@Column(name = "internet_serial_number", length = 50)
private String internetSerialNumber;
@Column(name = "serial_number", length = 50)
private String serialNumber;
@Column(name = "start_soc", length = 50)
private String startSoc;
@Column(name = "end_soc", length = 50)
private String endSoc;
@Column(name = "source")
private Integer source;
@Column(name = "status")
private Integer status;
@Column(name = "del_flag")
private Integer delFlag;
@Column(name = "rate_model_id")
private Long rateModelId;
@Column(name = "charging_mode", length = 50)
private String chargingMode;
@Column(name = "start_time")
private Date startTime;
@Column(name = "end_time")
private Date endTime;
@Column(name = "charging_time", length = 50)
private String chargingTime;
@Column(name = "charging_degree")
private BigDecimal chargingDegree;
@Column(name = "type", length = 50)
private String type;
@Column(name = "erro_remark", length = 50)
private String erroRemark;
@Column(name = "amount_charged")
private BigDecimal amountCharged;
@Column(name = "power", length = 50)
private String power;
@Column(name = "charging_time_number")
private Long chargingTimeNumber;
@Column(name = "driver_id", length = 50)
private String driverId;
@Column(name = "charging_amt")
private Long chargingAmt;
@Column(name = "Plate_num", length = 50)
private String plateNum;
@Column(name = "evcs_order_no", length = 50)
private String evcsOrderNo;
@Column(name = "tenant_id", length = 50)
private String tenantId;
@Column(name = "vin_normal", length = 50)
private String vinNormal;
@Column(name = "station_total_warning_num")
private Integer stationTotalWarningNum;
@Column(name = "charging_capacity")
private Integer chargingCapacity;
@Column(name = "suncha_status")
private Integer sunchaStatus;
}

View File

@ -0,0 +1,15 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDCancelOrderResponse {
@JsonProperty("Status")
private Integer status;
}

View File

@ -0,0 +1,57 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
/**
* @author yuyang
* @date 2023-09-07 15:41
*/
@JsonPropertyOrder({
"DetailStartTime",
"DetailEndTime",
"ElecPrice",
"SevicePrice",
"DetailPower",
"DetailElecMoney",
"DetailSeviceMoney"
})
@Data
public class CDChargeDetails {
/**
* 开始时间
*/
@JsonProperty("DetailStartTime")
public String detailStartTime;
/**
* 结束时间
*/
@JsonProperty("DetailEndTime")
public String detailEndTime;
/**
* 时段电价
*/
@JsonProperty("ElecPrice")
public Double elecPrice;
/**
* 时段服务 费价格
*/
@JsonProperty("SevicePrice")
public Double sevicePrice;
/**
* 时段充电量
*/
@JsonProperty("DetailPower")
public Double detailPower;
/**
* 时段电费
*/
@JsonProperty("DetailElecMoney")
public Double detailElecMoney;
/**
* 时段服务
*/
@JsonProperty("DetailSeviceMoney")
public Double detailSeviceMoney;
}

View File

@ -0,0 +1,34 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.persistence.Column;
/**
* @author yuyang
* @date 2023-09-20 14:13
*/
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@Data
public class CDChargeFeeDetail {
@JsonProperty("EquipmentType")
Integer equipmentType;
@JsonProperty("StartTime")
String startTime;
@JsonProperty("EndTime")
String endTime;
@Column(columnDefinition = "Decimal(10,2)")
@JsonProperty("ElectricityFee")
Double electricityFee;
@Column(columnDefinition = "Decimal(10,2)")
@JsonProperty("serviceFee")
Double serviceFee;
}

View File

@ -0,0 +1,166 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
/**
* @author yuyang
* @date 2023-09-07 15:16
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StartChargeSeq",
"ConnectorID",
"ConnectorStatus",
"OrderStatus",
"CurrentA",
"VoltageA",
"Soc",
"StartTime",
"EndTime",
"PushTime",
"LastPushTime",
"TotalPower",
"ElecMoney",
"SeviceMoney",
"TotalMoney",
"OperatorID",
"EquipmentOwnerID",
"StationID",
"EquipmentID"
})
@Data
public class CDConnectorChargeStatusInfo {
/**
* 充电订单号
*/
@JsonProperty("StartChargeSeq")
public String startChargeSeq;
/**
* 充电设备接 口编码
*/
@JsonProperty("ConnectorID")
public String connectorID;
/**
* 充电设备接 口状态
*/
@JsonProperty("ConnectorStatus")
public Integer connectorStatus;
/**
* 充电订单状态
* */
@JsonProperty("OrderStatus")
public Integer orderStatus;
// /**
// * 车辆识别码
// */
// @JsonProperty("Vin")
// public String vin;
/**
* A 相电流
*/
@JsonProperty("CurrentA")
public Double currentA;
// /**
// * B 相电流
// */
// @JsonProperty("CurrentB")
// public Double currentB;
// /**
// * C 相电流
// */
// @JsonProperty("CurrentC")
// public Double currentC;
/**
* A 相电压
*/
@JsonProperty("VoltageA")
public Double voltageA;
// /**
// * B 相电压
// */
// @JsonProperty("VoltageB")
// public Double voltageB;
// /**
// * C 相电压
// */
// @JsonProperty("VoltageC")
// public Double voltageC;
/**
* 电池剩余电量
*/
@JsonProperty("Soc")
@Column(columnDefinition = "Decimal(10,1)")
public Double soc;
/**
* 开始充电时间
*/
@JsonProperty("StartTime")
public String startTime;
/**
* 本次采样时间
*/
@JsonProperty("EndTime")
public String endTime;
/**
* 本次推送时间
*/
@JsonProperty("PushTime")
public String pushTime;
/**
* 上次推送时
*/
@JsonProperty("LastPushTime")
public String lastPushTime;
/**
* 累计充电量
*/
@JsonProperty("TotalPower")
@Column(columnDefinition = "Decimal(10,2)")
public Double totalPower;
/**
* 累计电费
*/
@JsonProperty("ElecMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double elecMoney;
/**
* 累计服务费
*/
@JsonProperty("SeviceMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double seviceMoney;
/**
* 累计总金额
*/
@JsonProperty("TotalMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double totalMoney;
/**
* 运营平台 ID
*/
@JsonProperty("OperatorID")
public String operatorID;
/**
* 产权所属单位ID
*/
@JsonProperty("EquipmentOwnerID")
public String equipmentOwnerID;
/**
* 充电站ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 充电设备编码
*/
@JsonProperty("EquipmentID")
public String equipmentID;
}

View File

@ -0,0 +1,100 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Transient;
/**
* @author yuyang
* @date 2023-09-27 17:35
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"ConnectorID",
"ConnectorName",
"ConnectorType",
"VoltageUpperLimits",
"VoltageLowerLimits",
"Current",
"Power",
"NationalStandard",
"EquipmentClassification",
"AuxPower",
"OpreateStatus"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDConnectorInfo {
@JsonProperty("ConnectorID")
public String connectorID;
@JsonProperty("ConnectorName")
public String connectorName;
// 1家用插座模式 2
// 2交流接口插座模式 3 连接方式 B
// 3交流接口插头带枪线 模式 3连接方式 C
// 4直流接口枪头带枪线 模式 4
// 5无线充电座
// 6其他
@JsonProperty("ConnectorType")
public Integer connectorType;
@JsonProperty("VoltageUpperLimits")
public Integer voltageUpperLimits;
@JsonProperty("VoltageLowerLimits")
public Integer voltageLowerLimits;
@JsonProperty("Current")
public Integer current;
@Column(columnDefinition = "Decimal(10,1)")
@JsonProperty("Power")
public Double power;
// @Column(columnDefinition = "Decimal(10,1)")
// @JsonProperty("ConstantVoltageUpperLimits")
// public Double constantVoltageUpperLimits;
//
// @Column(columnDefinition = "Decimal(10,1)")
// @JsonProperty("ConstantVoltageLowerLimits")
// public Double constantVoltageLowerLimits;
//
// @Column(columnDefinition = "Decimal(10,1)")
// @JsonProperty("ConstantCurrentUpperLimits")
// public Double constantCurrentUpperLimits;
//
// @Column(columnDefinition = "Decimal(10,1)")
// @JsonProperty("ConstantCurrentLowerLimits")
// public Double constantCurrentLowerLimits;
// @JsonProperty("ParkNo")
// public String ParkNo;
@JsonProperty("NationalStandard")
public Integer nationalStandard;
/**
* 设备接口分类
*/
@Transient
@JsonProperty("EquipmentClassification")
public Integer equipmentClassification;
/**
* 辅助电源
*/
@Transient
@JsonProperty("AuxPower")
public Integer auxPower;
/**
* 运营状态
*/
@Transient
@JsonProperty("OpreateStatus")
public Integer opreateStatus;
// @JsonProperty("OperateHours")
// public String operateHours;
}

View File

@ -0,0 +1,81 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Getter;
import lombok.Setter;
/**
* @author yuyang
* @date 2023-09-28 9:51
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"OperatorID",
"EquipmentOwnerID",
"StationID",
"EquipmentID",
"EquipmentClassification",
"ConnectorID",
"Status"
})
@Setter
@Getter
public class CDConnectorStatusInfo {
/**
* 运营平台 ID
*/
@JsonProperty("OperatorID")
public String operatorID;
/**
* 产权所属单位ID
*/
@JsonProperty("EquipmentOwnerID")
public String equipmentOwnerID;
/**
* 充电站 ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 充电设备编码
*/
@JsonProperty("EquipmentID")
public String equipmentID;
/**
* 设备接口分类
*/
@JsonProperty("EquipmentClassification")
public Integer equipmentClassification;
/**
* 充电设备接口编码
*/
@JsonProperty("ConnectorID")
public String connectorID;
/**
* 充电设备接口状态
*/
@JsonProperty("Status")
public Integer status;
//
// /**
// * 接口状态描述
// */
// @JsonProperty("StatusDesc")
// public String statusDesc;
//
// /**
// * 车位状态
// */
// @JsonProperty("ParkStatus")
// public Integer parkStatus;
//
// /**
// * 地锁状态
// */
// @JsonProperty("LockStatus")
// public Integer lockStatus;
}

View File

@ -0,0 +1,44 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.*;
import java.util.HashMap;
import java.util.Map;
/**
* @author yuyang
* @date 2023-10-08 15:18
*/
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDConnectorStatusInfoReq {
@JsonProperty("ConnectorStatusInfo")
private CDConnectorStatusInfo connectorStatusInfo;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("ConnectorStatusInfo")
public CDConnectorStatusInfo getConnectorStatusInfo() {
return connectorStatusInfo;
}
@JsonProperty("ConnectorStatusInfo")
public void setConnectorStatusInfo(CDConnectorStatusInfo connectorStatusInfo) {
this.connectorStatusInfo = connectorStatusInfo;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}

View File

@ -0,0 +1,24 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @author yuyang
* @date 2023-09-20 15:24
*/
@Getter
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDEquipAuthRequest {
@JsonProperty("EquipAuthSeq")
String equipAuthSeq;
@JsonProperty("ConnectorID")
String connectorId;
@JsonProperty("QRCode")
String qRCode;
}

View File

@ -0,0 +1,145 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.*;
import com.xhpc.evcs.dto.ConnectorInfo;
import com.xhpc.evcs.dto.EquipmentInfo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.Transient;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-07 14:40
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"EquipmentID",
"ManufacturerID",
"ManufacturerName",
"EquipmentModel",
"EquipmentProductCode",
"TransformerID",
"EquipmentName",
"ProductionDate",
"ConstructionTime",
"EquipmentType",
"EquipmentStatus",
"EquipmentPurpose",
"EquipmentPower",
"NewNationalStandard",
"ConnectorInfos",
"VinFlag",
"EquipmentClassificatlon"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDEquipmentInfo {
/**
* 设备编码
*/
@JsonProperty("EquipmentID")
public String equipmentID;
/**
* 设备生产商组织机构代码
*/
@JsonProperty("ManufacturerID")
public String manufacturerID;
/**
* 设备生产商名称
*/
@JsonProperty("ManufacturerName")
public String manufacturerName;
/**
* 设备型号
*/
@Transient
@JsonProperty("EquipmentModel")
public String equipmentModel;
/**
* 设备出厂编码
*/
@JsonProperty("EquipmentProductCode")
public String equipmentProductCode;
/**
* 变压器户号
*/
@JsonProperty("TransformerID")
public String transformerID;
/**
* 设备名称
*/
@JsonProperty("EquipmentName")
public String equipmentName;
/**
* 设备生产日期
*/
@JsonProperty("ProductionDate")
public String productionDate;
/**
* 建设时间
*/
@JsonProperty("ConstructionTime")
public String constructionTime;
/**
* 设备类型
*/
@JsonProperty("EquipmentType")
public Integer equipmentType;
/**
* 设备状态
*/
@JsonProperty("EquipmentStatus")
public Integer equipmentStatus;
/**
* 设备用途
*/
@JsonProperty("EquipmentPurpose")
public Integer equipmentPurpose;
/**
* 额定功率
*/
@JsonProperty("EquipmentPower")
@Column(columnDefinition = "Decimal(10,1)")
public Double equipmentPower;
/**
* 新国标
*/
@JsonProperty("NewNationalStandard")
public Integer newNationalStandard;
/**
* 充电设备 接口列表
*/
@JsonProperty("ConnectorInfos")
public List<CDConnectorInfo> connectorInfos;
/**
* 经度
*/
// @JsonProperty("EquipmentLng")
// public Double equipmentLng;
/**
* 充电设备 纬度
*/
// @JsonProperty("EquipmentLat")
// public Double equipmentLat;
/**
* 是否支持 VIN 码识别
*/
@JsonProperty("VinFlag")
public Integer vinFlag;
/**
* 设备分类
*/
@JsonProperty("EquipmentClassificatlon")
public Integer equipmentClassificatlon;
// /**
// * 是否支持 V2G
// */
// @JsonProperty("V2GSupport")
// public Integer v2GSupport;
}

View File

@ -0,0 +1,93 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
/**
* V2G 实时负荷1min 时点负荷值
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StationID",
"OperatorID",
"EquipmentOwnerID",
"EquipmentID",
"ChargeStatus",
"TsMin",
"TsHour",
"TsDay",
"TsMonth",
"AnalysisReport"
})
@Data
public class CDEquipmentV2GPowerInfo {
/**
* 充电桩ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 运营平台 ID
*/
@JsonProperty("OperatorID")
public String operatorID;
/**
* 产权所属单位 ID
*/
@JsonProperty("EquipmentOwnerID")
public String equipmentOwnerID;
/**
* 设备编码
*/
@JsonProperty("EquipmentID")
public String equipmentID;
/**
* 充放电状态1.充电 2放电
*/
@JsonProperty("ChargeStatus")
public Integer chargeStatus;
/**
* 设备实时负荷值
*/
@JsonProperty("Power")
@Column(columnDefinition = "Decimal(10,2)")
public Double power;
/**
* 时间点 1 分钟一个刻度 yyyymmddhhmm
*/
@JsonProperty("TsMin")
public String tsMin;
/**
* yyyymmddhh
*/
@JsonProperty("TsHour")
public String tsHour;
/**
* yyyymmdd
*/
@JsonProperty("TsDay")
public String tsDay;
/**
* yyyymm
*/
@JsonProperty("TsMonth")
public String tsMonth;
/**
* yyyy
*/
@JsonProperty("TsYear")
public String tsYear;
}

View File

@ -0,0 +1,75 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
/**
* @author yuyang
* @date 2023-09-27 10:41
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StartChargeSeq",
"ConnectorID",
"TotalPower",
"TotalMoney",
"TaxiOrder",
"SubsidyMoney",
"SettlementMoney"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDNotificationOrderSettlementInfoRequest {
/**
* 充电订单号
*/
@JsonProperty("StartChargeSeq")
public String startChargeSeq;
/**
* 充电设备接口 编码
*/
@JsonProperty("ConnectorID")
public String connectorID;
/**
* 累计充电量
*/
@JsonProperty("TotalPower")
@Column(columnDefinition = "Decimal(10,2)")
public Double totalPower;
/**
* 累计总金额
*/
@JsonProperty("TotalMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double totalMoney;
/**
* 是否出租车订单
*/
@JsonProperty("TaxiOrder")
public Integer taxiOrder;
/**
* 补贴金额
*/
@JsonProperty("SubsidyMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double subsidyMoney;
/**
* 结算金额
*/
@JsonProperty("SettlementMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double settlementMoney;
}

View File

@ -0,0 +1,321 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.xhpc.evcs.domain.EtOrderMapping;
import com.xhpc.evcs.domain.XhpcStatisticsTimeInterval;
import com.xhpc.evcs.dto.ChargeDetails;
import com.xhpc.evcs.utils.DateUtil;
import com.xhpc.order.domain.XhpcHistoryOrder;
import lombok.Data;
import javax.persistence.Column;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-07 15:31
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"OperatorID",
"EquipmentOwnerID",
"StationID",
"EquipmentID",
"ConnectorID",
"EquipmentClassification",
"StartChargeSeq",
"UserChargeType",
"Money",
"ElectMoney",
"ServiceMoney",
"Elect",
"StartTime",
"EndTime",
"SwapOrderID",
"PaymentAmount",
"PayTime",
"PayChannel",
"DiscountInfo",
"StopReason",
"SumPeriod",
"Power",
"ChargeLast",
"MeterValueStart",
"MeterValueEnd",
"ChargeDetails",
"PushTimeStamp"
})
@Data
public class CDOrderInfo {
/**
* 运营平台 ID
*/
@JsonProperty("OperatorID")
public String operatorID;
/**
* 设备产权所 属单位 ID
*/
@JsonProperty("EquipmentOwnerID")
public String equipmentOwnerID;
/**
* 充电站 ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 设备编码
*/
@JsonProperty("EquipmentID")
public String equipmentID;
/**
* 充电设备接 口编码
*/
@JsonProperty("ConnectorID")
public String connectorID;
/**
* 设备接口分类
*/
@JsonProperty("EquipmentClassification")
public Integer equipmentClassification;
/**
* 充电订单号
*/
@JsonProperty("StartChargeSeq")
public String startChargeSeq;
/**
* 用户发起充 电类型
*/
@JsonProperty("UserChargeType")
public String userChargeType;
/**
* 用户手机号
*/
// @JsonProperty("MobileNumber")
// public String mobileNumber;
/**
* 本次充电消费总金额
*/
@JsonProperty("Money")
@Column(columnDefinition = "Decimal(10,2)")
public Double money;
/**
* 本本次充电电费总金额
*/
@JsonProperty("ElectMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double electMoney;
/**
* 本次充电 服务费金额
*/
@JsonProperty("ServiceMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double serviceMoney;
/**
* 本次充电电量
*/
@JsonProperty("Elect")
@Column(columnDefinition = "Decimal(10,2)")
public Double elect;
// /**
// * 尖阶段电量
// */
// @JsonProperty("CuspElect")
// @Column(columnDefinition = "Decimal(10,4)")
// public Double cuspElect;
//
// /**
// * 峰阶段电量
// */
// @JsonProperty("PeakElect")
// @Column(columnDefinition = "Decimal(10,4)")
// public Double peakElect;
//
// /**
// * 平阶段电量
// */
// @JsonProperty("FlatElect")
// @Column(columnDefinition = "Decimal(10,4)")
// public Double flatElect;
//
// /**
// * 谷阶段电量
// */
// @JsonProperty("ValleyElect")
// @Column(columnDefinition = "Decimal(10,4)")
// public Double valleyElect;
/**
* 本次充电开始时间
*/
@JsonProperty("StartTime")
public String startTime;
/**
* 本次充电结束时间
*/
@JsonProperty("EndTime")
public String endTime;
/**
* 换电订单编号
*/
@JsonProperty("SwapOrderID")
public String swapOrderID;
/**
* 支付金额
*/
@JsonProperty("PaymentAmount")
@Column(columnDefinition = "Decimal(10,2)")
public Double paymentAmount;
/**
* 支付时
*/
@JsonProperty("PayTime")
public String payTime;
/**
* 支付方式
*/
@JsonProperty("PayChannel")
public Integer payChannel;
/**
* 优惠信息描述
*/
@JsonProperty("DiscountInfo")
public String discountInfo;
/**
* 充电结束
* 原因
*/
@JsonProperty("StopReason")
public Integer stopReason;
/**
* 时段数 N
*/
@JsonProperty("SumPeriod")
public Integer sumPeriod;
/**
* 接口额定功
*/
@JsonProperty("Power")
@Column(columnDefinition = "Decimal(10,1)")
public Double power;
/**
* 充电时长
*/
@JsonProperty("ChargeLast")
public Integer chargeLast;
/**
* 电表总起值
*/
@JsonProperty("MeterValueStart")
@Column(columnDefinition = "Decimal(10,3)")
public Double meterValueStart;
/**
* 电表总止值
*/
@JsonProperty("MeterValueEnd")
@Column(columnDefinition = "Decimal(10,3)")
public Double meterValueEnd;
/**
* 充电明细信息
*/
@JsonProperty("ChargeDetails")
public ChargeDetails[] chargeDetails;
/**
* 推送时间
*/
@JsonProperty("PushTimeStamp")
public String pushTimeStamp;
public CDOrderInfo(XhpcHistoryOrder xhpcHistoryOrder, EtOrderMapping etOrderMapping) {
this.operatorID =xhpcHistoryOrder.getOperatorIdEvcs();
//this.operatorID = xhpcHistoryOrder.getOperatorId3rdptyEvcs();
this.stationID =xhpcHistoryOrder.getChargingStationId().toString();
this.equipmentID = xhpcHistoryOrder.getSerialNumber().substring(0, 14);
this.connectorID = xhpcHistoryOrder.getSerialNumber().substring(0, 16);
this.startChargeSeq = etOrderMapping.getEvcsOrderNo();
this.equipmentClassification =1;
this.userChargeType ="1";
this.money = xhpcHistoryOrder.getTotalPrice().doubleValue();
this.electMoney =xhpcHistoryOrder.getTotalPrice().doubleValue();
this.serviceMoney = xhpcHistoryOrder.getServicePriceTotal().doubleValue();
this.elect = xhpcHistoryOrder.getTotalPower();
this.endTime = DateUtil.date2String(xhpcHistoryOrder.getEndTime(), DateUtil.DATE_FORMAT_DATE_TIME);
this.startTime = DateUtil.date2String(xhpcHistoryOrder.getStartTime(), DateUtil.DATE_FORMAT_DATE_TIME);
this.pushTimeStamp = DateUtil.date2String(new Date(), DateUtil.DATE_FORMAT_DATE_TIME);
this.paymentAmount = xhpcHistoryOrder.getActPrice().doubleValue();
if(xhpcHistoryOrder.getTotalPrice().compareTo(xhpcHistoryOrder.getActPrice())!=0){
this.discountInfo ="优惠金额:"+xhpcHistoryOrder.getPromotionDiscount();
}
this.payTime =DateUtil.date2String(xhpcHistoryOrder.getEndTime(), DateUtil.DATE_FORMAT_DATE_TIME);
if("支付宝".equals(xhpcHistoryOrder.getChargingMode())){
this.payChannel =1;
}else if("微信".equals(xhpcHistoryOrder.getChargingMode())){
this.payChannel =2;
}else{
this.payChannel =6;
}
if(xhpcHistoryOrder.getStopReasonEvcs() !=null){
String stopReasonEvcs = xhpcHistoryOrder.getStopReasonEvcs();
if("40".equals(stopReasonEvcs)||"0".equals(stopReasonEvcs)||"00".equals(stopReasonEvcs)||"45".equals(stopReasonEvcs)||"APP 远程停止".equals(stopReasonEvcs)
||"72".equals(stopReasonEvcs)){
this.stopReason =0;
}else if("41".equals(stopReasonEvcs) ||"42".equals(stopReasonEvcs)||"43".equals(stopReasonEvcs)||"44".equals(stopReasonEvcs)||"4E".equals(stopReasonEvcs)||"平台停止".equals(stopReasonEvcs)){
this.stopReason =1;
}else if("4A".equals(stopReasonEvcs) ||"4B".equals(stopReasonEvcs)||"4C".equals(stopReasonEvcs)||"4D".equals(stopReasonEvcs)||"4F".equals(stopReasonEvcs) ||
"55".equals(stopReasonEvcs)||"57".equals(stopReasonEvcs)||"62".equals(stopReasonEvcs)||"63".equals(stopReasonEvcs)||"74".equals(stopReasonEvcs)||"75".equals(stopReasonEvcs)
||"78".equals(stopReasonEvcs)||"79".equals(stopReasonEvcs)||"7A".equals(stopReasonEvcs)||"7B".equals(stopReasonEvcs)||"7C".equals(stopReasonEvcs)||"7D".equals(stopReasonEvcs)
||"7E".equals(stopReasonEvcs)||"7F".equals(stopReasonEvcs)||"83".equals(stopReasonEvcs)){
this.stopReason =3;
}else if("5A".equals(stopReasonEvcs)||"82".equals(stopReasonEvcs)){
this.stopReason =2;
}else if("6B".equals(stopReasonEvcs) ||"6D".equals(stopReasonEvcs)||"5E".equals(stopReasonEvcs)){
this.stopReason =4;
}else{
this.stopReason =0;
}
}else{
this.stopReason =0;
}
this.power = xhpcHistoryOrder.getConnectorPowerEvcs();
Date starttime = xhpcHistoryOrder.getStartTime();
Date endtime = xhpcHistoryOrder.getEndTime();
int cl = 0;
if (starttime != null && endtime != null) {
cl = Math.toIntExact((endtime.getTime() - starttime.getTime()) / 1000);
}
this.chargeLast = Math.abs(cl);
if(xhpcHistoryOrder.getMeterValueStartEvcs() !=null && xhpcHistoryOrder.getMeterValueStartEvcs()>0){
double v = xhpcHistoryOrder.getMeterValueStartEvcs() / 10000;
DecimalFormat df = new DecimalFormat("#.000");
this.meterValueStart =Double.parseDouble(df.format(v));
}else{
this.meterValueStart = 0.00;
}
if(xhpcHistoryOrder.getMeterValueEndEvcs() !=null && xhpcHistoryOrder.getMeterValueEndEvcs()>0){
double v = xhpcHistoryOrder.getMeterValueEndEvcs() / 10000;
DecimalFormat df = new DecimalFormat("#.000");
this.meterValueEnd =Double.parseDouble(df.format(v));
} else{
this.meterValueEnd = 0.00;
}
final List<XhpcStatisticsTimeInterval> xhpcStatisticsTimeIntervalList =
xhpcHistoryOrder.getXhpcStatisticsTimeIntervalList();
this.sumPeriod = xhpcStatisticsTimeIntervalList == null ? 0 : xhpcStatisticsTimeIntervalList.size();
this.chargeDetails = translate(xhpcStatisticsTimeIntervalList);
}
private ChargeDetails[] translate(List< XhpcStatisticsTimeInterval > xhpcStatisticsTimeIntervalList) {
List<ChargeDetails> details = new LinkedList<>();
for (XhpcStatisticsTimeInterval statistics : xhpcStatisticsTimeIntervalList) {
details.add(new ChargeDetails(statistics));
}
ChargeDetails[] a = new ChargeDetails[details.size()];
return details.toArray(a);
}
}

View File

@ -0,0 +1,32 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.HashMap;
import java.util.Map;
/**
* @author yuyang
* @date 2023-10-11 19:38
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@Getter
@Setter
public class CDPageRequest {
@JsonProperty("LastQueryTime")
String lastQueryTime = "";
@JsonProperty(value = "PageNo", defaultValue = "1") //CAUTION: PageNo must not wrote as PageNon or anything else
Integer pageNo = 1;
@JsonProperty(value = "PageSize", defaultValue = "10")
Integer pageSize = 10;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
}

View File

@ -0,0 +1,29 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.xhpc.evcs.dto.StationInfo;
import lombok.Getter;
import lombok.Setter;
import java.util.ArrayList;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-16 18:10
*/
@Getter
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDPageStationsInfoResponse {
@JsonProperty("PageCount")
Integer PageCount;
@JsonProperty("ItemSize")
Integer ItemSize;
@JsonProperty(value = "PageNo", defaultValue = "1") //CAUTION: PageNo must not wrote as PageNon or anything else
Integer PageNo = 1;
@JsonProperty("StationInfos")
List<CDStationInfo> stationInfos = new ArrayList<>();
}

View File

@ -0,0 +1,30 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
/**
* @author yuyang
* @date 2023-10-07 10:40
*/
@Getter
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDQuerySupEquipmentStatsInfoRequest {
@JsonProperty("StationID")
String stationID;
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonProperty("StartTime")
String startTime;
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonProperty("EndTime")
String endTime;
}

View File

@ -0,0 +1,61 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import java.util.List;
/**
* 调控需求(RequirementInfo)
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"Name",
"Area",
"Code",
"list",
"requireDate",
"releaseTime",
"releaseTime"
})
@Data
public class CDRequirementInfo {
/**
* 需求名称
*/
@JsonProperty("Name")
public String name;
/**
* 需求地区
*/
@JsonProperty("Area")
public String area;
/**
* 需求编号
*/
@JsonProperty("Code")
public String code;
/**
* 时段责任量 List
*/
@JsonProperty("list")
public List<CDRequirementInfoList> list;
/**
* 需求日期
*/
@JsonProperty("RequireDate")
public String requireDate;
/**
* 发布时间
*/
@JsonProperty("ReleaseTime")
public String releaseTime;
/**
* 下发时间
*/
@JsonProperty("DeliveryTime")
public String deliveryTime;
}

View File

@ -0,0 +1,33 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* 调控需求
* @author yuyang
* @Date 2024-08-20 10:14
*/
@Data
public class CDRequirementInfoList {
/**
* 开始时段
*/
@JsonProperty("StartTime")
public String startTime;
/**
* 结束时段
*/
@JsonProperty("EndTime")
public String endTime;
/**
* 需求时段响
* 应量
*/
@JsonProperty("Res")
public Double res;
}

View File

@ -0,0 +1,27 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-20 14:09
*/
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@Data
public class CDStationFee {
@JsonProperty("OperatorID")
String operatorID;
@JsonProperty("StationID")
String stationID;
@JsonProperty("ChargeFeeDetail")
List<CDChargeFeeDetail> chargeFeeDetails;
}

View File

@ -0,0 +1,15 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* @author yuyang
* @date 2023-09-20 14:57
*/
@Data
public class CDStationFeeRequest {
@JsonProperty("StationIDs")
String [] stationIDs;
}

View File

@ -0,0 +1,460 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.xhpc.evcs.dto.CommonStationInfo;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Transient;
import java.util.Arrays;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-07 14:13
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StationID",
"OperatorID",
"EquipmentOwnerID",
"StationName",
"IsAloneApply",
"AccountNumber",
"Capacity",
"CountryCode",
"AreaCode",
"AreaCodeCountryside",
"Address",
"StationTel",
"ServiceTel",
"StationType",
"IsOpen",
"StationStatus",
"ParkNums",
"StationLng",
"StationLat",
"Construction",
"SwapMatchCars",
"OpenAllDay",
"ElectricityFee",
"ServiceFee",
"ParkFree",
"ParkFee",
"Payment",
"EquipmentInfos",
"ParkFeeType",
"ToiletFlag",
"StoreFlag",
"LoungeFlag",
"CanopyFlag",
"PrinterFlag",
"BarrierFlag",
"ParkingLockFlag",
"IsDemandResponse",
"IsSupportOrderlyCharging",
"IsEnergyStorage",
"stationClassification",
"GeneralApplicationType",
"RoundTheClock",
"ParkType",
"ElectncityType",
"BusinessExpandType",
"RatedPower",
"PeriodFee",
"OfficialRunTime",
"VideoMonitor",
"SwapEquipmentlnfos"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDStationInfo extends CommonStationInfo {
/**
* 是否独立报桩
*/
@Transient
@JsonProperty("IsAloneApply")
public Integer isAloneApply;
/**
* 户号
*/
@Transient
@JsonProperty("AccountNumber")
public String accountNumber;
/**
* 容量
*/
@Transient
@JsonProperty("Capacity")
public Double capacity;
@Transient
@JsonProperty("CountryCode")
public String countryCcode;
/**
* 充电站省市辖区编码
*/
@Transient
@JsonProperty("AreaCode")
public String areaCode;
/**
* 充电站省市辖区编码
*/
@Transient
@JsonProperty("AreaCodeCountryside")
public String areaCodeCountryside;
/**
* 详情地址
*/
@Transient
@JsonProperty("Address")
public String address;
/**
* 详细地址
*/
@Transient
@JsonProperty("StationTel")
public String stationTel;
/**
* 服务电话
*/
@Transient
@JsonProperty("ServiceTel")
public String serviceTel;
/**
* 站点类型
*/
@Transient
@JsonProperty("StationType")
public Integer stationType;
/**
* 小区是否对外开放
*/
@Transient
@JsonProperty("IsOpen")
public Integer isOpen;
/**
* 站点状态
*/
@Transient
@JsonProperty("StationStatus")
public Integer stationStatus;
/**
* 车位数量
*/
@Transient
@JsonProperty("ParkNums")
public Integer parkNums;
/**
* 经度
*/
@Transient
@JsonProperty("StationLng")
public Double stationLng;
/**
* 纬度
*/
@Transient
@JsonProperty("StationLat")
public Double stationLat;
/**
* 站点引导
*/
// @Transient
// @JsonProperty("SiteGuide")
// public String siteGuide;
/**
* 建设场所
*/
@Transient
@JsonProperty("Construction")
public Integer construction;
/**
* 站点照片
*/
// @Transient
// @JsonProperty("Pictures")
// public String[] pictures;
/**
* 使用车型描述
*/
// @Transient
// @JsonProperty("MatchCars")
// public String matchCars;
/**
* 服务车型描述
*/
@Transient
@JsonProperty("SwapMatchCars")
public String[] swapMatchCars;
public String swapMatchCarsName;
/**
* 车位楼层及数量描述
*/
// @Transient
// @JsonProperty("ParkInfo")
// public String parkInfo;
/**
* 停车场产权方
*/
// @Transient
// @JsonProperty("ParkOwner")
// public String parkOwner;
/**
* 停车场管理方
*/
// @Transient
// @JsonProperty("ParkManager")
// public String parkManager;
/**
* 全天开放
*/
@Transient
@JsonProperty("OpenAllDay")
public Integer openAllDay;
/**
* 营业时间
*/
// @Transient
// @JsonProperty("BusineHours")
// public String busineHours;
/**
*
*/
@Transient
@JsonProperty("ElectricityFee")
public String electricityFee;
/**
* 服务费率
*/
@Transient
@JsonProperty("ServiceFee")
public String serviceFee;
/**
* 免费停车
*/
@Transient
@JsonProperty("ParkFree")
public Integer parkFree;
/**
* 停车费
*/
@Transient
@JsonProperty("ParkFee")
public String parkFee;
/**
* 支付方式
*/
@Transient
@JsonProperty("Payment")
public String payment;
/**
* 是否支持预约
*/
// @Transient
// @JsonProperty("SupportOrder")
// public Integer supportOrder;
/**
* 备注
*/
// @Transient
// @JsonProperty("Remark")
// public String remark;
/**
* 充电设备信息列表
*/
@Transient
@JsonProperty("EquipmentInfos")
public List<CDEquipmentInfo> equipmentInfos = null;
/**
* 停车收费类型
*/
@Transient
@JsonProperty("ParkFeeType")
public Integer parkFeeType;
/**
* 是否配备卫生间
*/
@Transient
@JsonProperty("ToiletFlag")
public Integer toiletFlag;
/**
* 是否配备便利店
*/
@Transient
@JsonProperty("StoreFlag")
public Integer storeFlag;
/**
* 是否配备休息室
*/
@Transient
@JsonProperty("LoungeFlag")
public Integer loungeFlag;
/**
* 是否配备雨棚
*/
@Transient
@JsonProperty("CanopyFlag")
public Integer canopyFlag;
/**
* 是否有小票机
*/
@Transient
@JsonProperty("PrinterFlag")
public Integer printerFlag;
/**
* 是否有道闸
*/
@Transient
@JsonProperty("BarrierFlag")
public Integer barrierFlag;
/**
* 是否有地锁
*/
@Transient
@JsonProperty("ParkingLockFlag")
public Integer parkingLockFlag;
/**
* 是否参与需求响应
*/
@Transient
@JsonProperty("IsDemandResponse")
public Integer isDemandResponse;
/**
* 有序充电场站
*/
@Transient
@JsonProperty("IsSupportOrderlyCharging")
public Integer isSupportOrderlyCharging;
/**
* 有是否有储能设备
*/
@Transient
@JsonProperty("IsEnergyStorage")
public Integer isEnergyStorage;
/**
* 站点分类
*/
@Transient
@JsonProperty("StationClassification")
public Integer stationClassification;
/**
* 通用类型
*/
@Transient
@JsonProperty("GeneralApplicationType")
public Integer generalApplicationType;
/**
* 7*24小时营业
*/
@Transient
@JsonProperty("RoundTheClock")
public Integer roundTheClock;
/**
* 停车费类型
*/
@Transient
@JsonProperty("ParkType")
public Integer parkType;
/**
* 电费类型
*/
@Transient
@JsonProperty("ElectncityType")
public Integer electncityType;
/**
* 报装类型
*/
@Transient
@JsonProperty("BusinessExpandType")
public Integer businessExpandType;
/**
* 站点额定总功率
*/
@Transient
@JsonProperty("RatedPower")
@Column(columnDefinition = "Decimal(10,1)")
public Double ratedPower;
/**
* 峰谷分时
*/
@Transient
@JsonProperty("PeriodFee")
public Integer periodFee;
/**
* 正式投运时间
*/
@Transient
@JsonProperty("OfficialRunTime")
public String officialRunTime;
/**
* 视频监控配套情况
*/
@Transient
@JsonProperty("VideoMonitor")
public Integer videoMonitor;
@Transient
@JsonProperty("SwapEquipmentlnfos")
public List<CDSwapEquipmentlnfos> swapEquipmentlnfos = null;
// /**
// * 是否支持远程调控
// */
// @Transient
// @JsonProperty("SupportOrder2")
// public Integer supportOrder2;
//
// /**
// * 变压器装机容量
// */
// @Transient
// @JsonProperty("InstalledCapacity")
// @Column(columnDefinition = "Decimal(10,1)")
// public Double installedCapacity;
//
// /**
// * 备用容量
// */
// @Transient
// @JsonProperty("ReserveCapacity")
// @Column(columnDefinition = "Decimal(10,1)")
// public Double reserveCapacity;
//
// /**
// * 可响应时段
// */
// @Transient
// @JsonProperty("ResponsablePeriod")
// public String responsablePeriod;
//
// /**
// * 响应速率(min)
// */
// @Transient
// @JsonProperty("ResponseRate")
// public String responseRate;
//
// /**
// * 当年最大可调能力
// */
// @Transient
// @Column(columnDefinition = "Decimal(10,1)")
// public String maxAdjustableCapacity;
//
// /**
// * 可调节时长
// */
// @Transient
// @JsonProperty("AdjustTime")
// public Integer adjustTime;
}

View File

@ -0,0 +1,19 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
/**
* @author yuyang
* @date 2023-09-15 11:30
*/
@JsonPropertyOrder({
"Status"
})
@Data
public class CDStationInfoResponse {
@JsonProperty("Status")
private Integer status;
}

View File

@ -0,0 +1,85 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
/**
* 充电站实时负荷1min 时点负荷值
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StationID",
"OperatorID",
"EquipmentOwnerID",
"EleNo",
"Power",
"TsMin",
"TsHour",
"TsDay",
"TsMonth",
"AnalysisReport"
})
@Data
public class CDStationPowerlnfo {
/**
* 充电桩ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 运营平台 ID
*/
@JsonProperty("OperatorID")
public String operatorID;
/**
* 产权所属单位 ID
*/
@JsonProperty("EquipmentOwnerID")
public String equipmentOwnerID;
/**
* 户号编号
*/
@JsonProperty("EleNo")
//@Column(columnDefinition = "Decimal(10,2)")
public String eleNo;
/**
* 站点实时负荷值
*/
@JsonProperty("Power")
@Column(columnDefinition = "Decimal(10,2)")
public Double power;
/**
* 时间点 1 分钟一个刻度 yyyymmddhhmm
*/
@JsonProperty("TsMin")
public String tsMin;
/**
* yyyymmddhh
*/
@JsonProperty("TsHour")
public String tsHour;
/**
* yyyymmdd
*/
@JsonProperty("TsDay")
public String tsDay;
/**
* yyyymm
*/
@JsonProperty("TsMonth")
public String tsMonth;
/**
* yyyy
*/
@JsonProperty("TsYear")
public String tsYear;
}

View File

@ -0,0 +1,93 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.xhpc.evcs.dto.EquipmentStatsInfo;
import lombok.Data;
import javax.persistence.Column;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-28 10:18
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StationID",
"StartTime",
"EndTime",
"StationElectricity",
"EquipmentStatsInfos",
"StationClassification",
"OperatorID",
"EquipmentOnwerID",
"StationTotalChargeTime",
"StationTotalChargeNum",
"StationTotalWarningNum"
})
@Data
public class CDStationStatslnfo {
/**
* 充电设ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 统计的开始时间
*/
@JsonProperty("StartTime")
public String startTime;
/**
* 统计结束时间
*/
@JsonProperty("EndTime")
public String endTime;
/**
* 充电站累计电量
*/
@Column(columnDefinition = "Decimal(10,1)")
@JsonProperty("StationElectricity")
public Double stationElectricity;
/**
* 充电设备统计信息列表
*/
@JsonProperty("EquipmentStatsInfos")
List<CDSuqEquipmentStatslnfo> equipmentStatsInfo;
/**
* 站点分类
*/
@JsonProperty("StationClassification")
public Integer stationClassification;
/**
* 运营平台ID
*/
@JsonProperty("OperatorID")
public String operatorID;
/**
* 产权所属单位ID
*/
@JsonProperty("EquipmentOnwerID")
public String equipmentOnwerID;
/**
* 充电站累计用电时长
*/
@Column(columnDefinition = "Decimal(10,2)")
@JsonProperty("StationTotalChargeTime")
public Double stationTotalChargeTime;
/**
* 充电站累计充电次数
*/
@JsonProperty("StationTotalChargeNum")
public Integer stationTotalChargeNum;
/**
* 充电站累计告警数量
*/
@JsonProperty("StationTotalWarningNum")
public Integer stationTotalWarningNum;
}

View File

@ -0,0 +1,44 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-28 10:09
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"OperatorID",
"EquipmentOnwerID",
"StatlonID",
"ConnectorStatusInfos"
})
@Data
public class CDStationStatusInfo {
/**
* 运营平台ID
*/
@JsonProperty("OperatorID")
public String operatorID;
/**
* 产权所属单位
*/
@JsonProperty("EquipmentOnwerID")
public String equipmentOnwerID;
/**
* 充电设ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 充电设备接口状态列表
*/
@JsonProperty("ConnectorStatusInfos")
public List<CDConnectorStatusInfo> connectorStatusInfos;
}

View File

@ -0,0 +1,69 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author yuyang
* @date 2023-10-08 15:52
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"Total",
"StationStatusInfos"
})
public class CDStationStatusInfoWrapper {
@JsonProperty("Total")
private Integer total;
@JsonProperty("StationStatusInfos")
private List<CDStationStatusInfo> stationStatusInfos = null;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("Total")
public Integer getTotal() {
return total;
}
@JsonProperty("Total")
public void setTotal(Integer total) {
this.total = total;
}
@JsonProperty("StationStatusInfos")
public List<CDStationStatusInfo> getStationStatusInfos() {
return stationStatusInfos;
}
@JsonProperty("StationStatusInfos")
public void setStationStatusInfos(List<CDStationStatusInfo> stationStatusInfos) {
this.stationStatusInfos = stationStatusInfos;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
@Override
public String toString() {
return new ToStringBuilder(this).append("total", total).append("stationStatusInfos", stationStatusInfos).append(
"additionalProperties", additionalProperties).toString();
}
}

View File

@ -0,0 +1,52 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
/**
* @author yuyang
* @date 2023-09-28 10:51
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"ConnectorID",
"EquipmentClassification",
"DataTime",
"ConnectorRealTimePower"
})
@Data
public class CDSupConnectorPowerInfo {
/**
* 充电设备接口编码
*/
@JsonProperty("ConnectorID")
public String connectorID;
/**
* 设备分类
*/
@JsonProperty("EquipmentClassification")
public Integer equipmentClassification;
/**
* 统计时间
*/
@JsonProperty("DataTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
public String dataTime;
/**
* 充电设备接口实时功率
*/
@Column(columnDefinition = "Decimal(10,1)")
@JsonProperty("ConnectorRealTimePower")
public Double connectorRealTimePower;
}

View File

@ -0,0 +1,61 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
/**
* @author yuyang
* @date 2023-09-28 10:37
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"ConnectorID",
"ConnectorElectricity",
"EquipmentClassification",
"ConnectorTotalChargeTime",
"ConnectorTotalChargeNum",
"ConnectorTotalWarningNum"
})
@Setter
@Getter
public class CDSupConnectorStatslnfo {
/**
* 充电设备接口编码
*/
@JsonProperty("ConnectorID")
public String connectorID;
/**
* 充电设备接口累计电量
*/
@Column(columnDefinition = "Decimal(10,2)")
@JsonProperty("ConnectorElectricity")
public Double connectorElectricity;
/**
* 设备分类
*/
@JsonProperty("EquipmentClassification")
public Integer equipmentClassification;
/**
* 充电设备接口累计充电时长
*/
@JsonProperty("ConnectorTotalChargeTime")
public Integer connectorTotalChargeTime;
/**
* 充电设备接口累计充电次数
*/
@JsonProperty("ConnectorTotalChargeNum")
public Integer connectorTotalChargeNum;
/**
* 充电设备接口累计告警
*/
@JsonProperty("ConnectorTotalWarningNum")
public Integer connectorTotalWarningNum;
}

View File

@ -0,0 +1,83 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
/**
* @author yuyang
* @date 2023-09-28 11:03
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"AreaCode",
"Address",
"AccidentEntity",
"Type",
"AccidentReason",
"Level",
"AccidentTime",
"Description",
"Pictures",
"AnalysisReport"
})
@Data
public class CDSupEquipmentAccidentInfo {
/**
* 区域代码
*/
@JsonProperty("AreaCode")
public String areaCode;
/**
* 事故地点
*/
@JsonProperty("Address")
public String address;
/**
* 事故主体
*/
@JsonProperty("AccidentEntity")
public Integer accidentEntity;
/**
* 事故类型
*/
@JsonProperty("Type")
public Integer type;
/**
* 事故原因
*/
@JsonProperty("AccidentReason")
public String accidentReason;
/**
* 事故分级
*/
@JsonProperty("Level")
public Integer level;
/**
* 发生时间
*/
@JsonProperty("AccidentTime")
public String accidentTime;
/**
* 事故文字描述
*/
@JsonProperty("Description")
public String description;
/**
* 现场图片
*/
@JsonProperty("Pictures")
public String [] pictures;
public String picturesName;
/**
* 事故分析报
*/
@JsonProperty("AnalysisReport")
public String [] analysisReport;
public String analysisReportName;
}

View File

@ -0,0 +1,29 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.ArrayList;
import java.util.List;
/**
* @author yuyang
* @date 2023-10-09 19:20
*/
@Getter
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDSupEquipmentAccidentInfoResponse {
@JsonProperty("PageCount")
Integer PageCount;
@JsonProperty("ItemSize")
Integer ItemSize;
@JsonProperty(value = "PageNo", defaultValue = "1") //CAUTION: PageNo must not wrote as PageNon or anything else
Integer PageNo = 1;
@JsonProperty("EquipmentAccidentInfos")
List<CDSupEquipmentAccidentInfo> supEquipmentAccidentInfos = new ArrayList<>();
}

View File

@ -0,0 +1,54 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-28 10:47
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"EquipmentID",
"EquipmentClassification",
"DataTime",
"EquipRealTimePower",
"ConnectorPowerInfos"
})
@Data
public class CDSupEquipmentPowerInfo {
public String pileID;
/**
* 充电设备编码
*/
@JsonProperty("EquipmentID")
public String equipmentID;
/**
* 设备分类
*/
@JsonProperty("EquipmentClassification")
public Integer equipmentClassification;
/**
* 统计时间
*/
@JsonProperty("DataTime")
public String dataTime;
/**
* 统计时间
*/
@Column(columnDefinition = "Decimal(10,1)")
@JsonProperty("EquipRealTimePower")
public Double equipRealTimePower;
/**
* 充电设备接口功率信息列表
*/
@JsonProperty("ConnectorPowerInfos")
List<CDSupConnectorPowerInfo> connectorPowerInfos;
}

View File

@ -0,0 +1,63 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-28 10:44
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"OperatorlD",
"EquipmentOnwerID",
"StationID",
"StationClassification",
"DataTime",
"StationRealTimePower",
"EquipmentPowerInfos"
})
@Data
public class CDSupStationPowerInfo {
/**
* 充电设备接口编码
*/
@JsonProperty("OperatorlD")
public String operatorlD;
/**
* 产权所属单位ID
*/
@JsonProperty("EquipmentOnwerID")
public String equipmentOnwerID;
/**
* 充电站
*/
@JsonProperty("StationID")
public String stationID;
/**
* 站点分类
*/
@JsonProperty("StationClassification")
public Integer stationClassification;
/**
* 统计时间
*/
@JsonProperty("DataTime")
public String dataTime;
/**
* 充电站实时功率
*/
@Column(columnDefinition = "Decimal(10,1)")
@JsonProperty("StationRealTimePower")
public Double stationRealTimePower;
/**
* 充电设备功率信息列表
*/
@JsonProperty("EquipmentPowerInfos")
List<CDSupEquipmentPowerInfo> equipmentPowerInfos;
}

View File

@ -0,0 +1,23 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @author yuyang
* @date 2023-10-07 10:52
*/
@Getter
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDSuperviseQueryEquipmentPowerInfoRequest {
@JsonProperty("StationID")
String stationID;
@JsonProperty("DataTime")
String dataTime;
}

View File

@ -0,0 +1,27 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
/**
* @author yuyang
* @date 2023-10-07 10:48
*/
@Getter
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CDSuperviseQueryStationPowerInfoRequest {
@JsonProperty("StationIDs")
String [] stationIDs;
@JsonProperty("DataTime")
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
String dataTime;
}

View File

@ -0,0 +1,67 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import java.util.List;
/**
* @author yuyang
* @date 2023-09-28 10:32
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"EquipmentID",
"EquipmentClassification",
"EquipmentElectncity",
"EquipmentTotalChargeTime",
"EquipmentTotalChargeNum",
"EquipmentTotalWarningNum",
"ConnectorStatsInfos"
})
@Setter
@Getter
public class CDSuqEquipmentStatslnfo {
/**
* 充电设备编码
*/
@JsonProperty("EquipmentID")
public String equipmentID;
/**
* 设备分类
*/
@JsonProperty("EquipmentClassification")
public Integer equipmentClassification;
/**
* 充电设备累计电量
*/
@Column(columnDefinition = "Decimal(10,2)")
@JsonProperty("EquipmentElectncity")
public Double equipmentElectncity;
/**
* 充电设备累计充电时长
*/
@JsonProperty("EquipmentTotalChargeTime")
public Integer equipmentTotalChargeTime;
/**
* 充电累计充电次数
*/
@JsonProperty("EquipmentTotalChargeNum")
public Integer equipmentTotalChargeNum;
/**
* 充电设备累计告警数量
*/
@JsonProperty("EquipmentTotalWarningNum")
public Integer equipmentTotalWarningNum;
/**
* 充电设备接口运行统计列表
*/
@JsonProperty("ConnectorStatsInfos")
List<CDSupConnectorStatslnfo> connectorStatsInfos;
}

View File

@ -0,0 +1,9 @@
package com.xhpc.evcs.cdjgpc.dto;
/**
* @author yuyang
* @date 2023-09-27 17:25
*/
public class CDSwapEquipmentlnfos {
}

View File

@ -0,0 +1,78 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.xhpc.evcs.cdjgpc.dto.CDRequirementInfoList;
import lombok.Data;
import java.util.List;
/**
* 调控任务
*
* @author yuyang
* @Date 2024-08-16 10:59
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"TaskName",
"TaskCode",
"DemandDate",
"StationID",
"OperatorID",
"EquipmentOwnerID",
"EleNo",
"List",
"DeliveryTime"
})
@Data
public class CDTaskInfo {
/**
* 任务名称
*/
@JsonProperty("TaskName")
public String taskName;
/**
* 任务编码
*/
@JsonProperty("TaskCode")
public String taskCode;
/**
* 响应日期 yyyy-MM-dd
*/
@JsonProperty("DemandDate")
public String demandDate;
/**
* 充电桩ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 运营平台 ID
*/
@JsonProperty("OperatorID")
public String operatorID;
/**
* 产权所属单位 ID
*/
@JsonProperty("EquipmentOwnerID")
public String equipmentOwnerID;
/**
* 所属户号
*/
@JsonProperty("EleNo")
public String eleNo;
/**
* 时段责任量 List
*/
@JsonProperty("List")
public List<CDRequirementInfoList> list;
/**
* 下发时间
*/
@JsonProperty("DeliveryTime")
public String deliveryTime;
}

View File

@ -0,0 +1,42 @@
package com.xhpc.evcs.cdjgpc.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
/**
* 产权单位信息
* @author yuyang
* @date 2023-09-07 10:57
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"EquipmentOwnerID",
"FullName",
"ShortName",
"OperatorID",
"Remark"
})
@Data
@Entity(name = "ET_EQUIPMENT_OWNER_INFO")
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class EquipmentOwnerInfo {
@Id
@JsonProperty("EquipmentOwnerID")
private String equipmentOwnerId;
@JsonProperty("FullName")
String fullName;
@JsonProperty("ShortName")
String shortName;
@JsonProperty("OperatorID")
String operatorID;
@JsonProperty("Remark")
String remark;
}

View File

@ -0,0 +1,80 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Getter;
import lombok.Setter;
/**
* @author yuyang
* @Date 2025-07-16 15:35
*/
@Getter
@Setter
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StartChargeSeq",
"StartChargeSeqStat",
"ConnectorID",
"ConnectorStatus",
"CurrentA",
"CurrentB",
"CurrentC",
"VoltageA",
"VoltageB",
"VoltageC",
"Soc",
"StartTime",
"EndTime",
"TotalPower",
"ElecMoney",
"SeviceMoney",
"TotalMoney",
"SumPeriod",
"ChargeDetails",
"LeftTime"
})
public class CEJEquipChargeStatus {
@JsonProperty("StartChargeSeq")
private String startChargeSeq;
@JsonProperty("StartChargeSeqStat")
private Integer startChargeSeqStat = 4;
@JsonProperty("ConnectorID")
private String connectorID;
@JsonProperty("ConnectorStatus")
private Integer connectorStatus = 1;
@JsonProperty("CurrentA")
private Double currentA = 0.0;
@JsonProperty("CurrentB")
private Double currentB = 0.0;
@JsonProperty("CurrentC")
private Double currentC = 0.0;
@JsonProperty("VoltageA")
private Double voltageA = 0.0;
@JsonProperty("VoltageB")
private Double voltageB = 0.0;
@JsonProperty("VoltageC")
private Double voltageC = 0.0;
@JsonProperty("Soc")
private Double soc = 0.0;
@JsonProperty("StartTime")
private String startTime;
@JsonProperty("EndTime")
private String endTime;
@JsonProperty("TotalPower")
private Double totalPower = 0.0;
@JsonProperty("ElecMoney")
private Double elecMoney = 0.0;
@JsonProperty("SeviceMoney")
private Double seviceMoney = 0.0;
@JsonProperty("TotalMoney")
private Double totalMoney = 0.0;
@JsonProperty("SumPeriod")
private Integer sumPeriod = 0;
@JsonProperty("ChargeDetails")
private com.xhpc.evcs.dto.ChargeDetails[] chargeDetails;
@JsonProperty("LeftTime")
private Integer leftTime ;
}

View File

@ -0,0 +1,78 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Transient;
/**
* @author yuyang
* @Date 2025-07-16 10:12
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"ConnectorID",
"ConnectorName",
"ConnectorType",
"VoltageUpperLimits",
"VoltageLowerLimits",
"Current",
"Power",
"NationalStandard"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CWJConnectorInfo {
@JsonProperty("ConnectorID")
public String connectorID;
@JsonProperty("ConnectorName")
public String connectorName;
// 1家用插座模式 2
// 2交流接口插座模式 3 连接方式 B
// 3交流接口插头带枪线 模式 3连接方式 C
// 4直流接口枪头带枪线 模式 4
// 5无线充电座
// 6其他
@JsonProperty("ConnectorType")
public Integer connectorType;
@JsonProperty("VoltageUpperLimits")
public Integer voltageUpperLimits;
@JsonProperty("VoltageLowerLimits")
public Integer voltageLowerLimits;
@JsonProperty("Current")
public Integer current;
@Column(columnDefinition = "Decimal(10,1)")
@JsonProperty("Power")
public Double power;
// @JsonProperty("ParkNo")
// public String ParkNo;
@JsonProperty("NationalStandard")
public Integer nationalStandard;
// /**
// * 是否有地锁
// */
// @Transient
// @JsonProperty("ParkingLockFlag")
// public Integer parkingLockFlag;
// /**
// * 充电设备接口二维码
// */
// @Transient
// @JsonProperty("QRCode")
// public Integer qRCode;
// /**
// * 枪编码
// */
// @Transient
// @JsonProperty("Stubld")
// public String stubld;
}

View File

@ -0,0 +1,41 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
/**
* @author yuyang
* @Date 2025-07-16 10:21
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"ConnectorID",
"Status"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CWJConnectorStatusInfo {
@JsonProperty("ConnectorID")
public String connectorID;
/**
* 充电设备接口状态
*/
@JsonProperty("Status")
public Integer status;
// /**
// * 车位状态
// */
// @JsonProperty("ParkStatus")
// public Integer parkStatus;
//
// /**
// * 地锁状态
// */
// @JsonProperty("LockStatus")
// public Integer lockStatus;
}

View File

@ -0,0 +1,47 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.*;
import com.xhpc.evcs.cdjgpc.dto.CDConnectorStatusInfo;
import java.util.HashMap;
import java.util.Map;
/**
* @author yuyang
* @Date 2025-07-16 11:18
*/
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CWJConnectorStatusInfoReq {
@JsonProperty("ConnectorStatusInfo")
private CWJConnectorStatusInfo connectorStatusInfo;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("ConnectorStatusInfo")
public CWJConnectorStatusInfo getConnectorStatusInfo() {
return connectorStatusInfo;
}
@JsonProperty("ConnectorStatusInfo")
public void setConnectorStatusInfo(CWJConnectorStatusInfo connectorStatusInfo) {
this.connectorStatusInfo = connectorStatusInfo;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}

View File

@ -0,0 +1,92 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Transient;
import java.util.List;
/**
* @author yuyang
* @Date 2025-07-16 10:04
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"EquipmentID",
"EquipmentName",
"ManufacturerID",
"ManufacturerName",
"EquipmentModel",
"ProductionDate",
"EquipmentType",
"Power",
"ConnectorInfos"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CWJEquipmentInfo {
/**
* 设备编码
*/
@JsonProperty("EquipmentID")
public String equipmentID;
/**
* 充电设备名称
*/
@JsonProperty("EquipmentName")
public String equipmentName;
/**
* 设备生产商组织机构代码
*/
@JsonProperty("ManufacturerID")
public String manufacturerID;
/**
* 设备生产商名称
*/
@JsonProperty("ManufacturerName")
public String manufacturerName;
/**
* 设备型号
*/
@Transient
@JsonProperty("EquipmentModel")
public String equipmentModel;
/**
* 设备生产日期
*/
@JsonProperty("ProductionDate")
public String productionDate;
/**
* 设备类型
*/
@JsonProperty("EquipmentType")
public Integer equipmentType;
/**
* 经度
*/
// @JsonProperty("EquipmentLng")
// public Double equipmentLng;
/**
* 充电设备 纬度
*/
// @JsonProperty("EquipmentLat")
// public Double equipmentLat;
/**
* 充电设备总功率
*/
@Column(columnDefinition = "Decimal(10,1)")
@JsonProperty("Power")
public Double power;
/**
* 充电设备 接口列表
*/
@JsonProperty("ConnectorInfos")
public List<CWJConnectorInfo> connectorInfos;
}

View File

@ -0,0 +1,24 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @author yuyang
* @Date 2025-07-22 14:41
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@Getter
@Setter
public class CWJPageRequest {
@JsonProperty(value = "PageNo", defaultValue = "1") //CAUTION: PageNo must not wrote as PageNon or anything else
Integer pageNo = 1;
@JsonProperty(value = "PageSize", defaultValue = "10")
Integer pageSize = 10;
}

View File

@ -0,0 +1,29 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.ArrayList;
import java.util.List;
/**
* @author yuyang
* @Date 2025-07-16 10:35
*/
@Getter
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CWJPageStationsInfoResponse {
@JsonProperty("PageCount")
Integer PageCount;
@JsonProperty("ItemSize")
Integer ItemSize;
@JsonProperty(value = "PageNo", defaultValue = "1") //CAUTION: PageNo must not wrote as PageNon or anything else
Integer PageNo = 1;
@JsonProperty("StationInfos")
List<CWJStationInfo> stationInfos = new ArrayList<>();
}

View File

@ -0,0 +1,43 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.*;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* @author yuyang
* @Date 2025-07-16 15:04
*/
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CWJStartChargeRequest {
@JsonProperty("StartChargeSeq")
String startChargeSeq;
@JsonProperty("ConnectorID")
String connectorId;
@JsonProperty("QRCode")
String qRCode;
@JsonProperty("FeeLimit")
Double feeLimit;
@JsonProperty("PowerLimit")
Double powerLimit;
@JsonProperty("LimitSoc")
Integer limitSoc;
@JsonProperty("CarPlateNo")
String carPlateNo;
@JsonProperty("UserID")
String userId;
}

View File

@ -0,0 +1,212 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.xhpc.evcs.dto.CommonStationInfo;
import lombok.Data;
import javax.persistence.Transient;
import java.util.List;
/**
* 车为家
*
* @author yuyang
* @Date 2025-07-16 9:55
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StationID",
"OperatorID",
"EquipmentOwnerID",
"StationName",
"CountryCode",
"AreaCode",
"Address",
"StationTel",
"ServiceTel",
"StationType",
"StationStatus",
"ParkNums",
"StationLng",
"StationLat",
"Construction",
"BusineHours",
"OvertimeFee",
"ElectricityFee",
"ServiceFee",
"ParkFee",
"Payment",
"EquipmentInfos",
"ParkingDiscountType"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CWJStationInfo extends CommonStationInfo {
/**
* 充电站国家代码
*/
@Transient
@JsonProperty("CountryCode")
public String countryCcode;
/**
* 充电站省市辖区编码
*/
@Transient
@JsonProperty("AreaCode")
public String areaCode;
/**
* 详情地址
*/
@Transient
@JsonProperty("Address")
public String address;
/**
* 站点电话
*/
@Transient
@JsonProperty("StationTel")
public String stationTel;
/**
* 服务电话
*/
@Transient
@JsonProperty("ServiceTel")
public String serviceTel;
/**
* 站点类型
*/
@Transient
@JsonProperty("StationType")
public Integer stationType;
/**
* 站点状态
*/
@Transient
@JsonProperty("StationStatus")
public Integer stationStatus;
/**
* 车位数量
*/
@Transient
@JsonProperty("ParkNums")
public Integer parkNums;
/**
* 经度
*/
@Transient
@JsonProperty("StationLng")
public Double stationLng;
/**
* 纬度
*/
@Transient
@JsonProperty("StationLat")
public Double stationLat;
/**
* 站点引导
*/
// @Transient
// @JsonProperty("SiteGuide")
// public String siteGuide;
/**
* 建设场所
*/
@Transient
@JsonProperty("Construction")
public Integer construction;
/**
* 站点照片
*/
// @Transient
// @JsonProperty("Pictures")
// public String[] pictures;
/**
* 使用车型描述
*/
// @Transient
// @JsonProperty("MatchCars")
// public String matchCars;
/**
* 车位楼层及数量描述
*/
// @Transient
// @JsonProperty("ParkInfo")
// public String parkInfo;
/**
* 营业时间
*/
@Transient
@JsonProperty("BusineHours")
public String busineHours;
/**
*
*/
@Transient
@JsonProperty("ElectricityFee")
public String electricityFee;
/**
* 服务费率
*/
@Transient
@JsonProperty("ServiceFee")
public String serviceFee;
/**
* 停车费
*/
@Transient
@JsonProperty("ParkFee")
public String parkFee;
/**
* 支付方式
*/
@Transient
@JsonProperty("Payment")
public String payment;
/**
* 是否支持预约
*/
// @Transient
// @JsonProperty("SupportOrder")
// public Integer supportOrder;
/**
* 备注
*/
// @Transient
// @JsonProperty("Remark")
// public String remark;
/**
* 充电设备信息列表
*/
@Transient
@JsonProperty("EquipmentInfos")
public List<CWJEquipmentInfo> equipmentInfos = null;
/**
* 停车收费类型
*/
@Transient
@JsonProperty("ParkingDiscountType")
public Integer parkingDiscountType;
/**
* 标签
*/
// @Transient
// @JsonProperty("Tags")
// public String[] Tags;
/**
* 路书
*/
// @Transient
// @JsonProperty("RoadInfo")
// public String[] roadInfo;
@Transient
@JsonProperty("OvertimeFee")
String OvertimeFee;
}

View File

@ -0,0 +1,35 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import java.util.List;
/**
* @author yuyang
* @Date 2025-07-16 10:23
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"OperatorID",
"ConnectorStatusInfos"
})
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@Data
public class CWJStationStatusInfo {
/**
* 充电设ID
*/
@JsonProperty("StationID")
public String stationID;
/**
* 充电设备接口状态列表
*/
@JsonProperty("ConnectorStatusInfos")
public List<CWJConnectorStatusInfo> connectorStatusInfos;
}

View File

@ -0,0 +1,73 @@
package com.xhpc.evcs.cwj.dto;
import com.fasterxml.jackson.annotation.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author yuyang
* @Date 2025-07-16 11:26
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"Total",
"StationStatusInfos"
})
public class CWJStationStatusInfoWrapper {
@JsonProperty("Total")
private Integer total;
@JsonProperty("StationStatusInfos")
private List<CWJStationStatusInfo> stationStatusInfos = null;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("Total")
public Integer getTotal() {
return total;
}
@JsonProperty("Total")
public void setTotal(Integer total) {
this.total = total;
}
@JsonProperty("StationStatusInfos")
public List<CWJStationStatusInfo> getStationStatusInfos() {
return stationStatusInfos;
}
@JsonProperty("StationStatusInfos")
public void setStationStatusInfos(List<CWJStationStatusInfo> stationStatusInfos) {
this.stationStatusInfos = stationStatusInfos;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
@Override
public String toString() {
return new ToStringBuilder(this).append("total", total).append("stationStatusInfos", stationStatusInfos).append(
"additionalProperties", additionalProperties).toString();
}
}

View File

@ -0,0 +1,19 @@
package com.xhpc.evcs.cyc.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
@JsonPropertyOrder({
"StartChargeSeq",
"SuccStat"
})
@Data
public class CYCChargeChargeStatusResponse {
@JsonProperty("StartChargeSeq")
private String startChargeSeq;
@JsonProperty("SuccStat")
private Integer succStat;
}

View File

@ -0,0 +1,66 @@
package com.xhpc.evcs.cyc.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonPropertyOrder({
"StartChargeSeq",
"SuccStat",
"FailReason",
"IdentCode"
})
public class CYCChargeOrderInfoResponse {
@JsonProperty("StartChargeSeq")
private String startChargeSeq;
@JsonProperty("SuccStat")
private Integer succStat;
@JsonProperty("FailReason")
private Integer failReason;
@JsonProperty("IdentCode")
private String identCode;
public String getStartChargeSeq() {
return startChargeSeq;
}
public void setStartChargeSeq(String startChargeSeq) {
this.startChargeSeq = startChargeSeq;
}
public Integer getSuccStat() {
return succStat;
}
public void setSuccStat(Integer succStat) {
this.succStat = succStat;
}
public Integer getFailReason() {
return failReason;
}
public void setFailReason(Integer failReason) {
this.failReason = failReason;
}
public String getIdentCode() {
return identCode;
}
public void setIdentCode(String identCode) {
this.identCode = identCode;
}
@Override
public String toString() {
return "CYCChargeOrderInfoResponse{" +
"startChargeSeq='" + startChargeSeq + '\'' +
", succStat=" + succStat +
", failReason=" + failReason +
", identCode='" + identCode + '\'' +
'}';
}
}

View File

@ -0,0 +1,138 @@
package com.xhpc.evcs.cyc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
import javax.persistence.Column;
/**
* @author yuyang
* @date 2023-09-07 15:16
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StartChargeSeq",
"StartChargeSeqStat",
"ConnectorID",
"ConnectorStatus",
"CurrentA",
"CurrentB",
"CurrentC",
"VoltageA",
"VoltageB",
"VoltageC",
"Soc",
"StartTime",
"EndTime",
"TotalPower",
"ElecMoney",
"SeviceMoney",
"TotalMoney",
"SumPeriod",
"ChargeDetails"
})
@Data
public class CYCConnectorChargeStatusInfo {
/**
* 充电订单号
*/
@JsonProperty("StartChargeSeq")
public String startChargeSeq;
/**
* 充电订单状态
*/
@JsonProperty("StartChargeSeqStat")
public Integer startChargeSeqStat;
/**
* 充电设备接 口编码
*/
@JsonProperty("ConnectorID")
public String connectorID;
/**
* 充电设备接 口状态
*/
@JsonProperty("ConnectorStatus")
public Integer connectorStatus;
/**
* A 相电流
*/
@JsonProperty("CurrentA")
public Double currentA;
/**
* B 相电流
*/
@JsonProperty("CurrentB")
public Double currentB;
/**
* C 相电流
*/
@JsonProperty("CurrentC")
public Double currentC;
/**
* A 相电压
*/
@JsonProperty("VoltageA")
public Double voltageA;
/**
* B 相电压
*/
@JsonProperty("VoltageB")
public Double voltageB;
/**
* C 相电压
*/
@JsonProperty("VoltageC")
public Double voltageC;
/**
* 电池剩余电量
*/
@JsonProperty("Soc")
@Column(columnDefinition = "Decimal(10,1)")
public Double soc;
/**
* 开始充电时间
*/
@JsonProperty("StartTime")
public String startTime;
/**
* 本次采样时间
*/
@JsonProperty("EndTime")
public String endTime;
/**
* 累计充电量
*/
@JsonProperty("TotalPower")
@Column(columnDefinition = "Decimal(10,2)")
public Double totalPower;
/**
* 累计电费
*/
@JsonProperty("ElecMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double elecMoney;
/**
* 累计服务费
*/
@JsonProperty("SeviceMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double seviceMoney;
/**
* 累计总金额
*/
@JsonProperty("TotalMoney")
@Column(columnDefinition = "Decimal(10,2)")
public Double totalMoney;
/**
* 时段数N
*/
@JsonProperty("SumPeriod")
public Integer sumPeriod;
@JsonProperty("ChargeDetails")
private com.xhpc.evcs.dto.ChargeDetails[] chargeDetails;
}

View File

@ -0,0 +1,71 @@
package com.xhpc.evcs.cyc.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"StartChargeSeq",
"StartChargeSeqStat",
"ConnectorID",
"StartTime",
"Mobile"
})
public class CYCNotificationStartChargeResultRequestData {
@JsonProperty("StartChargeSeq")
private String startChargeSeq;
@JsonProperty("StartChargeSeqStat")
private Integer startChargeSeqStat;
@JsonProperty("ConnectorID")
private String connectorId;
@JsonProperty("StartTime")
private String startTime;
@JsonProperty("Mobile")
private String mobile;
public String getStartChargeSeq() {
return startChargeSeq;
}
public void setStartChargeSeq(String startChargeSeq) {
this.startChargeSeq = startChargeSeq;
}
public Integer getStartChargeSeqStat() {
return startChargeSeqStat;
}
public void setStartChargeSeqStat(Integer startChargeSeqStat) {
this.startChargeSeqStat = startChargeSeqStat;
}
public String getConnectorId() {
return connectorId;
}
public void setConnectorId(String connectorId) {
this.connectorId = connectorId;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
}

View File

@ -0,0 +1,95 @@
package com.xhpc.evcs.domain;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.util.Date;
@Getter
@Setter
@Entity
@Table(name = "ET_AUTH_SEC_TOKEN")
public class AuthSecretToken {
public final static String SECRET_TOKEN_TYPE_IN = "IN";
public final static String SECRET_TOKEN_TYPE_OUT = "OUT";
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String operatorId;
private String operatorId3irdpty;
private String urlPrefix;
private String secretTokenType;
private String operatorSecret;
private String sigSecret;
private String dataSecret;
private String dataSecretIV;
private String token;
private Date tokenExpiry;
private boolean encrypt;
private Long lastPushOrder;
private Integer status;
public AuthSecretToken() {
}
public AuthSecretToken(String operatorId, String secretTokenType) {
this.operatorId = operatorId;
this.secretTokenType = secretTokenType;
}
public Long getLastPushOrder() {
return lastPushOrder == null ? 0 : lastPushOrder;
}
public void setLastPushOrder(Long lastPushOrder) {
this.lastPushOrder = lastPushOrder;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
@Override
public String toString() {
return "AuthSecretToken{" +
"id=" + id +
", operatorId='" + operatorId + '\'' +
", operatorId3irdpty='" + operatorId3irdpty + '\'' +
", urlPrefix='" + urlPrefix + '\'' +
", secretTokenType='" + secretTokenType + '\'' +
", operatorSecret='" + operatorSecret + '\'' +
", sigSecret='" + sigSecret + '\'' +
", dataSecret='" + dataSecret + '\'' +
", dataSecretIV='" + dataSecretIV + '\'' +
", token='" + token + '\'' +
", tokenExpiry=" + tokenExpiry +
", encrypt=" + encrypt +
", lastPushOrder=" + lastPushOrder +
", status=" + status +
'}';
}
}

View File

@ -0,0 +1,167 @@
package com.xhpc.evcs.domain;
import javax.persistence.*;
@Table(name = "et_dispute_orders")
@Entity
public class EtDisputeOrder {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "start_charge_seq", nullable = false, length = 27)
private String startChargeSeq;
@Column(name = "total_power", nullable = false)
private Double totalPower;
@Column(name = "total_money", nullable = false)
private Double totalMoney;
@Column(name = "dispute_reason", nullable = false)
private Integer disputeReason;
@Column(name = "dispute_order_status", nullable = false)
private Integer disputeOrderStatus;
@Column(name = "check_order_seq", nullable = false, length = 27)
private String checkOrderSeq;
@Column(name = "start_time", nullable = false, length = 30)
private String startTime;
@Column(name = "end_time", nullable = false, length = 30)
private String endTime;
@Column(name = "total_dispute_order", nullable = false)
private Integer totalDisputeOrder;
@Column(name = "total_dispute_power", nullable = false)
private Double totalDisputePower;
@Column(name = "total_dispute_money", nullable = false)
private Double totalDisputeMoney;
public Double getTotalDisputeMoney() {
return totalDisputeMoney;
}
public void setTotalDisputeMoney(Double totalDisputeMoney) {
this.totalDisputeMoney = totalDisputeMoney;
}
public Double getTotalDisputePower() {
return totalDisputePower;
}
public void setTotalDisputePower(Double totalDisputePower) {
this.totalDisputePower = totalDisputePower;
}
public Integer getTotalDisputeOrder() {
return totalDisputeOrder;
}
public void setTotalDisputeOrder(Integer totalDisputeOrder) {
this.totalDisputeOrder = totalDisputeOrder;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getCheckOrderSeq() {
return checkOrderSeq;
}
public void setCheckOrderSeq(String checkOrderSeq) {
this.checkOrderSeq = checkOrderSeq;
}
public Integer getDisputeOrderStatus() {
return disputeOrderStatus;
}
public void setDisputeOrderStatus(Integer disputeOrderStatus) {
this.disputeOrderStatus = disputeOrderStatus;
}
public Integer getDisputeReason() {
return disputeReason;
}
public void setDisputeReason(Integer disputeReason) {
this.disputeReason = disputeReason;
}
public Double getTotalMoney() {
return totalMoney;
}
public void setTotalMoney(Double totalMoney) {
this.totalMoney = totalMoney;
}
public Double getTotalPower() {
return totalPower;
}
public void setTotalPower(Double totalPower) {
this.totalPower = totalPower;
}
public String getStartChargeSeq() {
return startChargeSeq;
}
public void setStartChargeSeq(String startChargeSeq) {
this.startChargeSeq = startChargeSeq;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}

View File

@ -0,0 +1,52 @@
package com.xhpc.evcs.domain;
import com.xhpc.common.core.web.domain.BaseEntity;
import javax.persistence.*;
@Table(name = "et_order_mapping")
@Entity
public class EtOrderMapping extends BaseEntity {
@Id
@Column(name = "id", nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "xh_order_no", nullable = false, length = 50)
private String xhOrderNo;
@Column(name = "evcs_order_no", nullable = false, length = 50)
private String evcsOrderNo;
public String getEvcsOrderNo() {
return evcsOrderNo;
}
public void setEvcsOrderNo(String evcsOrderNo) {
this.evcsOrderNo = evcsOrderNo;
}
public String getXhOrderNo() {
return xhOrderNo;
}
public void setXhOrderNo(String xhOrderNo) {
this.xhOrderNo = xhOrderNo;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}

View File

@ -0,0 +1,21 @@
package com.xhpc.evcs.domain;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Getter
@Setter
@Entity
@Table(name = "ET_PUSH_FAILED_ORDER")
public class EtPushFailedOrder {
@Id
private Long id;
private String operatorId3rdpty;
}

View File

@ -0,0 +1,555 @@
package com.xhpc.evcs.domain;
import com.xhpc.common.core.web.domain.BaseEntity;
import javax.persistence.*;
@Table(name = "xhpc_charging_pile")
@Entity
public class XhpcChargingPile extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "charging_pile_id", nullable = false)
private Long id;
@Column(name = "charging_station_id")
private Long chargingStationId;
@Column(name = "name", length = 30)
private String name;
@Column(name = "national_standard", length = 50)
private String nationalStandard;
@Column(name = "power")
private Double power;
@Column(name = "auxiliary_power_supply")
private Double auxiliaryPowerSupply;
@Column(name = "input_voltage")
private Double inputVoltage;
@Column(name = "max_voltage")
private Double maxVoltage;
@Column(name = "min_voltage")
private Double minVoltage;
@Column(name = "max_electric_current")
private Double maxElectricCurrent;
@Column(name = "min_electric_current")
private Double minElectricCurrent;
@Column(name = "serial_number", length = 30)
private String serialNumber;
@Column(name = "type")
private Integer type;
@Column(name = "program_version", length = 20)
private String programVersion;
@Column(name = "network_link_type", length = 20)
private String networkLinkType;
@Column(name = "gun_number")
private Integer gunNumber;
@Column(name = "communication_protocol_version", length = 20)
private String communicationProtocolVersion;
@Column(name = "communication_operator", length = 20)
private String communicationOperator;
@Column(name = "sim_card", length = 30)
private String simCard;
@Column(name = "status")
private Integer status;
@Column(name = "del_flag")
private Integer delFlag;
@Column(name = "rate_model_id")
private Long rateModelId;
@Column(name = "brand_model")
private String brandModel;
@Column(name = "production_date", length = 10)
private String productionDate;
@Column(name = "manufacture_name", length = 30)
private String manufactureName;
@Column(name = "connector_type")
private Integer connectorType;
@Column(name = "equipment_type")
private Integer equipmentType;
@Column(name = "current")
private Integer current;
@Column(name = "search_value")
private String searchValue;
/**
* 设备出厂编码
*/
@Column(name = "equipment_product_code")
private String equipmentProductCode;
/**
* 设备出厂编码
*/
@Column(name = "transformer_id")
private String transformerID;
/**
* 新国标
*/
@Column(name = "new_national_standard")
private Integer newNationalStandard;
/**
* 是否支持 VIN 码识别
*/
@Column(name = "vin_flag")
private Integer vinFlag;
/**
* 设备状态
*/
@Column(name = "equipment_status")
private Integer equipmentStatus;
/**
* 设备用途
*/
@Column(name = "equipment_purpose")
private Integer equipmentPurpose;
@Column(name = "manufacturer_id")
private String manufacturerId;
@Column(name = "equipment_classificatlon")
private Integer equipmentClassificatlon;
@Column(name = "aux_power")
private Integer auxPower;
private String constructionTime;
public Integer getEquipmentType() {
return equipmentType;
}
public void setEquipmentType(Integer equipmentType) {
this.equipmentType = equipmentType;
}
public Integer getCurrent() {
return current;
}
public void setCurrent(Integer current) {
this.current = current;
}
public Integer getConnectorType() {
return connectorType;
}
public void setConnectorType(Integer connectorType) {
this.connectorType = connectorType;
}
public String getManufactureName() {
return manufactureName;
}
public void setManufactureName(String manufactureName) {
this.manufactureName = manufactureName;
}
public String getProductionDate() {
return productionDate;
}
public void setProductionDate(String productionDate) {
this.productionDate = productionDate;
}
public String getBrandModel() {
return brandModel;
}
public void setBrandModel(String brandModel) {
this.brandModel = brandModel;
}
public Long getRateModelId() {
return rateModelId;
}
public void setRateModelId(Long rateModelId) {
this.rateModelId = rateModelId;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getSimCard() {
return simCard;
}
public void setSimCard(String simCard) {
this.simCard = simCard;
}
public String getCommunicationOperator() {
return communicationOperator;
}
public void setCommunicationOperator(String communicationOperator) {
this.communicationOperator = communicationOperator;
}
public String getCommunicationProtocolVersion() {
return communicationProtocolVersion;
}
public void setCommunicationProtocolVersion(String communicationProtocolVersion) {
this.communicationProtocolVersion = communicationProtocolVersion;
}
public Integer getGunNumber() {
return gunNumber;
}
public void setGunNumber(Integer gunNumber) {
this.gunNumber = gunNumber;
}
public String getNetworkLinkType() {
return networkLinkType;
}
public void setNetworkLinkType(String networkLinkType) {
this.networkLinkType = networkLinkType;
}
public String getProgramVersion() {
return programVersion;
}
public void setProgramVersion(String programVersion) {
this.programVersion = programVersion;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public Double getMinElectricCurrent() {
return minElectricCurrent;
}
public void setMinElectricCurrent(Double minElectricCurrent) {
this.minElectricCurrent = minElectricCurrent;
}
public Double getMaxElectricCurrent() {
return maxElectricCurrent;
}
public void setMaxElectricCurrent(Double maxElectricCurrent) {
this.maxElectricCurrent = maxElectricCurrent;
}
public Double getMinVoltage() {
return minVoltage;
}
public void setMinVoltage(Double minVoltage) {
this.minVoltage = minVoltage;
}
public Double getMaxVoltage() {
return maxVoltage;
}
public void setMaxVoltage(Double maxVoltage) {
this.maxVoltage = maxVoltage;
}
public Double getInputVoltage() {
return inputVoltage;
}
public void setInputVoltage(Double inputVoltage) {
this.inputVoltage = inputVoltage;
}
public Double getAuxiliaryPowerSupply() {
return auxiliaryPowerSupply;
}
public void setAuxiliaryPowerSupply(Double auxiliaryPowerSupply) {
this.auxiliaryPowerSupply = auxiliaryPowerSupply;
}
public Double getPower() {
return power;
}
public void setPower(Double power) {
this.power = power;
}
public String getNationalStandard() {
return nationalStandard;
}
public void setNationalStandard(String nationalStandard) {
this.nationalStandard = nationalStandard;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getChargingStationId() {
return chargingStationId;
}
public void setChargingStationId(Long chargingStationId) {
this.chargingStationId = chargingStationId;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getEquipmentProductCode() {
return equipmentProductCode;
}
public void setEquipmentProductCode(String equipmentProductCode) {
this.equipmentProductCode = equipmentProductCode;
}
public String getTransformerID() {
return transformerID;
}
public void setTransformerID(String transformerID) {
this.transformerID = transformerID;
}
public Integer getNewNationalStandard() {
return newNationalStandard;
}
public void setNewNationalStandard(Integer newNationalStandard) {
this.newNationalStandard = newNationalStandard;
}
public Integer getVinFlag() {
return vinFlag;
}
public void setVinFlag(Integer vinFlag) {
this.vinFlag = vinFlag;
}
public Integer getEquipmentStatus() {
return equipmentStatus;
}
public void setEquipmentStatus(Integer equipmentStatus) {
this.equipmentStatus = equipmentStatus;
}
public Integer getEquipmentPurpose() {
return equipmentPurpose;
}
public void setEquipmentPurpose(Integer equipmentPurpose) {
this.equipmentPurpose = equipmentPurpose;
}
public String getManufacturerId() {
return manufacturerId;
}
public void setManufacturerId(String manufacturerId) {
this.manufacturerId = manufacturerId;
}
@Override
public String getSearchValue() {
return searchValue;
}
@Override
public void setSearchValue(String searchValue) {
this.searchValue = searchValue;
}
public String getConstructionTime() {
return constructionTime;
}
public void setConstructionTime(String constructionTime) {
this.constructionTime = constructionTime;
}
public Integer getEquipmentClassificatlon() {
return equipmentClassificatlon;
}
public void setEquipmentClassificatlon(Integer equipmentClassificatlon) {
this.equipmentClassificatlon = equipmentClassificatlon;
}
public Integer getAuxPower() {
return auxPower;
}
public void setAuxPower(Integer auxPower) {
this.auxPower = auxPower;
}
@Override
public String toString() {
return "XhpcChargingPile{" +
"id=" + id +
", chargingStationId=" + chargingStationId +
", name='" + name + '\'' +
", nationalStandard='" + nationalStandard + '\'' +
", power=" + power +
", auxiliaryPowerSupply=" + auxiliaryPowerSupply +
", inputVoltage=" + inputVoltage +
", maxVoltage=" + maxVoltage +
", minVoltage=" + minVoltage +
", maxElectricCurrent=" + maxElectricCurrent +
", minElectricCurrent=" + minElectricCurrent +
", serialNumber='" + serialNumber + '\'' +
", type=" + type +
", programVersion='" + programVersion + '\'' +
", networkLinkType='" + networkLinkType + '\'' +
", gunNumber=" + gunNumber +
", communicationProtocolVersion='" + communicationProtocolVersion + '\'' +
", communicationOperator='" + communicationOperator + '\'' +
", simCard='" + simCard + '\'' +
", status=" + status +
", delFlag=" + delFlag +
", rateModelId=" + rateModelId +
", brandModel='" + brandModel + '\'' +
", productionDate='" + productionDate + '\'' +
", manufactureName='" + manufactureName + '\'' +
", connectorType=" + connectorType +
", equipmentType=" + equipmentType +
", current=" + current +
", searchValue='" + searchValue + '\'' +
", equipmentProductCode='" + equipmentProductCode + '\'' +
", transformerID='" + transformerID + '\'' +
", newNationalStandard=" + newNationalStandard +
", vinFlag=" + vinFlag +
", equipmentStatus=" + equipmentStatus +
", equipmentPurpose=" + equipmentPurpose +
", manufacturerId='" + manufacturerId + '\'' +
", equipmentClassificatlon='" + equipmentClassificatlon + '\'' +
", constructionTime='" + constructionTime + '\'' +
'}';
}
}

View File

@ -0,0 +1,342 @@
package com.xhpc.evcs.domain;
import com.xhpc.common.core.web.domain.BaseEntity;
import javax.persistence.*;
@Table(name = "xhpc_charging_station")
@Entity
public class XhpcChargingStation extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "charging_station_id", nullable = false)
private Long id;
@Column(name = "name", length = 30)
private String name;
@Column(name = "operator_id")
private Long operatorId;
@Column(name = "type")
private Integer type;
@Lob
@Column(name = "construction_site")
private String constructionSite;
@Lob
@Column(name = "service_facilities")
private String serviceFacilities;
@Lob
@Column(name = "periphery_facilities")
private String peripheryFacilities;
@Column(name = "area_code")
private Integer areaCode;
@Column(name = "address", length = 50)
private String address;
@Column(name = "detailed_address", length = 50)
private String detailedAddress;
@Column(name = "longitude", length = 30)
private String longitude;
@Column(name = "latitude", length = 30)
private String latitude;
@Column(name = "parking_instructions")
private String parkingInstructions;
@Column(name = "serial_number", length = 50)
private String serialNumber;
@Column(name = "client_visible", length = 50)
private String clientVisible;
@Column(name = "status")
private Integer status;
@Column(name = "del_flag")
private Integer delFlag;
@Column(name = "rate_model_id")
private Long rateModelId;
@Column(name = "business_instructions")
private String businessInstructions;
@Column(name = "reminder_instructions")
private String reminderInstructions;
@Column(name = "img_id", length = 500)
private String imgId;
@Lob
@Column(name = "station_type")
private String stationType;
@Column(name = "operator_id_evcs", length = 20)
private String operatorIdEvcs;
@Column(name = "service_tel")
private String serviceTel;
@Column(name = "park_nums")
private Integer parkNums;
public Integer getParkNums() {
return parkNums;
}
public void setParkNums(Integer parkNums) {
this.parkNums = parkNums;
}
public String getServiceTel() {
return serviceTel;
}
public void setServiceTel(String serviceTel) {
this.serviceTel = serviceTel;
}
public String getOperatorIdEvcs() {
return operatorIdEvcs;
}
public void setOperatorIdEvcs(String operatorIdEvcs) {
this.operatorIdEvcs = operatorIdEvcs;
}
public String getStationType() {
return stationType;
}
public void setStationType(String stationType) {
this.stationType = stationType;
}
public String getImgId() {
return imgId;
}
public void setImgId(String imgId) {
this.imgId = imgId;
}
public String getReminderInstructions() {
return reminderInstructions;
}
public void setReminderInstructions(String reminderInstructions) {
this.reminderInstructions = reminderInstructions;
}
public String getBusinessInstructions() {
return businessInstructions;
}
public void setBusinessInstructions(String businessInstructions) {
this.businessInstructions = businessInstructions;
}
public Long getRateModelId() {
return rateModelId;
}
public void setRateModelId(Long rateModelId) {
this.rateModelId = rateModelId;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getClientVisible() {
return clientVisible;
}
public void setClientVisible(String clientVisible) {
this.clientVisible = clientVisible;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public String getParkingInstructions() {
return parkingInstructions;
}
public void setParkingInstructions(String parkingInstructions) {
this.parkingInstructions = parkingInstructions;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getDetailedAddress() {
return detailedAddress;
}
public void setDetailedAddress(String detailedAddress) {
this.detailedAddress = detailedAddress;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Integer getAreaCode() {
return areaCode;
}
public void setAreaCode(Integer areaCode) {
this.areaCode = areaCode;
}
public String getPeripheryFacilities() {
return peripheryFacilities;
}
public void setPeripheryFacilities(String peripheryFacilities) {
this.peripheryFacilities = peripheryFacilities;
}
public String getServiceFacilities() {
return serviceFacilities;
}
public void setServiceFacilities(String serviceFacilities) {
this.serviceFacilities = serviceFacilities;
}
public String getConstructionSite() {
return constructionSite;
}
public void setConstructionSite(String constructionSite) {
this.constructionSite = constructionSite;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Long getOperatorId() {
return operatorId;
}
public void setOperatorId(Long operatorId) {
this.operatorId = operatorId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}

View File

@ -0,0 +1,20 @@
package com.xhpc.evcs.domain;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* @author wen
*/
@AllArgsConstructor
@Data
public class XhpcChargingStationPushStatus {
@JsonProperty("ChargingStationId")
private String chargingStationId;
@JsonProperty("PushStatus")
private String pushStatus;
}

View File

@ -0,0 +1,109 @@
package com.xhpc.evcs.domain;
import javax.persistence.*;
import java.time.Instant;
@Table(name = "xhpc_operator_internet_blacklist")
@Entity
public class XhpcOperatorInternetBlacklist {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "xhpc_operator_internet_blacklist_id", nullable = false)
private Long id;
@Column(name = "operator_id", nullable = false)
private Long operatorId;
@Column(name = "internet_user_id", nullable = false)
private Long internetUserId;
@Column(name = "status")
private Integer status;
@Column(name = "create_time")
private Instant createTime;
@Column(name = "create_by", length = 30)
private String createBy;
@Column(name = "update_time")
private Instant updateTime;
@Column(name = "update_by", length = 30)
private String updateBy;
@Column(name = "remark")
private String remark;
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Instant getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Instant updateTime) {
this.updateTime = updateTime;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Instant getCreateTime() {
return createTime;
}
public void setCreateTime(Instant createTime) {
this.createTime = createTime;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Long getInternetUserId() {
return internetUserId;
}
public void setInternetUserId(Long internetUserId) {
this.internetUserId = internetUserId;
}
public Long getOperatorId() {
return operatorId;
}
public void setOperatorId(Long operatorId) {
this.operatorId = operatorId;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}

View File

@ -0,0 +1,195 @@
package com.xhpc.evcs.domain;
import javax.persistence.*;
import java.math.BigDecimal;
import java.time.Instant;
@Table(name = "xhpc_rate")
@Entity
public class XhpcRate {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "rate_id", nullable = false)
private Long id;
@Column(name = "charging_station_id")
private Long chargingStationId;
@Column(name = "power_fee", precision = 10, scale = 5)
private BigDecimal powerFee;
@Column(name = "service_fee", precision = 10, scale = 5)
private BigDecimal serviceFee;
@Column(name = "name", length = 30)
private String name;
@Column(name = "status")
private Integer status;
@Column(name = "del_flag")
private Integer delFlag;
@Column(name = "create_time")
private Instant createTime;
@Column(name = "create_by", length = 30)
private String createBy;
@Column(name = "update_time")
private Instant updateTime;
@Column(name = "update_by", length = 30)
private String updateBy;
@Column(name = "remark")
private String remark;
@Column(name = "rate_model_id")
private Long rateModelId;
@Column(name = "rate_value", length = 20)
private String rateValue;
public String getRateValue() {
return rateValue;
}
public void setRateValue(String rateValue) {
this.rateValue = rateValue;
}
public Long getRateModelId() {
return rateModelId;
}
public void setRateModelId(Long rateModelId) {
this.rateModelId = rateModelId;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Instant getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Instant updateTime) {
this.updateTime = updateTime;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Instant getCreateTime() {
return createTime;
}
public void setCreateTime(Instant createTime) {
this.createTime = createTime;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public BigDecimal getServiceFee() {
return serviceFee;
}
public void setServiceFee(BigDecimal serviceFee) {
this.serviceFee = serviceFee;
}
public BigDecimal getPowerFee() {
return powerFee;
}
public void setPowerFee(BigDecimal powerFee) {
this.powerFee = powerFee;
}
public Long getChargingStationId() {
return chargingStationId;
}
public void setChargingStationId(Long chargingStationId) {
this.chargingStationId = chargingStationId;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}

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