Skip to content

Commit a49b3f7

Browse files
committed
DevTest(页面适配增强实体): 文章编辑、草稿 测试ok
1 parent 96f0817 commit a49b3f7

File tree

9 files changed

+57
-28
lines changed

9 files changed

+57
-28
lines changed

upupor-data/src/main/java/com/upupor/data/types/RadioStatus.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,11 @@
2828
package com.upupor.data.types;
2929

3030
import com.baomidou.mybatisplus.annotation.EnumValue;
31+
import com.google.common.collect.Lists;
3132
import lombok.Getter;
3233

34+
import java.util.List;
35+
3336
/**
3437
* 电台状态
3538
*
@@ -62,4 +65,8 @@ public enum RadioStatus {
6265
this.status = status;
6366
this.name = name;
6467
}
68+
69+
public static List<RadioStatus> notDeleteStatus() {
70+
return Lists.newArrayList(RadioStatus.NORMAL, RadioStatus.HIDE);
71+
}
6572
}

upupor-service/src/main/java/com/upupor/service/base/impl/RadioServiceImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ public ListRadioDto listRadioByUserId(Integer pageNum, Integer pageSize, String
122122
@Override
123123
public RadioEnhance getByRadioId(String radioId) {
124124
LambdaQueryWrapper<Radio> query = new LambdaQueryWrapper<Radio>()
125-
.eq(Radio::getRadioId, radioId);
125+
.eq(Radio::getRadioId, radioId)
126+
.in(Radio::getStatus, RadioStatus.notDeleteStatus());
126127
Radio radio = radioMapper.selectOne(query);
127128
Asserts.notNull(radio, ErrorCode.RADIO_NOT_EXISTS);
128129
return Converter.radioEnhance(radio);

upupor-service/src/main/java/com/upupor/service/business/editor/AbstractEditor.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,13 @@
2929

3030
package com.upupor.service.business.editor;
3131

32+
import com.google.common.collect.Lists;
3233
import com.upupor.data.dao.entity.Draft;
3334
import com.upupor.data.dao.entity.enhance.MemberEnhance;
3435
import com.upupor.data.dao.mapper.ContentExtendMapper;
3536
import com.upupor.data.dao.mapper.ContentMapper;
3637
import com.upupor.data.dto.OperateContentDto;
38+
import com.upupor.data.types.ContentStatus;
3739
import com.upupor.framework.BusinessException;
3840
import com.upupor.framework.ErrorCode;
3941
import com.upupor.framework.utils.ServletUtils;
@@ -99,6 +101,16 @@ public enum EditorType {
99101
* 更新状态
100102
*/
101103
UPDATE_STATUS,
104+
;
105+
106+
/**
107+
* 可以删除草稿的编辑类型
108+
*
109+
* @return
110+
*/
111+
public static List<EditorType> canDeleteDraftEditorType() {
112+
return Lists.newArrayList(EditorType.CREATE, EditorType.EDIT);
113+
}
102114
}
103115

