Bläddra i källkod

feat(charging): 新增充电业务相关接口

- 新增查询业务策略信息接口
- 新增请求设备认证接口- 新增查询充电站信息接口
- 调整Docker网络配置名称
- 移除AES加密工具类引用
- 更新XXL-JOB数据库连接配置
SheepHy 1 månad sedan
förälder
incheckning
2ee53320e1

+ 6 - 37
docker/docker-compose.yml

@@ -1,41 +1,8 @@
-# 创建一个名为 "youlai-boot" 的桥接网络,在同一个网络中的容器可以通过容器名互相访问
 networks:
-  youlai-boot:
+  zsElectric-boot:
     driver: bridge
 
 services:
-  mysql:
-    image: mysql:8.0.29
-    container_name: mysql
-    restart: unless-stopped # 重启策略:除非手动停止容器,否则自动重启
-    environment:
-      - TZ=Asia/Shanghai
-      - LANG= en_US.UTF-8
-      - MYSQL_ROOT_PASSWORD=123456 #设置 root 用户的密码
-    volumes:
-      - ./mysql/conf/my.cnf:/etc/my.cnf # 挂载 my.cnf 文件到容器的指定路径
-      - ./mysql/data:/var/lib/mysql # 持久化 MySQL 数据
-      - ../sql/mysql:/docker-entrypoint-initdb.d # 初始化 SQL 脚本目录
-    ports:
-      - 3306:3306
-    networks:
-      - youlai-boot # 加入 "youlai-boot" 网络
-
-  redis:
-    image: redis:7.2.3
-    container_name: redis
-    restart: unless-stopped
-    command: redis-server /etc/redis/redis.conf --requirepass 123456 --appendonly no # 启动 Redis 服务并添加密码为:123456,默认不开启 Redis AOF 方式持久化配置
-    environment:
-      - TZ=Asia/Shanghai
-    volumes:
-      - ./redis/data:/data
-      - ./redis/config/redis.conf:/etc/redis/redis.conf
-    ports:
-      - 6379:6379
-    networks:
-      - youlai-boot
-
   minio:
     image: minio/minio:RELEASE.2024-07-16T23-46-41Z
     container_name: minio
@@ -53,17 +20,19 @@ services:
       - ./minio/data:/data
       - ./minio/config:/root/.minio
     networks:
-      - youlai-boot
+      - zsElectric-boot
 
   xxl-job-admin:
     image: xuxueli/xxl-job-admin:2.4.0
     container_name: xxl-job-admin
     restart: unless-stopped
+    extra_hosts:
+      - "host.docker.internal:host-gateway"
     environment:
-      PARAMS: '--spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver'
+      PARAMS: '--spring.datasource.url=jdbc:mysql://host.docker.internal:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=FaajjVy8rl(k --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver'
     volumes:
       - ./xxljob/logs:/data/applogs
     ports:
       - 8080:8080
     networks:
-      - youlai-boot
+      - zsElectric-boot

+ 72 - 0
src/main/java/com/zsElectric/boot/charging/controller/ChargingBusinessController.java

@@ -0,0 +1,72 @@
+package com.zsElectric.boot.charging.controller;
+
+import com.zsElectric.boot.charging.service.ChargingBusinessService;
+import com.zsElectric.boot.charging.vo.ChargingPricePolicyVO;
+import com.zsElectric.boot.charging.vo.EquipmentAuthResponseVO;
+import com.zsElectric.boot.charging.vo.QueryStationsInfoVO;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@Tag(name = "充电业务相关接口")
+@RestController
+@RequestMapping("/dev/v1/linkData")
+@RequiredArgsConstructor
+@Slf4j
+public class ChargingBusinessController {
+
+    private final ChargingBusinessService chargingBusinessService;
+
+    /**
+     * <p>查询业务策略信息</p>
+     * @author SheepHy
+     * @param EquipBizSeq  设备业务流水号
+     * @param ConnectorID 充电设备接口编码
+     * @return 返回值描述,如无返回值则为void 返回值为类则包含{@link ChargingPricePolicyVO}
+     *
+     */
+    @Operation(summary = "查询业务策略信息")
+    @GetMapping("/queryEquipBusinessPolicy")
+    public Result<ChargingPricePolicyVO> queryEquipBusinessPolicy(@RequestParam("EquipBizSeq") @Schema(description = "设备业务流水号", example = "123456789123456789123456789") String EquipBizSeq,
+                                                                   @RequestParam("ConnectorID") @Schema(description = "充电设备接口编码") String ConnectorID) throws Exception{
+        return Result.success(chargingBusinessService.queryEquipBusinessPolicy(EquipBizSeq, ConnectorID));
+    }
+
+    /**
+     * <p>请求设备认证</p>
+     * @author SheepHy
+     * @param EquipAuthSeq 设备认证流水号
+     * @param ConnectorID 充电设备接口编码
+     * @return 返回值描述,如无返回值则为void 返回值为类则包含{@link EquipmentAuthResponseVO}
+     *
+     */
+    @Operation(summary = "查询业务策略信息")
+    @GetMapping("/queryEquipBusinessPolicy")
+    public Result<EquipmentAuthResponseVO> queryEquipAuth(String EquipAuthSeq, String ConnectorID){
+        return Result.success(chargingBusinessService.queryEquipAuth(EquipAuthSeq, ConnectorID));
+    }
+
+    /**
+     * <p>查询充电站信息</p>
+     * @author wzq
+     * @param LastQueryTime 最后一次查询时间
+     * @param PageNo 页码
+     * @param PageSize 页大小
+     * @return 充电站信息列表
+     *
+     */
+    @Operation(summary = "查询充电站信息")
+    @GetMapping("/queryStationsInfo")
+    public Result<QueryStationsInfoVO> queryStationsInfo(@RequestParam("LastQueryTime") @Schema(description = "最后一次查询时间") String LastQueryTime,
+                                                         @RequestParam(value = "PageNo",defaultValue = "1") @Schema(description = "页码") Integer PageNo,
+                                                         @RequestParam(value = "PageSize", defaultValue = "10") @Schema(description = "页大小") Integer PageSize){
+        return Result.success(chargingBusinessService.queryStationsInfo(LastQueryTime, PageNo, PageSize));
+    }
+}

+ 0 - 3
src/main/java/com/zsElectric/boot/charging/service/impl/ChargingBusinessServiceImpl.java

@@ -8,7 +8,6 @@ import com.zsElectric.boot.charging.vo.ChargingPricePolicyVO;
 import com.zsElectric.boot.charging.vo.EquipmentAuthResponseVO;
 import com.zsElectric.boot.charging.vo.QueryStationsInfoVO;
 import com.zsElectric.boot.common.constant.ConnectivityConstants;
-import com.zsElectric.boot.common.util.AESCryptoUtil;
 import com.zsElectric.boot.common.util.electric.ChargingUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -17,8 +16,6 @@ import org.springframework.stereotype.Service;
 import java.util.HashMap;
 import java.util.Map;
 
-import static com.zsElectric.boot.common.constant.ConnectivityConstants.PLATFORM_DATA_SECRET;
-import static com.zsElectric.boot.common.constant.ConnectivityConstants.PLATFORM_DATA_SECRET_IV;
 
 @Slf4j
 @Service