2021与蓝度共同重构项目,服务端
liuhaonan
2022-06-28 8d0d0ca7d0d40223181067fde7afc697fa3e54fb
Merge remote-tracking branch 'origin/master'
已修改5个文件
47 ■■■■■ 文件已修改
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5C3CommonReportInnerFrame.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/request/C3QrCodeReqInnerFrame.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/resources/application-local.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
@@ -20,6 +20,7 @@
import com.sandu.ximon.admin.vo.C3mOrderVO;
import com.sandu.ximon.dao.domain.C3mCharging;
import com.sandu.ximon.dao.domain.C3mOrder;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.enums.OrderStatus;
import com.sandu.ximon.dao.enums.OrderType;
@@ -64,6 +65,7 @@
            log.info(netRequestFrame.toString());
            if (netRequestFrame.isValidate()) {
                //保存充电桩硬件信息
                boolean b = SpringContextHolder.getBean(C3ChargingService.class).saveReporEquipment(deviceName, netRequestFrame.getMcuUdid(), netRequestFrame.getDestinationAddress());
                if (!b) {
                    return;
@@ -74,6 +76,18 @@
            A5C3CommonReportInnerFrame codeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
            log.info("C3充电桩上报处理_codeRequestFrame");
            log.info(codeRequestFrame.toString());
            if (codeRequestFrame.isValidate()) {
                if (deviceName != null) {
                    //设置二维码
                    Pole pole = SpringContextHolder.getBean(PoleService.class).getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName));
                    if (pole != null) {
                        String testUrl = "http://www.ximonsmart.com/charge/#/charge/" + pole.getId() + "/" + System.currentTimeMillis();
                        SpringContextHolder.getBean(C3ChargingService.class).QrCode(codeRequestFrame.getDestinationAddress(), testUrl);
                    }
                }
            }
        } else if (C3ChargingEnum.HEART_BEAT.getCode().equals(functionCode)) {
            log.info("心跳相应——C3充电桩数据" + productKey + "     -------       " + deviceName);
            A5C3HeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5C3HeartbeatReportInnerFrame().transformFrame(frame.getPayload());
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/report/A5C3CommonReportInnerFrame.java
@@ -22,6 +22,7 @@
    @Override
    public A5C3CommonReportInnerFrame transformFrame(String hex) {
        //FEA582000CF04100040000048EE4FC6C507D9BE44D
        //  长度不一致时,返回null
        if (StrUtil.isBlank(hex)) {
            return null;
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/inner/request/C3QrCodeReqInnerFrame.java
@@ -1,5 +1,6 @@
package com.sandu.ximon.admin.manager.iot.frame.inner.request;
import cn.hutool.core.util.HexUtil;
import com.sandu.ximon.admin.manager.iot.frame.inner.IRequestInnerFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.enums.C3ChargingEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.enums.MQTTConnectTypeEnum;
@@ -14,13 +15,14 @@
    private final String payload;
    public C3QrCodeReqInnerFrame(String c3Mac, String qrCodeData) {
        payload = c3Mac + qrCodeData;
        System.out.println("qrCodeData:    " + qrCodeData);
        String encodeHexStr = HexUtil.encodeHexStr(qrCodeData).toUpperCase();
        payload = c3Mac + encodeHexStr;
    }
    @Override
    public String getEncodeFrame() {
        String functionCode = C3ChargingEnum.QR_CODE_REQUEST.getCode();
        String functionCode = C3ChargingEnum.QrCode.getCode();
        //长度可变,不定长
        String payloadLength = SupplementUtils.suppleZero(Integer.toHexString((payload.length() / 2)).toUpperCase(), 4);
        String frame = functionCode + payloadLength + payload;
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -26,6 +26,7 @@
import com.sandu.ximon.dao.bo.C3ChargingBo;
import com.sandu.ximon.dao.domain.C3mCharging;
import com.sandu.ximon.dao.domain.C3mChargingCharge;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.mapper.C3mChargingMapper;
import lombok.AllArgsConstructor;
@@ -58,7 +59,7 @@
     * @return 是否成功
     */
    public boolean updateReportState(String deviceName, String c3Mac, String statusBit, String deviceTemperature) {
        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, c3Mac));
        C3mCharging one = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, deviceName));
        if (one != null) {
//            one.setStatusBit(Integer.valueOf(statusBit));
            one.setDeviceTemperature(deviceTemperature);
@@ -90,24 +91,17 @@
            c3mCharging.setPoleDevicesCode(deviceName);
            c3mCharging.setC3Mac(c3Mac);
            flag = save(c3mCharging);
            //设置费率
            C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid));
            List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id()));
            if (list.size() == 0) {//费率表中没有此充电桩数据时  添加默认费率
                c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
            }
        } else {
            //将设备信息添加到充电桩设备表
            one.setPoleDevicesCode(deviceName);
            one.setC3Mac(c3Mac);
            flag = updateById(one);
            //设置费率
            C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid));
            List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id()));
            if (list.size() == 0) {//费率表中没有此充电桩数据时  添加默认费率
                c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
            }
        }
        //设置费率
        C3mCharging c3mCharging1 = getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, mcuUdid));
        List<C3mChargingCharge> list = c3mChargingChargeService.list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3mCharging1.getC3Id()));
        if (list.size() == 0) {//费率表中没有此充电桩数据时  添加默认费率
            c3mChargingChargeService.initCharge((c3mCharging1.getC3Id()).intValue());
        }
//        /**
//         * 添加绑定关系开始
ximon-admin/src/main/resources/application-local.yml
@@ -39,7 +39,7 @@
    enable: true
listenter:
  isOpen: false
  isOpen: true
minio:
  endpoint: 47.106.172.9