MALL:营销文章增加 title 查询,简易解决常见问题、用户协议的编辑

plp
YunaiV 2 years ago
parent c019136f07
commit 1f3f3d789b

@ -2,9 +2,11 @@ package cn.iocoder.yudao.module.promotion.controller.app.article;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.promotion.controller.app.article.vo.article.AppArticlePageReqVO; import cn.iocoder.yudao.module.promotion.controller.app.article.vo.article.AppArticlePageReqVO;
import cn.iocoder.yudao.module.promotion.controller.app.article.vo.article.AppArticleRespVO; import cn.iocoder.yudao.module.promotion.controller.app.article.vo.article.AppArticleRespVO;
import cn.iocoder.yudao.module.promotion.convert.article.ArticleConvert; import cn.iocoder.yudao.module.promotion.convert.article.ArticleConvert;
import cn.iocoder.yudao.module.promotion.dal.dataobject.article.ArticleDO;
import cn.iocoder.yudao.module.promotion.service.article.ArticleService; import cn.iocoder.yudao.module.promotion.service.article.ArticleService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -51,9 +53,15 @@ public class AppArticleController {
@RequestMapping("/get") @RequestMapping("/get")
@Operation(summary = "获得文章详情") @Operation(summary = "获得文章详情")
@Parameter(name = "id", description = "文章编号", example = "1024") @Parameters({
public CommonResult<AppArticleRespVO> getArticlePage(@RequestParam("id") Long id) { @Parameter(name = "id", description = "文章编号", example = "1024"),
return success(ArticleConvert.INSTANCE.convert01(articleService.getArticle(id))); @Parameter(name = "title", description = "文章标题", example = "1024"),
})
public CommonResult<AppArticleRespVO> getArticle(@RequestParam(value = "id", required = false) Long id,
@RequestParam(value = "title", required = false) String title) {
ArticleDO article = id != null ? articleService.getArticle(id)
: articleService.getLastArticleByTitle(title);
return success(BeanUtils.toBean(article, AppArticleRespVO.class));
} }
@PutMapping("/add-browse-count") @PutMapping("/add-browse-count")

@ -28,7 +28,7 @@ public class AppArticleRespVO {
private String introduction; private String introduction;
@Schema(description = "文章内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "我是详细") @Schema(description = "文章内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "我是详细")
private String description; private String content;
@Schema(description = "发布时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "发布时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime; private LocalDateTime createTime;

@ -38,6 +38,10 @@ public interface ArticleMapper extends BaseMapperX<ArticleDO> {
.eqIfPresent(ArticleDO::getRecommendBanner, recommendBanner)); .eqIfPresent(ArticleDO::getRecommendBanner, recommendBanner));
} }
default List<ArticleDO> selectListByTitle(String title) {
return selectList(ArticleDO::getTitle, title);
}
default PageResult<ArticleDO> selectPage(AppArticlePageReqVO pageReqVO) { default PageResult<ArticleDO> selectPage(AppArticlePageReqVO pageReqVO) {
return selectPage(pageReqVO, new LambdaQueryWrapperX<ArticleDO>() return selectPage(pageReqVO, new LambdaQueryWrapperX<ArticleDO>()
.eqIfPresent(ArticleDO::getCategoryId, pageReqVO.getCategoryId())); .eqIfPresent(ArticleDO::getCategoryId, pageReqVO.getCategoryId()));

@ -11,14 +11,14 @@ import jakarta.validation.Valid;
import java.util.List; import java.util.List;
/** /**
* Service * Service
* *
* @author HUIHUI * @author HUIHUI
*/ */
public interface ArticleService { public interface ArticleService {
/** /**
* *
* *
* @param createReqVO * @param createReqVO
* @return * @return
@ -26,60 +26,62 @@ public interface ArticleService {
Long createArticle(@Valid ArticleCreateReqVO createReqVO); Long createArticle(@Valid ArticleCreateReqVO createReqVO);
/** /**
* *
* *
* @param updateReqVO * @param updateReqVO
*/ */
void updateArticle(@Valid ArticleUpdateReqVO updateReqVO); void updateArticle(@Valid ArticleUpdateReqVO updateReqVO);
/** /**
* *
* *
* @param id * @param id
*/ */
void deleteArticle(Long id); void deleteArticle(Long id);
/** /**
* *
* *
* @param id * @param id
* @return * @return
*/ */
ArticleDO getArticle(Long id); ArticleDO getArticle(Long id);
/** /**
* *
*
*
*
* @param title
* @return
*/
ArticleDO getLastArticleByTitle(String title);
/**
*
* *
* @param pageReqVO * @param pageReqVO
* @return * @return
*/ */
PageResult<ArticleDO> getArticlePage(ArticlePageReqVO pageReqVO); PageResult<ArticleDO> getArticlePage(ArticlePageReqVO pageReqVO);
/** /**
* *
* *
* @param recommendHot * @param recommendHot
* @param recommendBanner * @param recommendBanner
* @return * @return
*/ */
List<ArticleDO> getArticleCategoryListByRecommend(Boolean recommendHot, Boolean recommendBanner); List<ArticleDO> getArticleCategoryListByRecommend(Boolean recommendHot, Boolean recommendBanner);
/** /**
* *
* *
* @param pageReqVO * @param pageReqVO
* @return * @return
*/ */
PageResult<ArticleDO> getArticlePage(AppArticlePageReqVO pageReqVO); PageResult<ArticleDO> getArticlePage(AppArticlePageReqVO pageReqVO);
/**
*
*
* @param categoryId
* @return
*/
List<ArticleDO> getArticleByCategoryId(Long categoryId);
/** /**
* *
* *

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.promotion.service.article; package cn.iocoder.yudao.module.promotion.service.article;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.promotion.controller.admin.article.vo.article.ArticleCreateReqVO; import cn.iocoder.yudao.module.promotion.controller.admin.article.vo.article.ArticleCreateReqVO;
import cn.iocoder.yudao.module.promotion.controller.admin.article.vo.article.ArticlePageReqVO; import cn.iocoder.yudao.module.promotion.controller.admin.article.vo.article.ArticlePageReqVO;
@ -85,6 +86,12 @@ public class ArticleServiceImpl implements ArticleService {
return articleMapper.selectById(id); return articleMapper.selectById(id);
} }
@Override
public ArticleDO getLastArticleByTitle(String title) {
List<ArticleDO> articles = articleMapper.selectListByTitle(title);
return CollUtil.getLast(articles);
}
@Override @Override
public PageResult<ArticleDO> getArticlePage(ArticlePageReqVO pageReqVO) { public PageResult<ArticleDO> getArticlePage(ArticlePageReqVO pageReqVO) {
return articleMapper.selectPage(pageReqVO); return articleMapper.selectPage(pageReqVO);
@ -100,11 +107,6 @@ public class ArticleServiceImpl implements ArticleService {
return articleMapper.selectPage(pageReqVO); return articleMapper.selectPage(pageReqVO);
} }
@Override
public List<ArticleDO> getArticleByCategoryId(Long categoryId) {
return articleMapper.selectList(ArticleDO::getCategoryId, categoryId);
}
@Override @Override
public Long getArticleCountByCategoryId(Long categoryId) { public Long getArticleCountByCategoryId(Long categoryId) {
return articleMapper.selectCount(ArticleDO::getCategoryId, categoryId); return articleMapper.selectCount(ArticleDO::getCategoryId, categoryId);

Loading…
Cancel
Save