package com.tourguide.modules.user.dto; import com.tourguide.modules.user.entity.GuideApplication; import java.time.LocalDate; import java.time.LocalDateTime; /** 导游申请返回对象,包含后台审核所需资料。 */ public class GuideApplicationResponse { private final Long id; private final String applicationNo; private final String realName; private final String mobile; private final Integer gender; private final String ageRange; private final String workYearRange; private final String guideType; private final Long teamId; private final String idCardNo; private final String certificateNo; private final String idCardFrontUrl; private final String idCardBackUrl; private final String certificateUrl; private final String qualificationCertificateUrl; private final LocalDate certificateValidUntil; private final String bankCardNo; private final Long bankCityId; private final String bankCityName; private final Integer auditStatus; private final String auditRemark; private final String auditor; private final LocalDateTime auditedAt; private final LocalDateTime createdAt; private GuideApplicationResponse(GuideApplication application) { this.id = application.getId(); this.applicationNo = application.getApplicationNo(); this.realName = application.getRealName(); this.mobile = application.getMobile(); this.gender = application.getGender(); this.ageRange = application.getAgeRange(); this.workYearRange = application.getWorkYearRange(); this.guideType = application.getGuideType(); this.teamId = application.getTeamId(); this.idCardNo = application.getIdCardNo(); this.certificateNo = application.getCertificateNo(); this.idCardFrontUrl = application.getIdCardFrontUrl(); this.idCardBackUrl = application.getIdCardBackUrl(); this.certificateUrl = application.getCertificateUrl(); this.qualificationCertificateUrl = application.getQualificationCertificateUrl(); this.certificateValidUntil = application.getCertificateValidUntil(); this.bankCardNo = application.getBankCardNo(); this.bankCityId = application.getBankCityId(); this.bankCityName = application.getBankCityName(); this.auditStatus = application.getAuditStatus(); this.auditRemark = application.getAuditRemark(); this.auditor = application.getAuditor(); this.auditedAt = application.getAuditedAt(); this.createdAt = application.getCreatedAt(); } public static GuideApplicationResponse from(GuideApplication application) { return new GuideApplicationResponse(application); } public Long getId() { return id; } public String getApplicationNo() { return applicationNo; } public String getRealName() { return realName; } public String getMobile() { return mobile; } public Integer getGender() { return gender; } public String getAgeRange() { return ageRange; } public String getWorkYearRange() { return workYearRange; } public String getGuideType() { return guideType; } public Long getTeamId() { return teamId; } public String getIdCardNo() { return idCardNo; } public String getCertificateNo() { return certificateNo; } public String getIdCardFrontUrl() { return idCardFrontUrl; } public String getIdCardBackUrl() { return idCardBackUrl; } public String getCertificateUrl() { return certificateUrl; } public String getQualificationCertificateUrl() { return qualificationCertificateUrl; } public LocalDate getCertificateValidUntil() { return certificateValidUntil; } public String getBankCardNo() { return bankCardNo; } public Long getBankCityId() { return bankCityId; } public String getBankCityName() { return bankCityName; } public Integer getAuditStatus() { return auditStatus; } public String getAuditRemark() { return auditRemark; } public String getAuditor() { return auditor; } public LocalDateTime getAuditedAt() { return auditedAt; } public LocalDateTime getCreatedAt() { return createdAt; } }