// Copyright 2019 getensh.com. All rights reserved.
// Use of this source code is governed by getensh.com.

package param_v1_0

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

type BillListReq struct {
	param_base.BasicParam
	PageNumber int   `json:"page_number" description:"页码" in:"query" require:"false"`
	MerchantId int64 `json:"merchant_id" in:"query" require:"false"`
	//BillType   int    `json:"bill_type"`
	StartTime string `json:"start_time" in:"query" require:"false"`
	EndTime   string `json:"end_time" in:"query" require:"false"`
}

type BillListResp struct {
	param_base.SimpleResp
	Data gd_management.BillListReply `json:"data"`
}

type ChargeListReq struct {
	param_base.BasicParam
	PageNumber int    `json:"page_number" description:"页码" 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 ChargeListResp struct {
	param_base.SimpleResp
	Data gd_management.ChargeListReply `json:"data"`
}

type ConsumeListReq struct {
	param_base.BasicParam
	PageNumber   int    `json:"page_number"  in:"query" require:"false"`
	MerchantId   int64  `json:"merchant_id" in:"query" require:"false"`
	DataApiId    int64  `json:"data_api_id" in:"query" require:"false"`
	StartTime    string `json:"start_time" in:"query" require:"false"`
	EndTime      string `json:"end_time" in:"query" require:"false"`
	ConsumeOrder int    `json:"consume_order"  in:"query" require:"false"`
}

type ConsumeListResp struct {
	param_base.SimpleResp
	Data gd_management.ConsumeListReply `json:"data"`
}

type ConsumeTrendListReq struct {
	param_base.BasicParam
	MerchantId int64  `json:"merchant_id" in:"query" require:"false"`
	DataApiId  int64  `json:"data_api_id" in:"query" require:"false"`
	StartTime  string `json:"start_time" in:"query" require:"false"`
	EndTime    string `json:"end_time" in:"query" require:"false"`
}

type ConsumeTrendListResp struct {
	param_base.SimpleResp
	Data gd_management.ConsumeTrendListReply `json:"data"`
}

type MerchantChargeReq struct {
	param_base.BasicParam
	Body gd_management.MerchantChargeReq `json:"body" require:"true" in:"body"`
}

type MerchantChargeResp struct {
	param_base.SimpleResp
	Data gd_management.MerchantChargeReply `json:"data"`
}

type MerchantDataApiPriceListReq struct {
	param_base.BasicParam
	MerchantId int64 `json:"merchant_id"  in:"query" require:"true"`
}

type MerchantDataApiPriceListResp struct {
	param_base.SimpleResp
	Data gd_management.MerchantDataApiPriceListReply `json:"data"`
}
type MerchantPriceListReq struct {
	param_base.BasicParam
	MerchantId       int64  `json:"merchant_id" in:"query" require:"false"`
	PageNumber       int    `json:"page_number"   description:""  in:"query" require:"false"`
	MerchantTypeList string `json:"merchant_type_list"  in:"query" require:"false"` // 商户类型 0 所有 1 普通客户 2 预存款客户 3 后结算客户，4 默认（预存款客户，后结算客户）
	ArrearageOrder   int    `json:"arrearage_order"  in:"query" require:"false"`    // 0 不排序，1 升序 2 降序
}

type MerchantPriceListResp struct {
	param_base.SimpleResp
	Data gd_management.MerchantPriceListReply `json:"data"`
}
type SetMerchantDataApiPriceReq struct {
	param_base.BasicParam
	Body gd_management.SetMerchantDataApiPriceReq `json:"body" require:"true" in:"body"`
}

type SetMerchantDataApiPriceResp struct {
	param_base.SimpleResp
	Data gd_management.SetMerchantDataApiPriceReply `json:"data"`
}
type SetMerchantTypeReq struct {
	param_base.BasicParam
	Body gd_management.SetMerchantTypeReq `json:"body" require:"true" in:"body"`
}

type SetMerchantTypeResp struct {
	param_base.SimpleResp
	Data gd_management.SetMerchantTypeReply `json:"data"`
}
type BillDetailListReq struct {
	param_base.BasicParam
	MerchantId int64  `json:"merchant_id"  in:"query" require:"true"`
	Month      string `json:"month"  in:"query" require:"true"`
	BillId     int64  `json:"bill_id" in:"query" require:"true"`
}

type BillDetailListResp struct {
	param_base.SimpleResp
	Data gd_management.BillDetailListReply `json:"data"`
}
type UpdateBillDetailReq struct {
	param_base.BasicParam
	Body gd_management.UpdateBillDetailReq `json:"body" require:"true" in:"body"`
}

type UpdateBillDetailResp struct {
	param_base.SimpleResp
	Data gd_management.UpdateBillDetailReply `json:"data"`
}
type BillRemarkReq struct {
	param_base.BasicParam
	Body gd_management.BillRemarkReq `json:"body" require:"true" in:"body"`
}

type BillRemarkResp struct {
	param_base.SimpleResp
	Data gd_management.BillRemarkReply `json:"data"`
}

type GenerateBillReq struct {
	param_base.BasicParam
	Month string `json:"month"   in:"query" require:"true"`
}

type GenerateBillResp struct {
	param_base.SimpleResp
	Data gd_management.GenerateBillReply `json:"data"`
}

type BillExportExcelReq struct {
	param_base.BasicParam
	MerchantId int64  `json:"merchant_id"  in:"query" require:"true"`
	Month      string `json:"month"  in:"query" require:"true"`
	BillId     int64  `json:"bill_id" in:"query" require:"true"`
}

type BillExportExcelResp struct {
	param_base.SimpleResp
	Data gd_management.BillExportExcelReply `json:"data"`
}
