2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-04-19 21d810aa4ac02a8b7a54d80eafc753c32d376d74
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java
@@ -11,13 +11,18 @@
import com.sandu.ximon.admin.manager.iot.frame.inner.request.*;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.enums.LightPoleHeelingEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.param.LightPoleHeelingListParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.dao.domain.Light;
import com.sandu.ximon.dao.domain.LightPoleHeeling;
import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.mapper.LightPoleHeelingMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -25,28 +30,41 @@
@AllArgsConstructor
public class LightPoleHeelingService extends BaseServiceImpl<LightPoleHeelingMapper, LightPoleHeeling> {
    private LightPoleHeelingMapper lightPoleHeelingMapper;
    /**
     * 查询全部灯杆倾侧告警
     */
    public List<LightPoleHeeling> listLightPoleHeeling() {
        LambdaQueryWrapper<LightPoleHeeling> wrapper = Wrappers.lambdaQuery(LightPoleHeeling.class);
        List<LightPoleHeeling> list = list(wrapper);
        return list;
    }
    private LightPoleHeelingEquipmentService lightPoleHeelingEquipmentService;
    /**
     * 模糊查询
     */
    public List<LightPoleHeeling> listLightPoleHeelingByKeyword(BaseConditionVO baseConditionVO, LightPoleHeelingListParam lightPoleHeelingListParam) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        if (baseConditionVO != null) {
            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        }
        if (lightPoleHeelingListParam == null) {
            lightPoleHeelingListParam = new LightPoleHeelingListParam();
        }
        List<LightPoleHeeling> lightPoleHeelings
                = lightPoleHeelingMapper.listLightPoleHeeling(lightPoleHeelingListParam.getKeyword(), lightPoleHeelingListParam.getProcessingState());
        //关键字去除空格
        if (lightPoleHeelingListParam.getKeyword() != null) {
            lightPoleHeelingListParam.setKeyword(lightPoleHeelingListParam.getKeyword().trim());
        }
        List<LightPoleHeeling> lightPoleHeelings;
        if (SecurityUtils.getClientId() == null) {
            lightPoleHeelings = lightPoleHeelingMapper.listLightPoleHeeling(lightPoleHeelingListParam.getKeyword()
                    , lightPoleHeelingListParam.getProcessingState(), null);
        } else {
            lightPoleHeelings = lightPoleHeelingMapper.listLightPoleHeeling(lightPoleHeelingListParam.getKeyword()
                    , lightPoleHeelingListParam.getProcessingState(), SecurityUtils.getUserId());
        }
        return lightPoleHeelings;
    }
    /**
     * 根据Mac获取最新数据
     */
    public LightPoleHeeling getLightPoleHeelingByMac(String mac) {
        return getOne(Wrappers.lambdaQuery(LightPoleHeeling.class).eq(LightPoleHeeling::getMac, mac));
    }
    /**
@@ -141,7 +159,7 @@
        LightPoleHeelingSetHeartbeatPacketTimeReqInnerFrame setHeartbeatPacketTimeReqInnerFrame =
                new LightPoleHeelingSetHeartbeatPacketTimeReqInnerFrame(setTime);
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setHeartbeatPacketTimeReqInnerFrame);
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), setHeartbeatPacketTimeReqInnerFrame);
        System.out.println(a5Frame + "            -----a5Frame");
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(devicesName, a5Frame);
@@ -165,7 +183,7 @@
        LightPoleHeelingSetSensorStateReqInnerFrame setSensorStateReqInnerFrame =
                new LightPoleHeelingSetSensorStateReqInnerFrame();
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_C3_DATA.getCode(), setSensorStateReqInnerFrame);
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(), setSensorStateReqInnerFrame);
        System.out.println(a5Frame + "            -----a5Frame");
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(devicesName, a5Frame);
@@ -195,12 +213,24 @@
        lightPoleHeeling.setTheYAxis(heartBeatDataPackage.getTheYAxis());
        lightPoleHeeling.setTheZAxis(heartBeatDataPackage.getTheZAxis());
        if (Math.abs(heartBeatDataPackage.getTheXAxis()) >= 10 || Math.abs(heartBeatDataPackage.getTheYAxis()) >= 10) {
            lightPoleHeeling.setWarningLevel("一级警告");
            lightPoleHeeling.setWarningLevel(1);//一级警告
        } else if ((Math.abs(heartBeatDataPackage.getTheXAxis()) >= 5 && Math.abs(heartBeatDataPackage.getTheXAxis()) < 10)
                || (Math.abs(heartBeatDataPackage.getTheYAxis()) >= 5 && Math.abs(heartBeatDataPackage.getTheYAxis()) < 10)) {
            lightPoleHeeling.setWarningLevel("二级警告");
            lightPoleHeeling.setWarningLevel(2);//二级警告
        } else {
            lightPoleHeeling.setWarningLevel("正常");
            lightPoleHeeling.setWarningLevel(0);//正常
        }
        //存储设备状态到缓存
        RedisUtils.getBean().set(LightPoleHeelingEnum.LIGHT_POLE_HEELING_STATE.getCode() + deviceName
                , heartBeatDataPackage, 300L);
        /**
         * 将灯杆倾斜硬件添加到硬件表
         */
        LightPoleHeelingEquipment one = lightPoleHeelingEquipmentService.getOne(Wrappers.lambdaQuery(LightPoleHeelingEquipment.class).eq(LightPoleHeelingEquipment::getMac, deviceName));
        if (one == null) {
            LightPoleHeelingEquipment equipment = new LightPoleHeelingEquipment();
            equipment.setMac(deviceName);
        }
        return save(lightPoleHeeling);