|
- import {
- APICommonResponse,
- ApiId,
- HttpMethod,
- makeFormData,
- makeParam,
- request,
- } from "api";
- import { getUrl } from "./url";
-
- export type SeasonTicketContract = {
- season_ticekt_contract_record_no: string | null;
- parking_name: string | null;
- room_no: string | null;
- season_ticket_seq_no: string | null;
- vehicle_no: string | null;
- register_no: string | null;
- vehicle_type: string | null;
- contract_start_date: string | null;
- contract_end_date: string | null;
- contract_amount: number;
- student_license_images_upload_datetime: string | null;
- other_license_images_upload_datetime: string | null;
- has_season_ticket: boolean | null;
- has_sticker: boolean | null;
- can_some_apply: boolean | null;
- can_apply_change_plan: boolean | null;
- revision: number;
- };
-
- export type PaymentPlan = {
- season_ticket_contract_record_no: string | null;
- payment_type: string | null;
- payment_method: string | null;
- payment_plan_date: string | null;
- payment_status: string | null;
- revision: number;
- };
-
- // -------定期契約情報一覧取得---------------
- type SeasonTicketContractsResponse = {
- data: SeasonTicketContract[];
- } & APICommonResponse;
- export const getSeasonTicketContracts = async () => {
- const res = await request<SeasonTicketContractsResponse>({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACTS),
- method: HttpMethod.GET,
- });
- return res;
- };
-
- // -------入金予定結果一覧取得------------------
- type PaymentPlansRequest = {
- season_ticket_contract_record_no: string;
- };
- type PaymentPlansResponse = {
- data: PaymentPlan[];
- } & APICommonResponse;
- export const getPaymentPlans = async (data: PaymentPlansRequest) => {
- const res = await request<PaymentPlansResponse>({
- url: getUrl(ApiId.PAYMENT_PLANS),
- method: HttpMethod.GET,
- data: new URLSearchParams(data),
- });
- return res;
- };
-
- // -------シール再発行依頼------------------
- type StickerReOrderRequest = {
- season_ticket_contract_record_no: string;
- parking_name: string;
- reason: string;
- memo?: string;
- };
- export const reOrderSticker = async (data: StickerReOrderRequest) => {
- const res = await request({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_STICKER_RE_ORDER),
- method: HttpMethod.POST,
- data: makeParam(data),
- });
- return res;
- };
- // -------定期券再発行依頼------------------
- type SeasonTicketReOrderRequest = {
- season_ticket_contract_record_no: string;
- parking_name: string;
- reason: string;
- memo?: string;
- };
- export const reOrderSeasonTicket = async (data: SeasonTicketReOrderRequest) => {
- const res = await request({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_SEASON_TICKET_RE_ORDER),
- method: HttpMethod.POST,
- data: makeParam(data),
- });
- return res;
- };
-
- // -------車庫証明発行依頼------------------
- type ParkingCertificateOrderRequest = {
- season_ticket_contract_record_no: string;
- parking_name: string;
- name: string;
- zip_code: string;
- address: string;
- phone_no: string;
- vehicle_no: string;
- chassis_no: string;
- paying_method: string;
- mail_name: string;
- mail_zip_code: string;
- mail_address: string;
- memo?: string;
- };
- export const orderParkingCertificate = async (
- data: ParkingCertificateOrderRequest
- ) => {
- const res = await request({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_PARKING_CERTIFICATE_ORDER),
- method: HttpMethod.POST,
- data: makeParam(data),
- });
- return res;
- };
-
- // -------解約依頼------------------
- type TerminateOrderRequest = {
- season_ticket_contract_record_no: string;
- parking_name: string;
- terminate_date: string;
- reason: string;
- reason_detail: string;
- opinion: string;
- memo: string;
- };
- export const orderSeasonTicketContractTerminate = async (
- data: TerminateOrderRequest
- ) => {
- const res = await request({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_TERMINATE_ORDER),
- method: HttpMethod.POST,
- data: makeParam(data),
- });
- return res;
- };
- // -------解約依頼オプション取得------------------
- type TerminateOrderOptionsRequest = {
- season_ticket_contract_record_no: string;
- };
- type TerminateOrderOptionsResponse = {
- data: {
- monthes: string[];
- };
- } & APICommonResponse;
- export const getSeasonTicketContractTerminateOptions = async (
- data: TerminateOrderOptionsRequest
- ) => {
- const res = await request<TerminateOrderOptionsResponse>({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_TERMINATE_ORDER_OPTIONS),
- method: HttpMethod.GET,
- data: new URLSearchParams(data),
- });
- return res;
- };
-
- // -------車両情報変更依頼------------------
- type UpdateVehicleInfoOrderRequest = {
- season_ticket_contract_record_no: string;
- parking_name: string;
- change_date: string;
- vehicle_no?: string;
- register_no?: string;
- memo?: string;
- };
- export const orderUpdateVehicleInfo = async (
- data: UpdateVehicleInfoOrderRequest
- ) => {
- const res = await request({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_UPDATE_VEHICLE_INFO_ORDER),
- method: HttpMethod.POST,
- data: makeParam(data),
- });
- return res;
- };
-
- // -------プラン変更依頼------------------
- type GetChangePlanOrderParamsRequest = {
- season_ticket_contract_record_no: string;
- };
- type GetChangePlanOrderParamsResponse = {
- data: string[];
- } & APICommonResponse;
- export const getChangePlanOrderParams = async (
- data: GetChangePlanOrderParamsRequest
- ) => {
- const res = await request<GetChangePlanOrderParamsResponse>({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_CHANGE_PLAN_ORDER_PARAMS),
- method: HttpMethod.GET,
- data: new URLSearchParams(data),
- });
- return res;
- };
- // -------プラン変更依頼------------------
- type ChangePlanOrderRequest = {
- season_ticket_contract_record_no: string;
- plan_name: string;
- };
- export const orderChangePlan = async (data: ChangePlanOrderRequest) => {
- const res = await request({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_CHANGE_PLAN_ORDER),
- method: HttpMethod.POST,
- data: makeParam(data),
- });
- return res;
- };
-
- // -------学生証アップロード---------------
- export type UploadStudentLicenseImagesRequest = {
- images: File[];
- season_ticket_contract_record_no: string;
- expires_at: string;
- };
- export const uploadStudentLicenseImages = async (
- param: UploadStudentLicenseImagesRequest
- ) => {
- const sendData = makeFormData(param);
- const res = await request({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_UPLOAD_STUDENT_LICENSE_IMAGES),
- method: HttpMethod.POST,
- data: sendData,
- multipart: true,
- });
- return res;
- };
-
- // -------その他証明証アップロード---------------
- export type OtherLicenseImagesRequest = {
- images: File[];
- season_ticket_contract_record_no: string;
- expires_at: string;
- };
- export const uploadOtherLicenseImages = async (
- param: OtherLicenseImagesRequest
- ) => {
- const sendData = makeFormData(param);
- const res = await request({
- url: getUrl(ApiId.SEASON_TICKET_CONTRACT_UPLOAD_OTHER_LICENSE_IMAGES),
- method: HttpMethod.POST,
- data: sendData,
- multipart: true,
- });
- return res;
- };
|