package cn.iocoder.yudao.module.crm.controller.admin.credit.vo; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.time.LocalDateTime; import static cn.iocoder.yudao.module.crm.enums.DictTypeConstants.CRM_CREDIT_LEVEL; @Schema(description = "管理后台 - CRM 客户信用评级新增/修改 Request VO") @Data public class CrmCreditRatingSaveReqVO { @Schema(description = "编号", example = "1024") private Long id; @Schema(description = "客户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") @NotNull(message = "客户ID不能为空") private Long customerId; @Schema(description = "信用等级(A+/A/B+/B/C/C-/D)", example = "B") @DictFormat(CRM_CREDIT_LEVEL) private String level; @Schema(description = "信用分(0-100)", example = "85") private Integer score; @Schema(description = "评定类型(初评/复评/动态调整)", example = "INITIAL") private String evalType; @Schema(description = "评定理由", example = "近12个月用电信用良好") private String evalReason; @Schema(description = "操作人ID", example = "1") private Long operatorId; @Schema(description = "操作人姓名", example = "李工") private String operatorName; @Schema(description = "操作时间") private LocalDateTime operateTime; @Schema(description = "有效期至") private LocalDateTime validUntil; @Schema(description = "备注") private String remark; }