Jelajahi Sumber

fix: 补充ActivityDTO缺失字段 requireRegistration/requireCheckinReview/memberPrice/feedbackDimensions

前端活动详情页模板依赖这些字段控制条件渲染和价格显示,但 ActivityDTO.from() 未映射导致始终为 undefined。

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
iwt 1 bulan lalu
induk
melakukan
2210b0d2be
1 mengubah file dengan 16 tambahan dan 0 penghapusan
  1. 16 0
      cfc-backend/src/main/java/com/etotem/cfc/dto/ActivityDTO.java

+ 16 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/ActivityDTO.java

@@ -25,6 +25,18 @@ public class ActivityDTO {
     private String vendorName;
     private String vendorName;
     private String priceLabel;
     private String priceLabel;
 
 
+    /** 是否需要报名(0=否,1=是) */
+    private Integer requireRegistration;
+
+    /** 是否需要审核签到(0=否,1=是) */
+    private Integer requireCheckinReview;
+
+    /** 会员价(分) */
+    private Integer memberPrice;
+
+    /** 评价维度列表JSON(如 ["组织形式","会场气氛","主持人","专家"]) */
+    private String feedbackDimensions;
+
     public static ActivityDTO from(Activity activity) {
     public static ActivityDTO from(Activity activity) {
         return from(activity, false, null);
         return from(activity, false, null);
     }
     }
@@ -49,6 +61,10 @@ public class ActivityDTO {
         dto.setMaxParticipants(activity.getMaxParticipants());
         dto.setMaxParticipants(activity.getMaxParticipants());
         dto.setCurrentParticipants(activity.getCurrentParticipants());
         dto.setCurrentParticipants(activity.getCurrentParticipants());
         dto.setVendorName(activity.getVendorName());
         dto.setVendorName(activity.getVendorName());
+        dto.setRequireRegistration(activity.getRequireRegistration());
+        dto.setRequireCheckinReview(activity.getRequireCheckinReview());
+        dto.setMemberPrice(activity.getMemberPrice());
+        dto.setFeedbackDimensions(activity.getFeedbackDimensions());
         // Member-aware pricing: resolve final display price based on membership level
         // Member-aware pricing: resolve final display price based on membership level
         // Guests (no memberLevel) see base price; members see memberPrice if applicable
         // Guests (no memberLevel) see base price; members see memberPrice if applicable
         Integer resolvedPrice = resolveMemberPrice(activity.getPrice(), activity.getMemberPrice(), memberLevel);
         Integer resolvedPrice = resolveMemberPrice(activity.getPrice(), activity.getMemberPrice(), memberLevel);