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> 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> listByCityCode(@RequestParam String cityCode) { return R.ok(xpElectronicFenceAreaService.citiesList(cityCode)); } @ApiOperation(value = "判断当前位置是否在运营区域内",tags = {"小程序-判断当前位置是否在运营区域内"}) @PostMapping("/base/v1/mini-program/fence/check") public R isInOperationArea(@RequestBody @Valid LonLatDto dto) { return R.ok(xpElectronicFenceAreaService.isInOperationArea(dto)); } @ApiOperation(value = "根据点位获取步行时间和距离",tags = {"小程序-根据点位获取步行时间和距离"}) @PostMapping("/base/v1/mini-program/fence/walkTime") public R getWalkTime(@RequestBody @Valid WalkTimeDto dto) { return R.ok(xpElectronicFenceAreaService.getWalkTime(dto)); } /** * 判断是否同一经营区域 * @param dto * @return */ @PostMapping("/base/v1/mini-program/fence/diagnosisArea") public R diagnosisArea(@RequestBody RouteAndFareDto dto){ return R.ok(xpElectronicFenceAreaService.diagnosisArea(dto)); } }