package com.interplug.qcast.biz.user;

import com.interplug.qcast.biz.user.dto.AdminUserSyncResponse;
import com.interplug.qcast.biz.user.dto.BusinessChargerSyncResponse;
import com.interplug.qcast.biz.user.dto.StoreRequest;
import com.interplug.qcast.biz.user.dto.UserRequest;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {

  /**
   * 판매점 정보 저장
   *
   * @param storeReq
   * @return
   * @throws Exception
   */
  int setStoreSave(StoreRequest storeReq) throws Exception;

  /**
   * 판매점 sap 정보 저장
   *
   * @param storeReq
   * @return
   * @throws Exception
   */
  int setStoreSapCdSave(StoreRequest storeReq) throws Exception;

  /**
   * 판매점 북면 모듈 정보 저장
   *
   * @param storeReq
   * @return
   * @throws Exception
   */
  int setStoreNorthModuleSave(StoreRequest storeReq) throws Exception;

  /**
   * 사용자 정보 저장
   *
   * @param userReqList
   * @return
   * @throws Exception
   */
  int setUserSave(UserRequest userReqList) throws Exception;

  /**
   * 영업사원 삭제
   *
   * @param
   * @return
   * @throws Exception
   */
  int deleteBusinessChargerSync() throws Exception;

  /**
   * 영업사원 정보 동기화 저장
   *
   * @param businessChargerSyncData
   * @return
   * @throws Exception
   */
  int setBusinessChargerSyncSave(BusinessChargerSyncResponse businessChargerSyncData)
      throws Exception;

  /**
   * 관리자 유저 정보 동기화 삭제
   *
   * @param adminUserSyncData
   * @return
   * @throws Exception
   */
  int deleteAdminUserSync(AdminUserSyncResponse adminUserSyncData) throws Exception;

  /**
   * 관리자 유저 정보 동기화 저장
   *
   * @param adminUserSyncData
   * @return
   * @throws Exception
   */
  int setAdminUserSyncSave(AdminUserSyncResponse adminUserSyncData) throws Exception;
}
