package com.iailab.module.system.api.logger.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @Schema(description = "RPC æœåŠ¡ - 登录日志创建 Request DTO") @Data public class LoginLogCreateReqDTO { @Schema(description = "日志类型,å‚è§ LoginLogTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1" ) @NotNull(message = "日志类型ä¸èƒ½ä¸ºç©º") private Integer logType; @Schema(description = "链路追踪编å·", requiredMode = Schema.RequiredMode.REQUIRED, example = "89aca178-a370-411c-ae02-3f0d672be4ab") private String traceId; @Schema(description = "用户编å·", example = "666") private Long userId; @Schema(description = "用户类型,å‚è§ UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2" ) @NotNull(message = "用户类型ä¸èƒ½ä¸ºç©º") private Integer userType; @Schema(description = "用户账å·", requiredMode = Schema.RequiredMode.REQUIRED, example = "iailab") @NotBlank(message = "用户账å·ä¸èƒ½ä¸ºç©º") @Size(max = 30, message = "用户账å·é•¿åº¦ä¸èƒ½è¶…过30个å—符") private String username; @Schema(description = "登录结果,å‚è§ LoginResultEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "登录结果ä¸èƒ½ä¸ºç©º") private Integer result; @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") @NotEmpty(message = "用户 IP ä¸èƒ½ä¸ºç©º") private String userIp; @Schema(description = "æµè§ˆå™¨ UserAgent", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0") private String userAgent; }