Commit ef3e768d authored by hezhen's avatar hezhen

Merge branch 'master-chw-price' of...

Merge branch 'master-chw-price' of http://113.105.137.151:22280/youjj/cloud-platform into master-chw-price
parents cf61760e 13de83e7
......@@ -3,9 +3,11 @@ package com.xxfc.platform.order.biz.inner;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.util.AssertUtils;
import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.app.feign.ConfigFeign;
......@@ -32,6 +34,7 @@ import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.universal.inter.CalculateInterface;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleDaysPrice;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelCalendarPriceDTO;
import com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO;
......@@ -313,7 +316,19 @@ public class OrderCalculateBiz implements CalculateInterface {
Integer overDays = 0 - realResidueDays;
String violateDesc = StrUtil.format(" 延迟{}天", overDays);
List<VMCalendarPriceCostDTO> overAmountList = orderItemBiz.getOverAmountList(realVmcpds.get(realVmcpds.size() - 1).getDate(), overDays, vehicleItemDTO.getGoodId(), baseOrder.getUserId());
VehicleDaysPrice vehicleDaysPrice = AssertUtils.isFeignSucc(vehicleFeign.getVehicleDaysInfo(vehicleItemDTO.getGoodId())).getData();
List<VMCalendarPriceCostDTO> overAmountList = CollUtil.newArrayList();
if(null != vehicleDaysPrice) {
VMCalendarPriceCostDTO dto = realVmcpds.get(realVmcpds.size() - 1);
for(int i = 0; i < overDays; i++) {
VMCalendarPriceCostDTO current = BeanUtil.toBean(dto, VMCalendarPriceCostDTO.class);
current.setDate(DateUtil.offsetDay(current.getDate(), 1));
overAmountList.add(current);
}
}else {
overAmountList = orderItemBiz.getOverAmountList(realVmcpds.get(realVmcpds.size() - 1).getDate(), overDays, vehicleItemDTO.getGoodId(), baseOrder.getUserId());
}
BigDecimal overAmount = overAmountList.parallelStream()
.map(VMCalendarPriceCostDTO::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add).multiply(new BigDecimal(2+ ""));
......
......@@ -269,4 +269,7 @@ public interface VehicleFeign {
@PostMapping("app/publishAeceive/app/unauth/updReceive")
ObjectRestResponse updReceive(@RequestBody VehiclePublishReceiveDTO publishReceiveDTO);
@GetMapping(value = "/app/unauth/getVehicleDaysInfo")
public ObjectRestResponse<VehicleDaysPrice> getVehicleDaysInfo(@RequestParam("vehicleId") String vehicleId);
}
......@@ -145,6 +145,8 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty("城市")
Integer addrCity;
@ApiModelProperty("排除城市")
Integer excludeCity;
@ApiModelProperty("经度")
Double lon;
@ApiModelProperty("纬度")
......
......@@ -19,6 +19,8 @@ public class UsableVeicleDTO extends PageParam {
@ApiModelProperty("城市")
Integer addrCity;
@ApiModelProperty("排除城市")
Integer excludeCity;
@ApiModelProperty("经度")
Double lon;
@ApiModelProperty("纬度")
......
......@@ -8,6 +8,8 @@ import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.universal.inter.CalculateInterface;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleCommonPriceInfo;
import com.xxfc.platform.vehicle.entity.VehicleHolidayPriceInfo;
......@@ -36,7 +38,7 @@ import static cn.hutool.core.date.DateField.HOUR_OF_DAY;
*/
@Service
@Slf4j
public class VehicleHolidayPriceInfoBiz extends BaseBiz<VehicleHolidayPriceInfoMapper, VehicleHolidayPriceInfo> implements UserRestInterface {
public class VehicleHolidayPriceInfoBiz extends BaseBiz<VehicleHolidayPriceInfoMapper, VehicleHolidayPriceInfo> implements UserRestInterface, CalculateInterface {
private static final Integer DEFAULT_DISCOUNT = 100;
private static final Integer DEFAULT_FREE_DAYS = 1;
private static final Integer DEFAULT_MEMBER_LEVEL = 0;
......@@ -52,9 +54,15 @@ public class VehicleHolidayPriceInfoBiz extends BaseBiz<VehicleHolidayPriceInfoM
@Autowired
VehicleBiz vehicleBiz;
@Autowired
VehicleDaysPriceBiz vehicleDaysPriceBiz;
@Autowired
UserFeign userFeign;
@Autowired
ThirdFeign thirdFeign;
@Autowired
VehicleCommonPriceInfoBiz vehicleCommonPriceInfoBiz;
......@@ -64,6 +72,11 @@ public class VehicleHolidayPriceInfoBiz extends BaseBiz<VehicleHolidayPriceInfoM
return userFeign;
}
@Override
public ThirdFeign getThirdFeign() {
return thirdFeign;
}
public ObjectRestResponse addOrUpdate(VehicleHolidayPriceInfo vehicleHolidayPriceInfo ) {
if (vehicleHolidayPriceInfo == null) {
return ObjectRestResponse.paramIsEmpty();
......@@ -199,13 +212,14 @@ public class VehicleHolidayPriceInfoBiz extends BaseBiz<VehicleHolidayPriceInfoM
VehicleModelCalendarPriceDTO dto = new VehicleModelCalendarPriceDTO(){{
setDate(DateUtil.beginOfDay(finalCurrentDate));
}};
Vehicle vehicleP = vehicleDaysPriceBiz.getVehiclePrice(vehicleId, getIncludeDays(startDateTemp, endDateTemp));
if(currentDate.isWeekend()) {
dto.setNo_discount_price(vehicle.getHolidayPrice());
dto.setPrice(vehicle.getHolidayPrice());
dto.setNo_discount_price(vehicleP.getHolidayPrice());
dto.setPrice(vehicleP.getHolidayPrice());
dto.setFreeDays(1);
}else {
dto.setNo_discount_price(vehicle.getPrice());
dto.setPrice(vehicle.getPrice());
dto.setNo_discount_price(vehicleP.getPrice());
dto.setPrice(vehicleP.getPrice());
dto.setFreeDays(1);
}
......
......@@ -245,6 +245,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
rbd.setLon(dto.getLon());
rbd.setLat(dto.getLat());
rbd.setAddrCity(dto.getAddrCity());
rbd.setExcludeCity(dto.getExcludeCity());
rbd.setParkBranchCompanyId(dto.getStartCompanyId());
rbd.setStartCompanyId(dto.getStartCompanyId());
rbd.setEndCompanyId(dto.getEndCompanyId());
......
......@@ -58,6 +58,9 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TR
@Api(value="车辆管理controller",tags={"车辆管理接口"})
public class VehicleController extends BaseController<VehicleBiz> implements UserRestInterface {
@Autowired
private VehicleDaysPriceBiz vehicleDaysPriceBiz;
@Autowired
private VehicleBookRecordBiz vehicleBookRecordBiz;
......@@ -737,6 +740,12 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
return baseBiz.getAllVehicleById(vehicleFindAppDTO);
}
@GetMapping(value = "/app/unauth/getVehicleDaysInfo")
@IgnoreUserToken
public ObjectRestResponse<VehicleDaysPrice> getVehicleDaysInfo(@RequestParam("vehicleId") String vehicleId) {
return ObjectRestResponse.succ(vehicleDaysPriceBiz.getInfo(vehicleId));
}
@Data
static public class VehicleVO extends Vehicle {
private VehicleModel vehicleModel;
......
......@@ -1050,7 +1050,7 @@
as hasVehicle
</if>
<if test="lon != null and lat != null">
,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance
,st_distance_sphere(point(#{lon}, #{lat}), point(bcm.longitude, bcm.latitude)) as distance
</if>
<include refid="searchUsableSql"/>
......@@ -1121,7 +1121,7 @@
, bcm.province_name as manageProvinceName
, bcm.city_name as manageCityName
<if test="lon != null and lat != null">
,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance
,st_distance_sphere(point(#{lon}, #{lat}), point(bcm.longitude, bcm.latitude)) as distance
</if>
<if test=" catas2 != null ">
,vc.catas as catas
......@@ -1237,12 +1237,17 @@
)
</if>
</if>
<if test=" modelId != null ">
and v.model_id = #{modelId}
</if>
<if test=" addrCity != null ">
and bc.addr_city = #{addrCity}
</if>
<!-- 根据前后record 过滤车辆 -->
<if test="excludeCity != null ">
and bc.addr_city != #{excludeCity}
</if>
<if test=" hotSign != null ">
and vm.hot_sign = #{hotSign}
</if>
......@@ -1469,7 +1474,7 @@
bc1.province_name as manageProvinceName,
bc1.city_name as manageCityName
<if test="lon != null and lat != null">
,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance
,st_distance_sphere(point(#{lon}, #{lat}), point(bc1.longitude, bc1.latitude)) as distance
</if>
FROM vehicle v
LEFT JOIN vehicle_brand b ON v.brand_id=b.id
......
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