All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.guerlab.smart.article.service.service.AbstractArticleService Maven / Gradle / Ivy

There is a newer version: 21.5.0
Show newest version
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);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy