package com.xiaopeng.map.controller;
|
|
|
import com.xiaopeng.api.dto.map.RouteAndFareDto;
|
import com.xiaopeng.api.dto.operation.LonLatDto;
|
import com.xiaopeng.api.vo.operation.XpElectronicFenceVo;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.common.core.web.controller.BaseController;
|
import com.xiaopeng.common.core.web.domain.AjaxResult;
|
import com.xiaopeng.map.dto.WalkTimeDto;
|
import com.xiaopeng.map.service.XpElectronicFenceAreaService;
|
import com.xiaopeng.map.vo.IsInOperationAreaVo;
|
import com.xiaopeng.map.vo.WalkTimeVo;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.Valid;
|
import java.util.List;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("")
|
@Api(tags = "电子围栏")
|
public class XpElectronicFenceController extends BaseController {
|
|
private final XpElectronicFenceAreaService xpElectronicFenceAreaService;
|
|
public XpElectronicFenceController(XpElectronicFenceAreaService xpElectronicFenceAreaService) {
|
this.xpElectronicFenceAreaService = xpElectronicFenceAreaService;
|
|
}
|
|
|
/**
|
* 获取地图开放区域围栏
|
* @return
|
*/
|
@ApiOperation(value = "获取地图开放区域围栏",tags = {"小程序-获取地图开放区域围栏"},response = XpElectronicFenceVo.class)
|
@GetMapping("/base/v1/mini-program/cities/list")
|
public R<List<XpElectronicFenceVo>> citiesList(@RequestParam String cityCode) {
|
return R.ok(xpElectronicFenceAreaService.citiesList(cityCode));
|
}
|
|
/**
|
* 获取地图开放区域围栏
|
* @return
|
*/
|
@ApiOperation(value = "获取地图开放区域围栏",tags = {"运维APP-电子围栏"},response = XpElectronicFenceVo.class)
|
@GetMapping("/api/v1/fence/listByCityCode")
|
public R<List<XpElectronicFenceVo>> listByCityCode(@RequestParam String cityCode) {
|
return R.ok(xpElectronicFenceAreaService.citiesList(cityCode));
|
}
|
|
@ApiOperation(value = "判断当前位置是否在运营区域内",tags = {"小程序-判断当前位置是否在运营区域内"})
|
@PostMapping("/base/v1/mini-program/fence/check")
|
public R<IsInOperationAreaVo> isInOperationArea(@RequestBody @Valid LonLatDto dto) {
|
return R.ok(xpElectronicFenceAreaService.isInOperationArea(dto));
|
}
|
|
|
@ApiOperation(value = "根据点位获取步行时间和距离",tags = {"小程序-根据点位获取步行时间和距离"})
|
@PostMapping("/base/v1/mini-program/fence/walkTime")
|
public R<WalkTimeVo> getWalkTime(@RequestBody @Valid WalkTimeDto dto) {
|
return R.ok(xpElectronicFenceAreaService.getWalkTime(dto));
|
}
|
|
|
|
/**
|
* 判断是否同一经营区域
|
* @param dto
|
* @return
|
*/
|
@PostMapping("/base/v1/mini-program/fence/diagnosisArea")
|
public R<Boolean> diagnosisArea(@RequestBody RouteAndFareDto dto){
|
return R.ok(xpElectronicFenceAreaService.diagnosisArea(dto));
|
}
|
|
}
|