换电记录

This commit is contained in:
attiya 2025-04-30 10:33:29 +08:00
parent 80bda515df
commit 6fe21a5a22
4 changed files with 12 additions and 5 deletions

View File

@ -22,5 +22,5 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
* @param bikeId 车辆ID * @param bikeId 车辆ID
* @param receiverId 处理人ID * @param receiverId 处理人ID
*/ */
void doneChangeBattery(String bikeId,String receiverId); String doneChangeBattery(String bikeId,String receiverId);
} }

View File

@ -750,13 +750,14 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
} }
StaffFeign staffFeign = result.getData(); StaffFeign staffFeign = result.getData();
//匹配工单ID将其完成 //匹配工单ID将其完成
orderService.doneChangeBattery(ebikeBikeInfo.getBikeId(),String.valueOf(staffFeign.getStaffId())); String orderId = orderService.doneChangeBattery(ebikeBikeInfo.getBikeId(), String.valueOf(staffFeign.getStaffId()));
//生成换电记录 //生成换电记录
EbikeBikeBatterychange batteryChange = new EbikeBikeBatterychange(); EbikeBikeBatterychange batteryChange = new EbikeBikeBatterychange();
batteryChange.setBikeId(ebikeBikeInfo.getBikeId()); batteryChange.setBikeId(ebikeBikeInfo.getBikeId());
batteryChange.setNbatteryId(newBattery.getBatteryId()); batteryChange.setNbatteryId(newBattery.getBatteryId());
batteryChange.setObatteryId(oldBatteryId); batteryChange.setObatteryId(oldBatteryId);
batteryChange.setOperateUser(String.valueOf(staffFeign.getStaffId())); batteryChange.setOperateUser(String.valueOf(staffFeign.getStaffId()));
batteryChange.setOrderId(orderId);
ebikeBikeBatterychangeMapper.insert(batteryChange); ebikeBikeBatterychangeMapper.insert(batteryChange);
} }

View File

@ -55,7 +55,7 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
} }
@Override @Override
public void doneChangeBattery(String bikeId, String receiverId) { public String doneChangeBattery(String bikeId, String receiverId) {
QueryWrapper queryWrapper = QueryWrapper.create() QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_ORDER.BIKE_ID.eq(bikeId)) .where(EBIKE_BIKE_ORDER.BIKE_ID.eq(bikeId))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq("2")) .where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq("2"))
@ -68,5 +68,6 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
bikeOrder.setHandleAt(LocalDateTime.now()); bikeOrder.setHandleAt(LocalDateTime.now());
bikeOrder.setReceiverId(receiverId); bikeOrder.setReceiverId(receiverId);
this.mapper.update(bikeOrder); this.mapper.update(bikeOrder);
return bikeOrder.getOrderId();
} }
} }

View File

@ -340,7 +340,7 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
* @param userOrders 订单信息 * @param userOrders 订单信息
*/ */
void costCalculation(ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto, ResGPSDto resGpsDto, FeignEbikeRegionDto regionDto, EbikeUserOrders userOrders) { void costCalculation(ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto, ResGPSDto resGpsDto, FeignEbikeRegionDto regionDto, EbikeUserOrders userOrders) {
BigDecimal totalAmount = new BigDecimal(0); BigDecimal totalAmount = BigDecimal.ZERO;
List<EbikeOrderDetails> list = new ArrayList<>(); List<EbikeOrderDetails> list = new ArrayList<>();
//是否在运营区内 //是否在运营区内
boolean pointInOperation = bikeInOperation(resGpsDto.getLongitude(), resGpsDto.getLatitude(), regionDto.getOrgId(), regionDto.getRegionId()); boolean pointInOperation = bikeInOperation(resGpsDto.getLongitude(), resGpsDto.getLatitude(), regionDto.getOrgId(), regionDto.getRegionId());
@ -384,6 +384,11 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
default -> defaultCostCalculation(list, userOrders, feignEbikeSysRcostsetDto, userOrders.getOrderId()); default -> defaultCostCalculation(list, userOrders, feignEbikeSysRcostsetDto, userOrders.getOrderId());
}; };
totalAmount = totalAmount.add(decimal); totalAmount = totalAmount.add(decimal);
BigDecimal cappedAmount = feignEbikeSysRcostsetDto.getCappedAmount();
int result = cappedAmount.compareTo(totalAmount);
if (result == 1){
totalAmount = cappedAmount;
}
userOrders.setStatus(OrderStatus.PENDING_PAYMENT); userOrders.setStatus(OrderStatus.PENDING_PAYMENT);
userOrders.setTotalAmount(totalAmount); userOrders.setTotalAmount(totalAmount);
orderDetailsMapper.insertBatch(list); orderDetailsMapper.insertBatch(list);