xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpTask.java
@@ -1,17 +1,18 @@
package com.xiaopeng.api.model.maintenance;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.xiaopeng.common.core.web.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
@@ -24,22 +25,25 @@
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("xp_task")
@ApiModel(value="XpTask对象", description="任务管理")
@TableName(value = "xp_task", autoResultMap = true)
@ApiModel(value = "XpTask对象", description = "任务管理")
public class XpTask extends BaseModel {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "自增id")
    @TableId(value = "id", type = IdType.AUTO)
    @TableId(value = "id", type = IdType.NONE)
    private Long id;
    @ApiModelProperty(value = "事故类型id")
    private String errorTypeId;
    @ApiModelProperty(value = "任务编号")
    private String taskCode;
    @ApiModelProperty(value = "任务类别1常规 2事故")
    private Integer taskCategory;
//1:车辆检查,2:车辆充电,3:车辆整备,4:整备洗车,5:车辆维修,6:车辆保养,7:车辆保险到期,8:车辆年检到期9:车辆运营资质到期
    //1:车辆检查,2:车辆充电,3:车辆整备,4:整备洗车,5:车辆维修,6:车辆保养,7:车辆保险到期,8:车辆年检到期9:车辆运营资质到期
    @ApiModelProperty(value = "任务类型id 任务类别为2时对应数据字典,多个逗号分割,为1的时候 枚举1车辆检查 2车辆充电 3车辆整备 4整备洗车 5车辆维修 6车辆保养 7车辆保险到期 8车辆年检到期 9车辆运营资质到期")
    private String taskTypeId;
@@ -53,6 +57,7 @@
    private String taskImage;
    @ApiModelProperty(value = "车辆id")
    @TableField(updateStrategy = FieldStrategy.NEVER)
    private Long vehicleId;
    @ApiModelProperty(value = "车辆位置")
    private String vehicleLocation;
@@ -62,25 +67,74 @@
    private BigDecimal vehicleLat;
    @ApiModelProperty(value = "处理人id")
    private Long handleUserId;
    private String handleUserId;
    @ApiModelProperty(value = "处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime handleTime;
    @ApiModelProperty(value = "分配人id")
    private Long assigneeUserId;
    @ApiModelProperty(value = "分配时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime assigneeTime;
    @ApiModelProperty(value = "上报人id")
    private Long reportUserId;
    @ApiModelProperty(value = "上报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime reportTime;
    @ApiModelProperty(value = "任务时限结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
    @ApiModelProperty(value = "状态 0=待到达 1=待处理 2=已完成 3=已取消")
    @ApiModelProperty(value = "是否已发送过期通知 0=未发送 1=已发送")
    private Integer expiredNoticeSent;
    @ApiModelProperty(value = "事故即将超时通知是否已发送 0=未发送 1=已发送")
    private Integer willTimeoutNoticeSent;
    @ApiModelProperty(value = "状态 0=待到达 1=待处理 2=已完成 3=已取消 4=改派中")
    private Integer status;
    @ApiModelProperty(value = "状态 2=已处理 1=改派中")
    private Integer reassignmentStatus;
    @ApiModelProperty(value = "任务来源 1-运维APP 2-管理后台")
    private Integer taskSource;
    @ApiModelProperty(value = "申请改派的用户")
    @TableField(typeHandler = JacksonTypeHandler.class)
    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;
    }
}