import { Common } from 'pc-component-v3';

/**
 * 工具类自动生成的API，请勿做任何修改，请勿做任何修改，请勿做任何修改（重要的事情说3遍）
 * 工具作者: 杨志杰
 * 用户管理资源类 
 */
export default {

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 取消离职
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  cancelQuit: function(userCancelQuitRequest){
    var requestUrl = 'api/UserResourceV2/cancelQuit';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'post',
        contentType: 'application/json',
				
				
        data: JSON.stringify(userCancelQuitRequest),
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 根据clientId查询用户totalSize 
	 */
  countTotalSizeByUser: function(){
    var requestUrl = 'api/UserResourceV2/countTotalSizeByUser';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'get',
        contentType: 'application/json',
				
				
				
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 创建新用户

<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 userCreateRequest.organizations[].id</div> 
	 */
  create: function(userCreateRequest){
    var requestUrl = 'api/UserResourceV2/create';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'post',
        contentType: 'application/json',
				
				
        data: JSON.stringify(userCreateRequest),
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 删除用户(注意是逻辑删除，设置isDeleted = true)


<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  delete: function(userDeleteRequest){
    var requestUrl = 'api/UserResourceV2/delete';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'post',
        contentType: 'application/json',
				
				
        data: JSON.stringify(userDeleteRequest),
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 禁用账户
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  disableAccount: function(userDisableRequest){
    var requestUrl = 'api/UserResourceV2/disableAccount';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'post',
        contentType: 'application/json',
				
				
        data: JSON.stringify(userDisableRequest),
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 启用账户
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  enableAccount: function(userEnableRequest){
    var requestUrl = 'api/UserResourceV2/enableAccount';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'post',
        contentType: 'application/json',
				
				
        data: JSON.stringify(userEnableRequest),
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 根据clientId查询用户
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  findByClientId: function(clientId){
    var requestUrl = 'api/UserResourceV2/findByClientId';
    var paramCount = 0;
    if(clientId != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('clientId=' + clientId);
      paramCount ++;
    }


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'get',
        contentType: 'application/json',
				
				
				
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 根据登录名查询用户信息 
	 */
  findByLoginName1: function(loginName){
    var requestUrl = 'api/UserResourceV2/findByLoginName1';
    var paramCount = 0;
    if(loginName != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('loginName=' + loginName);
      paramCount ++;
    }


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'get',
        contentType: 'application/json',
				
				
				
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 根据clientId查询用户
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  listByClientId: function(clientId){
    var requestUrl = 'api/UserResourceV2/listByClientId';
    var paramCount = 0;
    if(clientId != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('clientId=' + clientId);
      paramCount ++;
    }


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'get',
        contentType: 'application/json',
				
				
				
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 根据clientId查询用户，分页
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  listByClientIdAndPage: function(start, length, clientId, userName){
    var requestUrl = 'api/UserResourceV2/listByClientIdAndPage';
    var paramCount = 0;
    if(start != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('start=' + start);
      paramCount ++;
    }
    if(length != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('length=' + length);
      paramCount ++;
    }
    if(clientId != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('clientId=' + clientId);
      paramCount ++;
    }
    if(userName != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('userName=' + userName);
      paramCount ++;
    }


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'get',
        contentType: 'application/json',
				
				
				
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 在集团公司范围内根据条件查询用户，根据用户名、用户编号、登录名、电子邮箱筛选用户信息。 
	 */
  listByCondition: function(condition, start, length){
    var requestUrl = 'api/UserResourceV2/listByCondition';
    var paramCount = 0;
    if(condition != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('condition=' + condition);
      paramCount ++;
    }
    if(start != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('start=' + start);
      paramCount ++;
    }
    if(length != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('length=' + length);
      paramCount ++;
    }


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'get',
        contentType: 'application/json',
				
				
				
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 逻辑删除
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  logicalDelete: function(userDeleteRequest){
    var requestUrl = 'api/UserResourceV2/logicalDelete';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'post',
        contentType: 'application/json',
				
				
        data: JSON.stringify(userDeleteRequest),
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 用户离职
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  quit: function(userQuitRequest){
    var requestUrl = 'api/UserResourceV2/quit';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'post',
        contentType: 'application/json',
				
				
        data: JSON.stringify(userQuitRequest),
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 根据用户id查询用户信息 
	 */
  uniqueById: function(userId){
    var requestUrl = 'api/UserResourceV2/uniqueById';
    var paramCount = 0;
    if(userId != null){
      requestUrl += (paramCount > 0) ? '&' : '?';
      requestUrl += ('userId=' + userId);
      paramCount ++;
    }


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'get',
        contentType: 'application/json',
				
				
				
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },

  /**
	 * 工具类自动生成的方法
	 * 工具作者: 杨志杰
	 * 更新用户
<div>数据权限限制：需要判断登录用户所属的单位id 所在的集团公司 包含的子公司 中是否有 user.client.id</div> 
	 */
  update: function(userUpdateRequest){
    var requestUrl = 'api/UserResourceV2/update';


    return new Promise((resolve, reject) => {
      $.ajax({
        url: Common.getApiUrl2(requestUrl),
        type: 'post',
        contentType: 'application/json',
				
				
        data: JSON.stringify(userUpdateRequest),
				
        beforeSend: function(request) {
          Common.addTokenToRequest(request);
        },
        success: function(data) {
          resolve(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          reject(XMLHttpRequest);
        },
      });
    });
  },
};
