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