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;
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+ ""));
......
......@@ -353,4 +353,8 @@ public class Vehicle {
@ApiModelProperty("改变的json")
private JSONObject json;
@Transient
@ApiModelProperty(value = "价格json")
private String priceJson;
}
\ No newline at end of file
......@@ -89,6 +89,12 @@ public class VehicleApply {
@Column(name = "price_json")
@ApiModelProperty(value = "价格json")
private String priceJson;
@Column(name = "deposit_type")
@ApiModelProperty("押金类型:1-线上;2-线下")
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 {
@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("纬度")
......
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 {
private VehicleRecordEmploy recordEmploy;
private List<VehicleDaysPriceVo> priceVoList;
}
\ No newline at end of file
......@@ -70,6 +70,7 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
......@@ -134,6 +135,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
@Autowired
VehicleRecordEmployBiz recordEmployBiz;
@Autowired
VehicleDaysPriceBiz vehicleDaysPriceBiz;
@Override
public UserFeign getUserFeign() {
return userFeign;
......@@ -1643,11 +1647,35 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
vehicleId=vehicle.getId();
vehicleBookInfoBiz.addVehicleBookInfo(vehicleId);
setGoodsTypes(vehicle);
}
vehicleApply.setVehicleId(vehicleId);
updVehicleDaysPrice(vehicleApply);
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){
String changeJson = vehicleApply.getChangeJson();
JSONObject jsonObject = JSONObject.parseObject(changeJson);
......@@ -1697,6 +1725,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
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){
Integer type=vehicleFindDTO.getType() == null ? 0 :vehicleFindDTO.getType();
if (type > 0){
......@@ -1804,10 +1843,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
}
public VehicleVO info(VehicleFindDTO vehicleFindDTO){
List<VehicleVO> vehicleVOS=getList(vehicleFindDTO);
List<VehicleVO> vehicleVOS = getList(vehicleFindDTO);
if (vehicleVOS != null && vehicleVOS.size() > 0){
VehicleVO vehicleVO=vehicleVOS.get(0);
vehicleVO.setVehicleApply(vehicleApplyBiz.getVehicleInfo(vehicleFindDTO.getVehicleId()));
vehicleVO.setPriceVoList(vehicleDaysPriceBiz.getListByVehicleId(vehicleFindDTO.getVehicleId()));
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;
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);
}
......
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;
import com.xxfc.platform.vehicle.aop.GlobalLog;
import com.xxfc.platform.vehicle.biz.VehicleApplyBiz;
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.VehicleApply;
import com.xxfc.platform.vehicle.pojo.dto.VehicleFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -26,6 +29,10 @@ import java.util.List;
public class AppVehicleController extends BaseController<VehicleBiz> {
@Autowired
VehicleDaysPriceBiz vehicleDaysPriceBiz;
......@@ -61,13 +68,7 @@ public class AppVehicleController extends BaseController<VehicleBiz> {
@ApiModelProperty("商品详情")
@IgnoreUserToken
public ObjectRestResponse detail(@PathVariable("id") String id ) {
VehicleFindDTO vehicleFindDTO =new VehicleFindDTO();
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));
return ObjectRestResponse.succ(baseBiz.detail(id));
}
......@@ -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
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>
......@@ -1449,8 +1454,8 @@
</where>
<choose>
<when test="isMinPrice !=null and isMinPrice==1">
ORDER BY v.price ASC,v.create_time DESC
</when>
ORDER BY v.price ASC,v.create_time DESC
</when>
<otherwise>
ORDER BY v.create_time DESC
</otherwise>
......@@ -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