换电记录

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 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();
//匹配工单ID将其完成
orderService.doneChangeBattery(ebikeBikeInfo.getBikeId(),String.valueOf(staffFeign.getStaffId()));
String orderId = orderService.doneChangeBattery(ebikeBikeInfo.getBikeId(), String.valueOf(staffFeign.getStaffId()));
//生成换电记录
EbikeBikeBatterychange batteryChange = new EbikeBikeBatterychange();
batteryChange.setBikeId(ebikeBikeInfo.getBikeId());
batteryChange.setNbatteryId(newBattery.getBatteryId());
batteryChange.setObatteryId(oldBatteryId);
batteryChange.setOperateUser(String.valueOf(staffFeign.getStaffId()));
batteryChange.setOrderId(orderId);
ebikeBikeBatterychangeMapper.insert(batteryChange);
}

View File

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

View File

@ -340,7 +340,7 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
* @param 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<>();
//是否在运营区内
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());
};
totalAmount = totalAmount.add(decimal);
BigDecimal cappedAmount = feignEbikeSysRcostsetDto.getCappedAmount();
int result = cappedAmount.compareTo(totalAmount);
if (result == 1){
totalAmount = cappedAmount;
}
userOrders.setStatus(OrderStatus.PENDING_PAYMENT);
userOrders.setTotalAmount(totalAmount);
orderDetailsMapper.insertBatch(list);