文章人工审核

需求:

 自媒体文章如果没有自动审核成功,而是到了人工审核(自媒体文章状态为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);
    }

 

 

posted @ 2023-07-11 16:06  佛系粥米  阅读(63)  评论(0编辑  收藏  举报