package com.huiju.estateagents.property.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.huiju.estateagents.base.ResponseBean;
import com.huiju.estateagents.center.taUser.entity.TaUser;
import com.huiju.estateagents.property.common.UserElement;
import com.huiju.estateagents.property.model.User;

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

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

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

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

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

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

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

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

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

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