package com.rongyichuang.news.dto; import com.rongyichuang.news.entity.News; import com.rongyichuang.config.CosConfig; import java.time.LocalDateTime; public class NewsResponse { private Long id; private String title; private String content; private String summary; private String coverImage; private String author; private Integer viewCount = 0; private Integer state = 1; private String stateName; private LocalDateTime createTime; private LocalDateTime updateTime; // 构造函数 public NewsResponse() {} public NewsResponse(News news) { this.id = news.getId(); this.title = news.getTitle(); this.content = news.getContent(); this.summary = news.getSummary(); this.coverImage = news.getCoverImage(); this.author = news.getAuthor(); this.viewCount = news.getViewCount(); this.state = news.getState(); this.createTime = news.getCreateTime(); this.updateTime = news.getUpdateTime(); this.stateName = getStateNameByValue(news.getState()); } // 状态名称映射 private String getStateNameByValue(Integer state) { if (state == null) return "未知"; switch (state) { case 0: return "草稿"; case 1: return "发布"; case 2: return "关闭"; default: return "未知"; } } // Getters and Setters public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { // 处理富文本内容,确保图片具有响应式样式 if (content != null) { // 为所有img标签添加样式属性,确保图片不会超出容器 return content.replaceAll("]*?)>", ""); } return content; } public void setContent(String content) { this.content = content; } public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } public String getCoverImage() { return coverImage; } public void setCoverImage(String coverImage) { this.coverImage = coverImage; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public Integer getViewCount() { return viewCount; } public void setViewCount(Integer viewCount) { this.viewCount = viewCount; } public Integer getState() { return state; } public void setState(Integer state) { this.state = state; } public String getStateName() { return stateName; } public void setStateName(String stateName) { this.stateName = stateName; } public LocalDateTime getCreateTime() { return createTime; } public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; } public LocalDateTime getUpdateTime() { return updateTime; } public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; } }