package cn.iocoder.yudao.module.crm.controller.admin.contract.vo.command; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; 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_COMMAND_STATUS; import static cn.iocoder.yudao.module.crm.enums.DictTypeConstants.CRM_COMMAND_TYPE; @Schema(description = "管理后台 - CRM 合同指令新增/修改 Request VO") @Data public class CrmContractCommandSaveReqVO { @Schema(description = "编号", example = "1024") private Long id; @Schema(description = "合同ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") @NotNull(message = "合同ID不能为空") private Long contractId; @Schema(description = "合同编号") private String contractNo; @Schema(description = "指令类型(下发表/抄表任务/服务工单)", example = "METER_READ") @DictFormat(CRM_COMMAND_TYPE) private String commandType; @Schema(description = "目标模块", example = "mes-metering") private String targetModule; @Schema(description = "目标记录ID") private Long targetId; @Schema(description = "业务单号") private String bizNo; @Schema(description = "操作人ID", example = "1") private Long operatorId; @Schema(description = "操作人姓名", example = "李工") private String operatorName; @Schema(description = "操作时间") private LocalDateTime operateTime; @Schema(description = "状态(0待执行/10已下发/20已完成/30已取消)", example = "0") @DictFormat(CRM_COMMAND_STATUS) private Integer status; @Schema(description = "备注") private String remark; }