puzhibing
2026-05-13 842c0755fdf8501b85f02ecacd71ee4e2b6b9327
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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.common.log.annotation.AdminOperationLog;
import com.xiaopeng.common.log.enums.AdminBusinessType;
import com.xiaopeng.common.log.enums.AdminOperationType;
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;
import com.xiaopeng.common.log.annotation.AdminOperationLog;
import com.xiaopeng.common.log.enums.AdminBusinessType;
import com.xiaopeng.common.log.enums.AdminOperationType;
 
/**
 * <p>
 * 路线规划配置 前端控制器
 * </p>
 *
 * @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<PageInfo<XpRoutePlan>> pageList(@RequestBody RoutePlanPageListQuery query) {
        PageInfo<XpRoutePlan> pageInfo = routePlanService.pageList(query);
        return R.ok(pageInfo);
    }
 
    /**
     * 新增路线规划配置
     */
    @ApiOperation(value = "新增路线规划配置", tags = {"管理后台-交易管理-导航及路线规划"})
    @AdminOperationLog(
            businessType = AdminBusinessType.ROUTE_PLAN_MANAGEMENT,
            operationType = AdminOperationType.ADD,
            content = "新增路线规划配置",
            appendRequestData = true
    )
    @PostMapping("/api/v1/routePlan/add")
    @AdminOperationLog(
            businessType = AdminBusinessType.ROUTE_PLAN_MANAGEMENT,
            operationType = AdminOperationType.ADD,
            content = "新增路线规划配置",
            appendRequestData = true
    )
    public R<?> add(@Validated @RequestBody RoutePlanAddDTO dto) {
        routePlanService.add(dto);
        return R.ok();
    }
 
    /**
     * 编辑路线规划配置
     */
    @ApiOperation(value = "编辑路线规划配置", tags = {"管理后台-交易管理-导航及路线规划"})
    @AdminOperationLog(
            businessType = AdminBusinessType.ROUTE_PLAN_MANAGEMENT,
            operationType = AdminOperationType.EDIT,
            content = "编辑路线规划配置",
            appendRequestData = true
    )
    @PostMapping("/api/v1/routePlan/edit")
    @AdminOperationLog(
            businessType = AdminBusinessType.ROUTE_PLAN_MANAGEMENT,
            operationType = AdminOperationType.EDIT,
            content = "编辑路线规划配置",
            appendRequestData = true
    )
    public R<?> edit(@Validated @RequestBody RoutePlanEditDTO dto) {
        routePlanService.edit(dto);
        return R.ok();
    }
 
    /**
     * 删除路线规划配置
     */
    @ApiOperation(value = "删除路线规划配置", tags = {"管理后台-交易管理-导航及路线规划"})
    @AdminOperationLog(
            businessType = AdminBusinessType.ROUTE_PLAN_MANAGEMENT,
            operationType = AdminOperationType.DELETE,
            contentExpression = "'删除路线规划配置,id=' + #p0"
    )
    @DeleteMapping("/api/v1/routePlan/deleteById/{id}")
    @AdminOperationLog(
            businessType = AdminBusinessType.ROUTE_PLAN_MANAGEMENT,
            operationType = AdminOperationType.DELETE,
            contentExpression = "'删除路线规划配置,id=' + #p0"
    )
    public R<?> deleteById(@ApiParam(name = "id", value = "线路ID") @PathVariable Long id) {
        routePlanService.deleteById(id);
        return R.ok();
    }
 
 
    /**
     * 根据openCityId获取路线规划配置
     * @param openCityId
     * @return
     */
    @PostMapping("/logan/inner/v1/routePlan/getXpRoutePlanOpenCityId")
    public R<XpRoutePlan> getXpRoutePlanOpenCityId(@RequestParam Long openCityId) {
        XpRoutePlan routePlan = routePlanService.getOne(new QueryWrapper<XpRoutePlan>().eq("open_city_id", openCityId).eq("audit_status", 2));
        return R.ok(routePlan);
    }
}