修改车辆编辑BUG

master
chents 3 years ago
parent 39b156e50e
commit f6a9fc687c
  1. 41
      src/main/java/org/springblade/modules/business/controller/CarAdminController.java
  2. 2
      src/main/java/org/springblade/modules/business/controller/CarLiveChannelController.java
  3. 2
      src/main/java/org/springblade/modules/business/service/impl/CarAdminServiceImpl.java
  4. 2
      src/main/java/org/springblade/modules/business/vo/CarLiveChannelVo.java

@ -67,29 +67,42 @@ public class CarAdminController extends BladeController {
public R submit(@Valid @RequestBody CarAdminVo carAdminVo) { public R submit(@Valid @RequestBody CarAdminVo carAdminVo) {
CarAdmin carAdmin = new CarAdmin(); CarAdmin carAdmin = new CarAdmin();
BeanUtils.copyProperties(carAdminVo, carAdmin); BeanUtils.copyProperties(carAdminVo, carAdmin);
boolean success = carService.saveOrUpdate(carAdmin); if (carAdmin.getId() == null) {
if (success) { // 新增车辆信息
//保存或更新直播通道信息 carService.save(carAdmin);
// 获取新增车辆信息的id
Long carId = carAdmin.getId();
// 遍历直播通道列表,设置外键为新增车辆信息的id,然后新增直播通道
List<CarLiveChannelVo> carLiveChannelVoList = carAdminVo.getCarLiveChannelVoList(); List<CarLiveChannelVo> carLiveChannelVoList = carAdminVo.getCarLiveChannelVoList();
if (CollectionUtils.isNotEmpty(carLiveChannelVoList)) { if (CollectionUtils.isNotEmpty(carLiveChannelVoList)) {
List<CarLiveChannel> carLiveChannelList = new ArrayList<>();
for (CarLiveChannelVo carLiveChannelVo : carLiveChannelVoList) { for (CarLiveChannelVo carLiveChannelVo : carLiveChannelVoList) {
carLiveChannelVo.setCarId(carId);
CarLiveChannel carLiveChannel = new CarLiveChannel(); CarLiveChannel carLiveChannel = new CarLiveChannel();
BeanUtils.copyProperties(carLiveChannelVo, carLiveChannel); BeanUtils.copyProperties(carLiveChannelVo, carLiveChannel);
carLiveChannel.setCarId(carAdmin.getId()); carLiveChannelService.save(carLiveChannel);
carLiveChannel.setCode(carLiveChannelVo.getCode());
carLiveChannel.setStatus(carLiveChannelVo.getStatus());
carLiveChannel.setChannelName(carLiveChannelVo.getChannelName());
carLiveChannelList.add(carLiveChannel);
} }
carLiveChannelService.saveOrUpdateBatch(carLiveChannelList);
} }
//更新车辆信息下的直播通道数量 } else {
carAdmin.setAmount((long) carLiveChannelVoList.size()); // 1. 修改车辆信息
carService.updateById(carAdmin); carService.updateById(carAdmin);
return R.success("true");
// 2. 根据车辆id删除原有通道
QueryWrapper<CarLiveChannel> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("car_id",carAdmin.getId());
carLiveChannelService.remove(queryWrapper);
// 3. 遍历直播通道列表,设置外键为新增车辆信息的id,然后新增直播通道
Long carId = carAdmin.getId();
List<CarLiveChannelVo> carLiveChannelVoList = carAdminVo.getCarLiveChannelVoList();
if (CollectionUtils.isNotEmpty(carLiveChannelVoList)) {
for (CarLiveChannelVo carLiveChannelVo : carLiveChannelVoList) {
carLiveChannelVo.setCarId(carId);
CarLiveChannel carLiveChannel = new CarLiveChannel();
BeanUtils.copyProperties(carLiveChannelVo, carLiveChannel);
carLiveChannelService.save(carLiveChannel);
}
}
} }
return R.fail("保存或更新失败"); return R.success("true");
} }

@ -54,7 +54,7 @@ public class CarLiveChannelController extends BladeController {
@ApiOperation(value = "修改直播通道", notes = "传入carLiveChannel") @ApiOperation(value = "修改直播通道", notes = "传入carLiveChannel")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public R updateLiveChannel(@Valid @RequestBody CarLiveChannelVo carLiveChannelVo) { public R updateLiveChannel(@Valid @RequestBody CarLiveChannelVo carLiveChannelVo) {
CarLiveChannel carLiveChannel = carLiveChannelService.getById(carLiveChannelVo.getId()); CarLiveChannel carLiveChannel = carLiveChannelService.getById(carLiveChannelVo.getCarId());
if (carLiveChannel == null) { if (carLiveChannel == null) {
return R.fail("该直播通道不存在"); return R.fail("该直播通道不存在");
} }

@ -66,7 +66,7 @@ public class CarAdminServiceImpl extends BaseServiceImpl<CarAdminMapper, CarAdmi
ArrayList<CarLiveChannelVo> carLiveChannelVoList = new ArrayList<>(); ArrayList<CarLiveChannelVo> carLiveChannelVoList = new ArrayList<>();
for(CarLiveChannel carLiveChannel : carLiveChannelList){ for(CarLiveChannel carLiveChannel : carLiveChannelList){
CarLiveChannelVo carLiveChannelVo = new CarLiveChannelVo(); CarLiveChannelVo carLiveChannelVo = new CarLiveChannelVo();
carLiveChannelVo.setId(carLiveChannel.getId()); carLiveChannelVo.setCarId(carLiveChannel.getId());
carLiveChannelVo.setChannelName(carLiveChannel.getChannelName()); carLiveChannelVo.setChannelName(carLiveChannel.getChannelName());
carLiveChannelVo.setStatus(carLiveChannel.getStatus()); carLiveChannelVo.setStatus(carLiveChannel.getStatus());
carLiveChannelVoList.add(carLiveChannelVo); carLiveChannelVoList.add(carLiveChannelVo);

@ -13,7 +13,7 @@ public class CarLiveChannelVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Long id; private Long carId;
//直播通道号 //直播通道号
private Integer code; private Integer code;

Loading…
Cancel
Save