net.guerlab.smart.article.service.service.AbstractArticleService Maven / Gradle / Ivy
package net.guerlab.smart.article.service.service;
import net.guerlab.smart.article.core.domain.ArticleDTO;
import net.guerlab.smart.article.core.searchparams.ArticleSearchParams;
import net.guerlab.smart.platform.server.service.BaseFindService;
import net.guerlab.spring.commons.dto.ConvertDTO;
import net.guerlab.web.result.ListObject;
import org.apache.commons.lang3.StringUtils;
import java.util.Collection;
/**
* 抽象文章服务
*
* @param
* 文章类型
* @author guer
*/
public interface AbstractArticleService> extends BaseFindService {
/**
* 数值正则表达式
*/
String NUMBER_REG = "^(-?\\d*)$";
/**
* 标题最大长度
*/
int TITLE_MAX_LENGTH = 255;
/**
* 唯一key最大长度
*/
int UNIQUE_KEY_MAX_LENGTH = 50;
/**
* 简介最大长度
*/
int SYNOPSIS_MAX_LENGTH = 255;
/**
* 原文链接最大长度
*/
int ORIGINAL_LINK_MAX_LENGTH = 255;
/**
* 作者最大长度
*/
int AUTHOR_MAX_LENGTH = 100;
/**
* 获取所有对象
*
* @param searchParams
* 搜索参数对象
* @return 实体列表
*/
Collection queryAll(ArticleSearchParams searchParams);
/**
* 查询列表
*
* @param searchParams
* 搜索参数对象
* @return 实体列表
*/
ListObject queryPage(ArticleSearchParams searchParams);
/**
* 查询总记录数
*
* @param searchParams
* 搜索参数对象
* @return 实体总数
*/
int queryCount(ArticleSearchParams searchParams);
/**
* 通过唯一key查询文章
*
* @param uniqueKey
* 唯一key
* @return 文章
*/
default E selectByUniqueKey(String uniqueKey) {
String key = StringUtils.trimToNull(uniqueKey);
if (key == null) {
return null;
}
ArticleSearchParams searchParams = new ArticleSearchParams();
searchParams.setUniqueKey(key);
return selectOne(searchParams);
}
}