| | |
| | | import com.xiaopeng.api.model.maintenance.XpChargingRecord; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.xiaopeng.api.model.vehicleConvoy.XpVehicle; |
| | | import com.xiaopeng.api.vo.automaticPilot.VehiclePosition; |
| | | import com.xiaopeng.maintenance.model.query.XpChargingRecordPageQuery; |
| | | import com.xiaopeng.common.core.domain.R; |
| | | import com.xiaopeng.common.core.web.page.PageInfo; |
| | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.mongodb.core.MongoTemplate; |
| | | import org.springframework.data.mongodb.core.query.Criteria; |
| | | import org.springframework.data.mongodb.core.query.Query; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | |
| | | private XpVehicleClient xpVehicleClient; |
| | | @Autowired |
| | | private XpOperationUserClient xpOperationUserClient; |
| | | @Autowired |
| | | private MongoTemplate mongoTemplate; |
| | | @Override |
| | | public void startCharging(XpChargingRecordStartDTO dto, Long id) { |
| | | // 创建车辆充电记录 |
| | |
| | | xpChargingRecord.setVehicleId(dto.getVehicleId()); |
| | | xpChargingRecord.setStartTime(LocalDateTime.now()); |
| | | xpChargingRecord.setStartOperationsUserId(id); |
| | | // 查询车辆信息 |
| | | XpVehicle xpVehicle = xpVehicleClient.queryById(dto.getVehicleId()).getData(); |
| | | if(Objects.nonNull(xpVehicle)){ |
| | | // 查询车辆的续航里程 |
| | | VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class); |
| | | if(Objects.nonNull(vehiclePosition)){ |
| | | xpChargingRecord.setStartMileageRange(vehiclePosition.getMileageRange()); |
| | | }else { |
| | | xpChargingRecord.setStartMileageRange(0F); |
| | | } |
| | | } |
| | | this.save(xpChargingRecord); |
| | | } |
| | | |
| | |
| | | public void stopCharging(XpChargingRecordStopDTO dto, Long id) { |
| | | // 查询车辆充电记录 进行修改 |
| | | XpChargingRecord xpChargingRecord = this.getById(dto.getId()); |
| | | // 查询车辆信息 |
| | | XpVehicle xpVehicle = xpVehicleClient.queryById(xpChargingRecord.getVehicleId()).getData(); |
| | | xpChargingRecord.setVehicleId(null); |
| | | xpChargingRecord.setEndChargingPicture(dto.getEndChargingPicture()); |
| | | xpChargingRecord.setEndRemainingBattery(dto.getEndRemainingBattery()); |
| | | xpChargingRecord.setEndTime(LocalDateTime.now()); |
| | | xpChargingRecord.setEndOperationsUserId(id); |
| | | if(Objects.nonNull(xpVehicle)){ |
| | | // 查询车辆的续航里程 |
| | | VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class); |
| | | if(Objects.nonNull(vehiclePosition)){ |
| | | xpChargingRecord.setStartMileageRange(vehiclePosition.getMileageRange()); |
| | | }else { |
| | | xpChargingRecord.setStartMileageRange(0F); |
| | | } |
| | | } |
| | | this.updateById(xpChargingRecord); |
| | | } |
| | | |