Browse Source

儿童疫苗相关功能

sunday 4 days ago
parent
commit
0a7c9909e3
75 changed files with 2966 additions and 0 deletions
  1. 112 0
      Marketplace/src/main/java/com/dt/common/domain/HxwAgeBasedVaccineRecommendations.java
  2. 101 0
      Marketplace/src/main/java/com/dt/common/domain/HxwDiseases.java
  3. 160 0
      Marketplace/src/main/java/com/dt/common/domain/HxwKnowledgeArticles.java
  4. 104 0
      Marketplace/src/main/java/com/dt/common/domain/HxwMediaResources.java
  5. 96 0
      Marketplace/src/main/java/com/dt/common/domain/HxwUserInteractions.java
  6. 120 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineAppointments.java
  7. 104 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineCategories.java
  8. 136 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineComparisons.java
  9. 120 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineContentModules.java
  10. 152 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineDetails.java
  11. 112 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineDiscussions.java
  12. 88 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineDiseaseRelations.java
  13. 80 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineExpertRelations.java
  14. 112 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccineExperts.java
  15. 136 0
      Marketplace/src/main/java/com/dt/common/domain/HxwVaccines.java
  16. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwAgeBasedVaccineRecommendationsMapper.java
  17. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwDiseasesMapper.java
  18. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwKnowledgeArticlesMapper.java
  19. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwMediaResourcesMapper.java
  20. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwUserInteractionsMapper.java
  21. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineAppointmentsMapper.java
  22. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineCategoriesMapper.java
  23. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineComparisonsMapper.java
  24. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineContentModulesMapper.java
  25. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineDetailsMapper.java
  26. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineDiscussionsMapper.java
  27. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineDiseaseRelationsMapper.java
  28. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineExpertRelationsMapper.java
  29. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineExpertsMapper.java
  30. 18 0
      Marketplace/src/main/java/com/dt/common/mapper/HxwVaccinesMapper.java
  31. 20 0
      Marketplace/src/main/java/com/dt/common/service/HxwAgeBasedVaccineRecommendationsService.java
  32. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwDiseasesService.java
  33. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwKnowledgeArticlesService.java
  34. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwMediaResourcesService.java
  35. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwUserInteractionsService.java
  36. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineAppointmentsService.java
  37. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineCategoriesService.java
  38. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineComparisonsService.java
  39. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineContentModulesService.java
  40. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineDetailsService.java
  41. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineDiscussionsService.java
  42. 18 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineDiseaseRelationsService.java
  43. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineExpertRelationsService.java
  44. 13 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccineExpertsService.java
  45. 18 0
      Marketplace/src/main/java/com/dt/common/service/HxwVaccinesService.java
  46. 50 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwAgeBasedVaccineRecommendationsServiceImpl.java
  47. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwDiseasesServiceImpl.java
  48. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwKnowledgeArticlesServiceImpl.java
  49. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwMediaResourcesServiceImpl.java
  50. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwUserInteractionsServiceImpl.java
  51. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineAppointmentsServiceImpl.java
  52. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineCategoriesServiceImpl.java
  53. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineComparisonsServiceImpl.java
  54. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineContentModulesServiceImpl.java
  55. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineDetailsServiceImpl.java
  56. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineDiscussionsServiceImpl.java
  57. 61 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineDiseaseRelationsServiceImpl.java
  58. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineExpertRelationsServiceImpl.java
  59. 22 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineExpertsServiceImpl.java
  60. 42 0
      Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccinesServiceImpl.java
  61. 22 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwAgeBasedVaccineRecommendationsMapper.xml
  62. 19 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwDiseasesMapper.xml
  63. 29 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwKnowledgeArticlesMapper.xml
  64. 21 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwMediaResourcesMapper.xml
  65. 19 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwUserInteractionsMapper.xml
  66. 23 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineAppointmentsMapper.xml
  67. 21 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineCategoriesMapper.xml
  68. 25 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineComparisonsMapper.xml
  69. 23 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineContentModulesMapper.xml
  70. 28 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineDetailsMapper.xml
  71. 22 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineDiscussionsMapper.xml
  72. 18 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineDiseaseRelationsMapper.xml
  73. 17 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineExpertRelationsMapper.xml
  74. 22 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineExpertsMapper.xml
  75. 25 0
      Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccinesMapper.xml

+ 112 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwAgeBasedVaccineRecommendations.java

@@ -0,0 +1,112 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_按月龄疫苗推荐表:按照儿童月龄推荐接种的疫苗
+ * @TableName hxw_age_based_vaccine_recommendations
+ */
+@TableName(value ="hxw_age_based_vaccine_recommendations")
+@Data
+public class HxwAgeBasedVaccineRecommendations {
+    /**
+     * 推荐ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 年龄组,如"0-3个月"、"6个月"
+     */
+    private String ageGroup;
+
+    /**
+     * 疫苗ID
+     */
+    private Integer vaccineId;
+
+    /**
+     * 是否必须接种
+     */
+    private Integer isMandatory;
+
+    /**
+     * 注意事项
+     */
+    private String notes;
+
+    /**
+     * 显示顺序
+     */
+    private Integer displayOrder;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwAgeBasedVaccineRecommendations other = (HxwAgeBasedVaccineRecommendations) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getAgeGroup() == null ? other.getAgeGroup() == null : this.getAgeGroup().equals(other.getAgeGroup()))
+            && (this.getVaccineId() == null ? other.getVaccineId() == null : this.getVaccineId().equals(other.getVaccineId()))
+            && (this.getIsMandatory() == null ? other.getIsMandatory() == null : this.getIsMandatory().equals(other.getIsMandatory()))
+            && (this.getNotes() == null ? other.getNotes() == null : this.getNotes().equals(other.getNotes()))
+            && (this.getDisplayOrder() == null ? other.getDisplayOrder() == null : this.getDisplayOrder().equals(other.getDisplayOrder()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getAgeGroup() == null) ? 0 : getAgeGroup().hashCode());
+        result = prime * result + ((getVaccineId() == null) ? 0 : getVaccineId().hashCode());
+        result = prime * result + ((getIsMandatory() == null) ? 0 : getIsMandatory().hashCode());
+        result = prime * result + ((getNotes() == null) ? 0 : getNotes().hashCode());
+        result = prime * result + ((getDisplayOrder() == null) ? 0 : getDisplayOrder().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", ageGroup=").append(ageGroup);
+        sb.append(", vaccineId=").append(vaccineId);
+        sb.append(", isMandatory=").append(isMandatory);
+        sb.append(", notes=").append(notes);
+        sb.append(", displayOrder=").append(displayOrder);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 101 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwDiseases.java

