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

修改bug

parent bdf9468f
...@@ -33,6 +33,7 @@ import com.xxfc.platform.vehicle.entity.VehicleModel; ...@@ -33,6 +33,7 @@ import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO; import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -225,23 +226,23 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -225,23 +226,23 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice()) String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice())
?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()} ?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()}
:vehicleModel.getRentDiscountPrice().split(","); :vehicleModel.getRentDiscountPrice().split(",");
Integer rebate = new Integer(0); HandleDiscountDTO handleDiscountDTO = new HandleDiscountDTO();
switch (MemberEnum.getByCode(dto.getMemberLevel())) { switch (MemberEnum.getByCode(dto.getMemberLevel())) {
case NORMAL: case NORMAL:
modelAmount = handleDiscount(vehicleModel, prices, NORMAL, rebate); handleDiscountDTO = handleDiscount(vehicleModel, prices, NORMAL);
detail.getOrder().setHasMemberRight(SYS_TRUE); detail.getOrder().setHasMemberRight(SYS_TRUE);
break; break;
case GOLD: case GOLD:
modelAmount = handleDiscount(vehicleModel, prices, GOLD, rebate); handleDiscountDTO = handleDiscount(vehicleModel, prices, GOLD);
detail.getOrder().setHasMemberRight(SYS_TRUE); detail.getOrder().setHasMemberRight(SYS_TRUE);
break; break;
case DIAMOND: case DIAMOND:
modelAmount = handleDiscount(vehicleModel, prices, DIAMOND, rebate); handleDiscountDTO = handleDiscount(vehicleModel, prices, DIAMOND);
detail.getOrder().setHasMemberRight(SYS_TRUE); detail.getOrder().setHasMemberRight(SYS_TRUE);
break; break;
} }
detail.setRebate(rebate); detail.setRebate(handleDiscountDTO.getRebate());
vehicleOrderItem.setUnitPrice(modelAmount); vehicleOrderItem.setUnitPrice(handleDiscountDTO.getModelAmount());
}else { }else {
modelAmount = vehicleModel.getPrice(); modelAmount = vehicleModel.getPrice();
} }
...@@ -314,9 +315,10 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -314,9 +315,10 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
* @param memberEnum * @param memberEnum
* @return * @return
*/ */
private BigDecimal handleDiscount(VehicleModel vehicleModel, String[] prices, MemberEnum memberEnum, Integer rebate) { private HandleDiscountDTO handleDiscount(VehicleModel vehicleModel, String[] prices, MemberEnum memberEnum) {
BigDecimal modelAmount;//会员比例 BigDecimal modelAmount;//会员比例
BigDecimal hundred = BigDecimal.TEN; BigDecimal hundred = BigDecimal.TEN;
Integer rebate = new Integer(0);
if(DISCOUNT_STATUS_MEMBER.equals(vehicleModel.getRentDiscountStatus())) { if(DISCOUNT_STATUS_MEMBER.equals(vehicleModel.getRentDiscountStatus())) {
rebate = memberEnum.getPercent(); rebate = memberEnum.getPercent();
BigDecimal rebatePercent = new BigDecimal(String.valueOf((rebate/100d))); BigDecimal rebatePercent = new BigDecimal(String.valueOf((rebate/100d)));
...@@ -326,7 +328,16 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -326,7 +328,16 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
modelAmount = new BigDecimal(prices[(memberEnum.getCode() - 1)]); modelAmount = new BigDecimal(prices[(memberEnum.getCode() - 1)]);
rebate = modelAmount.divide(vehicleModel.getPrice()).multiply(hundred).setScale(0, BigDecimal.ROUND_UP).intValue(); 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) { 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