package com.xiaopeng.operation.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.xiaopeng.api.model.operation.XpRoutePlan;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.operation.dto.RoutePlanAddDTO;
import com.xiaopeng.operation.dto.RoutePlanEditDTO;
import com.xiaopeng.operation.query.RoutePlanPageListQuery;
import com.xiaopeng.operation.service.IXpRoutePlanService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
*
* 路线规划配置 前端控制器
*
*
* @author mitao
* @since 2026-02-03
*/
@RestController
@RequestMapping("")
@Api(tags = "路线规划配置管理")
@Slf4j
public class XpRoutePlanController {
@Resource
private IXpRoutePlanService routePlanService;
/**
* 分页查询路线规划配置列表
*/
@ApiOperation(value = "路线规划配置分页列表", tags = {"管理后台-交易管理-导航及路线规划"}, response = XpRoutePlan.class)
@PostMapping("/api/v1/routePlan/pageList")
public R> pageList(@RequestBody RoutePlanPageListQuery query) {
PageInfo pageInfo = routePlanService.pageList(query);
return R.ok(pageInfo);
}
/**
* 新增路线规划配置
*/
@ApiOperation(value = "新增路线规划配置", tags = {"管理后台-交易管理-导航及路线规划"})
@PostMapping("/api/v1/routePlan/add")
public R> add(@Validated @RequestBody RoutePlanAddDTO dto) {
routePlanService.add(dto);
return R.ok();
}
/**
* 编辑路线规划配置
*/
@ApiOperation(value = "编辑路线规划配置", tags = {"管理后台-交易管理-导航及路线规划"})
@PostMapping("/api/v1/routePlan/edit")
public R> edit(@Validated @RequestBody RoutePlanEditDTO dto) {
routePlanService.edit(dto);
return R.ok();
}
/**
* 删除路线规划配置
*/
@ApiOperation(value = "删除路线规划配置", tags = {"管理后台-交易管理-导航及路线规划"})
@DeleteMapping("/api/v1/routePlan/deleteById/{id}")
public R> deleteById(@ApiParam(name = "id", value = "线路ID") @PathVariable Long id) {
routePlanService.deleteById(id);
return R.ok();
}
/**
* 根据openCityId获取路线规划配置
* @param openCityId
* @return
*/
@PostMapping("/inner/v1/routePlan/getXpRoutePlanOpenCityId")
public R getXpRoutePlanOpenCityId(@RequestParam Long openCityId) {
XpRoutePlan routePlan = routePlanService.getOne(new QueryWrapper().eq("open_city_id", openCityId).eq("auth_status", 2));
return R.ok(routePlan);
}
}