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

修改代码

parent 480e7435
package com.xxfc.platform.order.pojo.order; package com.xxfc.platform.order.pojo.order;
import cn.hutool.core.date.DateUtil;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.xxfc.platform.activity.entity.Coupon; import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
...@@ -12,6 +13,7 @@ import com.xxfc.platform.vehicle.pojo.BookVehicleVO; ...@@ -12,6 +13,7 @@ import com.xxfc.platform.vehicle.pojo.BookVehicleVO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
...@@ -53,4 +55,19 @@ public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail ...@@ -53,4 +55,19 @@ public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail
*/ */
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
Integer useType = 1; Integer useType = 1;
/**
* 开始时间
*/
private Date startDate;
/**
* 开始时间
*/
private Date endDate;
public void initDate() {
this.startDate = DateUtil.date(getStartTime());
this.endDate = DateUtil.date(getEndDate());
}
} }
...@@ -40,10 +40,15 @@ public class RentVehiclePriceVO extends OrderPriceVO{ ...@@ -40,10 +40,15 @@ public class RentVehiclePriceVO extends OrderPriceVO{
// private Integer originDayNum; // private Integer originDayNum;
/** /**
* 免费天数 * 消耗的免费天数
*/ */
private Integer freeDayNum = 0; private Integer freeDayNum = 0;
/**
* 扣减天数
*/
private Integer cutDayNum = 0;
/** /**
* 免费价格 * 免费价格
*/ */
......
...@@ -18,7 +18,7 @@ import java.math.BigDecimal; ...@@ -18,7 +18,7 @@ import java.math.BigDecimal;
*/ */
@Service @Service
public class OrderItemBiz extends BaseBiz<OrderItemMapper,OrderItem> { public class OrderItemBiz extends BaseBiz<OrderItemMapper,OrderItem> {
public OrderItem initOrderItem(BigDecimal price, Integer num, String name, Integer goodId, ItemTypeEnum itemTypeEnum){ public OrderItem initOrderItem(BigDecimal price, Integer num, String name, Integer goodId, ItemTypeEnum itemTypeEnum, String detail){
return new OrderItem(){{ return new OrderItem(){{
setMetaUnitPrice(price); setMetaUnitPrice(price);
setUnitPrice(price); setUnitPrice(price);
...@@ -30,6 +30,11 @@ public class OrderItemBiz extends BaseBiz<OrderItemMapper,OrderItem> { ...@@ -30,6 +30,11 @@ public class OrderItemBiz extends BaseBiz<OrderItemMapper,OrderItem> {
setName(name); setName(name);
setGoodId(goodId); setGoodId(goodId);
setType(itemTypeEnum.getCode()); setType(itemTypeEnum.getCode());
setDetail(detail);
}}; }};
} }
public OrderItem initOrderItem(BigDecimal price, Integer num, String name, Integer goodId, ItemTypeEnum itemTypeEnum){
return initOrderItem(price, num, name, goodId, itemTypeEnum, null);
}
} }
\ No newline at end of file
...@@ -38,6 +38,7 @@ import com.xxfc.platform.vehicle.entity.VehicleBookRecord; ...@@ -38,6 +38,7 @@ import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleModel; 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.RentVehicleBookDTO; import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelCalendarPriceDTO;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo; import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -227,6 +228,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -227,6 +228,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
String couponDesc = ""; String couponDesc = "";
Integer vehicleDayNum = 0; Integer vehicleDayNum = 0;
Integer freeDayNum = 0; Integer freeDayNum = 0;
Integer cutDayNum = 0;
//当前用户 //当前用户
AppUserDTO dto = detail.getAppUserDTO(); AppUserDTO dto = detail.getAppUserDTO();
...@@ -234,16 +236,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -234,16 +236,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//车型信息 //车型信息
VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData(); VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData();
//itemDetail detail.initDate();
List<OrderItemDetailDTO> orderItemDetailDTOS = CollUtil.newArrayList(new OrderItemDetailDTO() {{ List<VehicleModelCalendarPriceDTO> vmcpds = vehicleFeign.findVehicleModelCalendarPriceByDate(detail.getStartDate(), detail.getEndDate(), detail.getModelId(), dto.getUserid());
setDay(20191015);
setPrice(BigDecimal.ONE);
}}, new OrderItemDetailDTO() {{
setDay(20191016);
setPrice(BigDecimal.TEN);
}});
//orderItemDetailDTOS.parallelStream().
//设置Item //设置Item
OrderItem vehicleOrderItem = orderItemBiz.initOrderItem(vehicleModel.getPrice(), detail.getDayNum(), vehicleModel.getName(), vehicleModel.getId(), ItemTypeEnum.VEHICLE_MODEL); OrderItem vehicleOrderItem = orderItemBiz.initOrderItem(vehicleModel.getPrice(), detail.getDayNum(), vehicleModel.getName(), vehicleModel.getId(), ItemTypeEnum.VEHICLE_MODEL);
...@@ -253,20 +248,27 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -253,20 +248,27 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
detail.setItems(new ArrayList<OrderItem>()); detail.setItems(new ArrayList<OrderItem>());
detail.getItems().add(vehicleOrderItem); detail.getItems().add(vehicleOrderItem);
//如果用户存在,并且为会员,并且车辆有优惠价 //如果用户存在,免费天数
if(null != dto && null != detail.getRentFreeDay() && detail.getRentFreeDay() > 0 ) { if(null != dto && null != detail.getRentFreeDay() && detail.getRentFreeDay() > 0 ) {
if(null == dto.getRentFreeDays() || dto.getRentFreeDays() <= 0) { if(null == dto.getRentFreeDays() || dto.getRentFreeDays() <= 0) {
throw new BaseException(ResultCode.PARAM_EPIRE_CODE, new HashSet<String>() {{ throw new BaseException(ResultCode.PARAM_EPIRE_CODE, new HashSet<String>() {{
add("免费租车天数不存在或为0"); add("免费租车天数不存在或为0");
}}); }});
} }
if(detail.getDayNum() > dto.getRentFreeDays()) {
freeDayNum = dto.getRentFreeDays(); //循环价格列表 获得对应消耗的免费天数
}else { for(VehicleModelCalendarPriceDTO vmcpd : vmcpds) {
freeDayNum = detail.getDayNum(); //如果新的相加消耗天数 大于 拥有天数
if(freeDayNum+ vmcpd.getFreeDays() > dto.getRentFreeDays()) {
//freeDayNum = dto.getRentFreeDays();
break;
}else {
freeDayNum += detail.getDayNum();
cutDayNum += 1;
}
} }
vehicleOrderItem.setCutNum(freeDayNum); vehicleOrderItem.setCutNum(cutDayNum);
vehicleDayNum = detail.getDayNum() - freeDayNum; vehicleDayNum = detail.getDayNum() - cutDayNum;
detail.getOrder().setHasMemberRight(SYS_TRUE); detail.getOrder().setHasMemberRight(SYS_TRUE);
}else { }else {
vehicleDayNum = detail.getDayNum(); vehicleDayNum = detail.getDayNum();
...@@ -376,6 +378,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -376,6 +378,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp.setVehicleDayNum(vehicleDayNum); rvp.setVehicleDayNum(vehicleDayNum);
rvp.setFreeDayNum(freeDayNum); rvp.setFreeDayNum(freeDayNum);
rvp.setCutDayNum(cutDayNum);
rvp.setFreeAmount(vehicleOrderItem.getCutAmount()); rvp.setFreeAmount(vehicleOrderItem.getCutAmount());
rvp.setBuyVehicleAmount(vehicleOrderItem.getBuyAmount()); rvp.setBuyVehicleAmount(vehicleOrderItem.getBuyAmount());
rvp.setRealVehicleAmount(vehicleOrderItem.getRealAmount()); rvp.setRealVehicleAmount(vehicleOrderItem.getRealAmount());
......
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