Commit a5af9428 authored by 周健威's avatar 周健威

修改bug

parent bdf9468f
......@@ -33,6 +33,7 @@ import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -225,23 +226,23 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice())
?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()}
:vehicleModel.getRentDiscountPrice().split(",");
Integer rebate = new Integer(0);
HandleDiscountDTO handleDiscountDTO = new HandleDiscountDTO();
switch (MemberEnum.getByCode(dto.getMemberLevel())) {
case NORMAL:
modelAmount = handleDiscount(vehicleModel, prices, NORMAL, rebate);
handleDiscountDTO = handleDiscount(vehicleModel, prices, NORMAL);
detail.getOrder().setHasMemberRight(SYS_TRUE);
break;
case GOLD:
modelAmount = handleDiscount(vehicleModel, prices, GOLD, rebate);
handleDiscountDTO = handleDiscount(vehicleModel, prices, GOLD);
detail.getOrder().setHasMemberRight(SYS_TRUE);
break;
case DIAMOND:
modelAmount = handleDiscount(vehicleModel, prices, DIAMOND, rebate);
handleDiscountDTO = handleDiscount(vehicleModel, prices, DIAMOND);
detail.getOrder().setHasMemberRight(SYS_TRUE);
break;
}
detail.setRebate(rebate);
vehicleOrderItem.setUnitPrice(modelAmount);
detail.setRebate(handleDiscountDTO.getRebate());
vehicleOrderItem.setUnitPrice(handleDiscountDTO.getModelAmount());
}else {
modelAmount = vehicleModel.getPrice();
}
......@@ -314,9 +315,10 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
* @param memberEnum
* @return
*/
private BigDecimal handleDiscount(VehicleModel vehicleModel, String[] prices, MemberEnum memberEnum, Integer rebate) {
private HandleDiscountDTO handleDiscount(VehicleModel vehicleModel, String[] prices, MemberEnum memberEnum) {
BigDecimal modelAmount;//会员比例
BigDecimal hundred = BigDecimal.TEN;
Integer rebate = new Integer(0);
if(DISCOUNT_STATUS_MEMBER.equals(vehicleModel.getRentDiscountStatus())) {
rebate = memberEnum.getPercent();
BigDecimal rebatePercent = new BigDecimal(String.valueOf((rebate/100d)));
......@@ -326,7 +328,16 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
modelAmount = new BigDecimal(prices[(memberEnum.getCode() - 1)]);
rebate = modelAmount.divide(vehicleModel.getPrice()).multiply(hundred).setScale(0, BigDecimal.ROUND_UP).intValue();
}
return modelAmount;
return new HandleDiscountDTO(){{
setModelAmount(modelAmount);
setRebate(rebate);
}};
}
@Data
public class HandleDiscountDTO {
BigDecimal modelAmount;
Integer rebate;
}
private String handleChildren(RentVehicleBO detail, Integer vehicleDayNum) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment