package gd_management

type TGdH5Service struct {
	Id          int64  `json:"h5_service_id"`
	ServiceName string `json:"service_name"`
	CreateTime  string `json:"create_time"`
	IsRelease   bool   `json:"is_release"`
	ReleaseTime string `json:"release_time"`
	Version     string `json:"version"`
	Type        string `json:"type"`
	IsFree      bool   `json:"is_free"`
}

type TGdH5ServiceApiRelation struct {
	Id          int64
	H5ServiceId int64 `json:"h5_service_id"`
	H5ApiId     int64 `json:"h5_api_id"`
}

type TGdH5ServiceCombo struct {
	Id          int64   `json:"h5_combo_id"`
	H5ServiceId int64   `json:"h5_service_id"`
	Count       int     `json:"h5_combo_count"`
	TotalDay    int     `json:"h5_combo_total_day"`
	Type        int     `json:"h5_combo_type"`
	Price       float64 `json:"h5_combo_price"`
	CreateTime  string  `json:"h5_combo_create_time"`
}

type ManagementAddH5ServiceReq struct {
	ServiceName string `json:"service_name"`
	Version     string `json:"version"`
	Type        string `json:"type"`
}

type ManagementAddH5ServiceReply struct {
	H5ServiceId int64 `json:"h5_service_id"`
}

type ManagementReleaseH5ServiceReq struct {
	H5ServiceId int64 `json:"h5_service_id"`
}
type ManagementReleaseH5ServiceReply struct {
}
type ManagementUpdateH5ServiceReq struct {
	H5ServiceId int64  `json:"h5_service_id"`
	ServiceName string `json:"service_name"`
	Version     string `json:"version"`
	Type        string `json:"type"`
}
type ManagementUpdateH5ServiceReply struct {
}

type ManagementDelH5ServiceReq struct {
	H5ServiceId int64 `json:"h5_service_id"`
}
type ManagementDelH5ServiceReply struct {
}

type ManagementGetH5ServiceListReq struct {
	PageNumber int  `json:"page_number" description:""`
	IsAll      bool `json:"is_all"`
}
type ManagementGetH5ServiceListReply struct {
	Total         int             `json:"total" description:""`
	PageNumber    int             `json:"page_number" description:""`
	PageSize      int             `json:"page_size" description:""`
	H5ServiceList []TGdH5Service `json:"h5_service_list"`
}

type ManagementH5ServiceAddH5ApiReq struct {
	H5ServiceId int64   `json:"h5_service_id"`
	H5ApiIds    []int64 `json:"h5_api_ids"`
}

type ManagementH5ServiceAddH5ApiReply struct {
}

type ManagementH5ServiceGetH5ApiListReq struct {
	H5ServiceId int64 `json:"h5_service_id"`
}

type ManagementH5ServiceGetH5ApiListReply struct {
	H5ApiList []TGdH5Api `json:"h5_api_list"`
}

// h5 service 套餐
type ComboItem struct {
	H5ServiceId int64   `json:"h5_service_id"`
	Count       int     `json:"h5_combo_count"`
	TotalDay    int     `json:"h5_combo_total_day"`
	Type        int     `json:"h5_combo_type"`
	Price       float64 `json:"h5_combo_price"`
	//CreateTime  string  `json:"h5_combo_create_time"`
}
type ManagementH5ServiceAddComboReq struct {
	H5ComboList []ComboItem `json:"h5_combo_list"`
}

type ManagementH5ServiceAddComboReply struct {
}

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

type ManagementH5ServiceUpdateComboReply struct {
}

type ManagementH5ServiceGetComboListReq struct {
	H5ServiceId int64 `json:"h5_service_id"`
}

type ManagementH5ServiceGetComboListReply struct {
	IsFree           bool                 `json:"is_free"`
	DayCountCombos   []TGdH5ServiceCombo `json:"h5_day_count_comobs"`
	TotalCountCombos []TGdH5ServiceCombo `json:"h5_total_count_combos"`
	FreeCombos       []TGdH5ServiceCombo `json:"h5_free_combos"`
}

type ManagementH5ServiceDelComboReq struct {
	ComboId int64 `json:"h5_combo_id"`
}

type ManagementH5ServiceDelComboReply struct {
}

type ManagementH5ServiceSetComboFreeReq struct {
	H5ServiceId     int64 `json:"h5_service_id"`
	H5ServiceIsFree bool  `json:"h5_service_is_free"`
	Count           int   `json:"count"`
}
type ManagementH5ServiceSetComboFreeReply struct {
}

type ManagementAddH5ThemeColorReq struct {
	ThemeColor string `json:"theme_color"`
}

type ManagementAddH5ThemeColorReply struct {
	ThemeColorId int64 `json:"theme_color_id"`
}

type ManagementDelH5ThemeColorReq struct {
	ThemeColorId int64 `json:"theme_color_id"`
}

type ManagementDelH5ThemeColorReply struct {
}

type ManagementUpdateH5ThemeColorReq struct {
	ThemeColor   string `json:"theme_color"`
	ThemeColorId int64  `json:"theme_color_id"`
}

type ManagementUpdateH5ThemeColorReply struct {
}

type ManagementGetH5ThemeColorListReq struct {
}

type TGdH5ThemeColorItem struct {
	Id    int64  `json:"theme_color_id"`
	Color string `json:"theme_color"`
}
type ManagementGetH5ThemeColorListReply struct {
	ThemeColorList []TGdH5ThemeColorItem `json:"theme_color_list"`
}
