文章人工审核
需求:
自媒体文章如果没有自动审核成功,而是到了人工审核(自媒体文章状态为3),需要在admin端人工处理文章的审核
-
平台管理员可以查看待人工审核的文章信息,如果存在违规内容则驳回(状态改为2,文章审核失败)
-
平台管理员可以查看待人工审核的文章信息,如果不存在违规,则需要创建app端的文章信息,并更新自媒体文章的状态
也可以通过点击查看按钮,查看文章详细信息,查看详情后可以根据内容判断是否需要通过审核
(1)文章人工审核在leadnews-wemedia微服务中实现:分页查询Wmnews表,所有的自媒体文章。根据id查询具体文章详情。更新文章人工审核状态:通过或失败
(2)文章人工审核通过后,经过feign远程调用leadnews-article微服务将文章存在article。并将返回的文章id回填到wemedia的文章属性中。
一、分页查询自媒体文章:
/**
* 查询文章列表
*
* @param dto
* @return
*/
@Override
public ResponseResult findList(NewsAuthDto dto) {
//1、参数校验
if(dto == null){
return ResponseResult.errorResult(AppHttpCodeEnum.PARAM_INVALID);
}
dto.checkParam();
//分页构造器
Page<WmNews> page = new Page<>(dto.getPage(), dto.getSize());
//条件构造器
LambdaQueryWrapper<WmNews> queryWrapper = new LambdaQueryWrapper<>();
//文章状态:全部查看没有status其它都有
queryWrapper.eq(dto.getStatus()!=null, WmNews::getStatus, dto.getStatus());
//搜索关键字title模糊查询
queryWrapper.like(dto.getTitle()!=null, WmNews::getTitle, dto.getTitle());
//排序
queryWrapper.orderByDesc(WmNews::getCreatedTime);
page = page(page, queryWrapper);
//返回结果
ResponseResult responseResult = new PageResponseResult(dto.getPage(), dto.getSize(), (int) page.getTotal());
responseResult.setData(page.getRecords());
return responseResult;
}
二、根据id查询自媒体文章详情
@Autowired private WmUserMapper wmUserMapper; /** * 查询文章详情 * * @param id * @return */ @Override public ResponseResult findWmNewsVo(Integer id) { if(id == null){ return ResponseResult.errorResult(AppHttpCodeEnum.PARAM_INVALID); } WmNews wmNews = getById(id); if(wmNews == null){ return ResponseResult.errorResult(AppHttpCodeEnum.DATA_NOT_EXIST); } //查询用户信息 WmUser wmUser = wmUserMapper.selectById(wmNews.getUserId()); //封装返回结果 WmNewsVo wmNewsVo = new WmNewsVo(); BeanUtils.copyProperties(wmNews, wmNewsVo); if(wmUser != null){ wmNewsVo.setAuthorName(wmUser.getName()); } ResponseResult responseResult = new ResponseResult().ok(wmNewsVo); return responseResult; }
三、修改审核状态:通过或失败,通过后调用feign的远程调用将文章插入移动端app的article表中【这个方法在自动审核时已经完成:自动审核通过时远程调用将自媒体文章写入移动端并回填articleid,直接调用即可】,并将生成的articleid回填到wemedia中的自媒体文章属性。
/** * 审核文章状态:2通过,4失败 * * @param status * @param dto * @return */ @Override public ResponseResult updateStatus(Short status, NewsAuthDto dto) { //参数验证 if(dto == null || dto.getId() == null){ return ResponseResult.errorResult(AppHttpCodeEnum.PARAM_INVALID); } WmNews wmNews = getById(dto.getId()); if(wmNews == null){ return ResponseResult.errorResult(AppHttpCodeEnum.DATA_NOT_EXIST); } //修改文章状态 wmNews.setStatus(status); if(StringUtils.isNotBlank(dto.getMsg())){ wmNews.setReason(dto.getMsg()); } updateById(wmNews); //人工审核成功后需要创建app端文章 if(status.equals(WemediaConstants.WM_NEWS_AUTH_PASS)){ ResponseResult responseResult = wmNewsAutoScanService.saveAppArticle(wmNews); if(responseResult.getCode().equals(200)){ //回填 wmNews.setArticleId((Long) responseResult.getData()); wmNews.setStatus(WmNews.Status.PUBLISHED.getCode()); updateById(wmNews); } } return ResponseResult.okResult(AppHttpCodeEnum.SUCCESS); }