puzhibing
2026-04-21 66cf674e0f18a8bdc3dc45b080763edee910a2ab
Merge remote-tracking branch 'origin/1.0' into 1.0
1个文件已删除
18个文件已修改
284 ■■■■■ 已修改文件
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/dto/SysGroupAddDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/query/SysGroupPageQuery.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/vo/SysGroupDetailVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpTask.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActivity.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpAgreement.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpStation.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/operation/XpActivityVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/query/TaskPageListQuery.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/XpTaskService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/TaskReassignDetailVO.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/resources/mapper/maintenance/XpTaskMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/dto/XpAgreementDTO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/vo/XpAgreementVo.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpAgreementController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java
@@ -68,7 +68,7 @@
    }
    @PostMapping("/v1/api/appUserCoupon/pageList")
    @ApiOperation(value = "用户优惠券列表",tags = {"管理后台-用户优惠券列表"},response = XpAppUserCouponListVo.class)
    @ApiOperation(value = "白名单用户优惠券列表",tags = {"管理后台-白名单-用户优惠券列表"},response = XpAppUserCouponListVo.class)
    public R<PageInfo<XpAppUserCouponListVo>> pageList(@RequestBody XpAppUserCouponPageListQuery query) {
        if(StrUtil.isNotBlank(query.getActicityName()) ){
@@ -80,6 +80,16 @@
        return R.ok(pageList);
    }
    @PostMapping("/v1/api/appUserCoupon/deleteByIds")
    @ApiOperation(value = "根据ids删除用户优惠券", tags = {"管理后台-白名单-删除用户优惠券"})
    public R<Boolean> deleteByIds(@RequestBody List<Long> ids) {
        if (ids == null || ids.isEmpty()) {
            return R.fail("ID列表不能为空");
        }
        boolean result = xpAppUserCouponService.removeByIds(ids);
        return R.ok(result);
    }
    @PostMapping("/logan/inner/appUserCoupon/getUserCoupon")
    public R<UserCouponVo> getUserCoupon(@RequestBody GetUserCouponDto dto) {
//        String phone ="18888888888";
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/dto/SysGroupAddDTO.java
@@ -28,6 +28,8 @@
    @ApiModelProperty(value = "分组类型 1=管理端 2=运维app")
    @NotNull(message = "{validation.group.type.notNull}")
    private Integer groupType;
    @ApiModelProperty(value = "手机脱敏(0=否,1=是)")
    private Integer phoneDesensitization;
    @ApiModelProperty(value = "菜单id集合", required = true)
    @NotEmpty(message = "{validation.group.menuIds.notEmpty}")
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/query/SysGroupPageQuery.java
@@ -18,4 +18,7 @@
    @ApiModelProperty(value = "权限组名称")
    private String groupName;
    @ApiModelProperty(value = "手机脱敏(0=否,1=是)")
    private Integer phoneDesensitization;
}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/vo/SysGroupDetailVO.java
@@ -27,6 +27,9 @@
    @ApiModelProperty(value = "分组类型 1=管理端 2=运维app")
    private Integer groupType;
    @ApiModelProperty(value = "手机脱敏(0=否,1=是)")
    private Integer phoneDesensitization;
    @ApiModelProperty(value = "菜单列表")
    private List<SysMenuVO> menus;
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpTask.java
@@ -107,5 +107,34 @@
    @ApiModelProperty(value = "申请改派的用户id")
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<Long> excluded;
    private List<Reject> excluded;
    public Reject reject(String msg) {
        Reject reject = new Reject();
        reject.setRejectTime(LocalDateTime.now());
        reject.setRejectUserId(handleUserId);
        reject.setRejectReason(msg);
        return reject;
    }
    @Data
    public static class Reject {
        @ApiModelProperty(value = "拒绝原因")
        private String rejectReason;
        @ApiModelProperty(value = "拒绝时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private LocalDateTime rejectTime;
        @ApiModelProperty(value = "拒绝人id")
        private String rejectUserId;
        @ApiModelProperty(value = "拒绝人姓名")
        private String rejectUserName;
        @ApiModelProperty(value = "拒绝人角色名称")
        private String rejectUserRoleName;
    }
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpActivity.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xiaopeng.common.core.web.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -26,7 +27,7 @@
@Accessors(chain = true)
@TableName("xp_acticity")
@ApiModel(value="XpActicity对象", description="活动管理")
public class XpActivity implements Serializable {
public class XpActivity extends BaseModel {
    private static final long serialVersionUID = 1L;
@@ -58,9 +59,6 @@
    @ApiModelProperty(value = "邀请启用 1=是 0=否")
    private Boolean inviteEnable;
    @ApiModelProperty(value = "是否删除")
    private String deleted;
    @ApiModelProperty(value = "图片")
    private String img;
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpAgreement.java
@@ -28,10 +28,14 @@
    @TableId("id")
    private Long id;
    @ApiModelProperty(value = "类型 1=小鹏Robotaxi隐私政策 2=个人信息收集清单 3=敏感个人信息处理情况说明 4=向第三方提供个人信息情况的说明 5=乘车须知 6=计费规则说明 7=权限说明 8=运维APP-小鹏Robotaxi自动驾驶出行运维隐私政策 9=运维APP-第三方共享信息清单 10=运维APP-个人信息收集清单 11=运维APP-权限调用")
    @ApiModelProperty(value = "类型, -1预付款,-2付款 1=小鹏Robotaxi隐私政策 2=个人信息收集清单 3=敏感个人信息处理情况说明 4=向第三方提供个人信息情况的说明 5=乘车须知 6=计费规则说明 7=权限说明 8=运维APP-小鹏Robotaxi自动驾驶出行运维隐私政策 9=运维APP-第三方共享信息清单 10=运维APP-个人信息收集清单 11=运维APP-权限调用")
    @TableField("content_type")
    private Integer contentType;
    @ApiModelProperty(value = "协议的名称")
    @TableField("title")
    private Integer title;
    @ApiModelProperty(value = "内容")
    @TableField("content")
    private String content;
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpStation.java
@@ -12,6 +12,7 @@
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@@ -44,6 +45,33 @@
    @ApiModelProperty(value = "场站状态 0=草稿 1=待测试 2=测试中 3=测试不通过 4=可运营 5=待生效 6=启用中 7=已停用 8=失效")
    private Integer status;
    public String getStatusName() {
        if(status != null){
            if(status == 0){
                return "草稿";
            }else if(status == 1){
                return "待测试";
            } else if(status == 2){
                return "测试中";
            }else if(status == 3){
                return "测试未通过";
            }else if(status == 4){
                return "可运营";
            }else if(status == 5){
                return "待生效";
            }else if(status == 6){
                return "启用中";
            }else if(status == 7){
                return "已停用";
            }else if(status == 8){
                return "失效";
            }
        }
        return "";
    }
    @ApiModelProperty(value = "城市code")
    private String cityCode;
@@ -51,9 +79,11 @@
    private String cityName;
    @ApiModelProperty(value = "所属电子围栏id")
    @NotNull(message = "所属电子围栏id不能为空")
    private Long electronicId;
    @ApiModelProperty(value = "所属运营区id")
    @NotNull(message = "所属运营区id不能为空")
    private Long electronicAreaId;
    @ApiModelProperty(value = "默认展示点位id")
xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/operation/XpActivityVo.java
@@ -55,9 +55,6 @@
    @ApiModelProperty(value = "邀请启用 1=是 0=否")
    private Boolean inviteEnable;
    @ApiModelProperty(value = "是否删除")
    private String deleted;
    @ApiModelProperty(value = "图片")
    private String img;
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java
@@ -54,7 +54,6 @@
import javax.validation.Valid;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -333,8 +332,8 @@
    @ApiOperation(value = "改派详情", tags = {"管理后台-运维执行-任务工单-待改派工单"})
    @GetMapping("/api/v1/task/reassign/detail")
    public R<TaskReassignDetailVO> reassignDetail(@RequestParam Long taskId) {
        return R.ok(xpTaskService.detail(taskId));
    public R<XpTask> reassignDetail(@RequestParam Long taskId) {
        return R.ok(xpTaskService.getById(taskId));
    }
    @ApiOperation(value = "执行保险年检检测定时任务", tags = {"定时任务"})
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/query/TaskPageListQuery.java
@@ -37,7 +37,7 @@
    private Integer taskCategory;
    @ApiModelProperty(value = "事故类型")
    private Long accidentTypeId;
    private String errorTypeId;
    @ApiModelProperty(value = "任务类型")
    private Long taskTypeId;
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/XpTaskService.java
@@ -16,7 +16,6 @@
import com.xiaopeng.maintenance.model.vo.*;
import com.xiaopeng.maintenance.model.query.TaskPageListQuery;
import com.xiaopeng.maintenance.vo.TaskDetectionDetailVO;
import com.xiaopeng.maintenance.vo.TaskReassignDetailVO;
import javax.validation.Valid;
import java.io.UnsupportedEncodingException;
@@ -105,5 +104,4 @@
    PageInfo<TaskVO> reassignTaskPageList(TaskPageListQuery query);
    TaskReassignDetailVO detail(Long taskId);
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -13,6 +13,7 @@
import com.xiaopeng.api.feignClient.account.SysUserClient;
import com.xiaopeng.api.feignClient.account.XpOperationUserClient;
import com.xiaopeng.api.feignClient.account.XpOperationUserNotificationClient;
import com.xiaopeng.api.feignClient.account.XpOperationsRoleClient;
import com.xiaopeng.api.feignClient.operation.SmsClient;
import com.xiaopeng.api.feignClient.pushMessage.WebSocketMessageClient;
import com.xiaopeng.api.feignClient.pushMessage.XpAliPushMessageClient;
@@ -26,6 +27,7 @@
import com.xiaopeng.api.model.maintenance.*;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.TaskVO;
import com.xiaopeng.api.vo.account.XpOperationsUserWithRoleVO;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.api.vo.maintenance.TaskScheduleConstants;
import com.xiaopeng.api.vo.operation.SmsVo;
@@ -57,7 +59,6 @@
import com.xiaopeng.maintenance.utils.UUIDUtil;
import com.xiaopeng.maintenance.vo.TaskCleanDetailVO;
import com.xiaopeng.maintenance.vo.TaskDetectionDetailVO;
import com.xiaopeng.maintenance.vo.TaskReassignDetailVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType;
@@ -121,22 +122,22 @@
    @Autowired
    private XpVehicleCleanMapper vehicleCleanMapper;
    @Autowired
    @Resource
    private XpOperationUserClient xpOperationUserClient;
    @Autowired
    @Resource
    private SysUserClient sysUserClient;
    @Autowired
    private XpTaskHandleDetailRoutineMapper xpTaskHandleDetailRoutineMapper;
    @Autowired
    @Resource
    private XpVehicleClient xpVehicleClient;
    @Autowired
    private XpTaskRuleMapper xpTaskRuleMapper;
    @Autowired
    private MongoTemplate mongoTemplate;
    @Autowired
    @Resource
    private XpAliPushMessageClient xpAliPushMessageClient;
    @Autowired
    @Resource
    private XpOperationUserNotificationClient xpOperationUserNotificationClient;
    @Autowired
    private IXpTaskRuleRoleService xpTaskRuleRoleService;
@@ -1389,21 +1390,34 @@
        XpTask task = getById(taskId);
        XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData();
        XpTaskRule taskRule = xpTaskRuleService.lambdaQuery().last("limit 1").one();
        List<XpTaskRuleRole> taskRuleRole = xpTaskRuleRoleService.lambdaQuery().eq(XpTaskRuleRole::getRuleType, 9).list();
        int type = 9;
        if(task.getTaskCategory() != 2) {
            type = Integer.parseInt(task.getTaskTypeId());
        }
        List<XpTaskRuleRole> taskRuleRole = xpTaskRuleRoleService.lambdaQuery().eq(XpTaskRuleRole::getRuleType, type).list();
        if (Objects.isNull(taskRuleRole) || Objects.isNull(taskRule)) {
            throw new ServiceException("未配置车辆事故任务分配规则");
        }
        List<Long> excludedUserIds = Optional.ofNullable(task.getExcluded()).orElse(new ArrayList<>());
        excludedUserIds.addAll(Arrays.asList(task.getHandleUserId().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()));
        task.setExcluded(excludedUserIds);
        List<XpTask.Reject> rejects = Optional.ofNullable(task.getExcluded()).orElse(new ArrayList<>());
        XpTask.Reject reject = task.reject(msg);
        rejects.add(reject);
        task.setExcluded(rejects);
        Set<String> excludedUserIds = rejects.stream().map(XpTask.Reject::getRejectUserId).collect(Collectors.toSet());
        Long fleetId = xpFleetVehicleClient.getFleetIdByVehicleId(vehicle.getId()).getData();
        List<Long> roleIds = taskRuleRole.stream().map(XpTaskRuleRole::getRoleId).collect(Collectors.toList());
        List<Long> ids = xpFleetOperationsClient.getOperationsIdsByFleetId(fleetId).getData();
        String belongUserIds = xpOperationUserClient.getXpOperationsRoleByRoleIds(roleIds).getData().stream()
                .map(XpOperationsRole::getOperationsUserId)
                .filter(ids::contains)
                .filter(id -> !excludedUserIds.contains(id))
                .filter(id -> !excludedUserIds.contains(id.toString()))
                .map(String::valueOf).collect(Collectors.joining(","));
//        VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vehicle.getVehicleVin())), VehiclePosition.class);
        VehiclePosition vehiclePosition = new VehiclePosition();
        vehiclePosition.setPoint(new GeoJsonPoint(103.12615621, 30.264561));
@@ -1413,10 +1427,11 @@
            task.setStatus(4);
            noticeAdministrator(task);//TODO 需要通知管理员手动处理,考虑再AliPushUtil 中给管理员发送消息
        }
        updateById(task);
        if(StringUtils.isNotBlank(task.getHandleUserId())){
            List<Long> id = Collections.singletonList(Long.parseLong(task.getHandleUserId()));
            String roleName = xpOperationUserClient.listByIdsWithRole(id).getData().get(0).getRoleName();
            reject.setRejectUserRoleName(roleName);
            sendAccidentNotificationAsync(task, vehicle.getPlateNumber(), taskRule.getProcessingTimeLimit());
        }
    }
@@ -1487,19 +1502,6 @@
    @Override
    public PageInfo<TaskVO> reassignTaskPageList(TaskPageListQuery query) {
        return baseMapper.reassignTaskPageList(query);
    }
    @Override
    public TaskReassignDetailVO detail(Long taskId) {
        XpTask task = getById(taskId);
        // 根据taskId去查询XpTaskHandleDetail,
//        XpTaskHandleDetail taskHandleDetail = xpTaskHandleDetailClient.queryByTaskId(taskId).getData();
//        return baseMapper.detail(taskId);
        // todo
        return null;
    }
    @Value("${robotaxi.sms.app-id:1476153389173952512}")
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/TaskReassignDetailVO.java
File was deleted
xp-robotaxi-maintenance-boot/src/main/resources/mapper/maintenance/XpTaskMapper.xml
@@ -8,6 +8,7 @@
        <result column="task_code" property="taskCode"/>
        <result column="task_category" property="taskCategory"/>
        <result column="task_type_id" property="taskTypeId"/>
        <result column="error_type_id" property="errorTypeId"/>
        <result column="task_urgency_level" property="taskUrgencyLevel"/>
        <result column="task_description" property="taskDescription"/>
        <result column="vehicle_location" property="vehicleLocation"/>
@@ -32,8 +33,7 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id
        , task_code, task_category, end_time, expired_notice_sent, task_type_id, task_image, task_urgency_level, task_description, vehicle_location, vehicle_id, vehicle_lon, vehicle_lat, handle_user_id, handle_time, assignee_user_id, assignee_time, report_user_id, report_time, status, is_deleted, create_time, update_time, create_by, update_by
        id, task_code, task_category, error_type_id ,end_time, expired_notice_sent, task_type_id, task_image, task_urgency_level, task_description, vehicle_location, vehicle_id, vehicle_lon, vehicle_lat, handle_user_id, handle_time, assignee_user_id, assignee_time, report_user_id, report_time, status, is_deleted, create_time, update_time, create_by, update_by
    </sql>
    <select id="workbench" resultType="com.xiaopeng.maintenance.model.vo.WorkBenchVO">
        select t1.*,
@@ -189,7 +189,7 @@
            t.task_code AS taskCode,
            t.task_category AS taskCategory,
            t.task_type_id AS taskTypeId,
            t.error_type_id AS accidentTypeId,
            t.error_type_id AS errorTypeId,
            t.task_urgency_level AS taskUrgencyLevel,
            t.task_description AS taskDescription,
            t.vehicle_id AS vehicleId,
@@ -208,8 +208,8 @@
        <if test="query.taskCategory != null">
            AND t.task_category = #{query.taskCategory}
        </if>
        <if test="query.accidentTypeId != null">
            AND t.error_type_id = #{query.accidentTypeId}
        <if test="query.errorTypeId != null">
            AND t.error_type_id = #{query.errorTypeId}
        </if>
        <if test="query.taskTypeId != null">
            AND t.task_type_id = #{query.taskTypeId}
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/dto/XpAgreementDTO.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
/**
 * @author MiTao
@@ -19,6 +20,11 @@
    @ApiModelProperty(value = "类型 1=用户服务协议 2=平台隐私政策 3=敏感个人信息处理情况说明 4=向第三方提供个人信息情况的说明 5=乘车须知 6=计费规则说明")
    private Integer contentType;
    @NotNull(message = "协议名称不能为空")
    @Size(max = 20, message = "协议名称长度不能超过20")
    @ApiModelProperty(value = "协议名称")
    private String title;
    @NotBlank(message = "协议内容不能为空")
    @ApiModelProperty(value = "内容")
    private String content;
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/vo/XpAgreementVo.java
@@ -1,5 +1,6 @@
package com.xiaopeng.map.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -18,4 +19,7 @@
    @ApiModelProperty(value = "版本")
    private String version;
    @ApiModelProperty(value = "协议的名称")
    private Integer title;
}
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpAgreementController.java
@@ -3,21 +3,17 @@
import com.xiaopeng.api.model.operation.XpAgreement;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.controller.BaseController;
import com.xiaopeng.operation.dto.XpAgreementAppUserDto;
import com.xiaopeng.operation.dto.XpAgreementDTO;
import com.xiaopeng.operation.service.IXpLoginAgreementService;
import com.xiaopeng.operation.service.XpAgreementService;
import com.xiaopeng.operation.vo.XpAgreementVo;
import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.apiguardian.api.API;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.List;
@@ -64,7 +60,7 @@
    @ApiOperation(value = "获取协议", tags = {"管理后台-内容中心"})
    @GetMapping("/api/v1/agreement/content/{type}")
    public R<XpAgreement> getAgreementContent(@ApiParam(name = "type", value = "类型 1=小鹏Robotaxi隐私政策 2=个人信息收集清单 3=敏感个人信息处理情况说明 4=向第三方提供个人信息情况的说明 5=乘车须知 6=计费规则说明 7=权限说明 8=运维APP-小鹏Robotaxi自动驾驶出行运维隐私政策 9=运维APP-第三方共享信息清单 10=运维APP-个人信息收集清单 11=运维APP-权限调用") @PathVariable Integer type) {
    public R<XpAgreement> getAgreementContent(@ApiParam(name = "type", value = "类型 -1预付款,-2付款, 1=小鹏Robotaxi隐私政策 2=个人信息收集清单 3=敏感个人信息处理情况说明 4=向第三方提供个人信息情况的说明 5=乘车须知 6=计费规则说明 7=权限说明 8=运维APP-小鹏Robotaxi自动驾驶出行运维隐私政策 9=运维APP-第三方共享信息清单 10=运维APP-个人信息收集清单 11=运维APP-权限调用") @PathVariable Integer type) {
        return R.ok(xpAgreementService.getAgreementContent(type));
    }
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
@@ -1220,7 +1220,7 @@
        List<XpVehicle> list = this.list(new QueryWrapper<XpVehicle>().eq("vehicle_type", 2)
                .eq("status", 2).eq("operating_status", 1)
                .eq("is_deleted", 0).like(StringUtils.isNotBlank(dto.getPlateNumber()), "plate_number", dto.getPlateNumber())
                .like(StringUtils.isNotBlank(dto.getVim()), "vehicle_vin", dto.getVim())
                .like(StringUtils.isNotBlank(dto.getVin()), "vehicle_vin", dto.getVin())
                .last(" order by create_time desc limit " + dto.getPageNo() + "," + dto.getPageSize())
        );