/**
 * 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.UserResiInfoDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.IssueInitiatorResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.entity.UserResiInfoEntity;
import java.util.List;
import java.util.Map;
/**
 * 用户居民端注册信息表  用户在居民端完善的个人信息
 *
 * @author generator generator@elink-cn.com
 * @since v1.0.0 2020-03-30
 */
public interface UserResiInfoService extends BaseService {
	/**
	 * 默认分页
	 *
	 * @param params
	 * @return PageData
	 * @author generator
	 * @date 2020-03-30
	 */
	PageData page(Map params);
	/**
	 * 默认查询
	 *
	 * @param params
	 * @return java.util.List
	 * @author generator
	 * @date 2020-03-30
	 */
	List list(Map params);
	/**
	 * 单条查询
	 *
	 * @param id
	 * @return UserResiInfoDTO
	 * @author generator
	 * @date 2020-03-30
	 */
	UserResiInfoDTO get(String id);
	/**
	 * 默认保存
	 *
	 * @param dto
	 * @return void
	 * @author generator
	 * @date 2020-03-30
	 */
	void save(UserResiInfoDTO dto);
	/**
	 * 默认更新
	 *
	 * @param dto
	 * @return void
	 * @author generator
	 * @date 2020-03-30
	 */
	void update(UserResiInfoDTO dto);
	/**
	 * 批量删除
	 *
	 * @param ids
	 * @return void
	 * @author generator
	 * @date 2020-03-30
	 */
	void delete(String[] ids);
	/**
	 * @param userResiInfoFormDTO
	 * @return com.epmet.commons.tools.utils.Result
	 * @Author yinzuomei
	 * @Description 查询用户注册信息
	 * @Date 2020/3/30 11:07
	 **/
	Result getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO);
	/**
	 * 居民端-居民注册信息提交
	 *
	 * @param userResiInfoDTO
	 * @return void
	 * @author sun
	 */
	Result submit(UserResiInfoDTO userResiInfoDTO);
	/**
	 * 居民端-居民注册根据手机号获取验证码
	 *
	 * @param formDTO
	 * @author sun
	 */
	Result getVerificationCode(VerificationCodeFormDTO formDTO);
	/**
	 * 注册居民信息
	 *
	 * @param userResiInfoDTO 参数
	 * @return Result
	 * @author zhaoqifeng
	 */
	Result saveResiInfo(UserResiInfoDTO userResiInfoDTO);
	/**
	 * @return com.epmet.commons.tools.utils.Result>
	 * @param userResiInfoListFormDTO
	 * @Author yinzuomei
	 * @Description 根据userId集合查询用户注册信息
	 * @Date 2020/4/7 18:21
	 **/
	Result> getUserResiInfoList(UserResiInfoListFormDTO userResiInfoListFormDTO);
	/**
	 * @Description  根据userId查询议题发起人
	 * @param formDTO
	 * @author zxc
	 * @date 2020/5/11 10:59
	 */
	IssueInitiatorResultDTO selectIssueInitiator(IssueInitiatorFormDTO formDTO);
	/**
	 * 修改个人信息
	 * @author zhaoqifeng
	 * @date 2020/11/3 10:29
	 * @param formDTO
	 * @return void
	 */
	void editUserInfo(EditInfoFormDTO formDTO);
	/**
	 * 获取验证码
	 * @author zhaoqifeng
	 * @date 2020/11/10 10:50
	 * @param formDTO
	 * @return void
	 */
	void sendCode(SendCodeFormDTO formDTO);
	/**
	 * 修改手机号
	 * @author zhaoqifeng
	 * @date 2020/11/11 8:59
	 * @param formDTO
	 * @return void
	 */
	void editMobile(EditMobileFormDTO formDTO);
	/**
	 * @Description 在分享链接之后完成注册居民之后调用的接口
	 * 作用
	 * 				①给邀请人加积分
	 * 				②更改邀请浏览记录里"是否通过邀请链接注册居民"
	 * @param param
	 * @return void
	 * @author wangc
	 * @date 2020.12.18 16:34
	*/
	void submitInLink(AfterRegisterResidentInSharableLinkFormDTO param);
}