104116
public MemberEnhance getMember() {
@@ -135,11 +147,16 @@ public static OperateContentDto execute(List<AbstractEditor> abstractEditorList,
135147
abstractEditor.check();
136148
OperateContentDto operateContentDto = abstractEditor.doBusiness();
137149
if (operateContentDto.getSuccess()) {
150+
138151
// 移除草稿
139-
String preContentId = baseContentReq.getPreContentId();
140-
Draft draft = abstractEditor.draftService.getByDraftId(preContentId);
141-
if (Objects.nonNull(draft)) {
142-
abstractEditor.draftService.delete(draft.getId());
152+
if (EditorType.canDeleteDraftEditorType().contains(editorType)
153+
|| (EditorType.UPDATE_STATUS.equals(editorType) && ContentStatus.DELETED.equals(operateContentDto.getStatus()))
154+
) {
155+
String preContentId = baseContentReq.getPreContentId();
156+
Draft draft = abstractEditor.draftService.getByDraftId(preContentId);
157+
if (Objects.nonNull(draft)) {
158+
abstractEditor.draftService.delete(draft.getId());
159+
}
143160
}
144161
}
145162
return operateContentDto;

upupor-service/src/main/java/com/upupor/service/utils/AvatarHelper.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
import com.upupor.framework.config.UpuporConfig;
3838
import com.upupor.framework.utils.CcUtils;
3939
import com.upupor.framework.utils.SpringContextUtils;
40-
import com.upupor.service.utils.oss.enums.FileDic;
4140
import com.upupor.service.utils.oss.FileUpload;
41+
import com.upupor.service.utils.oss.enums.FileDic;
4242

4343
import javax.imageio.ImageIO;
4444
import javax.imageio.stream.ImageOutputStream;
@@ -59,11 +59,11 @@ public class AvatarHelper {
5959

6060
public static String generateAvatar(Integer hashCode) {
6161
try {
62+
return FileUpload.upload(FileUpload.create(FileDic.PROFILE_SYSTEM.getDic(), "png"), create(hashCode));
63+
} catch (Exception e) {
6264
if (checkEnvIsDev()) {
6365
return SpringContextUtils.getBean(UpuporConfig.class).getBusinessStaticSource() + DEFAULT_VIA;
6466
}
65-
return FileUpload.upload(FileUpload.create(FileDic.PROFILE_SYSTEM.getDic(), "png"),create(hashCode));
66-
} catch (Exception e) {
6767
throw new BusinessException(ErrorCode.UPLOAD_ERROR, e.getMessage());
6868
}
6969
}

upupor-web/src/main/java/com/upupor/web/controller/AdminController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
* @author YangRunkang(cruise)
6262
* @date 2020/02/05 00:13
6363
*/
64-
@Api(tags = "活动服务")
64+
@Api(tags = "管理员服务")
6565
@RestController
6666
@RequiredArgsConstructor
6767
@RequestMapping("/admin")

upupor-web/src/main/resources/templates/content/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ <h5 class="text-wrap m-0" th:text="${contentIndexDto.contentEnhance.content.titl
112112
</div>
113113
<!--未登录提示-->
114114
<div th:if="!${session?.cv_user_id}" th:include="fragments/index::login_tips"></div>
115-
<div th:if="${contentIndexDto.contentEnhance.content.status.name()} == 'NORMAL'" th:include="fragments/comment::commentList(${contentIndexDto.contentEnhance.listCommentDto.commentEnhanceList},
116-
${contentIndexDto.contentEnhance.listCommentDto.pageDtoList},
117-
${contentIndexDto.contentEnhance.listCommentDto.total},
115+
<div th:if="${contentIndexDto.contentEnhance.content.status.name()} == 'NORMAL'" th:include="fragments/comment::commentList(${contentIndexDto.contentEnhance?.listCommentDto?.commentEnhanceList},
116+
${contentIndexDto.contentEnhance?.listCommentDto?.pageDtoList},
117+
${contentIndexDto.contentEnhance?.listCommentDto?.total},
118118
'content-detail',
119119
${contentIndexDto.contentEnhance.content.userId})"></div>
120120
<!--评论框-->

upupor-web/src/main/resources/templates/fragments/index.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,12 @@
162162
</div>
163163
</div>
164164
<!--文章类型-->
165-
<span th:fragment="content_type">
165+
<span th:fragment="content_type(contentEnhance)">
166166
<a class="cv-link badge bg-gradient rounded-3 fw-normal bg-warning text-dark"
167167
th:each="type : ${contentTypeList}"
168168
th:href="${type.url}"
169169
th:title="${type.name}"
170-
th:if="${content.contentType.name() == type.typeName}">[[${type.name}]]</a>
170+
th:if="${contentEnhance.content.contentType.name() == type.typeName}">[[${type.name}]]</a>
171171
</span>
172172

173173
<!--ListContentDto通用渲染模板-->
@@ -764,5 +764,13 @@ <h4 class="alert-heading">危险操作区域</h4>
764764
</div>
765765

766766

767+
<div th:fragment="listContentDtoSearch(listContentDto,tag)">
768+
<div class="alert alert-primary alert-dismissible fade show mb-2 from-content-to-draft" role="alert" th:if="${listContentDto.total}>0" style="display: none">
769+
按内容id检索[[${tag}]],共搜到了<span style="font-weight: bolder" th:text="${listContentDto.total}"></span>条数据
770+
<button type="button" class="btn btn-close rounded-3 bg-gradient-close" data-bs-dismiss="alert"
771+
aria-label="Close"></button>
772+
</div>
773+
</div>
774+
767775
</body>
768776
</html>

upupor-web/src/main/resources/templates/user/manage/content.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,15 @@
4141
<!--右列-->
4242
<div class="col-lg-9 mb-2">
4343
<div th:replace="fragments/index::top_content(${memberIndexDto.listContentDto.pinnedContentEnhance},'manage-content')"></div>
44+
<div th:replace="fragments/index::listContentDtoSearch(${memberIndexDto.listContentDto},'文章管理')"></div>
4445
<div class="card border-0 rounded-3 p-2 mb-2">
4546
<div th:replace="fragments/manage::nav_content(${memberIndexDto.listContentDto.total},'content')"></div>
4647
<div class="mb-2">
4748
<div class="input-group">
4849
<input type="text" class="form-control" placeholder="根据标题搜索" id="searchTitle" aria-label="Recipient's username with two button addons">
4950
<button class="btn btn-outline-secondary btn-sm" type="button" onclick="manageContentSearch('title')">搜索</button>
50-
<button class="btn btn-outline-secondary btn-sm" type="button" onclick="removeAll()">所有</button>
5151
<button class="btn btn-outline-secondary btn-sm" type="button" onclick="select('ONLY_SELF_SEE')">仅自己可见</button>
52+
<button class="btn btn-outline-danger btn-sm" type="button" onclick="removeAll()">所有</button>
5253
</div>
5354
</div>
5455
<div>

upupor-web/src/main/resources/templates/user/manage/draft.html

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,14 @@
3333
<!--css-->
3434
<link th:fragment="css" type="text/css" rel="stylesheet" th:href="${ossStatic} + @{/css/user/manage/content.css}"/>
3535
<!--脚本-->
36-
<script async="async" th:fragment="js" type="text/javascript"
37-
th:src="${ossStatic} + @{/js/user/manage/content.js}"></script>
36+
<script async="async" th:fragment="js" type="text/javascript" th:src="${ossStatic} + @{/js/user/manage/content.js}"></script>
3837
<div th:fragment="content">
3938
<!--内容管理-->
4039
<div class="container">
4140
<div class="row g-2">
4241
<!--右列-->
4342
<div class="col-lg-9 mb-2">
44-
<div class="alert alert-primary alert-dismissible fade show mb-2 from-content-to-draft" role="alert" th:if="${memberIndexDto.listContentDto.total}>0" style="display: none">
45-
按内容id检索草稿箱,共搜到了<span style="font-weight: bolder" th:text="${memberIndexDto.listContentDto.total}"></span>条数据
46-
<button type="button" class="btn btn-close rounded-3 bg-gradient-close" data-bs-dismiss="alert"
47-
aria-label="Close"></button>
48-
</div>
43+
<div th:replace="fragments/index::listContentDtoSearch(${memberIndexDto.listContentDto},'草稿箱')"></div>
4944
<div class="card border-0 rounded-3 p-2 mb-2">
5045
<div th:replace="fragments/manage::nav_content(${memberIndexDto.listContentDto.total},'draft')"></div>
5146
<div class="mb-2">
@@ -78,18 +73,18 @@
7873
</thead>
7974
<tbody>
8075
<tr th:if="!${#lists.isEmpty(memberIndexDto.listContentDto.contentEnhanceList)}"
81-
th:each="content,ite : ${memberIndexDto.listContentDto.contentEnhanceList}"
76+
th:each="contentEnhance,ite : ${memberIndexDto.listContentDto.contentEnhanceList}"
8277
>
8378
<td>
8479
<span th:text="${ite.count}"></span>
8580
</td>
8681
<td>
87-
<span th:replace="fragments/index::content_manage(${content},'manage_draft')"></span>
82+
<span th:replace="fragments/index::content_manage(${contentEnhance},'manage_draft')"></span>
8883
</td>
8984
<td>
90-
<span th:include="fragments/index::content_type"></span>
85+
<span th:include="fragments/index::content_type(${contentEnhance})"></span>
9186
</td>
92-
<td th:text="${content.createDate}">创建时间</td>
87+
<td th:text="${contentEnhance.createDate}">创建时间</td>
9388
<td>
9489
<div class="btn-group rounded-3 bg-gradient" role="group"
9590
aria-label="Second group">
@@ -101,10 +96,10 @@
10196
</button>
10297
<div class="dropdown-menu dropdown-menu-right border-0 shadow-lg">
10398
<a class="cv-link dropdown-item small"
104-
th:href="@{'/editor?type='+${content.contentType.name()}+'&contentId='+${content.contentId}}"><span
99+
th:href="@{'/editor?type='+${contentEnhance.content.contentType.name()}+'&contentId='+${contentEnhance.content.contentId}}"><span
105100
th:include="fragments/icon::edit"></span>编辑</a>
106101
<a class="cv-link dropdown-item small"
107-
th:onclick="changeContentStatus('DELETE_DRAFT',[[${content.contentId}]])"><span
102+
th:onclick="changeContentStatus('DELETE_DRAFT',[[${contentEnhance.content.contentId}]])"><span
108103
th:include="fragments/icon::shanchu"></span>删除</a>
109104
</div>
110105
</div>

0 commit comments

Comments
 (0)