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

org.zodiac.mybatisplus.base.BaseService Maven / Gradle / Ivy

There is a newer version: 1.6.8
Show newest version
package org.zodiac.mybatisplus.base;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.validation.constraints.NotEmpty;

import org.zodiac.mybatisplus.model.MyBatisPlusPagination;
import org.zodiac.sdk.toolkit.model.KeyValue;

import java.util.List;
import java.util.Map;

/**
 * 基础业务接口。
 *
 * @param  映射类类型
 */
public interface BaseService extends IService {

    QueryChainWrapper query();

    LambdaQueryChainWrapper lambdaQuery();

    UpdateChainWrapper update();

    LambdaUpdateChainWrapper lambdaUpdate();

    /**
     * 逻辑删除。
     *
     * @param ids 主键列表
     * @return 是否成功
     */
    boolean deleteLogic(@NotEmpty List ids);

    /**
     * 变更状态。
     *
     * @param ids 主键列表
     * @param status 状态值
     * @return 是否成功
     */
    boolean changeStatus(@NotEmpty List ids, Integer status);

    List getEntityList(Wrapper queryWrapper);

    List getEntityList(Wrapper queryWrapper, MyBatisPlusPagination myBatisPlusPagination);

    /**
     * 获取指定数量的entity记录。
     * @param queryWrapper 查询条件
     * @param limitCount 限制数量
     * @return 实体对象列表
     */
    List getEntityListLimit(Wrapper queryWrapper, int limitCount);

    /**
     * 获取符合条件的一个Entity实体。
     * @param queryWrapper 查询条件
     * @return 实体对象
     */
    T getSingleEntity(Wrapper queryWrapper);

    /**
     * 获取指定属性的Map列表。
     * @param queryWrapper 条件
     * @return 结果列表
     */
    default List> getMapList(Wrapper queryWrapper) {
        return getMapList(queryWrapper, null);
    }

    /**
     * 获取指定属性的Map列表。
     * @param queryWrapper 条件
     * @param myBatisPlusPagination 分页对象
     * @return 结果列表
     */
    List> getMapList(Wrapper queryWrapper, MyBatisPlusPagination myBatisPlusPagination);

    /***
     * 获取键值对的列表,用于构建select下拉选项等。
     *
     * @param queryWrapper 条件
     * @return 结果列表
     */
    List getLabelValueList(Wrapper queryWrapper);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy