2021与蓝度共同重构项目,服务端
liuhaonan
2022-06-29 e19ab4b94932e47afb000d813640770c87074b58
Merge remote-tracking branch 'origin/master'
已修改2个文件
已添加1个文件
92 ■■■■ 文件已修改
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3ChargingController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/ChargingDto.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3ChargingController.java
@@ -1,6 +1,7 @@
package com.sandu.ximon.admin.controller;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.C3ChargingAddParam;
@@ -34,9 +35,9 @@
        return ResponseUtil.successPage(c3ChargingService.getC3ChargingListByKeyword(baseConditionVO, c3ChargingParam));
    }
    @PostMapping("/getByC3Mac/{c3Mac}")
    public ResponseVO<Object> getByC3Mac(String c3Mac) {
        return ResponseUtil.success(c3ChargingService.getByC3Mac(c3Mac));
    @GetMapping("/chargingInfo")
    public ResponseVO<Object> getChargingInfo(@RequestParam(required = false, value = "poleId") String poleId) {
        return ResponseUtil.success(c3ChargingService.getChargingInfo(poleId));
    }
    /**
@@ -248,6 +249,7 @@
    /**
     * ä¿®æ”¹å……电桩硬件设备名称
     *
     * @param c3ChargingAddParam
     * @return
     */
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/ChargingDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.sandu.ximon.admin.dto;
import lombok.Data;
/**
 * å……电桩信息
 *
 * @author ZZQ
 * @date 2022/6/29 14:49
 */
@Data
public class ChargingDto {
    //充电桩ID
    private Long c3Id;
    //c3Mac
    private String c3Mac;
    //灯杆ID
    private Long poleId;
    //充电桩桩状态
    private Integer statusBit;
    //电压
    private String gridVoltage;
    //电流
    private String gridCurrent;
    //温度
    private String deviceTemperature;
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -8,6 +8,7 @@
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.C3mRedisConfig;
import com.sandu.ximon.admin.dto.ChargingDto;
import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3OperationReportInnerFrame;
@@ -30,6 +31,7 @@
import com.sandu.ximon.dao.domain.C3mOrder;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.enums.OrderStatus;
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.mapper.C3mChargingMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -38,10 +40,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.*;
/**
 * @author ZZQ
@@ -213,24 +212,46 @@
    }
    /**
     * æŸ¥è¯¢å……电桩
     * èŽ·å–å……ç”µæ¡©è¯¦æƒ…
     *
     * @return
     */
    public C3mCharging getByC3Mac(String udid) {
        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, udid));
        String s = RedisUtils.getBean().get(C3mRedisConstant.C3_STATUS.getCode() + one.getC3Mac());
        if (s != null) {
            try {
                A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage beatDataPackage = JSON.parseObject(s, A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage.class);
                one.setStatusBit((Integer.valueOf(beatDataPackage.getStatusBit())));
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            one.setStatusBit(0);
    public ChargingDto getChargingInfo(String poleId) {
        if (poleId == null) {
            throw new BusinessException("灯杆ID不能为空!");
        }
        return one;
        Pole pole = SpringContextHolder.getBean(PoleService.class).
                getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId));
        if (pole == null) {
            throw new BusinessException("充电桩绑定的灯杆不存在!");
        }
        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getPoleDevicesCode, pole.getDeviceCode()));
        ChargingDto chargingDto = new ChargingDto();
        if (one == null) {
            throw new BusinessException("充电桩信息不存在!");
        }
        A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage beatDataPackage = ReadTheHeartbeatPackage(one.getC3Mac());
        if (beatDataPackage != null) {
            //充电桩ID
            chargingDto.setC3Id(one.getC3Id());
            //C3Mac
            chargingDto.setC3Mac(one.getC3Mac());
            //在线状态
            chargingDto.setStatusBit(Integer.valueOf(beatDataPackage.getStatusBit()));
            //电压
            chargingDto.setGridVoltage(beatDataPackage.getGridVoltage());
            //电流
            chargingDto.setGridCurrent(beatDataPackage.getGridCurrent());
            //温度
            chargingDto.setDeviceTemperature(beatDataPackage.getDeviceTemperature());
            //灯杆ID
            chargingDto.setPoleId(pole.getId());
        }
        return chargingDto;
    }
    /**