Commit 4a471242 authored by hezhen's avatar hezhen

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

parents 3dcca720 66cc4779
......@@ -110,7 +110,7 @@ public class OrderItem implements Serializable {
*/
@Column(name = "good_id")
@ApiModelProperty(value = "商品id 有些为空如车损,免赔等")
private Integer goodId;
private String goodId;
/**
* 优惠券等扣减的价格
......
......@@ -32,7 +32,7 @@ public class OrderItemBiz extends BaseBiz<OrderItemMapper,OrderItem> {
@Autowired
VehicleFeign vehicleFeign;
public OrderItem initOrderItem(BigDecimal price, Integer num, String name, Integer goodId, ItemTypeEnum itemTypeEnum, String detail){
public OrderItem initOrderItem(BigDecimal price, Integer num, String name, String goodId, ItemTypeEnum itemTypeEnum, String detail){
return new OrderItem(){{
setMetaUnitPrice(price);
setUnitPrice(price);
......@@ -48,16 +48,17 @@ 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, String goodId, ItemTypeEnum itemTypeEnum){
return initOrderItem(price, num, name, goodId, itemTypeEnum, null);
}
public List<VMCalendarPriceCostDTO> getOverAmountList(Date endDate, Integer overDays, Integer modelId, Integer userId) {
public List<VMCalendarPriceCostDTO> getOverAmountList(Date endDate, Integer overDays, String vehicleId, Integer userId) {
List<VMCalendarPriceCostDTO> overAmountList = CollUtil.newArrayList();
//根据延期的天数算出 对应的日期价格
Date overStart = DateUtil.offsetDay(endDate, 1);
Date overEnd = DateUtil.offsetDay(overStart, overDays);
List<VehicleModelCalendarPriceDTO> overlist = vehicleFeign.findVehicleModelCalendarPriceByDate(overStart.getTime(), overEnd.getTime(), modelId, userId).getData();
// List<VehicleModelCalendarPriceDTO> overlist = vehicleFeign.findVehicleModelCalendarPriceByDate(overStart.getTime(), overEnd.getTime(), modelId, userId).getData();
List<VehicleModelCalendarPriceDTO> overlist = vehicleFeign.getPriceByVehicleIdFeignV2(vehicleId, overStart.toString(), overEnd.toString(), userId).getData();
for(VehicleModelCalendarPriceDTO vmcpd : overlist) {
overAmountList.add(BeanUtil.toBean(vmcpd, VMCalendarPriceCostDTO.class));
......
......@@ -122,7 +122,7 @@ public class OrderDelayBiz {
List<VMCalendarPriceCostDTO> vmcpcds = vehicleItemDTO.getVehicleDetail();
//获得延期天数费用
delayAmountList = orderItemBiz.getOverAmountList(vmcpcds.get(vmcpcds.size() - 1).getDate(), delayAddDays, orvd.getModelId(), orderPageVO.getUserId());
delayAmountList = orderItemBiz.getOverAmountList(vmcpcds.get(vmcpcds.size() - 1).getDate(), delayAddDays, orvd.getVehicleId(), orderPageVO.getUserId());
//处理免费天数和免费金额
delayAmountList.parallelStream().forEach( vmcpcd -> {
vmcpcd.setValidFreeDays(vmcpcd.getFreeDays());
......
......@@ -135,7 +135,9 @@ public class ShuntApplyController extends BaseController<ShuntApplyBiz, ShuntApp
return w;
}, " crt_time desc "), ShuntApplyVO.class);
pages.getData().forEach(data -> {
if(null != data.getCategoryId()) {
data.setVehicleCategory(vehicleFeign.getVehicleCategory(data.getCategoryId()).getData());
}
});
return ObjectRestResponse.succ(pages);
......@@ -221,7 +223,9 @@ public class ShuntApplyController extends BaseController<ShuntApplyBiz, ShuntApp
}, " crt_time desc "), StewardShuntApply.class);
list.getData().forEach(data -> {
if(null != data.getCategoryId()) {
data.setVehicleCategory(vehicleFeign.getVehicleCategory(data.getCategoryId()).getData());
}
});
return ObjectRestResponse.succ(list);
......@@ -348,7 +352,9 @@ public class ShuntApplyController extends BaseController<ShuntApplyBiz, ShuntApp
}), ShuntApplyController.ShuntApplyVO.class);
pages.getData().forEach(data -> {
if(null != data.getCategoryId()) {
data.setVehicleCategory(vehicleFeign.getVehicleCategory(data.getCategoryId()).getData());
}
if(StrUtil.isNotBlank(data.getOrderNo())) {
Map<String, Object> map = CollUtil.newHashMap();
......
......@@ -105,7 +105,7 @@ public class OrderActivityService extends AbstractOrderHandle<OrderActivityDetai
detail.getOrder().setGoodsAmount(activityProductSpecs.getGoodsPrice());
}
//设置Item
OrderItem memberOrderItem = orderItemBiz.initOrderItem(detail.getOrder().getGoodsAmount(), detail.getNumber(), detail.getName(), Integer.parseInt(detail.getProductId() + ""), ItemTypeEnum.ACTIVITY);
OrderItem memberOrderItem = orderItemBiz.initOrderItem(detail.getOrder().getGoodsAmount(), detail.getNumber(), detail.getName(), detail.getProductId() + "", ItemTypeEnum.ACTIVITY);
detail.setItems(new ArrayList<OrderItem>());
detail.getItems().add(memberOrderItem);
......
......@@ -163,7 +163,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
BigDecimal couponAmount = BigDecimal.ZERO;
//设置Item
OrderItem memberOrderItem = orderItemBiz.initOrderItem(detail.getBaseUserMemberLevel().getPrice(), 1, detail.getBaseUserMemberLevel().getName(), detail.getBaseUserMemberLevel().getId(), ItemTypeEnum.MEMBER);
OrderItem memberOrderItem = orderItemBiz.initOrderItem(detail.getBaseUserMemberLevel().getPrice(), 1, detail.getBaseUserMemberLevel().getName(), detail.getBaseUserMemberLevel().getId() + "", ItemTypeEnum.MEMBER);
detail.setItems(new ArrayList<OrderItem>());
detail.getItems().add(memberOrderItem);
......
......@@ -135,8 +135,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
initDictionary();
VehicleModel vehicleModel = vehicleFeign.get(bo.getModelId()).getData();
bo.setVehicleModel(vehicleModel);
// VehicleModel vehicleModel = vehicleFeign.get(bo.getModelId()).getData();
// bo.setVehicleModel(vehicleModel);
//根据还车城市设置还车公司id
if(SYS_FALSE.equals(bo.getEndCompanyId())) {
if(null != bo.getEndCity() && null != bo.getStartCity()) {
......@@ -388,6 +388,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
BigDecimal driverAmount = BigDecimal.ZERO;
BigDecimal damageSafeAmount = BigDecimal.ZERO;
BigDecimal couponAmount = BigDecimal.ZERO;
BigDecimal depositAmount = BigDecimal.ZERO;
String couponDesc = "";
Integer vehicleDayNum = 0;
Integer freeDayNum = 0;
......@@ -397,22 +398,19 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//当前用户
AppUserDTO dto = detail.getAppUserDTO();
//车型信息
VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData();
//车型信息
Vehicle vehicle = detail.getVehicle();
detail.initDate();
List<VehicleModelCalendarPriceDTO> metaVmcpds = vehicleFeign.getPriceByVehicleIdFeignV2(detail.getVehicleId(), detail.getStartDateStr(), detail.getEndDateStr(), dto.getUserid(), detail.getStartCompanyId()).getData();
List<VehicleModelCalendarPriceDTO> metaVmcpds = vehicleFeign.getPriceByVehicleIdFeignV2(detail.getVehicleId(), detail.getStartDateStr(), detail.getEndDateStr(), dto.getUserid()).getData();
List<VMCalendarPriceCostDTO> vmcpds = Convert.toList(VMCalendarPriceCostDTO.class, metaVmcpds);
//设置Item
VehicleItemDTO vehicleOrderItem = BeanUtil.toBean(
orderItemBiz.initOrderItem(vehicleModel.getPrice(), detail.getDayNum(), vehicleModel.getName()
, vehicleModel.getId(), ItemTypeEnum.VEHICLE_MODEL, JSONUtil.parseArray(vmcpds).toString())
orderItemBiz.initOrderItem(vehicle.getPrice(), detail.getDayNum(), vehicle.getName()
, vehicle.getId(), ItemTypeEnum.VEHICLE_MODEL, JSONUtil.parseArray(vmcpds).toString())
, VehicleItemDTO.class);
OrderItem driverOrderItem = orderItemBiz.initOrderItem(DRIVER_PRICE, detail.getDayNum(), "平台司机", null, ItemTypeEnum.DRIVER);
OrderItem damageSafeOrderItem = orderItemBiz.initOrderItem(DAMAGE_SAFE, detail.getDayNum(), "免赔费用", null, ItemTypeEnum.DAMAGE_SAFE);
......@@ -448,20 +446,20 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//如果用户存在,并且为会员,并且车辆有优惠价
//默认折扣默认100
detail.setRebate(100);
if(null != dto && SYS_TRUE.equals(dto.getIsMember()) && !NONE.getCode().equals(dto.getMemberLevel()) && !DISCOUNT_STATUS_NONE.equals(vehicleModel.getRentDiscountStatus())) {
String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice())
?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()}
:vehicleModel.getRentDiscountPrice().split(",");
//设置是否使用会员权益
for(VMCalendarPriceCostDTO vmcpcd : vehicleOrderItem.getVehicleDetail()) {
if(!vmcpcd.getNo_discount_price().equals(vmcpcd.getPrice())) {
detail.getOrder().setHasMemberRight(SYS_TRUE);
break;
}
}
detail.setRebate(dto.getDiscount());
}
// if(null != dto && SYS_TRUE.equals(dto.getIsMember()) && !NONE.getCode().equals(dto.getMemberLevel()) && !DISCOUNT_STATUS_NONE.equals(vehicleModel.getRentDiscountStatus())) {
// String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice())
// ?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()}
// :vehicleModel.getRentDiscountPrice().split(",");
// //设置是否使用会员权益
// for(VMCalendarPriceCostDTO vmcpcd : vehicleOrderItem.getVehicleDetail()) {
// if(!vmcpcd.getNo_discount_price().equals(vmcpcd.getPrice())) {
// detail.getOrder().setHasMemberRight(SYS_TRUE);
// break;
// }
// }
//
// detail.setRebate(dto.getDiscount());
// }
//计算价格
if(vehicleDayNum > 0) {
......@@ -524,18 +522,18 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
detail.setTrafficDeposit(vehicle.getVioDeposit());
detail.setReturnPayResidue(vehicle.getVioDeposit());
if(GOODS_DEPOSIT_TYPE_UP == detail.getGoodsDepositType()) {
orderAmount = orderAmount.add(goodsAmount).add(detail.getVehicleDeposit()).add(detail.getTrafficDeposit());
depositAmount = depositAmount.add(detail.getVehicleDeposit()).add(detail.getTrafficDeposit());
}else {
orderAmount = orderAmount.add(goodsAmount).add(detail.getTrafficDeposit());
depositAmount = depositAmount.add(detail.getTrafficDeposit());
}
realAmount = orderAmount.subtract(couponAmount);
orderAmount = orderAmount.add(goodsAmount).add(depositAmount);
//生成订单明细
RentVehiclePriceVO rvp = new RentVehiclePriceVO();
rvp.setDeposit(vehicleModel.getDeposit());
rvp.setDeposit(vehicle.getDeposit());
rvp.setDriverPrice(DRIVER_PRICE);
rvp.setDamageSafePrice(DAMAGE_SAFE);
rvp.setModelName(vehicleModel.getName());
rvp.setModelName(vehicle.getName());
rvp.setDayNum(detail.getDayNum());
rvp.setVehicleNum(1);
rvp.setDriverNum(1);
......@@ -573,6 +571,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
BigDecimal driverAmount = BigDecimal.ZERO;
BigDecimal damageSafeAmount = BigDecimal.ZERO;
BigDecimal couponAmount = BigDecimal.ZERO;
BigDecimal depositAmount = BigDecimal.ZERO;
String couponDesc = "";
Integer vehicleHourNum = 0;
Integer freeHourNum = 0;
......@@ -581,23 +580,23 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//当前用户
AppUserDTO dto = detail.getAppUserDTO();
//车型信息
VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData();
//
// //车型信息
// VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData();
//车辆信息
Vehicle vehicle = detail.getVehicle();
detail.initDate();
List<VehicleModelCalendarPriceDTO> metaVmcpds = vehicleFeign.getPriceByVehicleIdFeignV2(detail.getVehicleId(), detail.getStartDateStr(), detail.getEndDateStr(), dto.getUserid(), detail.getStartCompanyId()).getData();
List<VehicleModelCalendarPriceDTO> metaVmcpds = vehicleFeign.getPriceByVehicleIdFeignV2(detail.getVehicleId(), detail.getStartDateStr(), detail.getEndDateStr(), dto.getUserid()).getData();
List<VMCalendarPriceCostDTO> vmcpds = Convert.toList(VMCalendarPriceCostDTO.class, metaVmcpds);
//设置Item
VehicleItemDTO vehicleOrderItem = BeanUtil.toBean(
orderItemBiz.initOrderItem(vehicleModel.getPrice(), detail.getDayNum(), vehicleModel.getName()
, vehicleModel.getId(), ItemTypeEnum.VEHICLE_MODEL, JSONUtil.parseArray(vmcpds).toString())
orderItemBiz.initOrderItem(vehicle.getPrice(), detail.getDayNum(), vehicle.getName()
, vehicle.getId(), ItemTypeEnum.VEHICLE_MODEL, JSONUtil.parseArray(vmcpds).toString())
, VehicleItemDTO.class);
OrderItem driverOrderItem = orderItemBiz.initOrderItem(DRIVER_PRICE, detail.getDayNum(), "平台司机", null, ItemTypeEnum.DRIVER);
OrderItem damageSafeOrderItem = orderItemBiz.initOrderItem(DAMAGE_SAFE, detail.getDayNum(), "免赔费用", null, ItemTypeEnum.DAMAGE_SAFE);
......@@ -712,17 +711,18 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
detail.setTrafficDeposit(vehicle.getVioDeposit());
detail.setReturnPayResidue(vehicle.getVioDeposit());
if(GOODS_DEPOSIT_TYPE_UP == detail.getGoodsDepositType()) {
orderAmount = orderAmount.add(goodsAmount).add(detail.getVehicleDeposit()).add(detail.getTrafficDeposit());
depositAmount = depositAmount.add(detail.getVehicleDeposit()).add(detail.getTrafficDeposit());
}else {
orderAmount = orderAmount.add(goodsAmount).add(detail.getTrafficDeposit());
depositAmount = depositAmount.add(detail.getTrafficDeposit());
}
orderAmount = orderAmount.add(goodsAmount).add(depositAmount);
//生成订单明细
RentVehiclePriceVO rvp = new RentVehiclePriceVO();
rvp.setDeposit(vehicleModel.getDeposit());
rvp.setDeposit(depositAmount);
rvp.setDriverPrice(DRIVER_PRICE);
rvp.setDamageSafePrice(DAMAGE_SAFE);
rvp.setModelName(vehicleModel.getName());
rvp.setModelName(vehicle.getName());
rvp.setHourNum(detail.getHourNum());
rvp.setVehicleNum(1);
rvp.setDriverNum(1);
......
......@@ -222,9 +222,9 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
TourSpePriceVo tourSpePriceVo = objectRestResponse.getData();
//设置Item
OrderItem tourAdultItem = orderItemBiz.initOrderItem(tourSpePriceVo.getOriginalPrice(), detail.getAdultNum(), "成人", detail.getSpePriceId(), ItemTypeEnum.TOUR_ADULT);
OrderItem tourAdultItem = orderItemBiz.initOrderItem(tourSpePriceVo.getOriginalPrice(), detail.getAdultNum(), "成人", detail.getSpePriceId().toString(), ItemTypeEnum.TOUR_ADULT);
tourAdultItem.setUnitPrice(tourSpePriceVo.getPrice());
OrderItem tourChildItem = orderItemBiz.initOrderItem(tourSpePriceVo.getChildOriginalPrice(), detail.getChildNum(), "儿童", detail.getSpePriceId(), ItemTypeEnum.TOUR_CHILD);
OrderItem tourChildItem = orderItemBiz.initOrderItem(tourSpePriceVo.getChildOriginalPrice(), detail.getChildNum(), "儿童", detail.getSpePriceId().toString(), ItemTypeEnum.TOUR_CHILD);
tourChildItem.setUnitPrice(tourSpePriceVo.getChildPrice());
//人数 * 天数
......
......@@ -243,7 +243,7 @@ public interface VehicleFeign {
@GetMapping(value = "/vehicleInfo/v2/getPriceByVehicleFeign")
public ObjectRestResponse<List<VehicleModelCalendarPriceDTO>> getPriceByVehicleIdFeignV2(
@RequestParam("vehicleId") String vehicleId, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate, @RequestParam("userId") Integer userId, @RequestParam("companyId") Integer companyId);
@RequestParam("vehicleId") String vehicleId, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate, @RequestParam("userId") Integer userId);
@RequestMapping(value = "/vehicleInfo/selectByParam", method = RequestMethod.GET)
public RestResponse<List<Vehicle>> vehicleSelectByParam(@RequestParam(value = "vehicle")Map<String, Object> vehicleMap);
......
......@@ -405,17 +405,16 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
@GetMapping(value = "v2/getPriceByVehicleFeign")
@IgnoreUserToken
public ObjectRestResponse<List<VehicleModelCalendarPriceDTO>> getByVehicleIdFeignV2(String vehicleId, String startDate, String endDate, Integer userId, Integer companyId) {
return ObjectRestResponse.succ(getSynthesizePrice(vehicleId, startDate, endDate, userId, companyId));
public ObjectRestResponse<List<VehicleModelCalendarPriceDTO>> getByVehicleIdFeignV2(String vehicleId, String startDate, String endDate, Integer userId) {
return ObjectRestResponse.succ(getSynthesizePrice(vehicleId, startDate, endDate, userId));
}
public List<VehicleModelCalendarPriceDTO> getSynthesizePrice (String vehicleId, String startDate, String endDate, Integer userId, Integer companyId) {
public List<VehicleModelCalendarPriceDTO> getSynthesizePrice (String vehicleId, String startDate, String endDate, Integer userId) {
List<VehicleModelCalendarPriceDTO> priceDTOS = CollUtil.newArrayList();
cn.hutool.core.date.DateTime beginOfStartDate = DateUtil.beginOfDay(DateUtil.parse(startDate));
cn.hutool.core.date.DateTime endOfEndDate = DateUtil.endOfDay(DateUtil.parse(endDate));
//获取基本和周末价格
Vehicle vehicle = vehicleBiz.selectOne(new Vehicle(){{
setParkBranchCompanyId(companyId);
setId(vehicleId);
}});
......
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