package com.zhongshu.card.client.service.school;

import com.zhongshu.card.client.model.org.OrgUserDetailParam;
import com.zhongshu.card.client.model.org.OrganizationUserSearch;
import com.zhongshu.card.client.model.org.SchoolUserCountParam;
import com.zhongshu.card.client.model.school.CardInfoModel;
import com.zhongshu.card.client.model.school.ImportResultModel;
import com.zhongshu.card.client.model.school.RegisterUserParam;
import com.zhongshu.card.client.model.school.SchoolUserModel;
import com.github.microservice.net.ResultContent;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author TRX
 * @date 2024/6/12
 */
public interface SchoolUserService {

    // 导入用户
    ResultContent<ImportResultModel> importSchoolUsers(HttpServletRequest request,
            HttpServletResponse response, MultipartFile file);

    // 导出用户
    void exportSchoolUser(HttpServletRequest request, HttpServletResponse response,
            OrganizationUserSearch param);

    ResultContent addOrUpdateSchoolUser(SchoolUserCountParam param);

    ResultContent<SchoolUserModel> getSchoolUserDetail(OrgUserDetailParam param);

    ResultContent<List<CardInfoModel>> getUserOrgAllCard(OrgUserDetailParam param);

    // 得到绑定到机构的卡片列表
    ResultContent<List<CardInfoModel>> getCurrentUserOrgAll(String oid);

    // 得到用户所有的卡片列表
    ResultContent<List<CardInfoModel>> getCurrentUserAllCard();

    ResultContent deleteUser(String id);

    // c端用户注册
    ResultContent register(RegisterUserParam param);
}
