package com.talentcard.server.response; import java.time.LocalDateTime; import com.talentcard.server.entity.DependentCardApply; import io.swagger.v3.oas.annotations.media.Schema; @Schema(name = "DependentCardApplyResponse", description = "家属附属卡申请提交结果") public record DependentCardApplyResponse( @Schema(description = "申请记录ID", example = "1001") Long id, @Schema(description = "申请编号", example = "DCA202608031100001234") String applyNo, @Schema(description = "主卡持有人ID", example = "2") Long talentId, @Schema(description = "主卡ID", example = "1") Long talentCardId, @Schema(description = "家属姓名", example = "张三") String dependentName, @Schema(description = "家属身份证号", example = "510105199001011234") String dependentIdCardNo, @Schema(description = "家属手机号", example = "13800138000") String dependentMobile, @Schema(description = "家属关系", example = "配偶") String relation, @Schema(description = "审核状态:0待审核、1通过、2驳回、3取消", example = "0", allowableValues = {"0", "1", "2", "3"}) Integer status, @Schema(description = "申请时间", example = "2026-08-03T11:00:00") LocalDateTime applyTime ) { public static DependentCardApplyResponse from(DependentCardApply apply) { return new DependentCardApplyResponse( apply.getId(), apply.getApplyNo(), apply.getTalentId(), apply.getTalentCardId(), apply.getDependentName(), apply.getDependentIdCardNo(), apply.getDependentMobile(), apply.getRelation(), apply.getStatus(), apply.getApplyTime() ); } }