@@ -0,0 +1,101 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import java.util.List;
+
+import lombok.Data;
+
+/**
+ * hxw_疾病表:存储疫苗可预防的疾病信息
+ * @TableName hxw_diseases
+ */
+@TableName(value ="hxw_diseases")
+@Data
+public class HxwDiseases {
+    /**
+     * 疾病ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 疾病名称
+     */
+    private String name;
+
+    /**
+     * 疾病描述
+     */
+    private String description;
+
+    /**
+     * 疾病图标URL
+     */
+    private String iconUrl;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @TableField(exist = false)
+    private List<HxwVaccines> vaccines;//疫苗
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwDiseases other = (HxwDiseases) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
+            && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
+            && (this.getIconUrl() == null ? other.getIconUrl() == null : this.getIconUrl().equals(other.getIconUrl()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
+        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
+        result = prime * result + ((getIconUrl() == null) ? 0 : getIconUrl().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", name=").append(name);
+        sb.append(", description=").append(description);
+        sb.append(", iconUrl=").append(iconUrl);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 160 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwKnowledgeArticles.java

@@ -0,0 +1,160 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_科普文章表:存储疫苗相关的科普文章
+ * @TableName hxw_knowledge_articles
+ */
+@TableName(value ="hxw_knowledge_articles")
+@Data
+public class HxwKnowledgeArticles {
+    /**
+     * 文章ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 文章标题
+     */
+    private String title;
+
+    /**
+     * 副标题
+     */
+    private String subtitle;
+
+    /**
+     * 文章内容
+     */
+    private String content;
+
+    /**
+     * 封面图片URL
+     */
+    private String coverImageUrl;
+
+    /**
+     * 作者
+     */
+    private String author;
+
+    /**
+     * 来源
+     */
+    private String source;
+
+    /**
+     * 浏览量
+     */
+    private Integer viewCount;
+
+    /**
+     * 点赞数
+     */
+    private Integer likeCount;
+
+    /**
+     * 相关疫苗ID
+     */
+    private Integer relatedVaccineId;
+
+    /**
+     * 文章类型
+     */
+    private Object articleType;
+
+    /**
+     * 是否推荐
+     */
+    private Integer isFeatured;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwKnowledgeArticles other = (HxwKnowledgeArticles) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
+            && (this.getSubtitle() == null ? other.getSubtitle() == null : this.getSubtitle().equals(other.getSubtitle()))
+            && (this.getContent() == null ? other.getContent() == null : this.getContent().equals(other.getContent()))
+            && (this.getCoverImageUrl() == null ? other.getCoverImageUrl() == null : this.getCoverImageUrl().equals(other.getCoverImageUrl()))
+            && (this.getAuthor() == null ? other.getAuthor() == null : this.getAuthor().equals(other.getAuthor()))
+            && (this.getSource() == null ? other.getSource() == null : this.getSource().equals(other.getSource()))
+            && (this.getViewCount() == null ? other.getViewCount() == null : this.getViewCount().equals(other.getViewCount()))
+            && (this.getLikeCount() == null ? other.getLikeCount() == null : this.getLikeCount().equals(other.getLikeCount()))
+            && (this.getRelatedVaccineId() == null ? other.getRelatedVaccineId() == null : this.getRelatedVaccineId().equals(other.getRelatedVaccineId()))
+            && (this.getArticleType() == null ? other.getArticleType() == null : this.getArticleType().equals(other.getArticleType()))
+            && (this.getIsFeatured() == null ? other.getIsFeatured() == null : this.getIsFeatured().equals(other.getIsFeatured()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
+        result = prime * result + ((getSubtitle() == null) ? 0 : getSubtitle().hashCode());
+        result = prime * result + ((getContent() == null) ? 0 : getContent().hashCode());
+        result = prime * result + ((getCoverImageUrl() == null) ? 0 : getCoverImageUrl().hashCode());
+        result = prime * result + ((getAuthor() == null) ? 0 : getAuthor().hashCode());
+        result = prime * result + ((getSource() == null) ? 0 : getSource().hashCode());
+        result = prime * result + ((getViewCount() == null) ? 0 : getViewCount().hashCode());
+        result = prime * result + ((getLikeCount() == null) ? 0 : getLikeCount().hashCode());
+        result = prime * result + ((getRelatedVaccineId() == null) ? 0 : getRelatedVaccineId().hashCode());
+        result = prime * result + ((getArticleType() == null) ? 0 : getArticleType().hashCode());
+        result = prime * result + ((getIsFeatured() == null) ? 0 : getIsFeatured().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", title=").append(title);
+        sb.append(", subtitle=").append(subtitle);
+        sb.append(", content=").append(content);
+        sb.append(", coverImageUrl=").append(coverImageUrl);
+        sb.append(", author=").append(author);
+        sb.append(", source=").append(source);
+        sb.append(", viewCount=").append(viewCount);
+        sb.append(", likeCount=").append(likeCount);
+        sb.append(", relatedVaccineId=").append(relatedVaccineId);
+        sb.append(", articleType=").append(articleType);
+        sb.append(", isFeatured=").append(isFeatured);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 104 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwMediaResources.java

@@ -0,0 +1,104 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_多媒体资源表:存储与疫苗相关的多媒体资源
+ * @TableName hxw_media_resources
+ */
+@TableName(value ="hxw_media_resources")
+@Data
+public class HxwMediaResources {
+    /**
+     * 资源ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 资源类型
+     */
+    private Object resourceType;
+
+    /**
+     * 资源URL
+     */
+    private String url;
+
+    /**
+     * 关联内容类型
+     */
+    private Object relatedType;
+
+    /**
+     * 关联内容ID
+     */
+    private Integer relatedId;
+
+    /**
+     * 显示顺序
+     */
+    private Integer displayOrder;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwMediaResources other = (HxwMediaResources) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getResourceType() == null ? other.getResourceType() == null : this.getResourceType().equals(other.getResourceType()))
+            && (this.getUrl() == null ? other.getUrl() == null : this.getUrl().equals(other.getUrl()))
+            && (this.getRelatedType() == null ? other.getRelatedType() == null : this.getRelatedType().equals(other.getRelatedType()))
+            && (this.getRelatedId() == null ? other.getRelatedId() == null : this.getRelatedId().equals(other.getRelatedId()))
+            && (this.getDisplayOrder() == null ? other.getDisplayOrder() == null : this.getDisplayOrder().equals(other.getDisplayOrder()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getResourceType() == null) ? 0 : getResourceType().hashCode());
+        result = prime * result + ((getUrl() == null) ? 0 : getUrl().hashCode());
+        result = prime * result + ((getRelatedType() == null) ? 0 : getRelatedType().hashCode());
+        result = prime * result + ((getRelatedId() == null) ? 0 : getRelatedId().hashCode());
+        result = prime * result + ((getDisplayOrder() == null) ? 0 : getDisplayOrder().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", resourceType=").append(resourceType);
+        sb.append(", url=").append(url);
+        sb.append(", relatedType=").append(relatedType);
+        sb.append(", relatedId=").append(relatedId);
+        sb.append(", displayOrder=").append(displayOrder);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 96 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwUserInteractions.java

@@ -0,0 +1,96 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_用户行为记录表:记录用户与内容的交互行为
+ * @TableName hxw_user_interactions
+ */
+@TableName(value ="hxw_user_interactions")
+@Data
+public class HxwUserInteractions {
+    /**
+     * 交互ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 用户ID
+     */
+    private Integer userId;
+
+    /**
+     * 交互类型
+     */
+    private Object interactionType;
+
+    /**
+     * 内容类型
+     */
+    private Object contentType;
+
+    /**
+     * 内容ID
+     */
+    private Integer contentId;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwUserInteractions other = (HxwUserInteractions) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
+            && (this.getInteractionType() == null ? other.getInteractionType() == null : this.getInteractionType().equals(other.getInteractionType()))
+            && (this.getContentType() == null ? other.getContentType() == null : this.getContentType().equals(other.getContentType()))
+            && (this.getContentId() == null ? other.getContentId() == null : this.getContentId().equals(other.getContentId()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
+        result = prime * result + ((getInteractionType() == null) ? 0 : getInteractionType().hashCode());
+        result = prime * result + ((getContentType() == null) ? 0 : getContentType().hashCode());
+        result = prime * result + ((getContentId() == null) ? 0 : getContentId().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", userId=").append(userId);
+        sb.append(", interactionType=").append(interactionType);
+        sb.append(", contentType=").append(contentType);
+        sb.append(", contentId=").append(contentId);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 120 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineAppointments.java

@@ -0,0 +1,120 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗预约表:存储用户的疫苗预约信息
+ * @TableName hxw_vaccine_appointments
+ */
+@TableName(value ="hxw_vaccine_appointments")
+@Data
+public class HxwVaccineAppointments {
+    /**
+     * 预约ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 用户ID
+     */
+    private Integer userId;
+
+    /**
+     * 疫苗ID
+     */
+    private Integer vaccineId;
+
+    /**
+     * 预约日期
+     */
+    private Date appointmentDate;
+
+    /**
+     * 预约时间
+     */
+    private String appointmentTime;
+
+    /**
+     * 医院ID
+     */
+    private Integer hospitalId;
+
+    /**
+     * 预约状态
+     */
+    private Object status;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineAppointments other = (HxwVaccineAppointments) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
+            && (this.getVaccineId() == null ? other.getVaccineId() == null : this.getVaccineId().equals(other.getVaccineId()))
+            && (this.getAppointmentDate() == null ? other.getAppointmentDate() == null : this.getAppointmentDate().equals(other.getAppointmentDate()))
+            && (this.getAppointmentTime() == null ? other.getAppointmentTime() == null : this.getAppointmentTime().equals(other.getAppointmentTime()))
+            && (this.getHospitalId() == null ? other.getHospitalId() == null : this.getHospitalId().equals(other.getHospitalId()))
+            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
+        result = prime * result + ((getVaccineId() == null) ? 0 : getVaccineId().hashCode());
+        result = prime * result + ((getAppointmentDate() == null) ? 0 : getAppointmentDate().hashCode());
+        result = prime * result + ((getAppointmentTime() == null) ? 0 : getAppointmentTime().hashCode());
+        result = prime * result + ((getHospitalId() == null) ? 0 : getHospitalId().hashCode());
+        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", userId=").append(userId);
+        sb.append(", vaccineId=").append(vaccineId);
+        sb.append(", appointmentDate=").append(appointmentDate);
+        sb.append(", appointmentTime=").append(appointmentTime);
+        sb.append(", hospitalId=").append(hospitalId);
+        sb.append(", status=").append(status);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 104 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineCategories.java

@@ -0,0 +1,104 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗分类表:存储疫苗的顶层分类,如儿童疫苗和成人疫苗
+ * @TableName hxw_vaccine_categories
+ */
+@TableName(value ="hxw_vaccine_categories")
+@Data
+public class HxwVaccineCategories {
+    /**
+     * 分类ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 分类名称,如"儿童疫苗"、"成人疫苗"
+     */
+    private String name;
+
+    /**
+     * 分类描述
+     */
+    private String description;
+
+    /**
+     * 显示顺序
+     */
+    private Integer displayOrder;
+
+    /**
+     * 分类图标URL
+     */
+    private String iconUrl;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineCategories other = (HxwVaccineCategories) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
+            && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
+            && (this.getDisplayOrder() == null ? other.getDisplayOrder() == null : this.getDisplayOrder().equals(other.getDisplayOrder()))
+            && (this.getIconUrl() == null ? other.getIconUrl() == null : this.getIconUrl().equals(other.getIconUrl()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
+        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
+        result = prime * result + ((getDisplayOrder() == null) ? 0 : getDisplayOrder().hashCode());
+        result = prime * result + ((getIconUrl() == null) ? 0 : getIconUrl().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", name=").append(name);
+        sb.append(", description=").append(description);
+        sb.append(", displayOrder=").append(displayOrder);
+        sb.append(", iconUrl=").append(iconUrl);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 136 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineComparisons.java

@@ -0,0 +1,136 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗对比表:存储不同疫苗的对比信息
+ * @TableName hxw_vaccine_comparisons
+ */
+@TableName(value ="hxw_vaccine_comparisons")
+@Data
+public class HxwVaccineComparisons {
+    /**
+     * 对比ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 疫苗类型,如"流感疫苗"
+     */
+    private String vaccineType;
+
+    /**
+     * 疫苗名称,如"三价灭活流感疫苗"
+     */
+    private String name;
+
+    /**
+     * 适用年龄
+     */
+    private String suitableAge;
+
+    /**
+     * 接种方式
+     */
+    private String injectionMethod;
+
+    /**
+     * 预防效果
+     */
+    private String preventionEffect;
+
+    /**
+     * 价格区间
+     */
+    private String priceRange;
+
+    /**
+     * 优点
+     */
+    private String advantages;
+
+    /**
+     * 缺点
+     */
+    private String disadvantages;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineComparisons other = (HxwVaccineComparisons) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getVaccineType() == null ? other.getVaccineType() == null : this.getVaccineType().equals(other.getVaccineType()))
+            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
+            && (this.getSuitableAge() == null ? other.getSuitableAge() == null : this.getSuitableAge().equals(other.getSuitableAge()))
+            && (this.getInjectionMethod() == null ? other.getInjectionMethod() == null : this.getInjectionMethod().equals(other.getInjectionMethod()))
+            && (this.getPreventionEffect() == null ? other.getPreventionEffect() == null : this.getPreventionEffect().equals(other.getPreventionEffect()))
+            && (this.getPriceRange() == null ? other.getPriceRange() == null : this.getPriceRange().equals(other.getPriceRange()))
+            && (this.getAdvantages() == null ? other.getAdvantages() == null : this.getAdvantages().equals(other.getAdvantages()))
+            && (this.getDisadvantages() == null ? other.getDisadvantages() == null : this.getDisadvantages().equals(other.getDisadvantages()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getVaccineType() == null) ? 0 : getVaccineType().hashCode());
+        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
+        result = prime * result + ((getSuitableAge() == null) ? 0 : getSuitableAge().hashCode());
+        result = prime * result + ((getInjectionMethod() == null) ? 0 : getInjectionMethod().hashCode());
+        result = prime * result + ((getPreventionEffect() == null) ? 0 : getPreventionEffect().hashCode());
+        result = prime * result + ((getPriceRange() == null) ? 0 : getPriceRange().hashCode());
+        result = prime * result + ((getAdvantages() == null) ? 0 : getAdvantages().hashCode());
+        result = prime * result + ((getDisadvantages() == null) ? 0 : getDisadvantages().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", vaccineType=").append(vaccineType);
+        sb.append(", name=").append(name);
+        sb.append(", suitableAge=").append(suitableAge);
+        sb.append(", injectionMethod=").append(injectionMethod);
+        sb.append(", preventionEffect=").append(preventionEffect);
+        sb.append(", priceRange=").append(priceRange);
+        sb.append(", advantages=").append(advantages);
+        sb.append(", disadvantages=").append(disadvantages);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 120 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineContentModules.java

@@ -0,0 +1,120 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗内容模块表:存储疫苗详情页的各个内容模块
+ * @TableName hxw_vaccine_content_modules
+ */
+@TableName(value ="hxw_vaccine_content_modules")
+@Data
+public class HxwVaccineContentModules {
+    /**
+     * 模块ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 关联的疫苗ID
+     */
+    private Integer vaccineId;
+
+    /**
+     * 模块类型
+     */
+    private Object moduleType;
+
+    /**
+     * 模块标题
+     */
+    private String title;
+
+    /**
+     * 模块内容
+     */
+    private String content;
+
+    /**
+     * 内容来源
+     */
+    private String contentSource;
+
+    /**
+     * 显示顺序
+     */
+    private Integer displayOrder;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineContentModules other = (HxwVaccineContentModules) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getVaccineId() == null ? other.getVaccineId() == null : this.getVaccineId().equals(other.getVaccineId()))
+            && (this.getModuleType() == null ? other.getModuleType() == null : this.getModuleType().equals(other.getModuleType()))
+            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
+            && (this.getContent() == null ? other.getContent() == null : this.getContent().equals(other.getContent()))
+            && (this.getContentSource() == null ? other.getContentSource() == null : this.getContentSource().equals(other.getContentSource()))
+            && (this.getDisplayOrder() == null ? other.getDisplayOrder() == null : this.getDisplayOrder().equals(other.getDisplayOrder()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getVaccineId() == null) ? 0 : getVaccineId().hashCode());
+        result = prime * result + ((getModuleType() == null) ? 0 : getModuleType().hashCode());
+        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
+        result = prime * result + ((getContent() == null) ? 0 : getContent().hashCode());
+        result = prime * result + ((getContentSource() == null) ? 0 : getContentSource().hashCode());
+        result = prime * result + ((getDisplayOrder() == null) ? 0 : getDisplayOrder().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", vaccineId=").append(vaccineId);
+        sb.append(", moduleType=").append(moduleType);
+        sb.append(", title=").append(title);
+        sb.append(", content=").append(content);
+        sb.append(", contentSource=").append(contentSource);
+        sb.append(", displayOrder=").append(displayOrder);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 152 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineDetails.java

@@ -0,0 +1,152 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗详情表:存储疫苗的详细信息
+ * @TableName hxw_vaccine_details
+ */
+@TableName(value ="hxw_vaccine_details")
+@Data
+public class HxwVaccineDetails {
+    /**
+     * 详情ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 关联的疫苗ID
+     */
+    private Integer vaccineId;
+
+    /**
+     * 适用年龄,如"6-35月龄或≥3周岁"
+     */
+    private String suitableAge;
+
+    /**
+     * 接种方式,如"肌肉注射"、"鼻喷"
+     */
+    private String injectionMethod;
+
+    /**
+     * 预防效果
+     */
+    private String preventionEffect;
+
+    /**
+     * 接种剂量信息
+     */
+    private String dosageInfo;
+
+    /**
+     * 价格信息,如"约200元/剂"
+     */
+    private String priceInfo;
+
+    /**
+     * 价格说明
+     */
+    private String priceDescription;
+
+    /**
+     * 是否医保覆盖
+     */
+    private Integer isInsuranceCovered;
+
+    /**
+     * 副作用
+     */
+    private String sideEffects;
+
+    /**
+     * 禁忌症
+     */
+    private String contraindications;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineDetails other = (HxwVaccineDetails) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getVaccineId() == null ? other.getVaccineId() == null : this.getVaccineId().equals(other.getVaccineId()))
+            && (this.getSuitableAge() == null ? other.getSuitableAge() == null : this.getSuitableAge().equals(other.getSuitableAge()))
+            && (this.getInjectionMethod() == null ? other.getInjectionMethod() == null : this.getInjectionMethod().equals(other.getInjectionMethod()))
+            && (this.getPreventionEffect() == null ? other.getPreventionEffect() == null : this.getPreventionEffect().equals(other.getPreventionEffect()))
+            && (this.getDosageInfo() == null ? other.getDosageInfo() == null : this.getDosageInfo().equals(other.getDosageInfo()))
+            && (this.getPriceInfo() == null ? other.getPriceInfo() == null : this.getPriceInfo().equals(other.getPriceInfo()))
+            && (this.getPriceDescription() == null ? other.getPriceDescription() == null : this.getPriceDescription().equals(other.getPriceDescription()))
+            && (this.getIsInsuranceCovered() == null ? other.getIsInsuranceCovered() == null : this.getIsInsuranceCovered().equals(other.getIsInsuranceCovered()))
+            && (this.getSideEffects() == null ? other.getSideEffects() == null : this.getSideEffects().equals(other.getSideEffects()))
+            && (this.getContraindications() == null ? other.getContraindications() == null : this.getContraindications().equals(other.getContraindications()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getVaccineId() == null) ? 0 : getVaccineId().hashCode());
+        result = prime * result + ((getSuitableAge() == null) ? 0 : getSuitableAge().hashCode());
+        result = prime * result + ((getInjectionMethod() == null) ? 0 : getInjectionMethod().hashCode());
+        result = prime * result + ((getPreventionEffect() == null) ? 0 : getPreventionEffect().hashCode());
+        result = prime * result + ((getDosageInfo() == null) ? 0 : getDosageInfo().hashCode());
+        result = prime * result + ((getPriceInfo() == null) ? 0 : getPriceInfo().hashCode());
+        result = prime * result + ((getPriceDescription() == null) ? 0 : getPriceDescription().hashCode());
+        result = prime * result + ((getIsInsuranceCovered() == null) ? 0 : getIsInsuranceCovered().hashCode());
+        result = prime * result + ((getSideEffects() == null) ? 0 : getSideEffects().hashCode());
+        result = prime * result + ((getContraindications() == null) ? 0 : getContraindications().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", vaccineId=").append(vaccineId);
+        sb.append(", suitableAge=").append(suitableAge);
+        sb.append(", injectionMethod=").append(injectionMethod);
+        sb.append(", preventionEffect=").append(preventionEffect);
+        sb.append(", dosageInfo=").append(dosageInfo);
+        sb.append(", priceInfo=").append(priceInfo);
+        sb.append(", priceDescription=").append(priceDescription);
+        sb.append(", isInsuranceCovered=").append(isInsuranceCovered);
+        sb.append(", sideEffects=").append(sideEffects);
+        sb.append(", contraindications=").append(contraindications);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 112 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineDiscussions.java

@@ -0,0 +1,112 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗讨论表:存储用户对疫苗的讨论内容
+ * @TableName hxw_vaccine_discussions
+ */
+@TableName(value ="hxw_vaccine_discussions")
+@Data
+public class HxwVaccineDiscussions {
+    /**
+     * 讨论ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 关联的疫苗ID
+     */
+    private Integer vaccineId;
+
+    /**
+     * 用户ID
+     */
+    private Integer userId;
+
+    /**
+     * 讨论内容
+     */
+    private String content;
+
+    /**
+     * 点赞数
+     */
+    private Integer likesCount;
+
+    /**
+     * 是否精选
+     */
+    private Integer isHighlighted;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineDiscussions other = (HxwVaccineDiscussions) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getVaccineId() == null ? other.getVaccineId() == null : this.getVaccineId().equals(other.getVaccineId()))
+            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
+            && (this.getContent() == null ? other.getContent() == null : this.getContent().equals(other.getContent()))
+            && (this.getLikesCount() == null ? other.getLikesCount() == null : this.getLikesCount().equals(other.getLikesCount()))
+            && (this.getIsHighlighted() == null ? other.getIsHighlighted() == null : this.getIsHighlighted().equals(other.getIsHighlighted()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getVaccineId() == null) ? 0 : getVaccineId().hashCode());
+        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
+        result = prime * result + ((getContent() == null) ? 0 : getContent().hashCode());
+        result = prime * result + ((getLikesCount() == null) ? 0 : getLikesCount().hashCode());
+        result = prime * result + ((getIsHighlighted() == null) ? 0 : getIsHighlighted().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", vaccineId=").append(vaccineId);
+        sb.append(", userId=").append(userId);
+        sb.append(", content=").append(content);
+        sb.append(", likesCount=").append(likesCount);
+        sb.append(", isHighlighted=").append(isHighlighted);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 88 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineDiseaseRelations.java

@@ -0,0 +1,88 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗-疾病关联表:关联疫苗与其预防的疾病
+ * @TableName hxw_vaccine_disease_relations
+ */
+@TableName(value ="hxw_vaccine_disease_relations")
+@Data
+public class HxwVaccineDiseaseRelations {
+    /**
+     * 关联ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 疫苗ID
+     */
+    private Integer vaccineId;
+
+    /**
+     * 疾病ID
+     */
+    private Integer diseaseId;
+
+    /**
+     * 预防率,如"约1/5感染率"
+     */
+    private String preventionRate;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineDiseaseRelations other = (HxwVaccineDiseaseRelations) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getVaccineId() == null ? other.getVaccineId() == null : this.getVaccineId().equals(other.getVaccineId()))
+            && (this.getDiseaseId() == null ? other.getDiseaseId() == null : this.getDiseaseId().equals(other.getDiseaseId()))
+            && (this.getPreventionRate() == null ? other.getPreventionRate() == null : this.getPreventionRate().equals(other.getPreventionRate()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getVaccineId() == null) ? 0 : getVaccineId().hashCode());
+        result = prime * result + ((getDiseaseId() == null) ? 0 : getDiseaseId().hashCode());
+        result = prime * result + ((getPreventionRate() == null) ? 0 : getPreventionRate().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", vaccineId=").append(vaccineId);
+        sb.append(", diseaseId=").append(diseaseId);
+        sb.append(", preventionRate=").append(preventionRate);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 80 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineExpertRelations.java

@@ -0,0 +1,80 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗-专家关联表:关联疫苗与推荐专家
+ * @TableName hxw_vaccine_expert_relations
+ */
+@TableName(value ="hxw_vaccine_expert_relations")
+@Data
+public class HxwVaccineExpertRelations {
+    /**
+     * 关联ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 疫苗ID
+     */
+    private Integer vaccineId;
+
+    /**
+     * 专家ID
+     */
+    private Integer expertId;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineExpertRelations other = (HxwVaccineExpertRelations) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getVaccineId() == null ? other.getVaccineId() == null : this.getVaccineId().equals(other.getVaccineId()))
+            && (this.getExpertId() == null ? other.getExpertId() == null : this.getExpertId().equals(other.getExpertId()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getVaccineId() == null) ? 0 : getVaccineId().hashCode());
+        result = prime * result + ((getExpertId() == null) ? 0 : getExpertId().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", vaccineId=").append(vaccineId);
+        sb.append(", expertId=").append(expertId);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 112 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccineExperts.java

@@ -0,0 +1,112 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗专家表:存储疫苗相关专家信息
+ * @TableName hxw_vaccine_experts
+ */
+@TableName(value ="hxw_vaccine_experts")
+@Data
+public class HxwVaccineExperts {
+    /**
+     * 专家ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 专家姓名
+     */
+    private String name;
+
+    /**
+     * 职称,如"主任医师"
+     */
+    private String title;
+
+    /**
+     * 所属机构,如"江西省疾病预防控制中心"
+     */
+    private String organization;
+
+    /**
+     * 头像URL
+     */
+    private String avatarUrl;
+
+    /**
+     * 专家介绍
+     */
+    private String introduction;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccineExperts other = (HxwVaccineExperts) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
+            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
+            && (this.getOrganization() == null ? other.getOrganization() == null : this.getOrganization().equals(other.getOrganization()))
+            && (this.getAvatarUrl() == null ? other.getAvatarUrl() == null : this.getAvatarUrl().equals(other.getAvatarUrl()))
+            && (this.getIntroduction() == null ? other.getIntroduction() == null : this.getIntroduction().equals(other.getIntroduction()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
+        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
+        result = prime * result + ((getOrganization() == null) ? 0 : getOrganization().hashCode());
+        result = prime * result + ((getAvatarUrl() == null) ? 0 : getAvatarUrl().hashCode());
+        result = prime * result + ((getIntroduction() == null) ? 0 : getIntroduction().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", name=").append(name);
+        sb.append(", title=").append(title);
+        sb.append(", organization=").append(organization);
+        sb.append(", avatarUrl=").append(avatarUrl);
+        sb.append(", introduction=").append(introduction);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 136 - 0
Marketplace/src/main/java/com/dt/common/domain/HxwVaccines.java

@@ -0,0 +1,136 @@
+package com.dt.common.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * hxw_疫苗信息表:存储所有疫苗的基本信息
+ * @TableName hxw_vaccines
+ */
+@TableName(value ="hxw_vaccines")
+@Data
+public class HxwVaccines {
+    /**
+     * 疫苗ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 所属分类ID
+     */
+    private Integer categoryId;
+
+    /**
+     * 疫苗名称,如"四价流感疫苗"
+     */
+    private String name;
+
+    /**
+     * 疫苗简称
+     */
+    private String shortName;
+
+    /**
+     * 是否免疫规划疫苗
+     */
+    private Integer isFree;
+
+    /**
+     * 是否热门疫苗
+     */
+    private Integer isHot;
+
+    /**
+     * 疫苗图标URL
+     */
+    private String iconUrl;
+
+    /**
+     * 简短介绍
+     */
+    private String briefIntro;
+
+    /**
+     * 显示顺序
+     */
+    private Integer displayOrder;
+
+    /**
+     * 创建时间
+     */
+    private Date createdAt;
+
+    /**
+     * 更新时间
+     */
+    private Date updatedAt;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        HxwVaccines other = (HxwVaccines) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getCategoryId() == null ? other.getCategoryId() == null : this.getCategoryId().equals(other.getCategoryId()))
+            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
+            && (this.getShortName() == null ? other.getShortName() == null : this.getShortName().equals(other.getShortName()))
+            && (this.getIsFree() == null ? other.getIsFree() == null : this.getIsFree().equals(other.getIsFree()))
+            && (this.getIsHot() == null ? other.getIsHot() == null : this.getIsHot().equals(other.getIsHot()))
+            && (this.getIconUrl() == null ? other.getIconUrl() == null : this.getIconUrl().equals(other.getIconUrl()))
+            && (this.getBriefIntro() == null ? other.getBriefIntro() == null : this.getBriefIntro().equals(other.getBriefIntro()))
+            && (this.getDisplayOrder() == null ? other.getDisplayOrder() == null : this.getDisplayOrder().equals(other.getDisplayOrder()))
+            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
+            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getCategoryId() == null) ? 0 : getCategoryId().hashCode());
+        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
+        result = prime * result + ((getShortName() == null) ? 0 : getShortName().hashCode());
+        result = prime * result + ((getIsFree() == null) ? 0 : getIsFree().hashCode());
+        result = prime * result + ((getIsHot() == null) ? 0 : getIsHot().hashCode());
+        result = prime * result + ((getIconUrl() == null) ? 0 : getIconUrl().hashCode());
+        result = prime * result + ((getBriefIntro() == null) ? 0 : getBriefIntro().hashCode());
+        result = prime * result + ((getDisplayOrder() == null) ? 0 : getDisplayOrder().hashCode());
+        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
+        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", categoryId=").append(categoryId);
+        sb.append(", name=").append(name);
+        sb.append(", shortName=").append(shortName);
+        sb.append(", isFree=").append(isFree);
+        sb.append(", isHot=").append(isHot);
+        sb.append(", iconUrl=").append(iconUrl);
+        sb.append(", briefIntro=").append(briefIntro);
+        sb.append(", displayOrder=").append(displayOrder);
+        sb.append(", createdAt=").append(createdAt);
+        sb.append(", updatedAt=").append(updatedAt);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwAgeBasedVaccineRecommendationsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwAgeBasedVaccineRecommendations;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_age_based_vaccine_recommendations(hxw_按月龄疫苗推荐表:按照儿童月龄推荐接种的疫苗)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwAgeBasedVaccineRecommendations
+*/
+public interface HxwAgeBasedVaccineRecommendationsMapper extends BaseMapper<HxwAgeBasedVaccineRecommendations> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwDiseasesMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwDiseases;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_diseases(hxw_疾病表:存储疫苗可预防的疾病信息)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwDiseases
+*/
+public interface HxwDiseasesMapper extends BaseMapper<HxwDiseases> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwKnowledgeArticlesMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwKnowledgeArticles;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_knowledge_articles(hxw_科普文章表:存储疫苗相关的科普文章)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwKnowledgeArticles
+*/
+public interface HxwKnowledgeArticlesMapper extends BaseMapper<HxwKnowledgeArticles> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwMediaResourcesMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwMediaResources;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_media_resources(hxw_多媒体资源表:存储与疫苗相关的多媒体资源)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwMediaResources
+*/
+public interface HxwMediaResourcesMapper extends BaseMapper<HxwMediaResources> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwUserInteractionsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwUserInteractions;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_user_interactions(hxw_用户行为记录表:记录用户与内容的交互行为)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwUserInteractions
+*/
+public interface HxwUserInteractionsMapper extends BaseMapper<HxwUserInteractions> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineAppointmentsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineAppointments;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_appointments(hxw_疫苗预约表:存储用户的疫苗预约信息)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineAppointments
+*/
+public interface HxwVaccineAppointmentsMapper extends BaseMapper<HxwVaccineAppointments> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineCategoriesMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineCategories;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_categories(hxw_疫苗分类表:存储疫苗的顶层分类,如儿童疫苗和成人疫苗)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineCategories
+*/
+public interface HxwVaccineCategoriesMapper extends BaseMapper<HxwVaccineCategories> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineComparisonsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineComparisons;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_comparisons(hxw_疫苗对比表:存储不同疫苗的对比信息)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineComparisons
+*/
+public interface HxwVaccineComparisonsMapper extends BaseMapper<HxwVaccineComparisons> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineContentModulesMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineContentModules;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_content_modules(hxw_疫苗内容模块表:存储疫苗详情页的各个内容模块)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineContentModules
+*/
+public interface HxwVaccineContentModulesMapper extends BaseMapper<HxwVaccineContentModules> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineDetailsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineDetails;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_details(hxw_疫苗详情表:存储疫苗的详细信息)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineDetails
+*/
+public interface HxwVaccineDetailsMapper extends BaseMapper<HxwVaccineDetails> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineDiscussionsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineDiscussions;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_discussions(hxw_疫苗讨论表:存储用户对疫苗的讨论内容)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineDiscussions
+*/
+public interface HxwVaccineDiscussionsMapper extends BaseMapper<HxwVaccineDiscussions> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineDiseaseRelationsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineDiseaseRelations;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_disease_relations(hxw_疫苗-疾病关联表:关联疫苗与其预防的疾病)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineDiseaseRelations
+*/
+public interface HxwVaccineDiseaseRelationsMapper extends BaseMapper<HxwVaccineDiseaseRelations> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineExpertRelationsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineExpertRelations;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_expert_relations(hxw_疫苗-专家关联表:关联疫苗与推荐专家)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineExpertRelations
+*/
+public interface HxwVaccineExpertRelationsMapper extends BaseMapper<HxwVaccineExpertRelations> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccineExpertsMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccineExperts;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_experts(hxw_疫苗专家表:存储疫苗相关专家信息)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccineExperts
+*/
+public interface HxwVaccineExpertsMapper extends BaseMapper<HxwVaccineExperts> {
+
+}
+
+
+
+

+ 18 - 0
Marketplace/src/main/java/com/dt/common/mapper/HxwVaccinesMapper.java

@@ -0,0 +1,18 @@
+package com.dt.common.mapper;
+
+import com.dt.common.domain.HxwVaccines;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccines(hxw_疫苗信息表:存储所有疫苗的基本信息)】的数据库操作Mapper
+* @createDate 2025-07-03 09:45:44
+* @Entity com.dt.common.domain.HxwVaccines
+*/
+public interface HxwVaccinesMapper extends BaseMapper<HxwVaccines> {
+
+}
+
+
+
+

+ 20 - 0
Marketplace/src/main/java/com/dt/common/service/HxwAgeBasedVaccineRecommendationsService.java

@@ -0,0 +1,20 @@
+package com.dt.common.service;
+
+import com.dt.care.dto.AgesNameDto;
+import com.dt.common.domain.HxwAgeBasedVaccineRecommendations;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dt.common.domain.HxwVaccines;
+
+import java.util.List;
+
+/**
+* @author sunday
+* @description 针对表【hxw_age_based_vaccine_recommendations(hxw_按月龄疫苗推荐表:按照儿童月龄推荐接种的疫苗)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwAgeBasedVaccineRecommendationsService extends IService<HxwAgeBasedVaccineRecommendations> {
+
+
+    List<HxwVaccines> findByAgesNameByVaccines(AgesNameDto agesNameDto);
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwDiseasesService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwDiseases;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_diseases(hxw_疾病表:存储疫苗可预防的疾病信息)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwDiseasesService extends IService<HxwDiseases> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwKnowledgeArticlesService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwKnowledgeArticles;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_knowledge_articles(hxw_科普文章表:存储疫苗相关的科普文章)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwKnowledgeArticlesService extends IService<HxwKnowledgeArticles> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwMediaResourcesService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwMediaResources;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_media_resources(hxw_多媒体资源表:存储与疫苗相关的多媒体资源)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwMediaResourcesService extends IService<HxwMediaResources> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwUserInteractionsService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwUserInteractions;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_user_interactions(hxw_用户行为记录表:记录用户与内容的交互行为)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwUserInteractionsService extends IService<HxwUserInteractions> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineAppointmentsService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwVaccineAppointments;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_appointments(hxw_疫苗预约表:存储用户的疫苗预约信息)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineAppointmentsService extends IService<HxwVaccineAppointments> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineCategoriesService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwVaccineCategories;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_categories(hxw_疫苗分类表:存储疫苗的顶层分类,如儿童疫苗和成人疫苗)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineCategoriesService extends IService<HxwVaccineCategories> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineComparisonsService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwVaccineComparisons;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_comparisons(hxw_疫苗对比表:存储不同疫苗的对比信息)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineComparisonsService extends IService<HxwVaccineComparisons> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineContentModulesService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwVaccineContentModules;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_content_modules(hxw_疫苗内容模块表:存储疫苗详情页的各个内容模块)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineContentModulesService extends IService<HxwVaccineContentModules> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineDetailsService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwVaccineDetails;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_details(hxw_疫苗详情表:存储疫苗的详细信息)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineDetailsService extends IService<HxwVaccineDetails> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineDiscussionsService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwVaccineDiscussions;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_discussions(hxw_疫苗讨论表:存储用户对疫苗的讨论内容)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineDiscussionsService extends IService<HxwVaccineDiscussions> {
+
+}

+ 18 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineDiseaseRelationsService.java

@@ -0,0 +1,18 @@
+package com.dt.common.service;
+
+import com.dt.care.dto.DiseasesDto;
+import com.dt.common.domain.HxwDiseases;
+import com.dt.common.domain.HxwVaccineDiseaseRelations;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_disease_relations(hxw_疫苗-疾病关联表:关联疫苗与其预防的疾病)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineDiseaseRelationsService extends IService<HxwVaccineDiseaseRelations> {
+
+    HxwDiseases findByDiseasesByVaccines(DiseasesDto dto);
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineExpertRelationsService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwVaccineExpertRelations;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_expert_relations(hxw_疫苗-专家关联表:关联疫苗与推荐专家)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineExpertRelationsService extends IService<HxwVaccineExpertRelations> {
+
+}

+ 13 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccineExpertsService.java

@@ -0,0 +1,13 @@
+package com.dt.common.service;
+
+import com.dt.common.domain.HxwVaccineExperts;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_experts(hxw_疫苗专家表:存储疫苗相关专家信息)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccineExpertsService extends IService<HxwVaccineExperts> {
+
+}

+ 18 - 0
Marketplace/src/main/java/com/dt/common/service/HxwVaccinesService.java

@@ -0,0 +1,18 @@
+package com.dt.common.service;
+
+import com.dt.care.dto.VaccinesDto;
+import com.dt.common.domain.HxwVaccines;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccines(hxw_疫苗信息表:存储所有疫苗的基本信息)】的数据库操作Service
+* @createDate 2025-07-03 09:45:44
+*/
+public interface HxwVaccinesService extends IService<HxwVaccines> {
+
+    List<HxwVaccines> findByVaccinesByCategory(VaccinesDto dto);
+
+}

+ 50 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwAgeBasedVaccineRecommendationsServiceImpl.java

@@ -0,0 +1,50 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.care.dto.AgesNameDto;
+import com.dt.common.domain.HxwAgeBasedVaccineRecommendations;
+import com.dt.common.domain.HxwVaccines;
+import com.dt.common.mapper.HxwVaccinesMapper;
+import com.dt.common.service.HxwAgeBasedVaccineRecommendationsService;
+import com.dt.common.mapper.HxwAgeBasedVaccineRecommendationsMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+* @author sunday
+* @description 针对表【hxw_age_based_vaccine_recommendations(hxw_按月龄疫苗推荐表:按照儿童月龄推荐接种的疫苗)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwAgeBasedVaccineRecommendationsServiceImpl extends ServiceImpl<HxwAgeBasedVaccineRecommendationsMapper, HxwAgeBasedVaccineRecommendations>
+    implements HxwAgeBasedVaccineRecommendationsService{
+
+    @Resource
+    private HxwVaccinesMapper hxwVaccinesMapper;
+    @Override
+    public List<HxwVaccines> findByAgesNameByVaccines(AgesNameDto agesNameDto) {
+        QueryWrapper<HxwAgeBasedVaccineRecommendations> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("age_group",agesNameDto.getAgesName());
+        List<HxwAgeBasedVaccineRecommendations> list = this.baseMapper.selectList(queryWrapper);
+        System.err.println(list);
+        List<Integer> list1=new ArrayList<>();
+        for (HxwAgeBasedVaccineRecommendations ageBasedVaccineRecommendations : list) {
+            list1.add(ageBasedVaccineRecommendations.getVaccineId());
+        }
+        System.err.println(list1);
+        QueryWrapper<HxwVaccines> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.in("id",list1);
+        List<HxwVaccines> vaccinesList = hxwVaccinesMapper.selectList(queryWrapper1);
+
+        return vaccinesList;
+    }
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwDiseasesServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwDiseases;
+import com.dt.common.service.HxwDiseasesService;
+import com.dt.common.mapper.HxwDiseasesMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_diseases(hxw_疾病表:存储疫苗可预防的疾病信息)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwDiseasesServiceImpl extends ServiceImpl<HxwDiseasesMapper, HxwDiseases>
+    implements HxwDiseasesService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwKnowledgeArticlesServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwKnowledgeArticles;
+import com.dt.common.service.HxwKnowledgeArticlesService;
+import com.dt.common.mapper.HxwKnowledgeArticlesMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_knowledge_articles(hxw_科普文章表:存储疫苗相关的科普文章)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwKnowledgeArticlesServiceImpl extends ServiceImpl<HxwKnowledgeArticlesMapper, HxwKnowledgeArticles>
+    implements HxwKnowledgeArticlesService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwMediaResourcesServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwMediaResources;
+import com.dt.common.service.HxwMediaResourcesService;
+import com.dt.common.mapper.HxwMediaResourcesMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_media_resources(hxw_多媒体资源表:存储与疫苗相关的多媒体资源)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwMediaResourcesServiceImpl extends ServiceImpl<HxwMediaResourcesMapper, HxwMediaResources>
+    implements HxwMediaResourcesService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwUserInteractionsServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwUserInteractions;
+import com.dt.common.service.HxwUserInteractionsService;
+import com.dt.common.mapper.HxwUserInteractionsMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_user_interactions(hxw_用户行为记录表:记录用户与内容的交互行为)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwUserInteractionsServiceImpl extends ServiceImpl<HxwUserInteractionsMapper, HxwUserInteractions>
+    implements HxwUserInteractionsService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineAppointmentsServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwVaccineAppointments;
+import com.dt.common.service.HxwVaccineAppointmentsService;
+import com.dt.common.mapper.HxwVaccineAppointmentsMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_appointments(hxw_疫苗预约表:存储用户的疫苗预约信息)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineAppointmentsServiceImpl extends ServiceImpl<HxwVaccineAppointmentsMapper, HxwVaccineAppointments>
+    implements HxwVaccineAppointmentsService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineCategoriesServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwVaccineCategories;
+import com.dt.common.service.HxwVaccineCategoriesService;
+import com.dt.common.mapper.HxwVaccineCategoriesMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_categories(hxw_疫苗分类表:存储疫苗的顶层分类,如儿童疫苗和成人疫苗)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineCategoriesServiceImpl extends ServiceImpl<HxwVaccineCategoriesMapper, HxwVaccineCategories>
+    implements HxwVaccineCategoriesService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineComparisonsServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwVaccineComparisons;
+import com.dt.common.service.HxwVaccineComparisonsService;
+import com.dt.common.mapper.HxwVaccineComparisonsMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_comparisons(hxw_疫苗对比表:存储不同疫苗的对比信息)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineComparisonsServiceImpl extends ServiceImpl<HxwVaccineComparisonsMapper, HxwVaccineComparisons>
+    implements HxwVaccineComparisonsService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineContentModulesServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwVaccineContentModules;
+import com.dt.common.service.HxwVaccineContentModulesService;
+import com.dt.common.mapper.HxwVaccineContentModulesMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_content_modules(hxw_疫苗内容模块表:存储疫苗详情页的各个内容模块)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineContentModulesServiceImpl extends ServiceImpl<HxwVaccineContentModulesMapper, HxwVaccineContentModules>
+    implements HxwVaccineContentModulesService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineDetailsServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwVaccineDetails;
+import com.dt.common.service.HxwVaccineDetailsService;
+import com.dt.common.mapper.HxwVaccineDetailsMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_details(hxw_疫苗详情表:存储疫苗的详细信息)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineDetailsServiceImpl extends ServiceImpl<HxwVaccineDetailsMapper, HxwVaccineDetails>
+    implements HxwVaccineDetailsService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineDiscussionsServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwVaccineDiscussions;
+import com.dt.common.service.HxwVaccineDiscussionsService;
+import com.dt.common.mapper.HxwVaccineDiscussionsMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_discussions(hxw_疫苗讨论表:存储用户对疫苗的讨论内容)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineDiscussionsServiceImpl extends ServiceImpl<HxwVaccineDiscussionsMapper, HxwVaccineDiscussions>
+    implements HxwVaccineDiscussionsService{
+
+}
+
+
+
+

+ 61 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineDiseaseRelationsServiceImpl.java

@@ -0,0 +1,61 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.care.dto.DiseasesDto;
+import com.dt.common.domain.HxwDiseases;
+import com.dt.common.domain.HxwVaccineDiseaseRelations;
+import com.dt.common.domain.HxwVaccines;
+import com.dt.common.mapper.HxwDiseasesMapper;
+import com.dt.common.mapper.HxwVaccinesMapper;
+import com.dt.common.service.HxwVaccineDiseaseRelationsService;
+import com.dt.common.mapper.HxwVaccineDiseaseRelationsMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_disease_relations(hxw_疫苗-疾病关联表:关联疫苗与其预防的疾病)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineDiseaseRelationsServiceImpl extends ServiceImpl<HxwVaccineDiseaseRelationsMapper, HxwVaccineDiseaseRelations>
+    implements HxwVaccineDiseaseRelationsService{
+
+    @Resource
+    private HxwDiseasesMapper hxwDiseasesMapper;
+    @Resource
+    private HxwVaccinesMapper hxwVaccinesMapper;
+    @Override
+    public HxwDiseases findByDiseasesByVaccines(DiseasesDto dto) {
+        QueryWrapper<HxwDiseases> diseasesWrapper=new QueryWrapper<>();
+        diseasesWrapper.eq("name",dto.getDiseasesName());
+        HxwDiseases diseases=hxwDiseasesMapper.selectOne(diseasesWrapper);
+        if (diseases!=null){
+            Integer id = diseases.getId();
+            QueryWrapper<HxwVaccineDiseaseRelations> relationsWrapper=new QueryWrapper<>();
+            relationsWrapper.eq("disease_id",id);
+            List<HxwVaccineDiseaseRelations> hxwVaccineDiseaseRelations = this.baseMapper.selectList(relationsWrapper);
+            List<Integer> list=new ArrayList<>();
+            for (HxwVaccineDiseaseRelations relation : hxwVaccineDiseaseRelations) {
+                list.add(relation.getVaccineId());
+            }
+            QueryWrapper<HxwVaccines> wrapper=new QueryWrapper<>();
+            wrapper.in("id",list);
+            List<HxwVaccines> hxwVaccines = hxwVaccinesMapper.selectList(wrapper);
+            diseases.setVaccines(hxwVaccines);
+            return diseases;
+
+        }else{
+            return null;
+        }
+    }
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineExpertRelationsServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwVaccineExpertRelations;
+import com.dt.common.service.HxwVaccineExpertRelationsService;
+import com.dt.common.mapper.HxwVaccineExpertRelationsMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_expert_relations(hxw_疫苗-专家关联表:关联疫苗与推荐专家)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineExpertRelationsServiceImpl extends ServiceImpl<HxwVaccineExpertRelationsMapper, HxwVaccineExpertRelations>
+    implements HxwVaccineExpertRelationsService{
+
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccineExpertsServiceImpl.java

@@ -0,0 +1,22 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.common.domain.HxwVaccineExperts;
+import com.dt.common.service.HxwVaccineExpertsService;
+import com.dt.common.mapper.HxwVaccineExpertsMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccine_experts(hxw_疫苗专家表:存储疫苗相关专家信息)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccineExpertsServiceImpl extends ServiceImpl<HxwVaccineExpertsMapper, HxwVaccineExperts>
+    implements HxwVaccineExpertsService{
+
+}
+
+
+
+

+ 42 - 0
Marketplace/src/main/java/com/dt/common/service/impl/HxwVaccinesServiceImpl.java

@@ -0,0 +1,42 @@
+package com.dt.common.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dt.care.dto.VaccinesDto;
+import com.dt.common.domain.HxwVaccineCategories;
+import com.dt.common.domain.HxwVaccines;
+import com.dt.common.mapper.HxwVaccineCategoriesMapper;
+import com.dt.common.service.HxwVaccinesService;
+import com.dt.common.mapper.HxwVaccinesMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+
+/**
+* @author sunday
+* @description 针对表【hxw_vaccines(hxw_疫苗信息表:存储所有疫苗的基本信息)】的数据库操作Service实现
+* @createDate 2025-07-03 09:45:44
+*/
+@Service
+public class HxwVaccinesServiceImpl extends ServiceImpl<HxwVaccinesMapper, HxwVaccines>
+    implements HxwVaccinesService{
+
+    @Resource
+    private HxwVaccineCategoriesMapper hxwVaccineCategoriesMapper;
+    @Override
+    public List<HxwVaccines> findByVaccinesByCategory(VaccinesDto dto) {
+        QueryWrapper<HxwVaccineCategories> wrapper=new QueryWrapper<>();
+        wrapper.eq("name",dto.getName());
+        HxwVaccineCategories hxwVaccineCategories = hxwVaccineCategoriesMapper.selectOne(wrapper);
+        QueryWrapper<HxwVaccines> hxwVaccinesQueryWrapper=new QueryWrapper<>();
+        hxwVaccinesQueryWrapper.eq("category_id",hxwVaccineCategories.getId());
+        List<HxwVaccines> vaccinesList = this.baseMapper.selectList(hxwVaccinesQueryWrapper);
+        return vaccinesList;
+    }
+}
+
+
+
+

+ 22 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwAgeBasedVaccineRecommendationsMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwAgeBasedVaccineRecommendationsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwAgeBasedVaccineRecommendations">
+            <id property="id" column="id" />
+            <result property="ageGroup" column="age_group" />
+            <result property="vaccineId" column="vaccine_id" />
+            <result property="isMandatory" column="is_mandatory" />
+            <result property="notes" column="notes" />
+            <result property="displayOrder" column="display_order" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,age_group,vaccine_id,is_mandatory,notes,display_order,
+        created_at,updated_at
+    </sql>
+</mapper>

+ 19 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwDiseasesMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwDiseasesMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwDiseases">
+            <id property="id" column="id" />
+            <result property="name" column="name" />
+            <result property="description" column="description" />
+            <result property="iconUrl" column="icon_url" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,name,description,icon_url,created_at,updated_at
+    </sql>
+</mapper>

+ 29 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwKnowledgeArticlesMapper.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwKnowledgeArticlesMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwKnowledgeArticles">
+            <id property="id" column="id" />
+            <result property="title" column="title" />
+            <result property="subtitle" column="subtitle" />
+            <result property="content" column="content" />
+            <result property="coverImageUrl" column="cover_image_url" />
+            <result property="author" column="author" />
+            <result property="source" column="source" />
+            <result property="viewCount" column="view_count" />
+            <result property="likeCount" column="like_count" />
+            <result property="relatedVaccineId" column="related_vaccine_id" />
+            <result property="articleType" column="article_type" />
+            <result property="isFeatured" column="is_featured" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,title,subtitle,content,cover_image_url,author,
+        source,view_count,like_count,related_vaccine_id,article_type,
+        is_featured,created_at,updated_at
+    </sql>
+</mapper>

+ 21 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwMediaResourcesMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwMediaResourcesMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwMediaResources">
+            <id property="id" column="id" />
+            <result property="resourceType" column="resource_type" />
+            <result property="url" column="url" />
+            <result property="relatedType" column="related_type" />
+            <result property="relatedId" column="related_id" />
+            <result property="displayOrder" column="display_order" />
+            <result property="createdAt" column="created_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,resource_type,url,related_type,related_id,display_order,
+        created_at
+    </sql>
+</mapper>

+ 19 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwUserInteractionsMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwUserInteractionsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwUserInteractions">
+            <id property="id" column="id" />
+            <result property="userId" column="user_id" />
+            <result property="interactionType" column="interaction_type" />
+            <result property="contentType" column="content_type" />
+            <result property="contentId" column="content_id" />
+            <result property="createdAt" column="created_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,interaction_type,content_type,content_id,created_at
+    </sql>
+</mapper>

+ 23 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineAppointmentsMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineAppointmentsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineAppointments">
+            <id property="id" column="id" />
+            <result property="userId" column="user_id" />
+            <result property="vaccineId" column="vaccine_id" />
+            <result property="appointmentDate" column="appointment_date" />
+            <result property="appointmentTime" column="appointment_time" />
+            <result property="hospitalId" column="hospital_id" />
+            <result property="status" column="status" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,vaccine_id,appointment_date,appointment_time,hospital_id,
+        status,created_at,updated_at
+    </sql>
+</mapper>

+ 21 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineCategoriesMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineCategoriesMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineCategories">
+            <id property="id" column="id" />
+            <result property="name" column="name" />
+            <result property="description" column="description" />
+            <result property="displayOrder" column="display_order" />
+            <result property="iconUrl" column="icon_url" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,name,description,display_order,icon_url,created_at,
+        updated_at
+    </sql>
+</mapper>

+ 25 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineComparisonsMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineComparisonsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineComparisons">
+            <id property="id" column="id" />
+            <result property="vaccineType" column="vaccine_type" />
+            <result property="name" column="name" />
+            <result property="suitableAge" column="suitable_age" />
+            <result property="injectionMethod" column="injection_method" />
+            <result property="preventionEffect" column="prevention_effect" />
+            <result property="priceRange" column="price_range" />
+            <result property="advantages" column="advantages" />
+            <result property="disadvantages" column="disadvantages" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,vaccine_type,name,suitable_age,injection_method,prevention_effect,
+        price_range,advantages,disadvantages,created_at,updated_at
+    </sql>
+</mapper>

+ 23 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineContentModulesMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineContentModulesMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineContentModules">
+            <id property="id" column="id" />
+            <result property="vaccineId" column="vaccine_id" />
+            <result property="moduleType" column="module_type" />
+            <result property="title" column="title" />
+            <result property="content" column="content" />
+            <result property="contentSource" column="content_source" />
+            <result property="displayOrder" column="display_order" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,vaccine_id,module_type,title,content,content_source,
+        display_order,created_at,updated_at
+    </sql>
+</mapper>

+ 28 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineDetailsMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineDetailsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineDetails">
+            <id property="id" column="id" />
+            <result property="vaccineId" column="vaccine_id" />
+            <result property="suitableAge" column="suitable_age" />
+            <result property="injectionMethod" column="injection_method" />
+            <result property="preventionEffect" column="prevention_effect" />
+            <result property="dosageInfo" column="dosage_info" />
+            <result property="priceInfo" column="price_info" />
+            <result property="priceDescription" column="price_description" />
+            <result property="isInsuranceCovered" column="is_insurance_covered" />
+            <result property="sideEffects" column="side_effects" />
+            <result property="contraindications" column="contraindications" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,vaccine_id,suitable_age,injection_method,prevention_effect,dosage_info,
+        price_info,price_description,is_insurance_covered,side_effects,contraindications,
+        created_at,updated_at
+    </sql>
+</mapper>

+ 22 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineDiscussionsMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineDiscussionsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineDiscussions">
+            <id property="id" column="id" />
+            <result property="vaccineId" column="vaccine_id" />
+            <result property="userId" column="user_id" />
+            <result property="content" column="content" />
+            <result property="likesCount" column="likes_count" />
+            <result property="isHighlighted" column="is_highlighted" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,vaccine_id,user_id,content,likes_count,is_highlighted,
+        created_at,updated_at
+    </sql>
+</mapper>

+ 18 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineDiseaseRelationsMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineDiseaseRelationsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineDiseaseRelations">
+            <id property="id" column="id" />
+            <result property="vaccineId" column="vaccine_id" />
+            <result property="diseaseId" column="disease_id" />
+            <result property="preventionRate" column="prevention_rate" />
+            <result property="createdAt" column="created_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,vaccine_id,disease_id,prevention_rate,created_at
+    </sql>
+</mapper>

+ 17 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineExpertRelationsMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineExpertRelationsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineExpertRelations">
+            <id property="id" column="id" />
+            <result property="vaccineId" column="vaccine_id" />
+            <result property="expertId" column="expert_id" />
+            <result property="createdAt" column="created_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,vaccine_id,expert_id,created_at
+    </sql>
+</mapper>

+ 22 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccineExpertsMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccineExpertsMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccineExperts">
+            <id property="id" column="id" />
+            <result property="name" column="name" />
+            <result property="title" column="title" />
+            <result property="organization" column="organization" />
+            <result property="avatarUrl" column="avatar_url" />
+            <result property="introduction" column="introduction" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,name,title,organization,avatar_url,introduction,
+        created_at,updated_at
+    </sql>
+</mapper>

+ 25 - 0
Marketplace/src/main/resources/com/dt/common/mapper/HxwVaccinesMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dt.common.mapper.HxwVaccinesMapper">
+
+    <resultMap id="BaseResultMap" type="com.dt.common.domain.HxwVaccines">
+            <id property="id" column="id" />
+            <result property="categoryId" column="category_id" />
+            <result property="name" column="name" />
+            <result property="shortName" column="short_name" />
+            <result property="isFree" column="is_free" />
+            <result property="isHot" column="is_hot" />
+            <result property="iconUrl" column="icon_url" />
+            <result property="briefIntro" column="brief_intro" />
+            <result property="displayOrder" column="display_order" />
+            <result property="createdAt" column="created_at" />
+            <result property="updatedAt" column="updated_at" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,category_id,name,short_name,is_free,is_hot,
+        icon_url,brief_intro,display_order,created_at,updated_at
+    </sql>
+</mapper>