package com.huatek.busi.service;

import java.util.Map;

import org.springframework.util.CollectionUtils;

/**
 * 一些工具类定义
 * 
 * @author anker_cheng
 * @date 2019/10/08
 */
public interface PageUtility {
    final int DEFAULT_LIMIT = 20;

    /**
     * 从参数params里获取page信息，没有则返回1
     * 
     * @param params
     *            参数map
     * @return page
     */
    default int page(Map<String, Object> params) {
        if (CollectionUtils.isEmpty(params)) {
            return 1;
        }
        Object page = params.get("page");
        if (page == null) {
            return 1;
        }
        return Integer.valueOf(page.toString());
    }

    default int limit(Map<String, Object> params) {
        return limit(params, DEFAULT_LIMIT);
    }

    /**
     * 从参数params里获取limit信息，如果没有则返回默认值defaultLimitVal
     * 
     * @param params
     *            参数map
     * @param defaultLimitVal
     *            默认值
     * @return limit
     */
    default int limit(Map<String, Object> params, int defaultLimitVal) {
        if (CollectionUtils.isEmpty(params)) {
            return defaultLimitVal;
        }
        Object limit = params.get("limit");
        if (limit == null) {
            return defaultLimitVal;
        }
        return Integer.valueOf(limit.toString());
    }
}
