[CMS-VISUAL] F3: 首页展示形态唯一入口收敛到布局编辑器——栏目保存缺省 homeStyle 时保留存量值,管理弹窗移除该下拉(19/19 IT 绿)
This commit is contained in:
@@ -80,8 +80,7 @@ public class CategoryService {
|
|||||||
if (StringUtils.hasText(req.getHomeStyle()) && !HOME_STYLE_VALUES.contains(req.getHomeStyle())) {
|
if (StringUtils.hasText(req.getHomeStyle()) && !HOME_STYLE_VALUES.contains(req.getHomeStyle())) {
|
||||||
throw new BizException(ErrorCode.PARAM_ERROR,
|
throw new BizException(ErrorCode.PARAM_ERROR,
|
||||||
"首页展示形态非法:" + req.getHomeStyle() + "(仅支持 news_grid / media_focus)");
|
"首页展示形态非法:" + req.getHomeStyle() + "(仅支持 news_grid / media_focus)");
|
||||||
}
|
} CmsCategory category;
|
||||||
CmsCategory category;
|
|
||||||
if (req.getId() == null) {
|
if (req.getId() == null) {
|
||||||
category = new CmsCategory();
|
category = new CmsCategory();
|
||||||
category.setSiteId(site.getId());
|
category.setSiteId(site.getId());
|
||||||
@@ -98,7 +97,9 @@ public class CategoryService {
|
|||||||
category.setType(type.getCode());
|
category.setType(type.getCode());
|
||||||
category.setLinkUrl(req.getLinkUrl());
|
category.setLinkUrl(req.getLinkUrl());
|
||||||
category.setTemplate(req.getTemplate());
|
category.setTemplate(req.getTemplate());
|
||||||
category.setHomeStyle(StringUtils.hasText(req.getHomeStyle()) ? req.getHomeStyle() : null);
|
// F3(docs/20 §四):「首页展示形态」唯一入口收敛到首页布局编辑器,栏目管理不再编辑该字段——
|
||||||
|
// 入参缺省时保留已有值(存量数据不清除,无布局站点的回落渲染仍消费);显式传值仍校验(API 兼容)
|
||||||
|
category.setHomeStyle(StringUtils.hasText(req.getHomeStyle()) ? req.getHomeStyle() : category.getHomeStyle());
|
||||||
category.setContent(HtmlSanitizer.clean(req.getContent()));
|
category.setContent(HtmlSanitizer.clean(req.getContent()));
|
||||||
category.setSortNo(req.getSortNo() == null ? 0 : req.getSortNo());
|
category.setSortNo(req.getSortNo() == null ? 0 : req.getSortNo());
|
||||||
category.setSeoTitle(req.getSeoTitle());
|
category.setSeoTitle(req.getSeoTitle());
|
||||||
|
|||||||
@@ -71,6 +71,20 @@ class CategoryServiceIT extends CmsIntegrationTestBase {
|
|||||||
.findFirst().orElseThrow(IllegalStateException::new).getHomeStyle()).isEqualTo("news_grid");
|
.findFirst().orElseThrow(IllegalStateException::new).getHomeStyle()).isEqualTo("news_grid");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("docs/20 F3:编辑不带 homeStyle 时存量值保留(入口收敛到布局编辑器后不清数据)")
|
||||||
|
void save_homeStylePreservedWhenAbsent() {
|
||||||
|
CategorySaveRequest grid = req("形态栏目", 0, 1);
|
||||||
|
grid.setHomeStyle("news_grid");
|
||||||
|
CategoryTreeNode created = categoryService.save(TestUsers.superAdmin(), grid);
|
||||||
|
|
||||||
|
// 栏目管理已不再提交 homeStyle(F3 唯一入口=首页布局编辑器):再次保存仅改名称
|
||||||
|
CategorySaveRequest edit = req("形态栏目改名", 0, 1);
|
||||||
|
edit.setId(created.getId());
|
||||||
|
CategoryTreeNode updated = categoryService.save(TestUsers.superAdmin(), edit);
|
||||||
|
assertThat(updated.getHomeStyle()).isEqualTo("news_grid");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("docs/12:homeStyle 非法值被白名单拒绝")
|
@DisplayName("docs/12:homeStyle 非法值被白名单拒绝")
|
||||||
void save_homeStyleInvalidRejected() {
|
void save_homeStyleInvalidRejected() {
|
||||||
|
|||||||
Reference in New Issue
Block a user