/**
* Copyright 2018 人人开源 https://www.renren.io
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserBaseInfoDTO;
import com.epmet.dto.form.CommonUserIdFormDTO;
import com.epmet.dto.form.ResiVolunteerAuthenticateFormDTO;
import com.epmet.dto.result.CustomerUserDetailResultDTO;
import com.epmet.dto.result.ExtUserInfoResultDTO;
import com.epmet.dto.result.ResiUserBaseInfoResultDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.entity.UserBaseInfoEntity;
import java.util.List;
import java.util.Map;
/**
* 用户基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-07-19
*/
public interface UserBaseInfoService extends BaseService {
/**
* 默认分页
*
* @param params
* @return PageData
* @author generator
* @date 2020-07-19
*/
PageData page(Map params);
/**
* 默认查询
*
* @param params
* @return java.util.List
* @author generator
* @date 2020-07-19
*/
List list(Map params);
/**
* 单条查询
*
* @param id
* @return UserBaseInfoDTO
* @author generator
* @date 2020-07-19
*/
UserBaseInfoDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-07-19
*/
void save(UserBaseInfoDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-07-19
*/
void update(UserBaseInfoDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-07-19
*/
void delete(String[] ids);
/**
* @param userId
* @return com.epmet.dto.result.UserBaseInfoResultDTO
* @author yinzuomei
* @description 先从缓存获取 缓存没有获取db
* @Date 2020/11/18 19:35
**/
UserBaseInfoResultDTO queryUserBaseInfoFromCache(String userId);
/**
* @param userIdList
* @return java.util.List
* @author yinzuomei
* @description 传入用户id集合,返回用户的基本信息(包含微信基本信息)
* @Date 2020/7/22 9:35
**/
List queryUserBaseInfo(List userIdList);
/**
* @Description 查询用户信息
* @Param userIdList
* @author zxc
* @date 2021/3/16 下午2:52
*/
List queryUserBaseInfoPlus(List userIdList);
/**
* @return void
* @param
* @author yinzuomei
* @description 初始化历史用户信息到user_base_info数据
* @Date 2020/7/22 10:42
**/
void initBaseInfo();
/**
* @Description 检查有无居民基础信息表,如果有更新,无插入
* @param baseInfo
* @return
* @author wangc
* @date 2020.07.23 10:35
**/
void insertOrUpdate(UserBaseInfoEntity baseInfo);
/**
* @Description 查询用户详情信息
* @param userId
* @return
* @author wangc
* @date 2020.07.27 01:34
**/
CustomerUserDetailResultDTO customerUserDetail(String userId);
/**
* 获取用户基础信息
*
* @param userId
* @return com.epmet.commons.tools.utils.Result
* @Author zhangyong
* @Date 15:20 2020-07-28
**/
Result selecUserBaseInfoByUserId(String userId);
/**
* @Description 认证志愿者时保存/修改用户基础信息
* @param param
* @return
* @author wangc
* @date 2020.07.31 09:38
**/
void saveUserBaseInfoWhenAuthVolunteer(ResiVolunteerAuthenticateFormDTO param);
/**
* @Description 清除用户缓存信息
* @param ids
* @return
* @author wangc
* @date 2020.08.06 14:38
**/
void clearUserCache(List ids);
/**
* @Description 查询当前用户信息 - 对外接口
* @param param
* @return
* @author wangc
* @date 2020.08.21 17:16
**/
ExtUserInfoResultDTO extUserInfo(CommonUserIdFormDTO param);
UserBaseInfoDTO getUserIdByIdNum(String customerId, String idNum,String userId);
@Deprecated
Integer checkIdNum(String idNum, String customerId, String excludeUserId);
}