package com.datau.kpim.service.common;

import com.datau.kpim.dto.common.RuleTypeDTO;
import com.datau.kpim.dto.common.SignDTO;
import com.datau.kpim.dto.common.TypeDTO;
import com.datau.kpim.dto.common.UserDTO;
import com.datau.kpim.util.R;

import java.util.List;

/*
 * @Author jade
 * @Description  通用Service接口
 * @Date 2019/2/18
 * @Version 1.0
 */
public interface CommonService {

    /* *
     * @Author jade
     * @Description  配置类型查询
     * @Date 2019/2/18
     * @Param []
     * @return com.datau.kpim.util.R<java.util.List<com.datau.kpim.dto.common.TypeDTO>>
    **/
    R<List<TypeDTO>> listTypes() throws Exception;

    /* *
     * @Author jade
     * @Description  符号列表查询
     * @Date 2019/2/20
     * @Param []
     * @return com.datau.kpim.util.R<java.util.List<com.datau.kpim.dto.common.SignDTO>>
    **/
    R<List<SignDTO>> listSigns() throws Exception;

    /* *
     * @Author jade
     * @Description 规则类型列表查询
     * @Date 2019/2/21
     * @Param []
     * @return com.datau.kpim.util.R<java.util.List<com.datau.kpim.dto.common.RuleTypeDTO>>
    **/
    R<List<RuleTypeDTO>> listRuleTypes(Integer kpiType) throws Exception;
    
   /* *
    * @Author jade
    * @Description 查询用户类型
    * @Date 2019/2/26
    * @Param [userType]
    * @return com.datau.kpim.util.R<java.util.List<com.datau.kpim.dto.common.UserDTO>>
   **/
    R<List<UserDTO>> listAdministrativeUsers(Integer userType);


}
