aijinhui
2023-11-13 f22a5485cbe6563447ace9cf7939405f7e06c6a6
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.sy.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.sy.domain.ArdSyCar;
@@ -8,9 +9,10 @@
import com.ruoyi.sy.mapper.ArdSyCarLockMapper;
import com.ruoyi.sy.mapper.ArdSyCarMapper;
import com.ruoyi.sy.mapper.ArdSyCarRtuMapper;
import com.ruoyi.sy.param.AddRtuParam;
import com.ruoyi.sy.service.ArdSyCarLockService;
import com.ruoyi.sy.vo.CarLockVo;
import com.ruoyi.sy.vo.CarVo;
import com.ruoyi.sy.vo.RtuVo;
import com.ruoyi.system.mapper.SysDeptMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -34,6 +36,7 @@
    @Autowired
    private ArdSyCarLockMapper lockMapper;
    @Override
    public List<CarVo> car() {
        QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
@@ -43,15 +46,25 @@
    }
    @Override
    public int addRtu(String carId) {
    public List<CarVo> carAddOne(String carId) {
        QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
        queryWrapper.isNull("reserved_1").or().eq("reserved_1","").or().eq("car_id",carId);
        List<ArdSyCar> ardSyCars= ardSyCarMapper.selectList(queryWrapper);
        return carAnalysis(ardSyCars);
    }
    @Override
    public int addRtu(AddRtuParam addRtuParam) {
        ArdSyCarRtu ardSyCarRtu = new ArdSyCarRtu();
        ardSyCarRtu.setId(String.valueOf(UUID.randomUUID()));
        ardSyCarRtu.setCarId(carId);
        ardSyCarRtu.setTopicPublish("/p"+carId+"/");
        ardSyCarRtu.setTopicSubscribe("/p"+carId+"/set/");
        ardSyCarRtu.setCarId(addRtuParam.getCarId());
        ardSyCarRtu.setTopicPublish("/p"+addRtuParam.getCarId()+"/");
        ardSyCarRtu.setTopicSubscribe("/p"+addRtuParam.getCarId()+"/set/");
        ardSyCarRtu.setInstallType(addRtuParam.getInstallType());
        ardSyCarRtu.setUnloadType(addRtuParam.getUnloadType());
        rtuMapper.insert(ardSyCarRtu);
        QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("car_id",carId);
        queryWrapper.eq("car_id",addRtuParam.getCarId());
        ArdSyCar ardSyCar = ardSyCarMapper.selectOne(queryWrapper);
        ardSyCar.setReserved1(ardSyCarRtu.getId());
        return ardSyCarMapper.updateById(ardSyCar);
@@ -68,6 +81,9 @@
    @Override
    public int delCar(String id) {
        rtuMapper.deleteById(id);
        QueryWrapper<ArdSyCarLock> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.eq("rtu_id",id);
        lockMapper.delete(queryWrapper1);
        QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("reserved_1",id);
        ArdSyCar ardSyCar = ardSyCarMapper.selectOne(queryWrapper);
@@ -93,9 +109,15 @@
    @Override
    public List<ArdSyCarLock> carLock(String rtu) {
        QueryWrapper<ArdSyCarLock> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("rtu_id",rtu);
        return lockMapper.selectList(queryWrapper);
        List<ArdSyCarLock> locks = new ArrayList<>();
        try {
            QueryWrapper<ArdSyCarLock> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("rtu_id",rtu);
            locks = lockMapper.selectList(queryWrapper);
        }catch (Exception e){
        }
        return locks;
    }
    @Override
@@ -117,6 +139,79 @@
        return num;
    }
    @Override
    public RtuVo updRtu(String carId) {
        QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("car_id",carId);
        ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper);
        RtuVo rtuVo = new RtuVo();
        QueryWrapper<ArdSyCar> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.eq("car_id",carId);
        ArdSyCar ardSyCar= ardSyCarMapper.selectOne(queryWrapper1);
        rtuVo.setCarId(ardSyCar.getCarId());
        rtuVo.setCarPicture(ardSyCar.getCarPicture());
        rtuVo.setCarType(ardSyCar.getCarType());
        rtuVo.setDeptId(ardSyCar.getDeptId());
        SysDept sysDept = sysDeptMapper.selectById(ardSyCar.getDeptId());
        rtuVo.setDeptName(sysDept.getDeptName());
        rtuVo.setRtu(ardSyCar.getReserved1());
        rtuVo.setTopicPublish(ardSyCarRtu.getTopicPublish());
        rtuVo.setTopicSubscribe(ardSyCarRtu.getTopicSubscribe());
        return rtuVo;
    }
    @Override
    public int updRtuCar(ArdSyCarRtu ardSyCarRtu) {
        rtuMapper.updateById(ardSyCarRtu);
        QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("car_id",ardSyCarRtu.getCarId());
        ArdSyCar ardSyCar = ardSyCarMapper.selectOne(queryWrapper);
        ardSyCar.setReserved1(ardSyCarRtu.getId());
        return ardSyCarMapper.updateById(ardSyCar);
    }
    @Override
    public List<CarVo> queryCar(List<String> list) {
        QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
        queryWrapper.ne("reserved_1","").notIn("car_id",list);
        List<ArdSyCar> ardSyCars = ardSyCarMapper.selectList(queryWrapper);
        return carAnalysis(ardSyCars);
    }
    @Override
    public List<CarVo> addCarBefore(String id) {
        QueryWrapper<ArdSyCar> ardSyCarQueryWrapper = new QueryWrapper<>();
        ardSyCarQueryWrapper.eq("car_id",id);
        List<ArdSyCar> carList = ardSyCarMapper.selectList(ardSyCarQueryWrapper);
        return carAnalysis(carList);
    }
    @Override
    public List<ArdSyCarLock> data(String msg) {
        JSONObject jsonObject = JSONObject.parseObject(msg);
        List<ArdSyCarLock> lockList = new ArrayList<>();
        ArdSyCarLock ardSyCarLock1 = new ArdSyCarLock();
        ardSyCarLock1.setRelay("A01");
        ardSyCarLock1.setRelayInfo(String.valueOf(jsonObject.getInteger("A01")));
        ardSyCarLock1.setCurrent("C01");
        ardSyCarLock1.setCurrentInfo(String.valueOf(jsonObject.getFloat("C01")));
        lockList.add(ardSyCarLock1);
        ArdSyCarLock ardSyCarLock2 = new ArdSyCarLock();
        ardSyCarLock2.setRelay("A02");
        ardSyCarLock2.setRelayInfo(String.valueOf(jsonObject.getInteger("A02")));
        ardSyCarLock2.setCurrent("C02");
        ardSyCarLock2.setCurrentInfo(String.valueOf(jsonObject.getFloat("C02")));
        lockList.add(ardSyCarLock2);
        return lockList;
    }
    @Override
    public int updLock(ArdSyCarLock ardSyCarLock) {
        return lockMapper.updateById(ardSyCarLock);
    }
    //车辆列表封装
    public List<CarVo> carAnalysis(List<ArdSyCar> ardSyCars){
        List<CarVo> list = new ArrayList<>();
        for (int i = 0; i < ardSyCars.size(); i++) {
@@ -129,6 +224,7 @@
            SysDept sysDept = sysDeptMapper.selectById(ardSyCar.getDeptId());
            carVo.setDeptName(sysDept.getDeptName());
            carVo.setRtu(ardSyCar.getReserved1());
            carVo.setCarModel(ardSyCar.getCarModel());
            list.add(carVo);
        }
        return list;