Commit de177794 authored by hezhen's avatar hezhen

Merge branch 'dev-chw' of http://113.105.137.151:22280/youjj/cloud-platform into dev-chw

parents 0764491c 32d574a6
......@@ -84,6 +84,13 @@ public class OrderRentVehicleDetail implements Serializable {
@Column(name = "day_num")
@ApiModelProperty(value = "天数")
private Integer dayNum;
/**
* 天数
*/
@Column(name = "hour_num")
@ApiModelProperty(value = "天数")
private Integer hourNum;
/**
* 取车地点
......
......@@ -55,6 +55,10 @@ public class AddRentVehicleDTO extends AddOrderCommonDTO{
@ApiModelProperty(value = "天数")
private Integer dayNum;
//小时数
@ApiModelProperty(value = "小时数")
private Integer hourNum;
//取车地点
@ApiModelProperty(value = "取车地点")
private String startAddr;
......
......@@ -21,6 +21,10 @@ public class RentVehiclePriceVO extends OrderPriceVO{
Integer dayNum = 0;
@ApiModelProperty(value = "扣除免费天数后的车辆天数")
Integer vehicleDayNum = 0;
@ApiModelProperty(value = "总小时数")
Integer hourNum = 0;
@ApiModelProperty(value = "扣除免费小时后车辆小时数(暂时没有免费小时概念,保留)")
Integer vehicleHourNum = 0;
@ApiModelProperty(value = "车辆个数")
Integer vehicleNum = 0;
@ApiModelProperty(value = "司机个数")
......@@ -35,6 +39,8 @@ public class RentVehiclePriceVO extends OrderPriceVO{
BigDecimal damageSafePrice = BigDecimal.ZERO;
@ApiModelProperty(value = "费用详情")
private String costDetail = "";
@ApiModelProperty(value = "价格类型:1-按天;2-按小时")
private Integer priceType;
// /**
// * 原租车天数
......@@ -46,6 +52,11 @@ public class RentVehiclePriceVO extends OrderPriceVO{
*/
private Integer freeDayNum = 0;
/**
* 消耗的免费小时数 (暂时没有免费小时概念,保留)
*/
private Integer freeHourNum = 0;
/**
* 扣减天数
*/
......
......@@ -105,6 +105,7 @@ public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleDetailMapper, O
public RentVehicleBO initRentVehicleBO(AddRentVehicleDTO vo) {
//计算天数
vo.setDayNum(orderCalculateBiz.getIncludeDays(vo.getStartTime(), vo.getEndTime()));
vo.setHourNum(orderCalculateBiz.getIncludeHours(vo.getStartTime(), vo.getEndTime()));
if(null == vo.getEndCompanyId() || vo.getEndCompanyId().equals(0)) {
if(StrUtil.isBlank(vo.getEndAddr())) {
......
......@@ -385,6 +385,39 @@ public class OrderCalculateBiz {
return bookDays;
}
/**
* 计算包含多少小时
* @param startLong
* @param endLong
* @return
*/
public Integer getIncludeHours(Long startLong, Long endLong) {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
Long hourLong = (60L * 60L * 1000L);
//Long dayLong = hourLong * 24;
Long bufferLong = 0L;
//计算:使用天数 当前时间 - 开始时间的0时0分0秒
Long bookTimeLag = endLong - startLong;
//默认 已使用了1小时
if(bookTimeLag <= 0) {
return 1;
}
log.info("bookTimeLag {}", new BigDecimal(bookTimeLag + ""));
log.info("divide {}", new BigDecimal(hourLong+ ""));
Integer hourDays = new BigDecimal(bookTimeLag + "").divide(new BigDecimal(hourLong+ ""), 0, RoundingMode.DOWN).intValue();
Long excess = bookTimeLag%hourLong;
if(excess > bufferLong) {
hourDays += 1;
}
if(0 == hourDays) {
hourDays = 1;
}
return hourDays;
}
public OrderRefundPriceVO getPriceCalculate (String no, OrderPageVO orderPageVO) {
//根据no 查订单
......
......@@ -547,7 +547,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp.initParamJson();
//设置收费明细
costDetail(rvp, handleChildren(detail, vehicleDayNum));
costDetail(rvp, handleChildren(detail));
return rvp;
}
......@@ -561,8 +561,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
BigDecimal damageSafeAmount = BigDecimal.ZERO;
BigDecimal couponAmount = BigDecimal.ZERO;
String couponDesc = "";
Integer vehicleDayNum = 0;
Integer freeDayNum = 0;
Integer vehicleHourNum = 0;
Integer freeHourNum = 0;
//抵消的天数
Integer offsetNum = 0;
......@@ -589,27 +589,30 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
detail.setItems(new ArrayList<OrderItem>());
detail.getItems().add(vehicleOrderItem);
//如果用户存在,免费天数
if(null != dto && null != detail.getRentFreeDay() && detail.getRentFreeDay() > 0 ) {
if(null == dto.getRentFreeDays() || dto.getRentFreeDays() <= 0) {
throw new BaseException(ResultCode.PARAM_EPIRE_CODE, new HashSet<String>() {{
add("免费租车天数不存在或为0");
}});
}
// //循环价格列表 获得对应消耗的免费天数
vehicleOrderItem.initDetail(dto.getRentFreeDays());
freeDayNum = vehicleOrderItem.getCutNum();
offsetNum = vehicleOrderItem.getOffsetNum();
vehicleDayNum = detail.getDayNum() - offsetNum;
detail.getOrder().setHasMemberRight(SYS_TRUE);
}else {
vehicleOrderItem.initDetail(0);
vehicleDayNum = detail.getDayNum();
}
// //如果用户存在,免费天数
// if(null != dto && null != detail.getRentFreeDay() && detail.getRentFreeDay() > 0 ) {
// if(null == dto.getRentFreeDays() || dto.getRentFreeDays() <= 0) {
// throw new BaseException(ResultCode.PARAM_EPIRE_CODE, new HashSet<String>() {{
// add("免费租车天数不存在或为0");
// }});
// }
//
//// //循环价格列表 获得对应消耗的免费天数
// vehicleOrderItem.initDetail(dto.getRentFreeDays());
// freeDayNum = vehicleOrderItem.getCutNum();
// offsetNum = vehicleOrderItem.getOffsetNum();
// vehicleDayNum = detail.getDayNum() - offsetNum;
// detail.getOrder().setHasMemberRight(SYS_TRUE);
// }else {
// vehicleOrderItem.initDetail(0);
// vehicleDayNum = detail.getDayNum();
// }
//
// vmcpds = vehicleOrderItem.getVehicleDetail();
// detail.setFreeDays(freeDayNum);
vmcpds = vehicleOrderItem.getVehicleDetail();
detail.setFreeDays(freeDayNum);
vehicleOrderItem.initDetail(0);
vehicleHourNum = detail.getHourNum();
//计算价格
//计算车辆费用
......@@ -633,7 +636,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
}
//计算价格
if(vehicleDayNum > 0) {
if(vehicleHourNum > 0) {
for(int i = offsetNum; i < vmcpds.size(); i++) {
vehicleAmount = vehicleAmount.add(vmcpds.get(i).getConsumeAmount());
metaVehicleAmount = metaVehicleAmount.add(vmcpds.get(i).getNo_discount_price());
......@@ -697,7 +700,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp.setDriverPrice(DRIVER_PRICE);
rvp.setDamageSafePrice(DAMAGE_SAFE);
rvp.setModelName(vehicleModel.getName());
rvp.setDayNum(detail.getDayNum());
rvp.setHourNum(detail.getHourNum());
rvp.setVehicleNum(1);
rvp.setDriverNum(1);
rvp.setCouponAmount(couponAmount);
......@@ -708,9 +711,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp.setVehicleAmount(vehicleAmount);
rvp.setDamageSafeAmount(damageSafeAmount);
rvp.setModelAmount(vehicleOrderItem.getUnitPrice());
rvp.setVehicleDayNum(vehicleDayNum);
rvp.setVehicleHourNum(vehicleHourNum);
rvp.setFreeDayNum(freeDayNum);
rvp.setFreeHourNum(0);
rvp.setCutDayNum(offsetNum);
rvp.setFreeAmount(vehicleOrderItem.getCutAmount());
rvp.setBuyVehicleAmount(vehicleOrderItem.getBuyAmount());
......@@ -721,7 +724,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp.initParamJson();
//设置收费明细
costDetail(rvp, handleChildren(detail, vehicleDayNum));
costDetail(rvp, handleChildren(detail));
return rvp;
}
......@@ -757,7 +760,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
Integer rebate;
}
private String handleChildren(RentVehicleBO detail, Integer vehicleDayNum) {
private String handleChildren(RentVehicleBO detail) {
StringBuffer childrenStr = new StringBuffer("");
// if(vehicleDayNum > 0) {
childrenStr.append(",${tem_0101}");
......
......@@ -51,6 +51,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
@RestController
......@@ -75,11 +76,12 @@ public class ChwAppVehicleController extends BaseController<VehicleBiz> implemen
}
@ApiOperation("vehicleBrand查询所有")
@RequestMapping(value = "/vehicleBrand/all",method = RequestMethod.GET)
@RequestMapping(value = "/vehicleBrand/alls",method = RequestMethod.GET)
@ResponseBody
@IgnoreUserToken
public List<VehicleBrand> all() {
return vehicleBrandBiz.selectListAll();
public List<VehicleBrand> all(VehicleBrand vehicleBrand) {
vehicleBrand.setIsDel(SYS_FALSE);
return vehicleBrandBiz.selectList(vehicleBrand);
}
@ApiOperation("vehicleCategory查询分页")
......@@ -92,4 +94,13 @@ public class ChwAppVehicleController extends BaseController<VehicleBiz> implemen
return vehicleCategoryBiz.selectPageByQuery(query);
}
@ApiOperation("vehicleCategory查询所有")
@RequestMapping(value = "/vehicleCategory/alls",method = RequestMethod.GET)
@ResponseBody
@IgnoreUserToken
public List<VehicleCategory> vehicleCategoryAll(VehicleCategory vehicleCategory) {
vehicleCategory.setIsDel(SYS_FALSE);
return vehicleCategoryBiz.selectList(vehicleCategory);
}
}
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