123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package com.ruoyi.base.service.impl;
- import cn.hutool.core.util.ObjectUtil;
- import com.ruoyi.base.domain.CarInfo;
- import com.ruoyi.base.mapper.CarInfoMapper;
- import com.ruoyi.base.service.ICarInfoService;
- import com.ruoyi.common.core.redis.RedisCache;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.event.EventListener;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.stereotype.Service;
- import javax.annotation.PostConstruct;
- import java.util.List;
- import java.util.concurrent.CopyOnWriteArrayList;
- /**
- * 车辆信息Service业务层处理
- *
- * @author ruoyi
- * @date 2023-09-19
- */
- @Service
- public class CarInfoServiceImpl implements ICarInfoService {
- @Autowired
- private CarInfoMapper carInfoMapper;
- @Autowired
- RedisCache redisCache;
- private static CopyOnWriteArrayList<CarInfo> carList ;
- /**
- * 查询车辆信息
- *
- * @param id 车辆信息主键
- * @return 车辆信息
- */
- @Override
- public CarInfo selectCarInfoById(Long id) {
- return carInfoMapper.selectCarInfoById(id);
- }
- /**
- * 查询车辆信息列表
- *
- * @param carInfo 车辆信息
- * @return 车辆信息
- */
- @Override
- public List<CarInfo> selectCarInfoList(CarInfo carInfo) {
- if (ObjectUtil.isNull(carList) ||carList.size() ==0){
- carList = new CopyOnWriteArrayList<>(carInfoMapper.selectCarInfoList(carInfo));
- }
- return carList;
- }
- /**
- * 查询车辆信息
- *
- * @param carInfo 车辆信息
- * @return 车辆信息
- */
- @Override
- public CarInfo selectCarInfoByModel(CarInfo carInfo) {
- List<CarInfo> list = carInfoMapper.selectCarInfoList(carInfo);
- if (list != null && list.size() > 0) {
- return list.get(0);
- } else {
- return null;
- }
- }
- /**
- * 新增车辆信息
- *
- * @param carInfo 车辆信息
- * @return 结果
- */
- @Override
- public int insertCarInfo(CarInfo carInfo) {
- return carInfoMapper.insertCarInfo(carInfo);
- }
- /**
- * 修改车辆信息
- *
- * @param carInfo 车辆信息
- * @return 结果
- */
- @Override
- public int updateCarInfo(CarInfo carInfo) {
- return carInfoMapper.updateCarInfo(carInfo);
- }
- /**
- * 批量删除车辆信息
- *
- * @param ids 需要删除的车辆信息主键
- * @return 结果
- */
- @Override
- public int deleteCarInfoByIds(Long[] ids) {
- return carInfoMapper.deleteCarInfoByIds(ids);
- }
- /**
- * 删除车辆信息信息
- *
- * @param id 车辆信息主键
- * @return 结果
- */
- @Override
- public int deleteCarInfoById(Long id) {
- return carInfoMapper.deleteCarInfoById(id);
- }
- @EventListener
- @Async
- public void updateStatus(CarInfo carInfo){
- int index = -1;
- if (ObjectUtil.isNull(carList)){
- selectCarInfoList(new CarInfo());
- }
- for (int i = 0; i < carList.size(); i++) {
- if (carList.get(i).getCarno().equals(carInfo.getCarno())){
- carInfo = carList.get(i);
- index = i;
- }
- }
- if (index ==-1){
- return;
- }
- if ("status".equals(carInfo.getUpdateType())){
- if(!carInfo.getState().equals(carInfo.getState())){
- carInfo.setState(carInfo.getState());
- carList.set(carInfo.getCarno().intValue() - 1,carInfo);
- }
- }else {
- int a = 0;
- if(!carInfo.getX().equals(carInfo.getX())){
- carInfo.setX(carInfo.getX());
- a =1;
- }
- if(!carInfo.getY().equals(carInfo.getY())){
- carInfo.setY(carInfo.getY());
- a =1;
- }
- if (a==1){
- carList.set(carInfo.getCarno().intValue() - 1,carInfo);
- }
- }
- }
- }
|