修改车辆上架记录接口

This commit is contained in:
小朱 2025-04-22 16:17:09 +08:00
parent e227154587
commit d27d38df2d

View File

@ -41,6 +41,7 @@ import java.time.Duration;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@ -55,8 +56,7 @@ import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeBikeInfoTableDef.E
import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeBikeOrderTableDef.EBIKE_BIKE_ORDER;
import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeCarStatusInfoTableDef.EBIKE_CAR_STATUS_INFO;
import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeEcuInfoTableDef.EBIKE_ECU_INFO;
import static com.mybatisflex.core.query.QueryMethods.max;
import static com.mybatisflex.core.query.QueryMethods.select;
import static com.mybatisflex.core.query.QueryMethods.*;
/**
* 车辆基本信息 服务层实现
@ -111,6 +111,8 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
private MinioUtil minioUtil;
@Autowired
private GeoCodingUtil geoCodingUtil;
@Autowired
private EbikeVehicleListingRecordsMapper ebikeVehicleListingRecordsMapper;
@Override
public EbikeBikeInfo getByBikeCode(String bikeCode) {
@ -365,6 +367,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
try {
ebikeBikeInfoMapper.vehicleLeaveWarehouse(reqBulkDeliveryDto.getBikeCode(),
reqBulkDeliveryDto.getStatus(), reqBulkDeliveryDto.getReginId());
batchRecordBikeListingInfo(reqBulkDeliveryDto);
return true;
} catch (Exception e) {
log.error("vehicleLeaveWarehouse===>{}", e.getMessage() + Arrays.toString(e.getStackTrace()));
@ -1082,4 +1085,44 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
}
return resEbikeBikeWorkOrderDto;
}
/**
* 批量记录车辆上架信息
*
* @param reqBulkDeliveryDto 请求参数
*/
public void batchRecordBikeListingInfo(ReqBulkDeliveryDto reqBulkDeliveryDto) {
// 获取车辆上架的车牌列表
List<String> bikeCode = reqBulkDeliveryDto.getBikeCode();
String tokenValue = StpUtil.getTokenValue();
JsonResult<StaffFeign> result = staffFeignClient.getInfoByToken(tokenValue);
if (result.getCode() != Code.SUCCESS) {
throw new RuntimeException("获取用户信息失败");
}
StaffFeign staffFeign = result.getData();
// 获取当前操作用户和时间
String operatorName = staffFeign.getStaffId().toString();
LocalDateTime currentTime = LocalDateTime.now();
String batch = currentTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); // 格式化当前时间为年月日时分秒形式
// 创建用于批量插入的记录列表
List<EbikeVehicleListingRecords> recordsList = new ArrayList<>(bikeCode.size());
// 遍历车辆编号列表生成每个记录对象
for (String bikeId : bikeCode) {
EbikeVehicleListingRecords record = new EbikeVehicleListingRecords();
record.setBatch(batch);
record.setBikeCode(bikeId);
String reginId = reqBulkDeliveryDto.getReginId();
// 根据reginId是否为空设置内容
record.setContent(reginId.isEmpty() ? "车辆批量下架" : "车辆批量上架");
record.setOperationType(reginId.isEmpty() ? 0 : 1);
record.setOperateUser(operatorName);
record.setOperateTime(currentTime);
record.setReginId(reqBulkDeliveryDto.getReginId());
recordsList.add(record);
}
// 如果有记录则批量插入
if (!recordsList.isEmpty()) {
ebikeVehicleListingRecordsMapper.insertBatch(recordsList);
}
}
}