| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.Base64; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private ArticleMapper articleMapper; |
| | | |
| | | |
| | | /** |
| | | * @description 删除文章分类 |
| | |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void editMgtArticle(MgtArticleEditDto mgtArticleEditDto){ |
| | | public Long editMgtArticle(MgtArticleEditDto mgtArticleEditDto){ |
| | | // 创建Article对象 |
| | | Article article; |
| | | Article articleSame = this.getOne(new LambdaQueryWrapper<Article>().eq(Article::getDelFlag,0).eq(Article::getArticleTitle,mgtArticleEditDto.getArticleTitle()),false); |
| | | if(mgtArticleEditDto.getArticleId()!=null){ |
| | | if(articleSame!=null&&!articleSame.getArticleId().equals(mgtArticleEditDto.getArticleId())){ |
| | | Long oldClassId = null; |
| | | // 根据文章标题查询文章是否存在 |
| | | Article articleSame = this.getOne(new LambdaQueryWrapper<Article>() |
| | | .eq(Article::getDelFlag, 0) |
| | | .eq(Article::getArticleTitle, mgtArticleEditDto.getArticleTitle()), false); |
| | | // 如果文章ID不为空 |
| | | if (mgtArticleEditDto.getArticleId() != null) { |
| | | // 如果存在相同标题的文章并且文章ID不同,则抛出异常 |
| | | if (articleSame != null && !articleSame.getArticleId().equals(mgtArticleEditDto.getArticleId())) { |
| | | throw new ServiceException(AppErrorConstant.ARTICLE_DOUBLE); |
| | | } |
| | | // 根据文章ID获取文章对象 |
| | | article = this.getById(mgtArticleEditDto.getArticleId()); |
| | | }else{ |
| | | if(articleSame!=null){ |
| | | oldClassId = article.getClassId(); |
| | | } |
| | | // 如果文章ID为空 |
| | | else { |
| | | // 如果存在相同标题的文章,则抛出异常 |
| | | if (articleSame != null) { |
| | | throw new ServiceException(AppErrorConstant.ARTICLE_DOUBLE); |
| | | } |
| | | // 创建新的文章对象 |
| | | article = new Article(); |
| | | article.setDelFlag(0); |
| | | article.setCreateTime(new Date()); |
| | | article.setCreateUserId(mgtArticleEditDto.getUserId()); |
| | | } |
| | | // 设置文章的类别ID、排序、标题、简介、封面、视频、更新时间和更新用户ID |
| | | article.setClassId(mgtArticleEditDto.getClassId()); |
| | | article.setArticleSort(mgtArticleEditDto.getArticleSort()); |
| | | article.setArticleTitle(mgtArticleEditDto.getArticleTitle()); |
| | | article.setArticleIntroduce(mgtArticleEditDto.getArticleIntroduce()); |
| | | article.setArticleDetail(mgtArticleEditDto.getArticleDetail()); |
| | | article.setArticleCover(mgtArticleEditDto.getArticleCover()); |
| | | article.setArticleVideo(mgtArticleEditDto.getArticleVideo()); |
| | | article.setUpdateTime(new Date()); |
| | | article.setUpdateUserId(mgtArticleEditDto.getUserId()); |
| | | // 处理文章详情 |
| | | String articleDetail = mgtArticleEditDto.getArticleDetail(); |
| | | if (StringUtils.isNotBlank(articleDetail)) { |
| | | byte[] decodedBytes = Base64.getDecoder().decode(articleDetail); |
| | | articleDetail = new String(decodedBytes, StandardCharsets.UTF_8); |
| | | article.setArticleDetail(articleDetail); |
| | | } |
| | | // 保存或更新文章 |
| | | this.saveOrUpdate(article); |
| | | return oldClassId; |
| | | } |
| | | |
| | | |
| | |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void deleteArticle(MgtBaseGetDto mgtBaseGetDto){ |
| | | public Long deleteArticle(MgtBaseGetDto mgtBaseGetDto){ |
| | | Article article = this.getById(Long.valueOf(mgtBaseGetDto.getId())); |
| | | article.setDelFlag(1); |
| | | article.setUpdateTime(new Date()); |
| | | article.setUpdateUserId(mgtBaseGetDto.getUserId()); |
| | | this.saveOrUpdate(article); |
| | | return article.getClassId(); |
| | | } |
| | | |
| | | /** |