2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-05-13 2fcbb888e5f38baca1ab09c8f43efd709c044b2e
帧操作记录
已修改5个文件
已添加1个文件
67 ■■■■ 文件已修改
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/A5Frame.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/dto/CommonFrame.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/InnerFrameDataService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/StoreOperationRecordsUtils.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/frame/A5Frame.java
@@ -51,10 +51,13 @@
    @Override
    public String toString() {
        return "A5Frame{" +
                "orderType='" + orderType + '\'' +
                ", payloadLength='" + payloadLength + '\'' +
                ", payload='" + payload + '\'' +
                '}';
//        return "A5Frame{" +
//                "orderType='" + orderType + '\'' +
//                ", payloadLength='" + payloadLength + '\'' +
//                ", payload='" + payload + '\'' +
//                '}';
        return MQTTConnectTypeEnum.SYNCHRONIZATION.getCode()
                + FunctionCodeEnum.DATA_TRANSPORT_DATA.getCode()
                + orderType + payloadLength + payload;
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/dto/CommonFrame.java
@@ -7,7 +7,7 @@
 * @date 2021/12/3 16:50
 * å­—节:1    1            2            ä¸å®šé•¿        4
 * åŠŸèƒ½ç A    å‘½ä»¤ç±»åž‹A    è´Ÿè·é•¿åº¦A    è´Ÿè·æ•°æ®A    å¸§æ ¡éªŒA
 *
 * <p>
 * æ€»ä½“帧
 */
@Data
@@ -45,4 +45,17 @@
     */
    private boolean isValidate;
    @Override
    public String toString() {
//        return "CommonFrame{" +
//                "connectType='" + connectType + '\'' +
//                ", functionCode='" + functionCode + '\'' +
//                ", orderType='" + orderType + '\'' +
//                ", payloadLength='" + payloadLength + '\'' +
//                ", payload='" + payload + '\'' +
//                ", crc32='" + crc32 + '\'' +
//                ", isValidate=" + isValidate +
//                '}';
        return connectType + functionCode + orderType + payloadLength + payload + crc32;
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -22,6 +22,7 @@
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.LogUtils;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.dao.bo.C3ChargingBo;
import com.sandu.ximon.dao.domain.C3mCharging;
@@ -462,6 +463,7 @@
            throw new BusinessException("C3充电桩硬件mcu_udid不存在");
        }
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(c3mCharging.getPoleDevicesCode(), a5Frame);
        StoreOperationRecordsUtils.storeInnerFrameData(c3Mac, "C3帧-查询心跳包间隔时间", a5Frame, commonFrame);
        System.out.println(commonFrame + "            -----commonFrame");
ximon-admin/src/main/java/com/sandu/ximon/admin/service/InnerFrameDataService.java
@@ -23,7 +23,7 @@
     * @param frame
     * @param frameResult
     */
    public void add(String deviceCode, String operation, String syncType, String frame, String frameResult) {
    public void storeInnerFrameData(String deviceCode, String operation, String syncType, String frame, String frameResult) {
        InnerFrameData innerFrameData = new InnerFrameData();
        innerFrameData.setDeviceCode(deviceCode);
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -23,6 +23,7 @@
import com.sandu.ximon.admin.param.LightRemarkParam;
import com.sandu.ximon.admin.redis.LightKey;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.vo.ControlLightCommandVO;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.dao.bo.LightBo;
@@ -202,7 +203,9 @@
            Map<String, Object> map = new HashMap<>();
            try {
                map.put("deviceCode", param.getDeviceCode());
                WrapResponseCommonFrame<A5LightBrightnessRespInnerFrame> frame = MainBoardInvokeSyncService.getInstance().sendRRPC(param.getDeviceCode(), a5Frame, A5LightBrightnessRespInnerFrame.class);
                WrapResponseCommonFrame<A5LightBrightnessRespInnerFrame> frame
                        = MainBoardInvokeSyncService.getInstance().sendRRPC(param.getDeviceCode(), a5Frame, A5LightBrightnessRespInnerFrame.class);
                StoreOperationRecordsUtils.storeInnerFrameData(param.getDeviceCode(), "单灯帧-亮度控制", a5Frame, frame);
                if (frame == null) {
                    map.put("status", DeviceRespStatusEnums.OTHER_ERROR.getCode());
                    resultList.add(map);
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/StoreOperationRecordsUtils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.sandu.ximon.admin.utils;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
import com.sandu.ximon.admin.service.InnerFrameDataService;
/**
 * @author ZZQ
 * @date 2022/5/13 15:06
 */
public class StoreOperationRecordsUtils {
    public static void storeInnerFrameData(String mac, String innerFrameTpye, A5Frame a5Frame, CommonFrame commonFrame) {
        String requstInnerFrame = a5Frame.getConnectType() + a5Frame.getFunctionCode() + a5Frame.getOrderType() + a5Frame.getPayloadLength() + a5Frame.getPayload();
        String reportInnerFrame = commonFrame.getConnectType() + commonFrame.getFunctionCode() + commonFrame.getOrderType() + commonFrame.getPayloadLength() + commonFrame.getPayload();
        String syncType;
        if ("FE".equals(a5Frame.getConnectType())) {
            syncType = "同步";
        } else {
            syncType = "异步";
        }
        SpringContextHolder.getBean(InnerFrameDataService.class).storeInnerFrameData(mac, innerFrameTpye, syncType, requstInnerFrame, reportInnerFrame);
    }
    public static void storeOperationData(String mac, String innerFrameTpye, String syncType, String requsetInnerFrame, String reportInnerFrame) {
        //TODO
    }
}