Commit 9539c690 authored by hezhen's avatar hezhen

Merge branch 'master-chw-price' into master-chw

parents 530eb601 ef3e768d
...@@ -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+ ""));
......
...@@ -353,4 +353,8 @@ public class Vehicle { ...@@ -353,4 +353,8 @@ public class Vehicle {
@ApiModelProperty("改变的json") @ApiModelProperty("改变的json")
private JSONObject json; private JSONObject json;
@Transient
@ApiModelProperty(value = "价格json")
private String priceJson;
} }
\ No newline at end of file
...@@ -89,6 +89,12 @@ public class VehicleApply { ...@@ -89,6 +89,12 @@ public class VehicleApply {
@Column(name = "price_json")
@ApiModelProperty(value = "价格json")
private String priceJson;
@Column(name = "deposit_type") @Column(name = "deposit_type")
@ApiModelProperty("押金类型:1-线上;2-线下") @ApiModelProperty("押金类型:1-线上;2-线下")
private Integer depositType; private Integer depositType;
......
package com.xxfc.platform.vehicle.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
/**
* 商品阶梯价格表
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-25 10:13:57
*/
@Data
@Table(name = "vehicle_days_price")
public class VehicleDaysPrice implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
@Column(name = "vehicle_id")
@ApiModelProperty(value = "商品id")
private String vehicleId;
@Column(name = "price_json")
@ApiModelProperty(value = "价格json")
private String priceJson;
@Column(name = "status")
@ApiModelProperty(value = "状态:1-开启;2-关闭")
private Integer status;
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
@Column(name = "is_del")
@ApiModelProperty(value = "是否正常:0-正常;1-删除")
private Integer isDel;
}
...@@ -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("纬度")
......
package com.xxfc.platform.vehicle.pojo.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class VehicleDaysPriceVo {
private Integer startDay;
private Integer endDay;
private BigDecimal price;
}
...@@ -82,4 +82,6 @@ public class VehicleVO extends Vehicle { ...@@ -82,4 +82,6 @@ public class VehicleVO extends Vehicle {
private VehicleRecordEmploy recordEmploy; private VehicleRecordEmploy recordEmploy;
private List<VehicleDaysPriceVo> priceVoList;
} }
\ No newline at end of file
...@@ -70,6 +70,7 @@ import tk.mybatis.mapper.weekend.WeekendSqls; ...@@ -70,6 +70,7 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import java.io.File; import java.io.File;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -134,6 +135,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -134,6 +135,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
@Autowired @Autowired
VehicleRecordEmployBiz recordEmployBiz; VehicleRecordEmployBiz recordEmployBiz;
@Autowired
VehicleDaysPriceBiz vehicleDaysPriceBiz;
@Override @Override
public UserFeign getUserFeign() { public UserFeign getUserFeign() {
return userFeign; return userFeign;
...@@ -1643,11 +1647,35 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -1643,11 +1647,35 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
vehicleId=vehicle.getId(); vehicleId=vehicle.getId();
vehicleBookInfoBiz.addVehicleBookInfo(vehicleId); vehicleBookInfoBiz.addVehicleBookInfo(vehicleId);
setGoodsTypes(vehicle); setGoodsTypes(vehicle);
} }
vehicleApply.setVehicleId(vehicleId);
updVehicleDaysPrice(vehicleApply);
return vehicleId; return vehicleId;
} }
public void updVehicleDaysPrice(VehicleApply vehicleApply){
String priceJson = vehicleApply.getPriceJson();
String vehicleId = vehicleApply.getVehicleId();
if (StringUtils.isNotBlank(priceJson)){
JSONObject jsonObject = JSONObject.parseObject(priceJson);
VehicleDaysPrice vehicleDaysPrice = new VehicleDaysPrice();
vehicleDaysPrice.setVehicleId(vehicleId);
vehicleDaysPrice.setPriceJson(jsonObject.getString("priceList"));
vehicleDaysPrice.setStatus(jsonObject.getInteger("status"));
vehicleDaysPriceBiz.addOrUpd(vehicleDaysPrice);
Vehicle vehiclePrice = vehicleDaysPriceBiz.getVehiclePrice(vehicleId, 0);
if (vehiclePrice != null ){
Vehicle vehicle = new Vehicle();
vehicle.setPrice(vehiclePrice.getPrice());
vehicle.setHolidayPrice(vehiclePrice.getHolidayPrice());
vehicle.setId(vehicleId);
updateSelectiveById(vehicle);
}
}
}
public void setVehicle(Vehicle vehicle,VehicleApply vehicleApply){ public void setVehicle(Vehicle vehicle,VehicleApply vehicleApply){
String changeJson = vehicleApply.getChangeJson(); String changeJson = vehicleApply.getChangeJson();
JSONObject jsonObject = JSONObject.parseObject(changeJson); JSONObject jsonObject = JSONObject.parseObject(changeJson);
...@@ -1697,6 +1725,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -1697,6 +1725,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return mapper.selectList(vehicleFindDTO); return mapper.selectList(vehicleFindDTO);
} }
public VehicleVO detail(String vehicleId){
VehicleFindDTO vehicleFindDTO = new VehicleFindDTO();
vehicleFindDTO.setVehicleId(vehicleId);
List<VehicleVO> list = getList(vehicleFindDTO);
if (list.size() == 0)
throw new BaseException("商品不存在",ResultCode.FAILED_CODE);
VehicleVO vehicleVO = list.get(0);
vehicleVO.setPriceVoList(vehicleDaysPriceBiz.getListByVehicleId(vehicleId));
return vehicleVO;
}
public ObjectRestResponse selectList(VehicleFindDTO vehicleFindDTO){ public ObjectRestResponse selectList(VehicleFindDTO vehicleFindDTO){
Integer type=vehicleFindDTO.getType() == null ? 0 :vehicleFindDTO.getType(); Integer type=vehicleFindDTO.getType() == null ? 0 :vehicleFindDTO.getType();
if (type > 0){ if (type > 0){
...@@ -1804,10 +1843,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -1804,10 +1843,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
} }
public VehicleVO info(VehicleFindDTO vehicleFindDTO){ public VehicleVO info(VehicleFindDTO vehicleFindDTO){
List<VehicleVO> vehicleVOS=getList(vehicleFindDTO); List<VehicleVO> vehicleVOS = getList(vehicleFindDTO);
if (vehicleVOS != null && vehicleVOS.size() > 0){ if (vehicleVOS != null && vehicleVOS.size() > 0){
VehicleVO vehicleVO=vehicleVOS.get(0); VehicleVO vehicleVO=vehicleVOS.get(0);
vehicleVO.setVehicleApply(vehicleApplyBiz.getVehicleInfo(vehicleFindDTO.getVehicleId())); vehicleVO.setVehicleApply(vehicleApplyBiz.getVehicleInfo(vehicleFindDTO.getVehicleId()));
vehicleVO.setPriceVoList(vehicleDaysPriceBiz.getListByVehicleId(vehicleFindDTO.getVehicleId()));
return vehicleVO; return vehicleVO;
} }
......
package com.xxfc.platform.vehicle.biz;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleDaysPrice;
import com.xxfc.platform.vehicle.entity.VehicleUseTime;
import com.xxfc.platform.vehicle.mapper.VehicleDaysPriceMapper;
import com.xxfc.platform.vehicle.mapper.VehicleUseTimeMapper;
import com.xxfc.platform.vehicle.pojo.vo.VehicleDaysPriceVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.math.BigDecimal;
import java.util.Comparator;
import java.util.List;
@Service
@Slf4j
public class VehicleDaysPriceBiz extends BaseBiz<VehicleDaysPriceMapper, VehicleDaysPrice> {
@Autowired
VehicleBiz vehicleBiz;
public void addOrUpd(VehicleDaysPrice vehicleDaysPrice){
String vehicleId = vehicleDaysPrice.getVehicleId();
if (StringUtils.isBlank(vehicleId) ){
throw new BaseException("参数不能为空", ResultCode.FAILED_CODE);
}
Example example = new Example(VehicleDaysPrice.class);
example.createCriteria().andEqualTo("vehicleId",vehicleId).andEqualTo("isDel",0);
List<VehicleDaysPrice> list = selectByExample(example);
if (list.size() > 0){
VehicleDaysPrice vehicleDaysPrice1 = list.get(0);
vehicleDaysPrice.setId(vehicleDaysPrice1.getId());
updateSelectiveById(vehicleDaysPrice);
}else {
insertSelective(vehicleDaysPrice);
}
}
public VehicleDaysPrice getInfo(String vehicleId){
Example example = new Example(VehicleDaysPrice.class);
example.createCriteria().andEqualTo("vehicleId",vehicleId).andEqualTo("isDel",0).andEqualTo("status",1);
List<VehicleDaysPrice> list = selectByExample(example);
if (list.size() > 0){
return list.get(0);
}
return null;
}
public VehicleDaysPrice getInfoV2(String vehicleId){
Example example = new Example(VehicleDaysPrice.class);
example.createCriteria().andEqualTo("vehicleId",vehicleId).andEqualTo("isDel",0);
List<VehicleDaysPrice> list = selectByExample(example);
if (list.size() > 0){
return list.get(0);
}
return null;
}
public List<VehicleDaysPriceVo> getListByVehicleId(String vehicleId){
VehicleDaysPrice vehicleDaysPrice = getInfo(vehicleId);
List<VehicleDaysPriceVo> priceVos = null;
if (vehicleDaysPrice != null ) {
priceVos = JSONArray.parseArray(vehicleDaysPrice.getPriceJson(), VehicleDaysPriceVo.class);
}
return priceVos;
}
public Vehicle getVehiclePrice(String vehicleId,Integer days){
Vehicle vehicle = vehicleBiz.selectById(vehicleId);
List<VehicleDaysPriceVo> priceVos = getListByVehicleId(vehicleId);
BigDecimal price = vehicle.getPrice();
BigDecimal maxPrice = vehicle.getHolidayPrice();
if (priceVos != null && priceVos.size() > 0){
VehicleDaysPriceVo vehicleDaysPriceVo;
VehicleDaysPriceVo maxVehicleDaysPriceVo;
if (days == null || days == 0){
vehicleDaysPriceVo = priceVos.stream().min(Comparator.comparing(VehicleDaysPriceVo::getPrice)).get();
maxVehicleDaysPriceVo = priceVos.stream().max(Comparator.comparing(VehicleDaysPriceVo::getPrice)).get();
}else {
vehicleDaysPriceVo = priceVos.stream().filter(x -> x.getStartDay() <= days && (x.getEndDay() == -1 || x.getEndDay() >= days)).min(Comparator.comparing(VehicleDaysPriceVo::getPrice)).get();
maxVehicleDaysPriceVo = priceVos.stream().filter(x -> x.getStartDay() <= days && (x.getEndDay() == -1 || x.getEndDay() >= days)).max(Comparator.comparing(VehicleDaysPriceVo::getPrice)).get();
}
if (vehicleDaysPriceVo != null )
price = vehicleDaysPriceVo.getPrice();
if (maxVehicleDaysPriceVo != null )
maxPrice = maxVehicleDaysPriceVo.getPrice();
}
vehicle.setPrice(price);
vehicle.setHolidayPrice(maxPrice);
return vehicle;
}
}
...@@ -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);
} }
......
package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleDaysPrice;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
public interface VehicleDaysPriceMapper extends Mapper<VehicleDaysPrice>, SelectByIdListMapper<VehicleDaysPrice,Integer>{
}
\ No newline at end of file
...@@ -6,12 +6,15 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode; ...@@ -6,12 +6,15 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.vehicle.aop.GlobalLog; import com.xxfc.platform.vehicle.aop.GlobalLog;
import com.xxfc.platform.vehicle.biz.VehicleApplyBiz; import com.xxfc.platform.vehicle.biz.VehicleApplyBiz;
import com.xxfc.platform.vehicle.biz.VehicleBiz; import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.biz.VehicleDaysPriceBiz;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleApply;
import com.xxfc.platform.vehicle.pojo.dto.VehicleFindDTO; import com.xxfc.platform.vehicle.pojo.dto.VehicleFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleVO; import com.xxfc.platform.vehicle.pojo.vo.VehicleVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
...@@ -26,6 +29,10 @@ import java.util.List; ...@@ -26,6 +29,10 @@ import java.util.List;
public class AppVehicleController extends BaseController<VehicleBiz> { public class AppVehicleController extends BaseController<VehicleBiz> {
@Autowired
VehicleDaysPriceBiz vehicleDaysPriceBiz;
...@@ -61,13 +68,7 @@ public class AppVehicleController extends BaseController<VehicleBiz> { ...@@ -61,13 +68,7 @@ public class AppVehicleController extends BaseController<VehicleBiz> {
@ApiModelProperty("商品详情") @ApiModelProperty("商品详情")
@IgnoreUserToken @IgnoreUserToken
public ObjectRestResponse detail(@PathVariable("id") String id ) { public ObjectRestResponse detail(@PathVariable("id") String id ) {
VehicleFindDTO vehicleFindDTO =new VehicleFindDTO(); return ObjectRestResponse.succ(baseBiz.detail(id));
vehicleFindDTO.setVehicleId(id);
List<VehicleVO> list = baseBiz.getList(vehicleFindDTO);
if (list.size() == 0){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"商品不存在");
}
return ObjectRestResponse.succ(list.get(0));
} }
...@@ -87,6 +88,23 @@ public class AppVehicleController extends BaseController<VehicleBiz> { ...@@ -87,6 +88,23 @@ public class AppVehicleController extends BaseController<VehicleBiz> {
@PostMapping("setDaysPrice")
@ApiModelProperty("设置价格")
public ObjectRestResponse setDaysPrice(@RequestBody VehicleApply vehicle) {
baseBiz.updVehicleDaysPrice(vehicle);
return ObjectRestResponse.succ();
}
@GetMapping("daysPriceInfo")
@ApiModelProperty("商品详情")
public ObjectRestResponse info(@RequestParam(value = "vehicleId")String vehicleId) {
return ObjectRestResponse.succ(vehicleDaysPriceBiz.getInfoV2(vehicleId));
}
......
...@@ -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