liujie
2026-09-11 4f6f15b818704079ff2e4e4719b798f48d68a335
backend/src/main/java/com/tourguide/modules/user/dto/GuideUserDetailResponse.java
@@ -19,7 +19,9 @@
    private final Integer gender;
    private final LocalDate birthDate;
    private final Integer age;
    private final String ageRange;
    private final Integer workYears;
    private final String workYearRange;
    private final String idCardNo;
    private final String idCardFrontUrl;
    private final String idCardBackUrl;
@@ -32,6 +34,7 @@
    private final Long currentMonthOrderCount;
    private final BigDecimal rating;
    private final boolean autoDisableWhitelisted;
    private final boolean premiumEnabled;
    private final String wechatOpenId;
    private final Integer status;
    private final LocalDateTime createdAt;
@@ -43,6 +46,12 @@
    public GuideUserDetailResponse(GuideUser user, String teamName, List<GuideScenicConfig> scenicConfigs,
                                   LocalDate birthDate, Integer workYears) {
        this(user, teamName, scenicConfigs, birthDate, workYears, null, null);
    }
    public GuideUserDetailResponse(GuideUser user, String teamName, List<GuideScenicConfig> scenicConfigs,
                                   LocalDate birthDate, Integer workYears,
                                   String ageRange, String workYearRange) {
        this.id = user.getId();
        this.username = user.getUsername();
        this.realName = user.getRealName();
@@ -52,7 +61,9 @@
        this.gender = user.getGender();
        this.birthDate = birthDate;
        this.age = birthDate == null ? null : Period.between(birthDate, LocalDate.now()).getYears();
        this.ageRange = ageRange;
        this.workYears = workYears;
        this.workYearRange = workYearRange;
        this.idCardNo = user.getIdCardNo();
        this.idCardFrontUrl = user.getIdCardFrontUrl();
        this.idCardBackUrl = user.getIdCardBackUrl();
@@ -65,6 +76,7 @@
        this.currentMonthOrderCount = user.getCurrentMonthOrderCount() == null ? 0L : user.getCurrentMonthOrderCount();
        this.rating = user.getRating() == null ? BigDecimal.ZERO : user.getRating();
        this.autoDisableWhitelisted = user.getAutoDisableWhitelisted() != null && user.getAutoDisableWhitelisted() == 1;
        this.premiumEnabled = Integer.valueOf(1).equals(user.getPremiumEnabled());
        this.wechatOpenId = user.getWechatOpenId();
        this.status = user.getStatus();
        this.createdAt = user.getCreatedAt();
@@ -79,7 +91,9 @@
    public Integer getGender() { return gender; }
    public LocalDate getBirthDate() { return birthDate; }
    public Integer getAge() { return age; }
    public String getAgeRange() { return ageRange; }
    public Integer getWorkYears() { return workYears; }
    public String getWorkYearRange() { return workYearRange; }
    public String getIdCardNo() { return idCardNo; }
    public String getIdCardFrontUrl() { return idCardFrontUrl; }
    public String getIdCardBackUrl() { return idCardBackUrl; }
@@ -92,6 +106,7 @@
    public Long getCurrentMonthOrderCount() { return currentMonthOrderCount; }
    public BigDecimal getRating() { return rating; }
    public boolean isAutoDisableWhitelisted() { return autoDisableWhitelisted; }
    public boolean isPremiumEnabled() { return premiumEnabled; }
    public String getWechatOpenId() { return wechatOpenId; }
    public Integer getStatus() { return status; }
    public LocalDateTime getCreatedAt() { return createdAt; }