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