diff --git a/src/main/java/com/zhgd/xmgl/modules/car/controller/CarInfoController.java b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarInfoController.java index dc3ed3932..14feff938 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/controller/CarInfoController.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarInfoController.java @@ -73,17 +73,11 @@ public class CarInfoController { return Result.success(carInfoService.selectCarList(map)); } - /** - * 添加 - * @param carInfo - * @return - */ @OperLog(operModul = "车辆管理", operType = "添加车辆黑白名单", operDesc = "添加车辆黑白名单管理信息") - @ApiOperation(value = "添加车辆黑白名单管理信息", notes = "添加车辆黑白名单管理信息", httpMethod = "POST") - @PostMapping(value = "/add") - public Result add(@RequestBody CarInfo carInfo) { - carInfoService.addCarInfo(carInfo); - return Result.ok(); + @ApiOperation(value = "添加车辆黑白名单管理信息", notes = "添加车辆黑白名单管理信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody CarInfo carInfo) { + return carInfoService.addCarInfo(carInfo); } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/ICarInfoService.java b/src/main/java/com/zhgd/xmgl/modules/car/service/ICarInfoService.java index 7a606c377..bf706f828 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/service/ICarInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/ICarInfoService.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.car.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.car.entity.CarInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -17,7 +18,7 @@ public interface ICarInfoService extends IService { IPage selectCarList(Map map); - void addCarInfo(CarInfo carInfo); + Result addCarInfo(CarInfo carInfo); void editCarInfo(CarInfo carInfo); diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java index 05185252f..97476bfd6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.async.AsyncHikvision; @@ -95,36 +96,41 @@ public class CarInfoServiceImpl extends ServiceImpl impl } @Override - public void addCarInfo(CarInfo carInfo) { - if (Objects.equals(carInfo.getCarModuleType(), 1)) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(CarInfo::getProjectSn, carInfo.getProjectSn()) - .eq(CarInfo::getCarNumber, carInfo.getCarNumber()) - .eq(CarInfo::getCarModuleType, 1); - int count = carInfoMapper.selectCount(queryWrapper); - if (count > 0) { - throw new OpenAlertException(MessageUtil.get("carNumberExistErr")); + public Result addCarInfo(CarInfo c) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(CarInfo::getProjectSn, c.getProjectSn()) + .eq(CarInfo::getCarNumber, c.getCarNumber()); + CarInfo carInfo = carInfoMapper.selectOne(queryWrapper); + if (carInfo != null) { + c.setId(carInfo.getId()); + editCar(c); + if (Objects.equals(c.getCarModuleType(), 1)) { + return Result.ok("车辆已存在,数据已覆盖更新"); + } else { + return Result.ok("车辆已存在,预约时间已覆盖更新"); } + } else { + carInfoMapper.insert(c); + //同步海康 + asyncHikvision.addCarInfoForHikvision(c); + return Result.ok(); } - carInfoMapper.insert(carInfo); - - //同步海康 - asyncHikvision.addCarInfoForHikvision(carInfo); } @Override public void editCarInfo(CarInfo carInfo) { - if (Objects.equals(carInfo.getCarModuleType(), 1)) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(CarInfo::getProjectSn, carInfo.getProjectSn()) - .eq(CarInfo::getCarNumber, carInfo.getCarNumber()) - .ne(CarInfo::getId, carInfo.getId()) - .eq(CarInfo::getCarModuleType, 1); - int count = carInfoMapper.selectCount(queryWrapper); - if (count > 0) { - throw new OpenAlertException(MessageUtil.get("carNumberExistErr")); - } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(CarInfo::getProjectSn, carInfo.getProjectSn()) + .eq(CarInfo::getCarNumber, carInfo.getCarNumber()) + .ne(CarInfo::getId, carInfo.getId()); + int count = carInfoMapper.selectCount(queryWrapper); + if (count > 0) { + throw new OpenAlertException(MessageUtil.get("carNumberExistErr")); } + editCar(carInfo); + } + + private void editCar(CarInfo carInfo) { CarInfo old = carInfoMapper.selectById(carInfo.getId()); carInfoMapper.updateById(carInfo);