package com.punchsettle.server.dto; import com.punchsettle.server.common.valid.Query; import org.hibernate.validator.constraints.Length; import com.punchsettle.server.common.valid.Delete; import com.punchsettle.server.common.valid.DoSomething; import com.punchsettle.server.common.valid.Save; import com.punchsettle.server.common.valid.Update; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Positive; import lombok.Data; import lombok.EqualsAndHashCode; /** * @author tyuio * @version 1.0.0 * @description 打卡结算任务信息 dto * @date 2024/11/25 15:01 */ @Data @EqualsAndHashCode public class PunchInDto { /** * 打卡结算主键 */ @NotNull(message = "打卡结算主键不能为空", groups = {Query.class, Update.class, Delete.class, DoSomething.class}) private Long id; /** * 版本号 */ @NotNull(message = "版本号不能为空", groups = {Update.class}) @Positive(message = "版本号必须大于0", groups = {Update.class}) private Integer version; /** * 任务名称 */ @NotBlank(message = "任务名称不能为空", groups = {Save.class, Update.class}) @Length(max = 30, message = "任务名称不能超过30个字符", groups = {Save.class, Update.class}) private String taskName; /** * 奖励倍数 */ @NotNull(message = "奖励倍数不能为空", groups = {Save.class, Update.class}) @Positive(message = "奖励倍数必须大于0", groups = {Save.class, Update.class}) private Integer rewardNum; /** * 是否启用周末双倍标志(0-不是,1-是) */ @NotNull(message = "是否启用周末双倍标志不能为空", groups = {Save.class, Update.class}) private Boolean weekendDoubleFlag; /** * 是否启用全勤奖励标志(0-不是,1-是) */ @NotNull(message = "是否启用全勤奖励标志不能为空", groups = {Save.class, Update.class}) private Boolean fullAttendanceFlag; }