package param_v1_0

import (
	"gd_management_gateway/params/param_base"
	"gd_management_gateway/rpc_apis/gd_management"
)

type UserMerchantInfo struct {
	UserInfo     gd_management.TGdUser      `json:"user_info" description:"用户基本信息"`
	MerchantInfo gd_management.TGdMerchants `json:"merchant_info" description:"用户公司信息"`
}

type ManagementAddUserMerchantReq struct {
	param_base.BasicParam
	UserMerchant UserMerchantInfo `json:"user_merchant" description:"商户信息" in:"body"`
}

type ManagementAddUserMerchantResp struct {
	param_base.SimpleResp
	Data gd_management.ManagementAddUserMerchantReply `json:"data"`
}

type ManagementUpdateUserMerchantReq struct {
	param_base.BasicParam
	MerchantId   uint64           `json:"merchant_id" description:"" in:"query"`
	UserMerchant UserMerchantInfo `json:"user_merchant" description:"商户信息" in:"body"`
}

type ManagementUpdateUserMerchantResp struct {
	param_base.SimpleResp
}

type ManagementGetUserMerchantListReq struct {
	param_base.BasicParam
	PageNumber int    `json:"page_number" description:"" in:"query" require:"false"`
	IsAll      bool   `json:"is_all" in:"query" require:"false"`
	ApiIds     string `json:"api_ids" in:"query" require:"false"`
	DataApiId  int64  `json:"data_api_id" in:"query"`
}

type ManagementGetUserMerchantListResp struct {
	param_base.SimpleResp
	Data gd_management.ManagementGetUserMerchantListReply `json:"data"`
}

type ManagementGetUserMerchantListNewReq struct {
	param_base.BasicParam
	PageNumber int    `json:"page_number" description:"" in:"query" require:"false"`
	IsAll      bool   `json:"is_all" in:"query" require:"false"`
	Search     string `json:"search" in:"query" require:"false"`
	DataApiId  string `json:"data_api_id" in:"query" require:"false"`
	StatusCode int    `json:"status_code" in:"query" require:"false"`
	MerchantId int64  `json:"merchant_id" in:"query"`
	MerchantType int `json:"merchant_type" in:"query" require:"false"`
}

type ManagementGetUserMerchantListNewResp struct {
	param_base.SimpleResp
	Data gd_management.ManagementGetUserMerchantListNewReply `json:"data"`
}

type ManagementGetUserMerchantAuthListReq struct {
	param_base.BasicParam
	PageNumber   int    `json:"page_number" description:"" in:"query" require:"false"`
	Phone        string `json:"phone"  in:"query" require:"false"`
	MerchantName string `json:"merchant_name"  in:"query" require:"false"`
	MerchantId   int64  `json:"merchant_id"  in:"query" require:"false"`
	StartTime    string `json:"start_time"  in:"query" require:"false"`
	EndTime      string `json:"end_time"  in:"query" require:"false"`
}

type ManagementGetUserMerchantAuthListResp struct {
	param_base.SimpleResp
	Data gd_management.ManagementGetUserMerchantAuthListNewReply `json:"data"`
}

type ManagementSetUserMerchantAuthStateBody struct {
	State      int    `json:"state"`
	MerchantId uint64 `json:"merchant_id"`
}
type ManagementSetUserMerchantAuthStateReq struct {
	param_base.BasicParam
	Body ManagementSetUserMerchantAuthStateBody `json:"body" require:"true" in:"body"`
}

type ManagementSetUserMerchantAuthStateResp struct {
	param_base.SimpleResp
}
