zhangnaisong
2023-10-19 2c405f34c9bc32936957e45d1c38c55f5696fa46
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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.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;
 
    @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 List<CarLockVo> carLock(String carId) {
        return null;
    }
 
    @Override
    public int addUpdLock(List<ArdSyCarLock> ardSyCarLock) {
        return 0;
    }
 
    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;
    }
 
}