zhibing.pu
2024-08-27 54543398c69e29bded2083f5b85141cb4c57a4b5
完善硬件相关功能
54个文件已修改
1个文件已删除
4个文件已添加
434 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingMode.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerify.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerifyReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsAbort.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingHandshake.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileReturnsGroundLockData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileStartsCharging.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCard.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCardReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ConfirmTransactionRecord.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/EndCharge.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ErrorMessage.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/GroundLockRealTimeData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/MotorAbort.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Online.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OnlineReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OpenOrCloseGroundLock.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ParameterSetting.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformConfirmationCharging.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdate.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdateReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestart.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestartReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartChargingReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopCharging.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopChargingReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCard.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCardReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ReadRealTimeMonitoringData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModel.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModelReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCard.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCardReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSetting.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSettingReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TransactionRecord.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalance.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalanceReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSetting.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSettingReply.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/ChargingOrderController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderInfo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
New file
@@ -0,0 +1,40 @@
package com.ruoyi.integration.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * 充电桩服务降级处理
 *
 * @author ruoyi
 */
@Component
public class UploadRealTimeMonitoringDataFallbackFactory implements FallbackFactory<UploadRealTimeMonitoringDataClient>
{
    private static final Logger log = LoggerFactory.getLogger(UploadRealTimeMonitoringDataFallbackFactory.class);
    @Override
    public UploadRealTimeMonitoringDataClient create(Throwable throwable) {
        log.error("调用充电桩实时监测数据失败:{}", throwable.getMessage());
        return new UploadRealTimeMonitoringDataClient() {
            @Override
            public R<UploadRealTimeMonitoringData> chargingOrderInfo(String orderId) {
                return R.fail("查询充电桩实时监测数据失败:" + throwable.getMessage());
            }
            @Override
            public R<List<UploadRealTimeMonitoringData>> getDataByOrderCode(String code) {
                return R.fail("根据订单编号获取所有监测数据失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.integration.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.factory.UploadRealTimeMonitoringDataFallbackFactory;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
 * @author zhibing.pu
 * @Date 2024/8/26 18:20
 */
@FeignClient(contextId = "UploadRealTimeMonitoringDataClient", value = ServiceNameConstants.INTEGRATION_SERVICE, fallbackFactory = UploadRealTimeMonitoringDataFallbackFactory.class)
public interface UploadRealTimeMonitoringDataClient {
    /**
     * 通过订单编号获取充电桩实时监测数据
     * @param orderId
     * @return
     */
    @PostMapping("/uploadRealTimeMonitoringData/getOrderInfoByCode")
    R<UploadRealTimeMonitoringData> chargingOrderInfo(String orderId);
    /**
     * 根据订单编号获取所有监测数据
     * @param code
     * @return
     */
    @PostMapping("/uploadRealTimeMonitoringData/getDataByOrderCode")
    R<List<UploadRealTimeMonitoringData>> getDataByOrderCode(@RequestParam("code") String code);
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingMode.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "acquisition_billing_mode") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class AcquisitionBillingMode {
public class AcquisitionBillingMode extends BaseModel {
    private String charging_pile_code;// 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "acquisition_billing_mode_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class AcquisitionBillingModeReply {
public class AcquisitionBillingModeReply extends BaseModel {
    private String charging_pile_code;// 桩编码
    private String billing_model_code;// "计费模型编号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.integration.api.model;
import lombok.Data;
import java.util.Date;
/**
 * @author zhibing.pu
 * @Date 2024/8/26 19:05
 */
@Data
public class BaseModel {
    private Date create_time = new Date();
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerify.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "billing_mode_verify") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class BillingModeVerify {
public class BillingModeVerify extends BaseModel {
    private String charging_pile_code;// 桩编码
    private String billing_model_code;// "计费模型编号,首次连接到平台时置零
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerifyReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "billing_mode_verify_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class BillingModeVerifyReply {
public class BillingModeVerifyReply extends BaseModel {
    private String charging_pile_code; // 桩编
    private String billing_model_code; // 计费模型编
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsAbort.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "bms_abort") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class BmsAbort {
public class BmsAbort extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "bms_demand_and_charger_exportation") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class BmsDemandAndChargerExportation {
public class BmsDemandAndChargerExportation extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "bms_information") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class BmsInformation {
public class BmsInformation extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingHandshake.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "charging_handshake") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ChargingHandshake {
public class ChargingHandshake extends BaseModel {
    private String transaction_serial_number;// 交易流水号
    private String charging_pile_code;// 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileReturnsGroundLockData.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "charging_pile_returns_ground_lock_data") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ChargingPileReturnsGroundLockData {
public class ChargingPileReturnsGroundLockData extends BaseModel {
    private String charging_pile_code; //桩编码
    private String charging_gun_code; // 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileStartsCharging.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "charging_pile_starts_charging") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ChargingPileStartsCharging {
public class ChargingPileStartsCharging extends BaseModel {
    private String charging_pile_code; // 桩编码
    private String charging_gun_code; // 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCard.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "clear_offline_card") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ClearOfflineCard {
public class ClearOfflineCard extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer physical_card_number; // 清除离线卡的个数,最大 24 个
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCardReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "clear_offline_card_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ClearOfflineCardReply {
public class ClearOfflineCardReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private String physical_card1; // 第 1 个卡物理卡号,离线卡物理卡号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ConfirmTransactionRecord.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "confirm_transaction_record") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ConfirmTransactionRecord {
public class ConfirmTransactionRecord extends BaseModel {
    private String transaction_serial_number;// 桩编码
    private Integer confirm_result;// 确认结果(0:上传成功,1:非法账单)
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/EndCharge.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "end_charge") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class EndCharge {
public class EndCharge extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ErrorMessage.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "error_message") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ErrorMessage {
public class ErrorMessage extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/GroundLockRealTimeData.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "ground_lock_real_time_data") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class GroundLockRealTimeData {
public class GroundLockRealTimeData extends BaseModel {
    private String charging_pile_code; //桩编码
    private String charging_gun_code; // 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/MotorAbort.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "motor_abort") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class MotorAbort {
public class MotorAbort extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Online.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "online") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class Online {
public class Online extends BaseModel {
    private String charging_pile_code;// 充电桩编号
    private Integer charging_pile_type;// 充电桩类型(0 表示直流桩,1 表示交流桩)
    private Integer charging_gun_number;// 充电枪数量
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OnlineReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "online_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class OnlineReply {
public class OnlineReply extends BaseModel {
    private String charging_pile_code;// 桩编码
    private Integer online_result;// 登陆结果(0:成功,1:失败)
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OpenOrCloseGroundLock.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "open_or_close_ground_lock") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class OpenOrCloseGroundLock {
public class OpenOrCloseGroundLock extends BaseModel {
    private String charging_pile_code; //桩编码
    private String charging_gun_code; // 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ParameterSetting.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "parameter_setting") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ParameterSetting {
public class ParameterSetting extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "ping") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class Ping {
public class Ping extends BaseModel {
    private String charging_pile_code;// 桩编码
    private String charging_gun_code;// 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformConfirmationCharging.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "platform_confirmation_charging") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformConfirmationCharging {
public class PlatformConfirmationCharging extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdate.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "platform_remote_update") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformRemoteUpdate {
public class PlatformRemoteUpdate extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer charging_pile_type; // 桩型号(1:直流,2:交流)
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdateReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "platform_remote_update_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformRemoteUpdateReply {
public class PlatformRemoteUpdateReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer escalation_state; // 升级状态(0:成功,1:编码错误,2:程序与桩型号不符,3:下载更新文件超时)
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestart.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "platform_restart") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformRestart {
public class PlatformRestart extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer operate; // 执行控制 (1:立即执行,2:空闲执行)
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestartReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "platform_restart_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformRestartReply {
public class PlatformRestartReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer set_result; // 设置结果(0:失败,1:成功)
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "platform_start_charging") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformStartCharging {
public class PlatformStartCharging extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartChargingReply.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "platform_start_charging_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformStartChargingReply {
public class PlatformStartChargingReply extends BaseModel {
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopCharging.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "platform_stop_charging") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformStopCharging {
public class PlatformStopCharging extends BaseModel {
    private String charging_pile_code; // 桩编码
    private String charging_gun_code; // 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopChargingReply.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "platform_stop_charging_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformStopChargingReply {
public class PlatformStopChargingReply extends BaseModel {
    private String charging_pile_code; // 桩编码
    private String charging_gun_code; // 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "pong") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class Pong {
public class Pong extends BaseModel {
    private String charging_pile_code;// 桩编码
    private String charging_gun_code;// 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCard.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "query_offline_card") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class QueryOfflineCard {
public class QueryOfflineCard extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer physical_card_number; //桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCardReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "query_offline_card_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class QueryOfflineCardReply {
public class QueryOfflineCardReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private String physical_card1; // 第 1 个卡物理卡号,离线卡物理卡号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ReadRealTimeMonitoringData.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "read_real_time_monitoring_data") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ReadRealTimeMonitoringData {
public class ReadRealTimeMonitoringData extends BaseModel {
    private String charging_pile_code;// 桩编码
    private String charging_gun_code;//  抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModel.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "setup_billing_model") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class SetupBillingModel {
public class SetupBillingModel extends BaseModel {
    private String charging_pile_code; //桩编码
    private String billing_model_code; // 计费模型编号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModelReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "setup_billing_model_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class SetupBillingModelReply {
public class SetupBillingModelReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private String set_result; //设置结果(0:失败,1:成功)
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCard.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "synchronize_offline_card") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class SynchronizeOfflineCard {
public class SynchronizeOfflineCard extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer card_number; // 下发卡个数
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCardReply.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "synchronize_offline_card_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class SynchronizeOfflineCardReply {
public class SynchronizeOfflineCardReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer save_result; // 保存结果(0:失败,1:成功)
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSetting.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "timing_setting") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class TimingSetting {
public class TimingSetting extends BaseModel {
    private String charging_pile_code; //桩编码
    private String current_time; //当前时间
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSettingReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "timing_setting_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class TimingSettingReply {
public class TimingSettingReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private String current_time; //当前时间
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TransactionRecord.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "transaction_record") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class TransactionRecord {
public class TransactionRecord extends BaseModel {
    private String transaction_serial_number;// 交易流水号
    private String charging_pile_code;// 桩编码
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalance.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "update_balance") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class UpdateBalance {
public class UpdateBalance extends BaseModel {
    private String charging_pile_code;// 桩编码
    private String charging_gun_code;// 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalanceReply.java
@@ -13,7 +13,7 @@
@Data
@Document(collection = "update_balance_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class UpdateBalanceReply {
public class UpdateBalanceReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private String physical_card_number; //物理卡号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
@@ -2,6 +2,7 @@
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.math.BigDecimal;
@@ -13,8 +14,9 @@
@Data
@Document(collection = "upload_real_time_monitoring_data") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class UploadRealTimeMonitoringData {
public class UploadRealTimeMonitoringData extends BaseModel {
    @Id
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
    private String charging_gun_code; // 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSetting.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "working_parameter_setting") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class WorkingParameterSetting {
public class WorkingParameterSetting extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer allow_work;// 是否允许工作(0:表示允许正常工作,1:表示停止使用,锁定充电桩)
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSettingReply.java
@@ -11,7 +11,7 @@
@Data
@Document(collection = "working_parameter_setting_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class WorkingParameterSettingReply {
public class WorkingParameterSettingReply extends BaseModel {
    private String charging_pile_code; //桩编码
    private Integer set_result; //设置结果(0:失败,1:成功)
ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1 +1,2 @@
com.ruoyi.integration.api.factory.IntegrationFallbackFactory
com.ruoyi.integration.api.factory.IntegrationFallbackFactory
com.ruoyi.integration.api.factory.UploadRealTimeMonitoringDataFallbackFactory
ruoyi-service/ruoyi-chargingPile/pom.xml
@@ -131,6 +131,10 @@
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-api-order</artifactId>
        </dependency>
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-api-integration</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -27,6 +27,8 @@
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.order.api.feignClient.ChargingOrderAccountingStrategyClient;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
@@ -81,6 +83,9 @@
    
    @Resource
    private AppUserCarClient appUserCarClient;
    @Resource
    private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
    
    
    
@@ -404,7 +409,7 @@
        }else{
            siteIds.add(query.getSiteId());
        }
        // todo 待完善
        if(null != query.getStatus() && 0 < query.getStatus().size()){
            if(query.getStatus().contains(3)){
                query.getStatus().add(6);
@@ -427,7 +432,57 @@
                    TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(appUserCarId)).getData().get(0);
                    gunMonitoring.setLicensePlate(tAppUserCar.getLicensePlate());
                }
                UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
                gunMonitoring.setChargingRatio(BigDecimal.valueOf(data.getSoc()));
                gunMonitoring.setElectricQuantity(data.getCharging_degree().toString());
                gunMonitoring.setSoc(data.getSoc().toString());
                gunMonitoring.setElectricCurrent(data.getOutput_current().toString());
                gunMonitoring.setVoltage(data.getOutput_voltage().toString());
                switch (data.getHardware_fault()){
                    case 1:
                        gunMonitoring.setFaultCause("急停按钮动作故障");
                        break;
                    case 2:
                        gunMonitoring.setFaultCause("无可用整流模块");
                        break;
                    case 3:
                        gunMonitoring.setFaultCause("出风口温度过高");
                        break;
                    case 4:
                        gunMonitoring.setFaultCause("交流防雷故障");
                        break;
                    case 5:
                        gunMonitoring.setFaultCause("交直流模块 DC20 通信中断");
                        break;
                    case 6:
                        gunMonitoring.setFaultCause("绝缘检测模块 FC08 通信中断");
                        break;
                    case 7:
                        gunMonitoring.setFaultCause("电度表通信中断");
                        break;
                    case 8:
                        gunMonitoring.setFaultCause("读卡器通信中断");
                        break;
                    case 9:
                        gunMonitoring.setFaultCause("RC10 通信中断");
                        break;
                    case 10:
                        gunMonitoring.setFaultCause("风扇调速板故障");
                        break;
                    case 11:
                        gunMonitoring.setFaultCause("直流熔断器故障");
                        break;
                    case 12:
                        gunMonitoring.setFaultCause("高压接触器故障");
                        break;
                    case 13:
                        gunMonitoring.setFaultCause("门打开");
                        break;
                }
            }
        }
        return pageInfo.setRecords(chargingGunMonitoring);
    }
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/ChargingOrderController.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java
New file
@@ -0,0 +1,58 @@
package com.ruoyi.integration.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2024-08-07
 */
@RestController
@RequestMapping("/uploadRealTimeMonitoringData")
public class UploadRealTimeMonitoringDataController {
    @Resource
    private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
    /**
     * 远程调用 通过订单流水号 查询订单详情
     * @param orderId
     * @return
     */
    @PostMapping(value = "/getOrderInfoByCode")
    public R<UploadRealTimeMonitoringData> chargingOrderInfo(@RequestParam("orderId") String orderId){
        List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(orderId);
        if(dataByOrderCode.size() > 0){
            UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(dataByOrderCode.size() - 1);
            return R.ok(uploadRealTimeMonitoringData);
        }
        return R.ok();
    }
    /**
     * 根据订单编号获取所有监测数据
     * @param code
     * @return
     */
    @PostMapping(value = "/getDataByOrderCode")
    public R<List<UploadRealTimeMonitoringData>> getDataByOrderCode(@RequestParam("code") String code){
        List<UploadRealTimeMonitoringData> list = uploadRealTimeMonitoringDataService.getDataByOrderCode(code);
        return R.ok(list);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
@@ -4,5 +4,15 @@
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.mongodb.base.BaseService;
import java.util.List;
public interface UploadRealTimeMonitoringDataService extends BaseService<UploadRealTimeMonitoringData> {
    /**
     * 根据订单号查询监控数据
     * @param code
     * @return
     */
    List<UploadRealTimeMonitoringData> getDataByOrderCode(String code);
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
@@ -1,11 +1,15 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -31,5 +35,22 @@
    public List<UploadRealTimeMonitoringData> findAll() {
        return mongoTemplate.findAll(UploadRealTimeMonitoringData.class);
    }
    /**
     * 根据订单号查询监控数据
     * @param code
     * @return
     */
    @Override
    public List<UploadRealTimeMonitoringData> getDataByOrderCode(String code) {
        Query query = new Query();
        if(StringUtils.isNotEmpty(code)){
            query.addCriteria(Criteria.where("transaction_serial_number").is(code));
        }
        List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
                query.with(Sort.by("create_time"))
                , UploadRealTimeMonitoringData.class);
        return uploadRealTimeMonitoringData;
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderInfo.java
@@ -51,9 +51,9 @@
    @ApiModelProperty("阶段费用明细")
    private List<TChargingOrderAccountingStrategy> stageCost;
    @ApiModelProperty("电流电压曲线")
    private Map<String, Object> currentAndVoltage;
    private List<Map<String, Object>> currentAndVoltage;
    @ApiModelProperty("功率曲线")
    private Map<String, Object> power;
    private List<Map<String, Object>> power;
    @ApiModelProperty("是否可申诉(0=否,1=是)")
    private Integer actionable;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -21,6 +21,8 @@
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
import com.ruoyi.order.api.query.ChargingOrderQuery;
@@ -47,6 +49,7 @@
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
/**
 * <p>
@@ -91,6 +94,13 @@
    
    @Resource
    private RedisService redisService;
    @Resource
    private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
    /**
     * 获取小程序充电记录列表数据
@@ -164,11 +174,39 @@
                        .orderByAsc(TChargingOrderAccountingStrategy::getStartTime)
        );
        myChargingOrderInfo.setStageCost(stageCost);
        // todo 待完善
        //再MongoDB中获取数据
        myChargingOrderInfo.setCurrentAndVoltage(null);
        //再MongoDB中获取数据
        myChargingOrderInfo.setPower(null);
        List<UploadRealTimeMonitoringData> dataList = uploadRealTimeMonitoringDataClient.getDataByOrderCode(chargingOrder.getCode()).getData();
        if(null != dataList){
            //在MongoDB中获取数据
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
            List<String> time = dataList.stream().map(s -> sdf.format(s.getCreate_time())).collect(Collectors.toList());
            List<BigDecimal> outputVoltage = dataList.stream().map(UploadRealTimeMonitoringData::getOutput_voltage).collect(Collectors.toList());
            List<BigDecimal> outputCurrent = dataList.stream().map(UploadRealTimeMonitoringData::getOutput_current).collect(Collectors.toList());
            List<Map<String, Object>> currentAndVoltage = new ArrayList<>();
            for (int i = 0; i < time.size(); i++) {
                Map<String, Object> map = new HashMap<>();
                map.put("time", time.get(i));
                //电流
                map.put("electricity", outputCurrent.get(i));
                //电压
                map.put("voltage", outputVoltage.get(i));
                currentAndVoltage.add(map);
            }
            myChargingOrderInfo.setCurrentAndVoltage(currentAndVoltage);
            //在MongoDB中获取数据
            List<Integer> soc = dataList.stream().map(UploadRealTimeMonitoringData::getSoc).collect(Collectors.toList());
            List<BigDecimal> po = dataList.stream().map(s -> s.getOutput_current().multiply(s.getOutput_voltage()).divide(new BigDecimal(1000))).collect(Collectors.toList());
            List<Map<String, Object>> power = new ArrayList<>();
            for (int i = 0; i < time.size(); i++) {
                Map<String, Object> map = new HashMap<>();
                map.put("time", time.get(i));
                //soc
                map.put("soc", soc.get(i));
                //电压
                map.put("power", po.get(i));
                power.add(map);
            }
            myChargingOrderInfo.setPower(power);
        }
        myChargingOrderInfo.setActionable(myChargingOrderInfo.getEndTime() + 604800000L > System.currentTimeMillis() ? 0 : 1);
        return myChargingOrderInfo;
    }