forked from baskbuddy/zhangshun
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
2.0 KiB
44 lines
2.0 KiB
package com.mydreamjob.preference.dto;
|
|
|
|
import jakarta.validation.constraints.AssertTrue;
|
|
import jakarta.validation.constraints.Max;
|
|
import jakarta.validation.constraints.Min;
|
|
import jakarta.validation.constraints.Size;
|
|
import lombok.Data;
|
|
|
|
import java.util.List;
|
|
|
|
@Data
|
|
public class StudentPreferenceRequest {
|
|
|
|
/** 已保存在线简历时必填;从 GET /profile/me/online-resume 获取。 */
|
|
@jakarta.validation.constraints.PositiveOrZero
|
|
@io.swagger.v3.oas.annotations.media.Schema(minimum = "0", description = "已保存在线简历时必填,取自 GET /profile/me/online-resume;缺少或过期返回409/6002。尚无在线记录时可省略或传0。成功后重新GET获取新版本。")
|
|
private Long revision;
|
|
|
|
@Min(value = 0, message = "expectedSalaryMin must not be negative")
|
|
private Integer expectedSalaryMin;
|
|
|
|
@Min(value = 0, message = "expectedSalaryMax must not be negative")
|
|
private Integer expectedSalaryMax;
|
|
|
|
@Size(max = 20, message = "preferredCities must have at most 20 items")
|
|
private List<@Size(min = 1, max = 100, message = "each city must be 1-100 chars") String> preferredCities;
|
|
|
|
@Size(max = 20, message = "employmentTypes must have at most 20 items")
|
|
private List<@Size(min = 1, max = 100, message = "each employment type must be 1-100 chars") String> employmentTypes;
|
|
|
|
@Size(max = 20, message = "preferredIndustries must have at most 20 items")
|
|
private List<@Size(min = 1, max = 100, message = "each industry must be 1-100 chars") String> preferredIndustries;
|
|
|
|
@Size(max = 20, message = "preferredJobTypes must have at most 20 items")
|
|
private List<@Size(min = 1, max = 100, message = "each job type must be 1-100 chars") String> preferredJobTypes;
|
|
|
|
private Boolean remoteAllowed;
|
|
|
|
@AssertTrue(message = "expectedSalaryMin must not be greater than expectedSalaryMax")
|
|
public boolean isSalaryRangeValid() {
|
|
if (expectedSalaryMin == null || expectedSalaryMax == null) return true;
|
|
return expectedSalaryMin <= expectedSalaryMax;
|
|
}
|
|
}
|
|
|