package com.yuchen.saas.manage.user.api.feign;

import com.yuchen.saas.manage.user.api.entity.*;
import com.yuchen.saas.manage.user.api.request.UserNameRequest;
import com.yuchen.saas.manage.user.api.vo.UserAdminVO;
import org.nest.springwrap.core.tool.api.R;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * @Author: 肖润飞
 * @CreateTime: 2022/11/14 16:16
 * @Description: TODO
 * @Version: 1.0
 */
@Component
public class UserClientFallback implements IUserClient{

    @Override
    public R<User> userInfoById(Long userId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserInfo> userInfoById(Long userId, String deptId, String openId, String appId, String userType) {
        return R.error("远程调用失败");
    }

    @Override
    public R<User> userByAccount(String tenantId, String account) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserInfo> userInfoByPhone(String tenantId, String phone, String deptId, String openId, String appId, String userType, Integer applySource,Long orgUserId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserDetail> userDetailByPhone(String phone) {
        return R.error("远程调用失败");
    }


/*
    @Override
    public R<UserInfo> userInfoById(String tenantId, String id, String deptId, String userType) {
        return R.error("远程调用失败");
    }*/

    @Override
    public R<User> userByPhone(String tenantId, String phone, String deptId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserInfo> userInfo(String tenantId, String account) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserInfo> userInfo(String tenantId, String account, String userType) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserInfo> userAuthInfo(UserOauth userOauth) {
        return R.error("远程调用失败");
    }

    @Override
    public R<Boolean> saveUser(User user) {
        return R.error("远程调用失败");
    }

    @Override
    public R<Boolean> updateUser(User user) {
        return R.error("远程调用失败");
    }

    @Override
    public R<User> submitUser(String phone, String realName, String tenantId, Long id, Integer applySource) {
        return R.error("远程调用失败");
    }

    @Override
    public R<Boolean> submitWeChatUser(SaasWechatUser wechatUser) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserDetail> selectUserDetailByWechat(String appId, String openId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<UserDetail>> selectUserDetailListByWechat(String appId, String openId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserDetail> submitUserDetail(String phone, String name) {
        return R.error("远程调用失败");
    }
    @Override
    public R<Boolean> removeUser(String tenantIds) {
        return R.error("远程调用失败");
    }

    @Override
    public R<User> findUserByNameAndPhone(String realName, String phone) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserInfoEntity> userEntityInfo(String tenantId, String phone) {
        return R.error("远程调用失败");
    }

    @Override
    public R<User> accountInfo(String userId, String tenantId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<User> accountInfoByAccount(String account) {
        return R.error("远程调用失败");
    }

    @Override
    public R<Map<Long, String>> userNameById(List<UserNameRequest> request) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<User>> userByAccount(String name) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<UserInfoEntity>> userInfoByName(String name) {
        return R.error("远程调用失败");
    }

  /*  @Override
    public R<UserInfo> userInfoByPhone(String tenantId, String username, String name) {
        return R.error("远程调用失败");
    }

*/

    @Override
    public R<User> userGetOrSave(String phone,String realName,String tenantId,Integer applySource) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<User>> userByPhoneAndTenantId(String phone, String tenantId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserDetail> userDetailByUserId(Long userId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserDetail> userDetailById(Long id) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<UserAdminVO>> getAdminUser(Long deptId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<UserDetail> userDetailByUserIdNotTenantId(Long userId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<User> userByUserIdNotTenantId(Long userId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<User> getUserById(Long userId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<User>> getUserList() {
        return R.error("远程调用失败");
    }

    @Override
    public R<SaasWechatUser> getOpenIdByUserId(Long userId, String appId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<SaasWechatUser> getWechatUserByPhone(String appId, String phone) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<UserDetail>> listUserDetailByIds(List<Long> ids) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<UserDetail>> listUserDetailByPhone(String phone) {
        return R.error("远程调用失败");
    }

    @Override
    public R<SaasWechatUser> getWechatUserByPlateNo(String appId, String phone) {

        return R.error("远程调用失败");
    }

    @Override
    public R<List<User>> listUserDetailByPhone(String phone, String sex) {
        return R.error("远程调用失败");
    }

    @Override
    public R<User> getUserInfoByPhone(String phone) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<SaasWechatUser>> getMergeWechatUserList(String openId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<SaasWechatUser>> getWechatUserListByPhoneList(List<String> phoneList) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<SaasWechatUser>> getWechatUserListByPhoneOpenidName(String accountName) {
        return R.error("远程调用失败");
    }


    @Override
    public R<List<User>> userByName(String name) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<User>> userByNameOrPhone(String keyword) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<User>> findUserListByParkId(Long parkId) {
        return R.error("远程调用失败");
    }

    @Override
    public R<List<User>> findUserListByUserIds(List<Long> userIds) {
        return R.error("远程调用失败");
    }

}