gunshi-project-ss/src/main/java/com/gunshi/project/xyt/model/RescueTeamB.java

152 lines
4.4 KiB
Java

package com.gunshi.project.xyt.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
import com.gunshi.file.model.FileDescriptor;
import com.gunshi.project.xyt.service.AbstractModelWithAttachService;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 描述: 抢险队伍
* author: xusan
* date: 2024-07-08 17:34:26
*/
@Schema(description="抢险队伍")
@Data
@TableName("public.rescue_team_b")
public class RescueTeamB implements Serializable, AbstractModelWithAttachService.GetFileIds {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value="team_id", type= IdType.AUTO)
@Schema(description="主键")
@NotNull(message = "主键不能为空")
@JsonSerialize(using = ToStringSerializer.class)
private Long teamId;
/**
* 队伍名称
*/
@TableField(value="team_name")
@Schema(description="队伍名称")
@Size(max = 100,message = "队伍名称最大长度要小于 100")
private String teamName;
/**
* 地址
*/
@TableField(value="address")
@Schema(description="地址")
@Size(max = 150,message = "地址最大长度要小于 150")
private String address;
/**
* 经度 (°)
*/
@TableField(value="lgtd")
@Schema(description="经度 (°)")
private BigDecimal lgtd;
/**
* 纬度 (°)
*/
@TableField(value="lttd")
@Schema(description="纬度 (°)")
private BigDecimal lttd;
/**
* 管理单位
*/
@TableField(value="management_unit")
@Schema(description="管理单位")
@Size(max = 150,message = "管理单位最大长度要小于 150")
private String managementUnit;
/**
* 队伍负责人
*/
@TableField(value="team_leader")
@Schema(description="队伍负责人")
@Size(max = 150,message = "队伍负责人最大长度要小于 150")
private String teamLeader;
/**
* 联系电话
*/
@TableField(value="phone")
@Schema(description="联系电话")
@Size(max = 20,message = "联系电话最大长度要小于 20")
private String phone;
/**
* 登记日期
*/
@TableField(value="register_date")
@Schema(description="登记日期")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8")
private Date registerDate;
/**
* 有效期开始时间
*/
@TableField(value="valid_start_date")
@Schema(description="有效期开始时间")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8")
private Date validStartDate;
/**
* 有效期结束时间
*/
@TableField(value="valid_end_date")
@Schema(description="有效期结束时间")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8")
private Date validEndDate;
/**
* 时间戳
*/
@TableField(value="tm")
@Schema(description="时间戳")
@NotNull(message = "时间戳不能为空")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date tm;
@TableField(exist = false)
@Schema(description = "文件id集合")
private List<String> fileIds;
/**
* 文件上传数据
*/
@Schema(description="文件上传数据")
@TableField(exist = false)
private List<FileDescriptor> files;
/**
* 队伍明细
*/
@Schema(description="队伍明细")
@TableField(exist = false)
private List<RescueTeamDetail> details;
}