/**
* 计算加油时长(分钟)
*
* @param dto
* @return
*/
/**
* 获取加油时间
* @param dto 加油明细DTO对象
* @return 返回加油时长
* @throws MachineBussinessException 抛出业务异常
*/
@Override
public BigDecimal getReFuelDuration(DoRefulDetailDTO dto) throws MachineBussinessException {
// 若加油前或加油后的时间为空,则抛出业务异常
if (ObjectUtil.isEmpty(dto.getRefuelBeforeTime()) || ObjectUtil.isEmpty(dto.getRefuelAfterTime())) {
throw new MachineBussinessException(MachineErrorCodeEnum.RE_FUL_TIME_DURATION_ERROR);
}
// 计算加油时长(分钟)
long duration = DateUtil.between(Date.from(dto.getRefuelBeforeTime().atZone(ZoneId.systemDefault()).toInstant()),
Date.from(dto.getRefuelAfterTime().atZone(ZoneId.systemDefault()).toInstant()), DateUnit.MINUTE);
return new BigDecimal(duration).setScale(2, RoundingMode.HALF_DOWN);
}
还没有评论,来说两句吧...