package param_v1_0

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

type ManagementAddH5ServiceReq struct {
	param_base.BasicParam
	ServiceName string `json:"service_name" in:"query"`
	Version     string `json:"version" in:"query"`
	Type        string `json:"type" in:"query"`
}

type ManagementAddH5ServiceResp struct {
	param_base.SimpleResp
	H5ServiceId int64 `json:"h5_service_id"`
}

type ManagementReleaseH5ServiceReq struct {
	param_base.BasicParam
	H5ServiceId int64 `json:"h5_service_id" in:"query"`
}

type ManagementReleaseH5ServiceResp struct {
	param_base.SimpleResp
}

type ManagementUpdateH5ServiceReq struct {
	param_base.BasicParam
	H5ServiceId int64  `json:"h5_service_id" in:"query"`
	ServiceName string `json:"service_name" in:"query"`
	Version     string `json:"version" in:"query"`
	Type        string `json:"type" in:"query"`
}
type ManagementUpdateH5ServiceResp struct {
	param_base.SimpleResp
}

type ManagementDelH5ServiceReq struct {
	param_base.BasicParam
	H5ServiceId int64 `json:"h5_service_id" in:"query"`
}

type ManagementDelH5ServiceResp struct {
	param_base.SimpleResp
}

type ManagementGetH5ServiceListReq struct {
	param_base.BasicParam
	PageNumber int  `json:"page_number" description:"" in:"query"`
	IsAll      bool `json:"is_all" in:"query"`
}

type ManagementGetH5ServiceListResp struct {
	param_base.SimpleResp
	Total         int                            `json:"total" description:""`
	PageNumber    int                            `json:"page_number" description:""`
	PageSize      int                            `json:"page_size" description:""`
	H5ServiceList []gd_management.TGdH5Service `json:"h5_service_list"`
}

type H5ServiceAddH5ApiData struct {
	H5ServiceId int64   `json:"h5_service_id" in:"query"`
	H5ApiIds    []int64 `json:"h5_api_ids" in:"query"`
}
type ManagementH5ServiceAddH5ApiReq struct {
	param_base.BasicParam
	Data H5ServiceAddH5ApiData `json:"data" in:"body"`
}

type ManagementH5ServiceAddH5ApiResp struct {
	param_base.SimpleResp
}

type ManagementH5ServiceGetH5ApiListReq struct {
	param_base.BasicParam
	H5ServiceId int64 `json:"h5_service_id" in:"query"`
}

type ManagementH5ServiceGetH5ApiListResp struct {
	param_base.SimpleResp
	H5ApiList []gd_management.TGdH5Api `json:"h5_api_list"`
}

// h5 service 套餐
type ManagementH5ServiceAddComboReq struct {
	param_base.BasicParam
	ComboData gd_management.ManagementH5ServiceAddComboReq `json:"h5_combo_data" in:"body"`
}

type ManagementH5ServiceAddComboResp struct {
	param_base.SimpleResp
}

type ManagementH5ServiceUpdateComboReq struct {
	param_base.BasicParam
	ComboId  int64   `json:"h5_combo_id" in:"query"`
	Count    int     `json:"h5_combo_count" in:"query"`
	TotalDay int     `json:"h5_combo_total_day" in:"query"`
	Price    float64 `json:"h5_combo_price" in:"query"`
}

type ManagementH5ServiceUpdateComboResp struct {
	param_base.SimpleResp
}

type ManagementH5ServiceGetComboListReq struct {
	param_base.BasicParam
	H5ServiceId int64 `json:"h5_service_id" in:"query"`
}

type ManagementH5ServiceGetComboListResp struct {
	param_base.SimpleResp
	IsFree           bool                                `json:"is_free"`
	DayCountCombos   []gd_management.TGdH5ServiceCombo `json:"h5_day_count_comobs"`
	TotalCountCombos []gd_management.TGdH5ServiceCombo `json:"h5_total_count_combos"`
	FreeCombos       []gd_management.TGdH5ServiceCombo `json:"h5_free_combos"`
}

type ManagementH5ServiceDelComboReq struct {
	param_base.BasicParam
	ComboId int64 `json:"h5_combo_id" in:"query"`
}

type ManagementH5ServiceDelComboResp struct {
	param_base.SimpleResp
}

type ManagementH5ServiceSetComboFreeReq struct {
	param_base.BasicParam
	H5ServiceId     int64 `json:"h5_service_id" in:"query"`
	H5ServiceIsFree bool  `json:"h5_service_is_free" in:"query"`
	Count           int   `json:"count" in:"query"`
}

type ManagementH5ServiceSetComboFreeResp struct {
	param_base.SimpleResp
}

type ManagementAddH5ThemeColorReq struct {
	param_base.BasicParam
	ThemeColor string `json:"theme_color" in:"query"`
}

type ManagementAddH5ThemeColorResp struct {
	param_base.SimpleResp
	ThemeColorId int64 `json:"theme_color_id"`
}

type ManagementDelH5ThemeColorReq struct {
	param_base.BasicParam
	ThemeColorId int64 `json:"theme_color_id" in:"query"`
}

type ManagementDelH5ThemeColorResp struct {
	param_base.SimpleResp
}

type ManagementUpdateH5ThemeColorReq struct {
	param_base.BasicParam
	ThemeColor   string `json:"theme_color" in:"query"`
	ThemeColorId int64  `json:"theme_color_id" in:"query"`
}

type ManagementUpdateH5ThemeColorResp struct {
	param_base.SimpleResp
}

type ManagementGetH5ThemeColorListReq struct {
	param_base.BasicParam
}

type ManagementGetH5ThemeColorListResp struct {
	param_base.SimpleResp
	ThemeColorList []gd_management.TGdH5ThemeColorItem `json:"theme_color_list"`
}
