Merge branch 'refs/heads/dev_zh_ty_20260108' into dev

This commit is contained in:
赵辉
2026-01-12 13:54:15 +08:00
7 changed files with 119 additions and 11 deletions
@@ -3089,14 +3089,16 @@ public class VehicleApplicationService {
*
* @param vehicleDto
* @return
*
*/
@Transactional(rollbackFor = Exception.class)
public Integer updatePilotDriver(VehicleDto vehicleDto) {
if (vehicleDto.getVehicleId() == null) {
throw new IllegalArgumentException("车辆ID不能为空");
}
boolean hasPilot1 = StringUtils.hasText(vehicleDto.getPilot1());
boolean hasPilot2 = StringUtils.hasText(vehicleDto.getPilot2());
boolean hasPilot1 = StringUtils.hasText(vehicleDto.getPilot1Id());
boolean hasPilot2 = StringUtils.hasText(vehicleDto.getPilot2Id());
// 两个都传了
if (hasPilot1 && hasPilot2) {
@@ -3106,17 +3108,61 @@ public class VehicleApplicationService {
if (!hasPilot1 && !hasPilot2) {
throw new IllegalArgumentException("请选择副驾");
}
UserDriverDTO userDriverDTO = new UserDriverDTO();
//将pilot1或是pilot2的id传给userDriverDTO,判断一下谁有值传谁
userDriverDTO.setUserId(Long.valueOf(hasPilot1 ? vehicleDto.getPilot1Id() : vehicleDto.getPilot2Id()));
userDriverDTO.setVehicleId(vehicleDto.getVehicleId());
Vehicle vehicle = vehicleMapper.selectById(vehicleDto.getVehicleId());
String modifyPilotId = vehicleDto.getModifyPilotId();
if (modifyPilotId != null){
UserDriverDTO userDriverDTO1 = new UserDriverDTO();
userDriverDTO1.setUserId(Long.valueOf(modifyPilotId));
userDriverDTO1.setVehicleId(vehicleDto.getVehicleId());
userServiceFeign.delectDriverBind(userDriverDTO1);
}
if (hasPilot1){
// 更新
vehicleMapper.updatePilotDriver(vehicleDto);
AjaxResult result = userServiceFeign.getDriverInfoByUserId(Long.valueOf(vehicleDto.getPilot1Id()));
UserDriverPo driverInfo = null;
if(result != null && "200".equals(String.valueOf(result.get("code")))){
// 提取数据
driverInfo = JSONUtil.toBean(JSONUtil.toJsonStr(result.get("data")), UserDriverPo.class);
vehicle.setPilot1(driverInfo.getUserName());
vehicle.setPilot1Id(vehicleDto.getPilot1Id());
// 更新车辆信息到数据库
vehicleDomainService.updateVehicle(vehicle);
// 在user库中的driver_vehicle_bind表中添加一条绑定信息
UserDriverDTO userDriverDTO = new UserDriverDTO();
userDriverDTO.setUserId(Long.valueOf(vehicleDto.getPilot1Id()));
userDriverDTO.setVehicleId(vehicleDto.getVehicleId());
userDriverDTO.setVehicleLicensePlateNumber(vehicle.getVehicleLicensePlateNumber());
userDriverDTO.setBindSource(2); // 2-副驾绑定
userServiceFeign.bindVehicleForHome(userDriverDTO);
}
userServiceFeign.bindVehicle(userDriverDTO);
} else if (hasPilot2) {
// 如果是pilot2的情况,需要类似处理
AjaxResult result = userServiceFeign.getDriverInfoByUserId(Long.valueOf(vehicleDto.getPilot2Id()));
UserDriverPo driverInfo = null;
if(result != null && "200".equals(String.valueOf(result.get("code")))){
// 提取数据
driverInfo = JSONUtil.toBean(JSONUtil.toJsonStr(result.get("data")), UserDriverPo.class);
vehicle.setPilot2(driverInfo.getUserName());
vehicle.setPilot2Id(vehicleDto.getPilot2Id());
// 更新车辆信息到数据库
vehicleDomainService.updateVehicle(vehicle);
// 在user库中的driver_vehicle_bind表中添加一条绑定信息
UserDriverDTO userDriverDTO = new UserDriverDTO();
userDriverDTO.setUserId(Long.valueOf(vehicleDto.getPilot2Id()));
userDriverDTO.setVehicleId(vehicleDto.getVehicleId());
userDriverDTO.setVehicleLicensePlateNumber(vehicle.getVehicleLicensePlateNumber());
userDriverDTO.setBindSource(2); // 2-副驾绑定
userServiceFeign.bindVehicleForHome(userDriverDTO);
}
}
return 1;
@@ -28,6 +28,19 @@ public interface UserServiceFeign {
@PostMapping("/userDriverApi/bindVehicle")
public AjaxResult bindVehicle(@RequestBody UserDriverDTO userDriverDTO);
/**
* 添加绑定关系
*/
@PostMapping("/userDriverApi/bindVehicleForHome")
public AjaxResult bindVehicleForHome(@RequestBody UserDriverDTO userDriverDTO);
/**
* 删除司机绑定关系
*/
@ApiOperation("删除司机绑定关系")
@PostMapping("/driverVehicleBindApi/delectDriverBind")
void delectDriverBind(@RequestBody UserDriverDTO userDriverDTO);
/**
* @Description 绑定车辆
* @Author Alex
@@ -204,4 +217,5 @@ public interface UserServiceFeign {
@GetMapping("/driverVehicleBindApi/isVehicleBinding/{vehicleLicensePlateNumber}")
R<Boolean> isVehicleBinding(
@PathVariable("vehicleLicensePlateNumber") String vehicleLicensePlateNumber);
}
@@ -437,4 +437,7 @@ public class VehicleDto extends BaseVOEntity implements Serializable
@ApiModelProperty(value = "车辆主体")
private Integer vehicleBody;
@ApiModelProperty(value = "被修改副驾id")
private String modifyPilotId;
}
@@ -69,8 +69,8 @@ public class VehicleApi extends BaseController
* 车辆绑定副驾
*/
@Log(title = "车辆管理-车辆绑定副驾", description = "车辆绑定副驾", businessType = BusinessType.UPDATE)
@PostMapping("/bindVehicle")
public R<Integer> bindVehicle(@RequestBody VehicleDto vehicleDto){
@GetMapping("/bindVehicle")
public R<Integer> bindVehicle(VehicleDto vehicleDto){
return R.ok(vehicleApplicationService.updatePilotDriver(vehicleDto));
}