package com.ruoyi.sy.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
import com.ruoyi.sy.domain.ArdSyCar;
|
import com.ruoyi.sy.domain.ArdSyCarLock;
|
import com.ruoyi.sy.domain.ArdSyCarRtu;
|
import com.ruoyi.sy.mapper.ArdSyCarLockMapper;
|
import com.ruoyi.sy.mapper.ArdSyCarMapper;
|
import com.ruoyi.sy.mapper.ArdSyCarRtuMapper;
|
import com.ruoyi.sy.service.ArdSyCarLockService;
|
import com.ruoyi.sy.vo.CarLockVo;
|
import com.ruoyi.sy.vo.CarVo;
|
import com.ruoyi.system.mapper.SysDeptMapper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.UUID;
|
|
/**
|
* @author Administrator
|
*/
|
@Service
|
public class ArdSyCarLockServiceImpl implements ArdSyCarLockService {
|
|
@Autowired
|
private ArdSyCarMapper ardSyCarMapper;
|
@Autowired
|
private SysDeptMapper sysDeptMapper;
|
@Autowired
|
private ArdSyCarRtuMapper rtuMapper;
|
@Autowired
|
private ArdSyCarLockMapper lockMapper;
|
|
@Override
|
public List<CarVo> car() {
|
QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
|
queryWrapper.isNull("reserved_1").or().eq("reserved_1","");
|
List<ArdSyCar> ardSyCars= ardSyCarMapper.selectList(queryWrapper);
|
return carAnalysis(ardSyCars);
|
}
|
|
@Override
|
public int addRtu(String carId) {
|
ArdSyCarRtu ardSyCarRtu = new ArdSyCarRtu();
|
ardSyCarRtu.setId(String.valueOf(UUID.randomUUID()));
|
ardSyCarRtu.setCarId(carId);
|
ardSyCarRtu.setTopicPublish("/p"+carId+"/");
|
ardSyCarRtu.setTopicSubscribe("/p"+carId+"/set/");
|
rtuMapper.insert(ardSyCarRtu);
|
QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("car_id",carId);
|
ArdSyCar ardSyCar = ardSyCarMapper.selectOne(queryWrapper);
|
ardSyCar.setReserved1(ardSyCarRtu.getId());
|
return ardSyCarMapper.updateById(ardSyCar);
|
}
|
|
@Override
|
public List<CarVo> carList() {
|
QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
|
queryWrapper.ne("reserved_1","");
|
List<ArdSyCar> ardSyCars = ardSyCarMapper.selectList(queryWrapper);
|
return carAnalysis(ardSyCars);
|
}
|
|
@Override
|
public int delCar(String id) {
|
rtuMapper.deleteById(id);
|
QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("reserved_1",id);
|
ArdSyCar ardSyCar = ardSyCarMapper.selectOne(queryWrapper);
|
ardSyCar.setReserved1("");
|
return ardSyCarMapper.updateById(ardSyCar);
|
}
|
|
@Override
|
public CarVo carOne(String carId) {
|
CarVo carVo = new CarVo();
|
QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("car_id",carId);
|
ArdSyCar ardSyCar= ardSyCarMapper.selectOne(queryWrapper);
|
carVo.setCarId(ardSyCar.getCarId());
|
carVo.setCarPicture(ardSyCar.getCarPicture());
|
carVo.setCarType(ardSyCar.getCarType());
|
carVo.setDeptId(ardSyCar.getDeptId());
|
SysDept sysDept = sysDeptMapper.selectById(ardSyCar.getDeptId());
|
carVo.setDeptName(sysDept.getDeptName());
|
carVo.setRtu(ardSyCar.getReserved1());
|
return carVo;
|
}
|
|
@Override
|
public List<ArdSyCarLock> carLock(String rtu) {
|
QueryWrapper<ArdSyCarLock> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("rtu_id",rtu);
|
return lockMapper.selectList(queryWrapper);
|
}
|
|
@Override
|
public int addUpdLock(List<ArdSyCarLock> ardSyCarLock) {
|
int num = 0;
|
if(ardSyCarLock.size()>0){
|
String rtu = ardSyCarLock.get(0).getRtuId();
|
QueryWrapper<ArdSyCarLock> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("rtu_id",rtu);
|
lockMapper.delete(queryWrapper);
|
for (int i = 0; i < ardSyCarLock.size(); i++) {
|
ArdSyCarLock lock = ardSyCarLock.get(i);
|
if(lock.getId()==null){
|
lock.setId(String.valueOf(UUID.randomUUID()));
|
}
|
num += lockMapper.insert(lock);
|
}
|
}
|
return num;
|
}
|
|
public List<CarVo> carAnalysis(List<ArdSyCar> ardSyCars){
|
List<CarVo> list = new ArrayList<>();
|
for (int i = 0; i < ardSyCars.size(); i++) {
|
ArdSyCar ardSyCar = ardSyCars.get(i);
|
CarVo carVo = new CarVo();
|
carVo.setCarId(ardSyCar.getCarId());
|
carVo.setCarPicture(ardSyCar.getCarPicture());
|
carVo.setCarType(ardSyCar.getCarType());
|
carVo.setDeptId(ardSyCar.getDeptId());
|
SysDept sysDept = sysDeptMapper.selectById(ardSyCar.getDeptId());
|
carVo.setDeptName(sysDept.getDeptName());
|
carVo.setRtu(ardSyCar.getReserved1());
|
list.add(carVo);
|
}
|
return list;
|
}
|
|
}
|