package com.community.huiju.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.community.commom.mode.ResponseBean;
import com.community.commom.session.UserElement;
import com.community.huiju.model.User;

/**
 * <p>
 * 物业web端用户表 服务类
 * </p>
 *
 * @author jobob
 * @since 2018-12-18
 */
public interface IUserService extends IService<User> {
    /**
     * 登陆
     * @param phone
     * @param communityId
     * @param code
     * @return
     */
    ResponseBean login(String phone, Integer communityId, String code);

    /**
     * 根据 手机号 验证码 获取 该用户的所管理的小区
     * @param phone
     * @param code
     * @return
     */
    ResponseBean userCommunity(String phone, String code);

    /**
     * 查询用户信息
     * @param userElement 用户登陆后的信息体
     * @return
     */
    ResponseBean userInfo(UserElement userElement);

    /**
     * 获取成员列表
     * @param parameter
     * @return
     */
    ResponseBean userList(String parameter,Integer communityId);

    /**
     * 添加成员角色
     * @param parameter
     * @param UserID
     * @return
     */
    ResponseBean addUser(String parameter,Integer UserID,Integer communityId);

    /**
     * 修改成员
     * @param parameter
     * @param id
     * @return
     */
    ResponseBean upDate(String parameter, Integer id,Integer communityId);

    /**
     * 查看成员详情
     * @param parameter
     * @param id
     * @return
     */
    ResponseBean selectById(String parameter, Integer id);

    /**
     * 修改当前状态
     * @param parameter
     * @return
     */
    ResponseBean upDateStatus(String parameter,Integer userID);

    /**
     * 获取所有角色
     * @param communityId
     * @return
     */
    ResponseBean allUserRole(Integer communityId);

    /**
     * 大苏 token生成
     * @param appid
     * @param datetime 时间戳
     * @param encrypt 加密方式(默认MD5)
     * @param communityId 小区
     * @param sign 传过来的签名
     * @return
     */
    ResponseBean daSuToken(String appid,  String datetime, String encrypt, String communityId, String sign);
}
