UserManager.java 4.94 KB
/*
 * @(#)UserManager.java
 *
 * Copyright (c) 2014-2017  xiniunet 版权所有
 * xiniunet. All rights reserved.
 *
 * This software is the confidential and proprietary
 * information of  xiniunet.
 * ("Confidential Information"). You shall not disclose
 * such Confidential Information and shall use it only
 * in accordance with the terms of the contract agreement
 * you entered into with xiniunet.
 */
package com.xiniunet.service.railway.biz;

import com.xiniunet.foundation.response.FileUploadResponse;
import com.xiniunet.framework.base.BaseResponse;
import com.xiniunet.framework.security.Passport;
import com.xiniunet.framework.util.ValidationUtil;
import com.xiniunet.railway.domain.LineStation;
import com.xiniunet.railway.request.*;
import com.xiniunet.railway.response.*;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 用户的管理方法.
 *
 * @author xiniunet
 */
public interface UserManager {
    /**
     * 根据Id获取用户
     *
     * @param request  获取用户请求
     * @param passport 用户护照
     * @return 获取用户应答
     */
    UserGetResponse get(UserGetRequest request, Passport passport);
    /**
     * 根据Id获取用户详情,包含(护航时间,是否自动上离岗)
     *
     * @param request  获取用户请求
     * @param passport 用户护照
     * @return 获取用户应答
     */
    UserGetInfoResponse getInfo(UserGetInfoRequest request, Passport passport);
    /**
     * 模糊查询用户
     *
     * @param request  模糊查询用户请求
     * @param passport 用户护照
     * @return 模糊查询用户应答
     */
    UserSearchResponse search(UserSearchRequest request, Passport passport);

    /**
     * 高级查询用户
     *
     * @param request  高级查询用户请求
     * @param passport 用户护照
     * @return 高级查询用户应答
     */
    UserFindResponse find(UserFindRequest request, Passport passport);

    /**
     * 注册用户
     *
     * @param request  注册用户
     * @return 创建用户应答
     */
    UserRegisterResponse register(UserRegisterRequest request);

    /**
     *获取用户信息(根据account)
     * @param request
     * @return
     */
    UserGetInfoByAccountResponse getUserInfoByAccount(UserGetInfoByAccountRequest request);
    /**
     * 用户登录
     *
     * @param request  用户登录
     * @return 用户登录应答
     */
    UserLoginResponse login(UserLoginRequest request);
    /**
     * 创建用户(注册)
     *
     * @param request  创建用户请求
     * @param passport 用户护照
     * @return 创建用户应答
     */
    UserCreateResponse create(UserCreateRequest request, Passport passport);

    /**
     * 更新用户
     *
     * @param request  更新用户请求
     * @param passport 用户护照
     * @return 更新用户应答
     */
    UserUpdateResponse update(UserUpdateRequest request, Passport passport);

    /**
     * 更新用户权限
     *
     * @param request  更新用户请求
     * @param passport 用户护照
     * @return 更新用户应答
     */
    UserUpdateResponse updatePermission(UserUpdateRequest request, Passport passport);

    /**
     * 删除用户
     *
     * @param request  删除用户请求
     * @param passport 用户护照
     * @return 删除用户应答
     */
    UserDeleteResponse delete(UserDeleteRequest request, Passport passport);

    /**
     * 用户列表查询
     * @param request
     * @param passport
     * @return
     */
    UserListResponse findUserList(UserGetInfoByAccountRequest request, Passport passport);

    /**
     * 用户列表查询
     * @param request
     * @param passport
     * @return
     */
    FileUploadResponse exportUserList(UserGetInfoByAccountRequest request, Passport passport);

    /**
     * 用户权限列表查询
     * @param request
     * @param passport
     * @return
     */
    UserRoleListResponse findUserRoleList(UserGetInfoByAccountRequest request, Passport passport);

    /**
     * 发送验证码,判断手机号是否注册
     * @param request
     * @return
     */
    RailwayUserStatusResponse getRailwayUserStatus(UserSearchRequest request);

    /**
     * 个人信息-员工认证
     * @param request
     * @param passport
     * @return
     */
    RailwayCompanyAuthenticateResponse updateUserCompany(RailwayCompanyAuthenticateRequest request,Passport passport);

    /**
     * 当前用户的权限信息
     * @param request
     * @param passport
     * @return
     */
    UserGetResponse findUserAndPermission(UserGetRequest request, Passport passport);

    /**
     * 批量导入用户权限
     * @param request 批量导入用户权限请求
     * @param passport 用户护照
     * @return 批量导入用户权限应答
     */
    UserPermissionImportResponse importUserPermission(RecommendPermissionListRequest request,Passport passport);
}