package com.dy.pipIrrGlobal.pojoMd; import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.*; import org.hibernate.validator.constraints.Length; import java.util.Date; /** * @Author: liurunyu * @Date: 2025/8/15 15:22 * @Description */ @TableName(value="md_crops", autoResultMap = true) @Data @Builder @ToString @NoArgsConstructor @AllArgsConstructor @Schema(name = "作物实体") public class MdCrops implements BaseEntity { public static final long serialVersionUID = 202508061126001L; /** * 主键 */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @TableId(type = IdType.INPUT) @Schema(description = "实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Long id; /** * 指向气象站外键 */ @Schema(description = "关联的气象站", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "关联的气象站不能为空") //不能为空也不能为null public Long weatherId; /** * 作物名称 */ @Schema(description = "作物名称", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "作物名称不能为空") //不能为空也不能为null @Length(message = "作物名称不大于{max}字,不小于{min}字", min = 1, max = 50) public String name; /** * 计算开始日期(一年生作物是种植时间或出芽时间),如果为空值则为长久计算,格式yyyy-mm-dd */ @Schema(description = "计算开始日期(一年生作物是种植时间或出芽时间),如果为空值则为长久计算,格式yyyy-mm-dd", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonFormat(pattern = "MM-dd") public String startDt; /** * 计算截止日期(一年生作物是停止灌溉时间),如果为空值则为长久计算,格式yyyy-mm-dd */ @Schema(description = "计算截止日期(一年生作物是停止灌溉时间),如果为空值则为长久计算,格式yyyy-mm-dd", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonFormat(pattern = "MM-dd") public String endDt; /** * 生长初期开始天数(默认是1) */ @Schema(description = "生长初期开始天数(默认是1)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Integer life1Start; /** * 生长初期结束天数 */ @Schema(description = "生长初期结束天数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Integer life1End; /** * 生长初期作物系数 */ @Schema(description = "生长初期作物系数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Double life1Factor ; /** * 快速生长期开始天数(默认生长初期结束天数+1) */ @Schema(description = "快速生长期开始天数(默认生长初期结束天数+1)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Integer life2Start; /** * 快速生长期结束天数 */ @Schema(description = "快速生长期结束天数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Integer life2End; /** * 快速生长期作物系数 */ @Schema(description = "快速生长期作物系数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Double life2Factor ; /** * 生长中期开始天数(默认快速生长期结束天数+1) */ @Schema(description = "生长中期开始天数(默认快速生长期结束天数+1)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Integer life3Start; /** * 生长中期结束天数 */ @Schema(description = "生长中期结束天数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Integer life3End; /** * 生长中期作物系数 */ @Schema(description = "生长中期作物系数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Double life3Factor ; /** * 生长末期开始天数(默认生长中期结束天数+1) */ @Schema(description = "生长末期开始天数(默认生长中期结束天数+1)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Integer life4Start; /** * 生长末期结束天数 */ @Schema(description = "生长末期结束天数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Integer life4End; /** * 生长末期作物系数 */ @Schema(description = "生长末期作物系数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Double life4Factor ; /** * 是否停止计算,1是,0否 */ @Schema(description = "停止计算标识", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Byte stopped; /** * 备注 */ @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @Length(message = "备注不大于{max}字,不小于{min}字", min = 1, max = 100) public String remarks; /** * 数据记录创建日期,格式yyyy-mm-dd hh:mm:ss */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date createDt; /** * 是否删除: 0表示未删除 1表示删除. */ @Schema(description = "作物删除标志,表单不用填写", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Byte deleted; }