// This file is auto-generated, don't edit it. Thanks.
package edu_1_0

import (
	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
	gatewayclient "github.com/alibabacloud-go/gateway-dingtalk/client"
	openapiutil "github.com/alibabacloud-go/openapi-util/service"
	util "github.com/alibabacloud-go/tea-utils/v2/service"
	"github.com/alibabacloud-go/tea/tea"
)

type ResultValue struct {
	Thumbnail *string `json:"thumbnail,omitempty" xml:"thumbnail,omitempty"`
	FileSize  *int64  `json:"fileSize,omitempty" xml:"fileSize,omitempty"`
	Extension *string `json:"extension,omitempty" xml:"extension,omitempty"`
	FileName  *string `json:"fileName,omitempty" xml:"fileName,omitempty"`
	Url       *string `json:"url,omitempty" xml:"url,omitempty"`
}

func (s ResultValue) String() string {
	return tea.Prettify(s)
}

func (s ResultValue) GoString() string {
	return s.String()
}

func (s *ResultValue) SetThumbnail(v string) *ResultValue {
	s.Thumbnail = &v
	return s
}

func (s *ResultValue) SetFileSize(v int64) *ResultValue {
	s.FileSize = &v
	return s
}

func (s *ResultValue) SetExtension(v string) *ResultValue {
	s.Extension = &v
	return s
}

func (s *ResultValue) SetFileName(v string) *ResultValue {
	s.FileName = &v
	return s
}

func (s *ResultValue) SetUrl(v string) *ResultValue {
	s.Url = &v
	return s
}

type ActivateDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ActivateDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s ActivateDeviceHeaders) GoString() string {
	return s.String()
}

func (s *ActivateDeviceHeaders) SetCommonHeaders(v map[string]*string) *ActivateDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ActivateDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *ActivateDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ActivateDeviceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// fafdfa-rewerwr-rewew-rwe
	LicenseKey *string `json:"licenseKey,omitempty" xml:"licenseKey,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// model1
	Model *string `json:"model,omitempty" xml:"model,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 三年级一班班牌
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// ujoo-233
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// VIDEO_CALL
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s ActivateDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s ActivateDeviceRequest) GoString() string {
	return s.String()
}

func (s *ActivateDeviceRequest) SetLicenseKey(v string) *ActivateDeviceRequest {
	s.LicenseKey = &v
	return s
}

func (s *ActivateDeviceRequest) SetModel(v string) *ActivateDeviceRequest {
	s.Model = &v
	return s
}

func (s *ActivateDeviceRequest) SetName(v string) *ActivateDeviceRequest {
	s.Name = &v
	return s
}

func (s *ActivateDeviceRequest) SetSn(v string) *ActivateDeviceRequest {
	s.Sn = &v
	return s
}

func (s *ActivateDeviceRequest) SetType(v string) *ActivateDeviceRequest {
	s.Type = &v
	return s
}

type ActivateDeviceResponseBody struct {
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s ActivateDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ActivateDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *ActivateDeviceResponseBody) SetResult(v bool) *ActivateDeviceResponseBody {
	s.Result = &v
	return s
}

type ActivateDeviceResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ActivateDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ActivateDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s ActivateDeviceResponse) GoString() string {
	return s.String()
}

func (s *ActivateDeviceResponse) SetHeaders(v map[string]*string) *ActivateDeviceResponse {
	s.Headers = v
	return s
}

func (s *ActivateDeviceResponse) SetStatusCode(v int32) *ActivateDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *ActivateDeviceResponse) SetBody(v *ActivateDeviceResponseBody) *ActivateDeviceResponse {
	s.Body = v
	return s
}

type AddCollegeAlumniDeptsHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddCollegeAlumniDeptsHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniDeptsHeaders) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniDeptsHeaders) SetCommonHeaders(v map[string]*string) *AddCollegeAlumniDeptsHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddCollegeAlumniDeptsHeaders) SetXAcsDingtalkAccessToken(v string) *AddCollegeAlumniDeptsHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddCollegeAlumniDeptsRequest struct {
	// This parameter is required.
	Depts []*AddCollegeAlumniDeptsRequestDepts `json:"depts,omitempty" xml:"depts,omitempty" type:"Repeated"`
	// This parameter is required.
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
}

func (s AddCollegeAlumniDeptsRequest) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniDeptsRequest) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniDeptsRequest) SetDepts(v []*AddCollegeAlumniDeptsRequestDepts) *AddCollegeAlumniDeptsRequest {
	s.Depts = v
	return s
}

func (s *AddCollegeAlumniDeptsRequest) SetOperator(v string) *AddCollegeAlumniDeptsRequest {
	s.Operator = &v
	return s
}

type AddCollegeAlumniDeptsRequestDepts struct {
	// This parameter is required.
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	SuperId *int64 `json:"superId,omitempty" xml:"superId,omitempty"`
}

func (s AddCollegeAlumniDeptsRequestDepts) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniDeptsRequestDepts) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniDeptsRequestDepts) SetName(v string) *AddCollegeAlumniDeptsRequestDepts {
	s.Name = &v
	return s
}

func (s *AddCollegeAlumniDeptsRequestDepts) SetSuperId(v int64) *AddCollegeAlumniDeptsRequestDepts {
	s.SuperId = &v
	return s
}

type AddCollegeAlumniDeptsResponseBody struct {
	Result  []*AddCollegeAlumniDeptsResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                      `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AddCollegeAlumniDeptsResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniDeptsResponseBody) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniDeptsResponseBody) SetResult(v []*AddCollegeAlumniDeptsResponseBodyResult) *AddCollegeAlumniDeptsResponseBody {
	s.Result = v
	return s
}

func (s *AddCollegeAlumniDeptsResponseBody) SetSuccess(v bool) *AddCollegeAlumniDeptsResponseBody {
	s.Success = &v
	return s
}

type AddCollegeAlumniDeptsResponseBodyResult struct {
	CorpId     *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	DeptId     *int64  `json:"deptId,omitempty" xml:"deptId,omitempty"`
	DeptType   *string `json:"deptType,omitempty" xml:"deptType,omitempty"`
	HasSubDept *bool   `json:"hasSubDept,omitempty" xml:"hasSubDept,omitempty"`
	Name       *string `json:"name,omitempty" xml:"name,omitempty"`
	SuperId    *int64  `json:"superId,omitempty" xml:"superId,omitempty"`
}

func (s AddCollegeAlumniDeptsResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniDeptsResponseBodyResult) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniDeptsResponseBodyResult) SetCorpId(v string) *AddCollegeAlumniDeptsResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *AddCollegeAlumniDeptsResponseBodyResult) SetDeptId(v int64) *AddCollegeAlumniDeptsResponseBodyResult {
	s.DeptId = &v
	return s
}

func (s *AddCollegeAlumniDeptsResponseBodyResult) SetDeptType(v string) *AddCollegeAlumniDeptsResponseBodyResult {
	s.DeptType = &v
	return s
}

func (s *AddCollegeAlumniDeptsResponseBodyResult) SetHasSubDept(v bool) *AddCollegeAlumniDeptsResponseBodyResult {
	s.HasSubDept = &v
	return s
}

func (s *AddCollegeAlumniDeptsResponseBodyResult) SetName(v string) *AddCollegeAlumniDeptsResponseBodyResult {
	s.Name = &v
	return s
}

func (s *AddCollegeAlumniDeptsResponseBodyResult) SetSuperId(v int64) *AddCollegeAlumniDeptsResponseBodyResult {
	s.SuperId = &v
	return s
}

type AddCollegeAlumniDeptsResponse struct {
	Headers    map[string]*string                 `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                             `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddCollegeAlumniDeptsResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddCollegeAlumniDeptsResponse) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniDeptsResponse) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniDeptsResponse) SetHeaders(v map[string]*string) *AddCollegeAlumniDeptsResponse {
	s.Headers = v
	return s
}

func (s *AddCollegeAlumniDeptsResponse) SetStatusCode(v int32) *AddCollegeAlumniDeptsResponse {
	s.StatusCode = &v
	return s
}

func (s *AddCollegeAlumniDeptsResponse) SetBody(v *AddCollegeAlumniDeptsResponseBody) *AddCollegeAlumniDeptsResponse {
	s.Body = v
	return s
}

type AddCollegeAlumniUserInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddCollegeAlumniUserInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniUserInfoHeaders) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniUserInfoHeaders) SetCommonHeaders(v map[string]*string) *AddCollegeAlumniUserInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddCollegeAlumniUserInfoHeaders) SetXAcsDingtalkAccessToken(v string) *AddCollegeAlumniUserInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddCollegeAlumniUserInfoRequest struct {
	Address *string `json:"address,omitempty" xml:"address,omitempty"`
	// This parameter is required.
	DeptIds []*int64 `json:"deptIds,omitempty" xml:"deptIds,omitempty" type:"Repeated"`
	Email   *string  `json:"email,omitempty" xml:"email,omitempty"`
	Intake  *string  `json:"intake,omitempty" xml:"intake,omitempty"`
	// This parameter is required.
	Mobile *string `json:"mobile,omitempty" xml:"mobile,omitempty"`
	// This parameter is required.
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	Operator      *string `json:"operator,omitempty" xml:"operator,omitempty"`
	Outtake       *string `json:"outtake,omitempty" xml:"outtake,omitempty"`
	StudentNumber *string `json:"studentNumber,omitempty" xml:"studentNumber,omitempty"`
}

func (s AddCollegeAlumniUserInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniUserInfoRequest) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniUserInfoRequest) SetAddress(v string) *AddCollegeAlumniUserInfoRequest {
	s.Address = &v
	return s
}

func (s *AddCollegeAlumniUserInfoRequest) SetDeptIds(v []*int64) *AddCollegeAlumniUserInfoRequest {
	s.DeptIds = v
	return s
}

func (s *AddCollegeAlumniUserInfoRequest) SetEmail(v string) *AddCollegeAlumniUserInfoRequest {
	s.Email = &v
	return s
}

func (s *AddCollegeAlumniUserInfoRequest) SetIntake(v string) *AddCollegeAlumniUserInfoRequest {
	s.Intake = &v
	return s
}

func (s *AddCollegeAlumniUserInfoRequest) SetMobile(v string) *AddCollegeAlumniUserInfoRequest {
	s.Mobile = &v
	return s
}

func (s *AddCollegeAlumniUserInfoRequest) SetName(v string) *AddCollegeAlumniUserInfoRequest {
	s.Name = &v
	return s
}

func (s *AddCollegeAlumniUserInfoRequest) SetOperator(v string) *AddCollegeAlumniUserInfoRequest {
	s.Operator = &v
	return s
}

func (s *AddCollegeAlumniUserInfoRequest) SetOuttake(v string) *AddCollegeAlumniUserInfoRequest {
	s.Outtake = &v
	return s
}

func (s *AddCollegeAlumniUserInfoRequest) SetStudentNumber(v string) *AddCollegeAlumniUserInfoRequest {
	s.StudentNumber = &v
	return s
}

type AddCollegeAlumniUserInfoResponseBody struct {
	Result  *AddCollegeAlumniUserInfoResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                       `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AddCollegeAlumniUserInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniUserInfoResponseBody) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniUserInfoResponseBody) SetResult(v *AddCollegeAlumniUserInfoResponseBodyResult) *AddCollegeAlumniUserInfoResponseBody {
	s.Result = v
	return s
}

func (s *AddCollegeAlumniUserInfoResponseBody) SetSuccess(v bool) *AddCollegeAlumniUserInfoResponseBody {
	s.Success = &v
	return s
}

type AddCollegeAlumniUserInfoResponseBodyResult struct {
	Success *bool   `json:"success,omitempty" xml:"success,omitempty"`
	Type    *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s AddCollegeAlumniUserInfoResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniUserInfoResponseBodyResult) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniUserInfoResponseBodyResult) SetSuccess(v bool) *AddCollegeAlumniUserInfoResponseBodyResult {
	s.Success = &v
	return s
}

func (s *AddCollegeAlumniUserInfoResponseBodyResult) SetType(v string) *AddCollegeAlumniUserInfoResponseBodyResult {
	s.Type = &v
	return s
}

type AddCollegeAlumniUserInfoResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddCollegeAlumniUserInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddCollegeAlumniUserInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeAlumniUserInfoResponse) GoString() string {
	return s.String()
}

func (s *AddCollegeAlumniUserInfoResponse) SetHeaders(v map[string]*string) *AddCollegeAlumniUserInfoResponse {
	s.Headers = v
	return s
}

func (s *AddCollegeAlumniUserInfoResponse) SetStatusCode(v int32) *AddCollegeAlumniUserInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *AddCollegeAlumniUserInfoResponse) SetBody(v *AddCollegeAlumniUserInfoResponseBody) *AddCollegeAlumniUserInfoResponse {
	s.Body = v
	return s
}

type AddCollegeContactExclusiveHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddCollegeContactExclusiveHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactExclusiveHeaders) GoString() string {
	return s.String()
}

func (s *AddCollegeContactExclusiveHeaders) SetCommonHeaders(v map[string]*string) *AddCollegeContactExclusiveHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddCollegeContactExclusiveHeaders) SetXAcsDingtalkAccessToken(v string) *AddCollegeContactExclusiveHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddCollegeContactExclusiveRequest struct {
	// example:
	//
	// @lALPDfmVUw19YdrNA-jNA-g
	AvatarMediaId *string `json:"avatarMediaId,omitempty" xml:"avatarMediaId,omitempty"`
	// This parameter is required.
	DeptIdList      []*int64                                            `json:"deptIdList,omitempty" xml:"deptIdList,omitempty" type:"Repeated"`
	DeptOrderList   []*AddCollegeContactExclusiveRequestDeptOrderList   `json:"deptOrderList,omitempty" xml:"deptOrderList,omitempty" type:"Repeated"`
	DeptPositionSet []*AddCollegeContactExclusiveRequestDeptPositionSet `json:"deptPositionSet,omitempty" xml:"deptPositionSet,omitempty" type:"Repeated"`
	DeptTitleList   []*AddCollegeContactExclusiveRequestDeptTitleList   `json:"deptTitleList,omitempty" xml:"deptTitleList,omitempty" type:"Repeated"`
	// example:
	//
	// test@xxx.com
	Email *string `json:"email,omitempty" xml:"email,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// college_student
	EmpType *string `json:"empType,omitempty" xml:"empType,omitempty"`
	// This parameter is required.
	ExclusiveAccount *bool `json:"exclusiveAccount,omitempty" xml:"exclusiveAccount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// dingtalk
	ExclusiveAccountType *string            `json:"exclusiveAccountType,omitempty" xml:"exclusiveAccountType,omitempty"`
	Extension            map[string]*string `json:"extension,omitempty" xml:"extension,omitempty"`
	// example:
	//
	// 1597573616828
	HiredDate    *int64  `json:"hiredDate,omitempty" xml:"hiredDate,omitempty"`
	InitPassword *string `json:"initPassword,omitempty" xml:"initPassword,omitempty"`
	// example:
	//
	// 666666
	JobNumber *string `json:"jobNumber,omitempty" xml:"jobNumber,omitempty"`
	// example:
	//
	// studentNo
	LoginIdType *string `json:"loginIdType,omitempty" xml:"loginIdType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123456
	MainDeptId *int64 `json:"mainDeptId,omitempty" xml:"mainDeptId,omitempty"`
	// example:
	//
	// 001
	ManagerUserid *string `json:"managerUserid,omitempty" xml:"managerUserid,omitempty"`
	// example:
	//
	// 185xxxx8888
	Mobile *string `json:"mobile,omitempty" xml:"mobile,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 张三
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 昵称
	Nickname *string `json:"nickname,omitempty" xml:"nickname,omitempty"`
	// example:
	//
	// test@xxx.com
	OrgEmail *string `json:"orgEmail,omitempty" xml:"orgEmail,omitempty"`
	// example:
	//
	// profession
	OrgEmailType *string `json:"orgEmailType,omitempty" xml:"orgEmailType,omitempty"`
	// example:
	//
	// 备注
	Remark        *string `json:"remark,omitempty" xml:"remark,omitempty"`
	SendActiveSms *bool   `json:"sendActiveSms,omitempty" xml:"sendActiveSms,omitempty"`
	SeniorMode    *bool   `json:"seniorMode,omitempty" xml:"seniorMode,omitempty"`
	// example:
	//
	// 010-86123456-2345
	Telephone *string `json:"telephone,omitempty" xml:"telephone,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// zhangsan666
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s AddCollegeContactExclusiveRequest) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactExclusiveRequest) GoString() string {
	return s.String()
}

func (s *AddCollegeContactExclusiveRequest) SetAvatarMediaId(v string) *AddCollegeContactExclusiveRequest {
	s.AvatarMediaId = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetDeptIdList(v []*int64) *AddCollegeContactExclusiveRequest {
	s.DeptIdList = v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetDeptOrderList(v []*AddCollegeContactExclusiveRequestDeptOrderList) *AddCollegeContactExclusiveRequest {
	s.DeptOrderList = v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetDeptPositionSet(v []*AddCollegeContactExclusiveRequestDeptPositionSet) *AddCollegeContactExclusiveRequest {
	s.DeptPositionSet = v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetDeptTitleList(v []*AddCollegeContactExclusiveRequestDeptTitleList) *AddCollegeContactExclusiveRequest {
	s.DeptTitleList = v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetEmail(v string) *AddCollegeContactExclusiveRequest {
	s.Email = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetEmpType(v string) *AddCollegeContactExclusiveRequest {
	s.EmpType = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetExclusiveAccount(v bool) *AddCollegeContactExclusiveRequest {
	s.ExclusiveAccount = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetExclusiveAccountType(v string) *AddCollegeContactExclusiveRequest {
	s.ExclusiveAccountType = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetExtension(v map[string]*string) *AddCollegeContactExclusiveRequest {
	s.Extension = v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetHiredDate(v int64) *AddCollegeContactExclusiveRequest {
	s.HiredDate = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetInitPassword(v string) *AddCollegeContactExclusiveRequest {
	s.InitPassword = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetJobNumber(v string) *AddCollegeContactExclusiveRequest {
	s.JobNumber = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetLoginIdType(v string) *AddCollegeContactExclusiveRequest {
	s.LoginIdType = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetMainDeptId(v int64) *AddCollegeContactExclusiveRequest {
	s.MainDeptId = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetManagerUserid(v string) *AddCollegeContactExclusiveRequest {
	s.ManagerUserid = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetMobile(v string) *AddCollegeContactExclusiveRequest {
	s.Mobile = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetName(v string) *AddCollegeContactExclusiveRequest {
	s.Name = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetNickname(v string) *AddCollegeContactExclusiveRequest {
	s.Nickname = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetOrgEmail(v string) *AddCollegeContactExclusiveRequest {
	s.OrgEmail = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetOrgEmailType(v string) *AddCollegeContactExclusiveRequest {
	s.OrgEmailType = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetRemark(v string) *AddCollegeContactExclusiveRequest {
	s.Remark = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetSendActiveSms(v bool) *AddCollegeContactExclusiveRequest {
	s.SendActiveSms = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetSeniorMode(v bool) *AddCollegeContactExclusiveRequest {
	s.SeniorMode = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetTelephone(v string) *AddCollegeContactExclusiveRequest {
	s.Telephone = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetTitle(v string) *AddCollegeContactExclusiveRequest {
	s.Title = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetUserid(v string) *AddCollegeContactExclusiveRequest {
	s.Userid = &v
	return s
}

func (s *AddCollegeContactExclusiveRequest) SetWorkPlace(v string) *AddCollegeContactExclusiveRequest {
	s.WorkPlace = &v
	return s
}

type AddCollegeContactExclusiveRequestDeptOrderList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 1
	Order *int32 `json:"order,omitempty" xml:"order,omitempty"`
}

func (s AddCollegeContactExclusiveRequestDeptOrderList) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactExclusiveRequestDeptOrderList) GoString() string {
	return s.String()
}

func (s *AddCollegeContactExclusiveRequestDeptOrderList) SetDeptId(v int64) *AddCollegeContactExclusiveRequestDeptOrderList {
	s.DeptId = &v
	return s
}

func (s *AddCollegeContactExclusiveRequestDeptOrderList) SetOrder(v int32) *AddCollegeContactExclusiveRequestDeptOrderList {
	s.Order = &v
	return s
}

type AddCollegeContactExclusiveRequestDeptPositionSet struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 001
	ManagerUserId *string `json:"managerUserId,omitempty" xml:"managerUserId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s AddCollegeContactExclusiveRequestDeptPositionSet) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactExclusiveRequestDeptPositionSet) GoString() string {
	return s.String()
}

func (s *AddCollegeContactExclusiveRequestDeptPositionSet) SetDeptId(v int64) *AddCollegeContactExclusiveRequestDeptPositionSet {
	s.DeptId = &v
	return s
}

func (s *AddCollegeContactExclusiveRequestDeptPositionSet) SetManagerUserId(v string) *AddCollegeContactExclusiveRequestDeptPositionSet {
	s.ManagerUserId = &v
	return s
}

func (s *AddCollegeContactExclusiveRequestDeptPositionSet) SetTitle(v string) *AddCollegeContactExclusiveRequestDeptPositionSet {
	s.Title = &v
	return s
}

func (s *AddCollegeContactExclusiveRequestDeptPositionSet) SetWorkPlace(v string) *AddCollegeContactExclusiveRequestDeptPositionSet {
	s.WorkPlace = &v
	return s
}

type AddCollegeContactExclusiveRequestDeptTitleList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
}

func (s AddCollegeContactExclusiveRequestDeptTitleList) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactExclusiveRequestDeptTitleList) GoString() string {
	return s.String()
}

func (s *AddCollegeContactExclusiveRequestDeptTitleList) SetDeptId(v int64) *AddCollegeContactExclusiveRequestDeptTitleList {
	s.DeptId = &v
	return s
}

func (s *AddCollegeContactExclusiveRequestDeptTitleList) SetTitle(v string) *AddCollegeContactExclusiveRequestDeptTitleList {
	s.Title = &v
	return s
}

type AddCollegeContactExclusiveResponseBody struct {
	Result  *AddCollegeContactExclusiveResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                         `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AddCollegeContactExclusiveResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactExclusiveResponseBody) GoString() string {
	return s.String()
}

func (s *AddCollegeContactExclusiveResponseBody) SetResult(v *AddCollegeContactExclusiveResponseBodyResult) *AddCollegeContactExclusiveResponseBody {
	s.Result = v
	return s
}

func (s *AddCollegeContactExclusiveResponseBody) SetSuccess(v bool) *AddCollegeContactExclusiveResponseBody {
	s.Success = &v
	return s
}

type AddCollegeContactExclusiveResponseBodyResult struct {
	CreateResult *int32  `json:"createResult,omitempty" xml:"createResult,omitempty"`
	UnionId      *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
	Userid       *string `json:"userid,omitempty" xml:"userid,omitempty"`
}

func (s AddCollegeContactExclusiveResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactExclusiveResponseBodyResult) GoString() string {
	return s.String()
}

func (s *AddCollegeContactExclusiveResponseBodyResult) SetCreateResult(v int32) *AddCollegeContactExclusiveResponseBodyResult {
	s.CreateResult = &v
	return s
}

func (s *AddCollegeContactExclusiveResponseBodyResult) SetUnionId(v string) *AddCollegeContactExclusiveResponseBodyResult {
	s.UnionId = &v
	return s
}

func (s *AddCollegeContactExclusiveResponseBodyResult) SetUserid(v string) *AddCollegeContactExclusiveResponseBodyResult {
	s.Userid = &v
	return s
}

type AddCollegeContactExclusiveResponse struct {
	Headers    map[string]*string                      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddCollegeContactExclusiveResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddCollegeContactExclusiveResponse) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactExclusiveResponse) GoString() string {
	return s.String()
}

func (s *AddCollegeContactExclusiveResponse) SetHeaders(v map[string]*string) *AddCollegeContactExclusiveResponse {
	s.Headers = v
	return s
}

func (s *AddCollegeContactExclusiveResponse) SetStatusCode(v int32) *AddCollegeContactExclusiveResponse {
	s.StatusCode = &v
	return s
}

func (s *AddCollegeContactExclusiveResponse) SetBody(v *AddCollegeContactExclusiveResponseBody) *AddCollegeContactExclusiveResponse {
	s.Body = v
	return s
}

type AddCollegeContactUserHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddCollegeContactUserHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactUserHeaders) GoString() string {
	return s.String()
}

func (s *AddCollegeContactUserHeaders) SetCommonHeaders(v map[string]*string) *AddCollegeContactUserHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddCollegeContactUserHeaders) SetXAcsDingtalkAccessToken(v string) *AddCollegeContactUserHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddCollegeContactUserRequest struct {
	// This parameter is required.
	DeptIdList      []*int64                                       `json:"deptIdList,omitempty" xml:"deptIdList,omitempty" type:"Repeated"`
	DeptOrderList   []*AddCollegeContactUserRequestDeptOrderList   `json:"deptOrderList,omitempty" xml:"deptOrderList,omitempty" type:"Repeated"`
	DeptPositionSet []*AddCollegeContactUserRequestDeptPositionSet `json:"deptPositionSet,omitempty" xml:"deptPositionSet,omitempty" type:"Repeated"`
	DeptTitleList   []*AddCollegeContactUserRequestDeptTitleList   `json:"deptTitleList,omitempty" xml:"deptTitleList,omitempty" type:"Repeated"`
	// example:
	//
	// test@xxx.com
	Email *string `json:"email,omitempty" xml:"email,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// college_student
	EmpType    *string            `json:"empType,omitempty" xml:"empType,omitempty"`
	Extension  map[string]*string `json:"extension,omitempty" xml:"extension,omitempty"`
	HideMobile *bool              `json:"hideMobile,omitempty" xml:"hideMobile,omitempty"`
	// example:
	//
	// 1597573616828
	HiredDate *int64 `json:"hiredDate,omitempty" xml:"hiredDate,omitempty"`
	// example:
	//
	// 666666
	JobNumber *string `json:"jobNumber,omitempty" xml:"jobNumber,omitempty"`
	// example:
	//
	// test@xxx.com
	LoginEmail *string `json:"loginEmail,omitempty" xml:"loginEmail,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123456
	MainDeptId *int64 `json:"mainDeptId,omitempty" xml:"mainDeptId,omitempty"`
	// example:
	//
	// 001
	ManagerUserid *string `json:"managerUserid,omitempty" xml:"managerUserid,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 185xxxx8888
	Mobile *string `json:"mobile,omitempty" xml:"mobile,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 张三
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// test@xxx.com
	OrgEmail *string `json:"orgEmail,omitempty" xml:"orgEmail,omitempty"`
	// example:
	//
	// profession
	OrgEmailType *string `json:"orgEmailType,omitempty" xml:"orgEmailType,omitempty"`
	// example:
	//
	// 备注
	Remark        *string `json:"remark,omitempty" xml:"remark,omitempty"`
	SendActiveSms *bool   `json:"sendActiveSms,omitempty" xml:"sendActiveSms,omitempty"`
	SeniorMode    *bool   `json:"seniorMode,omitempty" xml:"seniorMode,omitempty"`
	// example:
	//
	// 010-86123456-2345
	Telephone *string `json:"telephone,omitempty" xml:"telephone,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// zhangsan666
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s AddCollegeContactUserRequest) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactUserRequest) GoString() string {
	return s.String()
}

func (s *AddCollegeContactUserRequest) SetDeptIdList(v []*int64) *AddCollegeContactUserRequest {
	s.DeptIdList = v
	return s
}

func (s *AddCollegeContactUserRequest) SetDeptOrderList(v []*AddCollegeContactUserRequestDeptOrderList) *AddCollegeContactUserRequest {
	s.DeptOrderList = v
	return s
}

func (s *AddCollegeContactUserRequest) SetDeptPositionSet(v []*AddCollegeContactUserRequestDeptPositionSet) *AddCollegeContactUserRequest {
	s.DeptPositionSet = v
	return s
}

func (s *AddCollegeContactUserRequest) SetDeptTitleList(v []*AddCollegeContactUserRequestDeptTitleList) *AddCollegeContactUserRequest {
	s.DeptTitleList = v
	return s
}

func (s *AddCollegeContactUserRequest) SetEmail(v string) *AddCollegeContactUserRequest {
	s.Email = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetEmpType(v string) *AddCollegeContactUserRequest {
	s.EmpType = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetExtension(v map[string]*string) *AddCollegeContactUserRequest {
	s.Extension = v
	return s
}

func (s *AddCollegeContactUserRequest) SetHideMobile(v bool) *AddCollegeContactUserRequest {
	s.HideMobile = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetHiredDate(v int64) *AddCollegeContactUserRequest {
	s.HiredDate = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetJobNumber(v string) *AddCollegeContactUserRequest {
	s.JobNumber = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetLoginEmail(v string) *AddCollegeContactUserRequest {
	s.LoginEmail = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetMainDeptId(v int64) *AddCollegeContactUserRequest {
	s.MainDeptId = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetManagerUserid(v string) *AddCollegeContactUserRequest {
	s.ManagerUserid = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetMobile(v string) *AddCollegeContactUserRequest {
	s.Mobile = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetName(v string) *AddCollegeContactUserRequest {
	s.Name = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetOrgEmail(v string) *AddCollegeContactUserRequest {
	s.OrgEmail = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetOrgEmailType(v string) *AddCollegeContactUserRequest {
	s.OrgEmailType = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetRemark(v string) *AddCollegeContactUserRequest {
	s.Remark = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetSendActiveSms(v bool) *AddCollegeContactUserRequest {
	s.SendActiveSms = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetSeniorMode(v bool) *AddCollegeContactUserRequest {
	s.SeniorMode = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetTelephone(v string) *AddCollegeContactUserRequest {
	s.Telephone = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetTitle(v string) *AddCollegeContactUserRequest {
	s.Title = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetUserid(v string) *AddCollegeContactUserRequest {
	s.Userid = &v
	return s
}

func (s *AddCollegeContactUserRequest) SetWorkPlace(v string) *AddCollegeContactUserRequest {
	s.WorkPlace = &v
	return s
}

type AddCollegeContactUserRequestDeptOrderList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 1
	Order *int32 `json:"order,omitempty" xml:"order,omitempty"`
}

func (s AddCollegeContactUserRequestDeptOrderList) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactUserRequestDeptOrderList) GoString() string {
	return s.String()
}

func (s *AddCollegeContactUserRequestDeptOrderList) SetDeptId(v int64) *AddCollegeContactUserRequestDeptOrderList {
	s.DeptId = &v
	return s
}

func (s *AddCollegeContactUserRequestDeptOrderList) SetOrder(v int32) *AddCollegeContactUserRequestDeptOrderList {
	s.Order = &v
	return s
}

type AddCollegeContactUserRequestDeptPositionSet struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 001
	ManagerUserId *string `json:"managerUserId,omitempty" xml:"managerUserId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s AddCollegeContactUserRequestDeptPositionSet) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactUserRequestDeptPositionSet) GoString() string {
	return s.String()
}

func (s *AddCollegeContactUserRequestDeptPositionSet) SetDeptId(v int64) *AddCollegeContactUserRequestDeptPositionSet {
	s.DeptId = &v
	return s
}

func (s *AddCollegeContactUserRequestDeptPositionSet) SetManagerUserId(v string) *AddCollegeContactUserRequestDeptPositionSet {
	s.ManagerUserId = &v
	return s
}

func (s *AddCollegeContactUserRequestDeptPositionSet) SetTitle(v string) *AddCollegeContactUserRequestDeptPositionSet {
	s.Title = &v
	return s
}

func (s *AddCollegeContactUserRequestDeptPositionSet) SetWorkPlace(v string) *AddCollegeContactUserRequestDeptPositionSet {
	s.WorkPlace = &v
	return s
}

type AddCollegeContactUserRequestDeptTitleList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
}

func (s AddCollegeContactUserRequestDeptTitleList) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactUserRequestDeptTitleList) GoString() string {
	return s.String()
}

func (s *AddCollegeContactUserRequestDeptTitleList) SetDeptId(v int64) *AddCollegeContactUserRequestDeptTitleList {
	s.DeptId = &v
	return s
}

func (s *AddCollegeContactUserRequestDeptTitleList) SetTitle(v string) *AddCollegeContactUserRequestDeptTitleList {
	s.Title = &v
	return s
}

type AddCollegeContactUserResponseBody struct {
	Result  *AddCollegeContactUserResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                    `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AddCollegeContactUserResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactUserResponseBody) GoString() string {
	return s.String()
}

func (s *AddCollegeContactUserResponseBody) SetResult(v *AddCollegeContactUserResponseBodyResult) *AddCollegeContactUserResponseBody {
	s.Result = v
	return s
}

func (s *AddCollegeContactUserResponseBody) SetSuccess(v bool) *AddCollegeContactUserResponseBody {
	s.Success = &v
	return s
}

type AddCollegeContactUserResponseBodyResult struct {
	CreateResult *int32  `json:"createResult,omitempty" xml:"createResult,omitempty"`
	UnionId      *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
	Userid       *string `json:"userid,omitempty" xml:"userid,omitempty"`
}

func (s AddCollegeContactUserResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactUserResponseBodyResult) GoString() string {
	return s.String()
}

func (s *AddCollegeContactUserResponseBodyResult) SetCreateResult(v int32) *AddCollegeContactUserResponseBodyResult {
	s.CreateResult = &v
	return s
}

func (s *AddCollegeContactUserResponseBodyResult) SetUnionId(v string) *AddCollegeContactUserResponseBodyResult {
	s.UnionId = &v
	return s
}

func (s *AddCollegeContactUserResponseBodyResult) SetUserid(v string) *AddCollegeContactUserResponseBodyResult {
	s.Userid = &v
	return s
}

type AddCollegeContactUserResponse struct {
	Headers    map[string]*string                 `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                             `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddCollegeContactUserResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddCollegeContactUserResponse) String() string {
	return tea.Prettify(s)
}

func (s AddCollegeContactUserResponse) GoString() string {
	return s.String()
}

func (s *AddCollegeContactUserResponse) SetHeaders(v map[string]*string) *AddCollegeContactUserResponse {
	s.Headers = v
	return s
}

func (s *AddCollegeContactUserResponse) SetStatusCode(v int32) *AddCollegeContactUserResponse {
	s.StatusCode = &v
	return s
}

func (s *AddCollegeContactUserResponse) SetBody(v *AddCollegeContactUserResponseBody) *AddCollegeContactUserResponse {
	s.Body = v
	return s
}

type AddCompetitionRecordHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddCompetitionRecordHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddCompetitionRecordHeaders) GoString() string {
	return s.String()
}

func (s *AddCompetitionRecordHeaders) SetCommonHeaders(v map[string]*string) *AddCompetitionRecordHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddCompetitionRecordHeaders) SetXAcsDingtalkAccessToken(v string) *AddCompetitionRecordHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddCompetitionRecordRequest struct {
	// example:
	//
	// 5F44C
	CompetitionCode *string `json:"competitionCode,omitempty" xml:"competitionCode,omitempty"`
	// example:
	//
	// edu
	GroupTemplateCode *string `json:"groupTemplateCode,omitempty" xml:"groupTemplateCode,omitempty"`
	JoinGroup         *bool   `json:"joinGroup,omitempty" xml:"joinGroup,omitempty"`
	// example:
	//
	// 小明
	ParticipantName *string `json:"participantName,omitempty" xml:"participantName,omitempty"`
	// example:
	//
	// VYn5fYjORJMi
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
}

func (s AddCompetitionRecordRequest) String() string {
	return tea.Prettify(s)
}

func (s AddCompetitionRecordRequest) GoString() string {
	return s.String()
}

func (s *AddCompetitionRecordRequest) SetCompetitionCode(v string) *AddCompetitionRecordRequest {
	s.CompetitionCode = &v
	return s
}

func (s *AddCompetitionRecordRequest) SetGroupTemplateCode(v string) *AddCompetitionRecordRequest {
	s.GroupTemplateCode = &v
	return s
}

func (s *AddCompetitionRecordRequest) SetJoinGroup(v bool) *AddCompetitionRecordRequest {
	s.JoinGroup = &v
	return s
}

func (s *AddCompetitionRecordRequest) SetParticipantName(v string) *AddCompetitionRecordRequest {
	s.ParticipantName = &v
	return s
}

func (s *AddCompetitionRecordRequest) SetUnionId(v string) *AddCompetitionRecordRequest {
	s.UnionId = &v
	return s
}

type AddCompetitionRecordResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AddCompetitionRecordResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddCompetitionRecordResponseBody) GoString() string {
	return s.String()
}

func (s *AddCompetitionRecordResponseBody) SetSuccess(v bool) *AddCompetitionRecordResponseBody {
	s.Success = &v
	return s
}

type AddCompetitionRecordResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddCompetitionRecordResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddCompetitionRecordResponse) String() string {
	return tea.Prettify(s)
}

func (s AddCompetitionRecordResponse) GoString() string {
	return s.String()
}

func (s *AddCompetitionRecordResponse) SetHeaders(v map[string]*string) *AddCompetitionRecordResponse {
	s.Headers = v
	return s
}

func (s *AddCompetitionRecordResponse) SetStatusCode(v int32) *AddCompetitionRecordResponse {
	s.StatusCode = &v
	return s
}

func (s *AddCompetitionRecordResponse) SetBody(v *AddCompetitionRecordResponseBody) *AddCompetitionRecordResponse {
	s.Body = v
	return s
}

type AddDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddDeviceHeaders) GoString() string {
	return s.String()
}

func (s *AddDeviceHeaders) SetCommonHeaders(v map[string]*string) *AddDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *AddDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddDeviceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123123123
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// M-123123
	Model *string `json:"model,omitempty" xml:"model,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 支付设备
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Scene *int64 `json:"scene,omitempty" xml:"scene,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn1234324234
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Status *int64 `json:"status,omitempty" xml:"status,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Type *int64 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s AddDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s AddDeviceRequest) GoString() string {
	return s.String()
}

func (s *AddDeviceRequest) SetMerchantId(v string) *AddDeviceRequest {
	s.MerchantId = &v
	return s
}

func (s *AddDeviceRequest) SetModel(v string) *AddDeviceRequest {
	s.Model = &v
	return s
}

func (s *AddDeviceRequest) SetName(v string) *AddDeviceRequest {
	s.Name = &v
	return s
}

func (s *AddDeviceRequest) SetScene(v int64) *AddDeviceRequest {
	s.Scene = &v
	return s
}

func (s *AddDeviceRequest) SetSn(v string) *AddDeviceRequest {
	s.Sn = &v
	return s
}

func (s *AddDeviceRequest) SetStatus(v int64) *AddDeviceRequest {
	s.Status = &v
	return s
}

func (s *AddDeviceRequest) SetType(v int64) *AddDeviceRequest {
	s.Type = &v
	return s
}

type AddDeviceResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// 123
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1002
	Id *int64 `json:"id,omitempty" xml:"id,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Status *int64 `json:"status,omitempty" xml:"status,omitempty"`
}

func (s AddDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *AddDeviceResponseBody) SetCorpId(v string) *AddDeviceResponseBody {
	s.CorpId = &v
	return s
}

func (s *AddDeviceResponseBody) SetId(v int64) *AddDeviceResponseBody {
	s.Id = &v
	return s
}

func (s *AddDeviceResponseBody) SetMerchantId(v string) *AddDeviceResponseBody {
	s.MerchantId = &v
	return s
}

func (s *AddDeviceResponseBody) SetSn(v string) *AddDeviceResponseBody {
	s.Sn = &v
	return s
}

func (s *AddDeviceResponseBody) SetStatus(v int64) *AddDeviceResponseBody {
	s.Status = &v
	return s
}

type AddDeviceResponse struct {
	Headers    map[string]*string     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s AddDeviceResponse) GoString() string {
	return s.String()
}

func (s *AddDeviceResponse) SetHeaders(v map[string]*string) *AddDeviceResponse {
	s.Headers = v
	return s
}

func (s *AddDeviceResponse) SetStatusCode(v int32) *AddDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *AddDeviceResponse) SetBody(v *AddDeviceResponseBody) *AddDeviceResponse {
	s.Body = v
	return s
}

type AddEvaluatePerformanceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddEvaluatePerformanceHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddEvaluatePerformanceHeaders) GoString() string {
	return s.String()
}

func (s *AddEvaluatePerformanceHeaders) SetCommonHeaders(v map[string]*string) *AddEvaluatePerformanceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddEvaluatePerformanceHeaders) SetXAcsDingtalkAccessToken(v string) *AddEvaluatePerformanceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddEvaluatePerformanceRequest struct {
	EvaluationData []*AddEvaluatePerformanceRequestEvaluationData `json:"evaluationData,omitempty" xml:"evaluationData,omitempty" type:"Repeated"`
}

func (s AddEvaluatePerformanceRequest) String() string {
	return tea.Prettify(s)
}

func (s AddEvaluatePerformanceRequest) GoString() string {
	return s.String()
}

func (s *AddEvaluatePerformanceRequest) SetEvaluationData(v []*AddEvaluatePerformanceRequestEvaluationData) *AddEvaluatePerformanceRequest {
	s.EvaluationData = v
	return s
}

type AddEvaluatePerformanceRequestEvaluationData struct {
	EvaluationContent *string `json:"evaluationContent,omitempty" xml:"evaluationContent,omitempty"`
	EventTime         *string `json:"eventTime,omitempty" xml:"eventTime,omitempty"`
	Id                *string `json:"id,omitempty" xml:"id,omitempty"`
	StudentId         *string `json:"studentId,omitempty" xml:"studentId,omitempty"`
	TeacherId         *string `json:"teacherId,omitempty" xml:"teacherId,omitempty"`
}

func (s AddEvaluatePerformanceRequestEvaluationData) String() string {
	return tea.Prettify(s)
}

func (s AddEvaluatePerformanceRequestEvaluationData) GoString() string {
	return s.String()
}

func (s *AddEvaluatePerformanceRequestEvaluationData) SetEvaluationContent(v string) *AddEvaluatePerformanceRequestEvaluationData {
	s.EvaluationContent = &v
	return s
}

func (s *AddEvaluatePerformanceRequestEvaluationData) SetEventTime(v string) *AddEvaluatePerformanceRequestEvaluationData {
	s.EventTime = &v
	return s
}

func (s *AddEvaluatePerformanceRequestEvaluationData) SetId(v string) *AddEvaluatePerformanceRequestEvaluationData {
	s.Id = &v
	return s
}

func (s *AddEvaluatePerformanceRequestEvaluationData) SetStudentId(v string) *AddEvaluatePerformanceRequestEvaluationData {
	s.StudentId = &v
	return s
}

func (s *AddEvaluatePerformanceRequestEvaluationData) SetTeacherId(v string) *AddEvaluatePerformanceRequestEvaluationData {
	s.TeacherId = &v
	return s
}

type AddEvaluatePerformanceResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AddEvaluatePerformanceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddEvaluatePerformanceResponseBody) GoString() string {
	return s.String()
}

func (s *AddEvaluatePerformanceResponseBody) SetSuccess(v bool) *AddEvaluatePerformanceResponseBody {
	s.Success = &v
	return s
}

type AddEvaluatePerformanceResponse struct {
	Headers    map[string]*string                  `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                              `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddEvaluatePerformanceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddEvaluatePerformanceResponse) String() string {
	return tea.Prettify(s)
}

func (s AddEvaluatePerformanceResponse) GoString() string {
	return s.String()
}

func (s *AddEvaluatePerformanceResponse) SetHeaders(v map[string]*string) *AddEvaluatePerformanceResponse {
	s.Headers = v
	return s
}

func (s *AddEvaluatePerformanceResponse) SetStatusCode(v int32) *AddEvaluatePerformanceResponse {
	s.StatusCode = &v
	return s
}

func (s *AddEvaluatePerformanceResponse) SetBody(v *AddEvaluatePerformanceResponseBody) *AddEvaluatePerformanceResponse {
	s.Body = v
	return s
}

type AddSchoolConfigHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddSchoolConfigHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddSchoolConfigHeaders) GoString() string {
	return s.String()
}

func (s *AddSchoolConfigHeaders) SetCommonHeaders(v map[string]*string) *AddSchoolConfigHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddSchoolConfigHeaders) SetXAcsDingtalkAccessToken(v string) *AddSchoolConfigHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddSchoolConfigRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 操作人id
	OperatorId *string `json:"operatorId,omitempty" xml:"operatorId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 操作人名称
	OperatorName *string `json:"operatorName,omitempty" xml:"operatorName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 测温上限
	TemperatureUpLimit *int64 `json:"temperatureUpLimit,omitempty" xml:"temperatureUpLimit,omitempty"`
}

func (s AddSchoolConfigRequest) String() string {
	return tea.Prettify(s)
}

func (s AddSchoolConfigRequest) GoString() string {
	return s.String()
}

func (s *AddSchoolConfigRequest) SetOperatorId(v string) *AddSchoolConfigRequest {
	s.OperatorId = &v
	return s
}

func (s *AddSchoolConfigRequest) SetOperatorName(v string) *AddSchoolConfigRequest {
	s.OperatorName = &v
	return s
}

func (s *AddSchoolConfigRequest) SetTemperatureUpLimit(v int64) *AddSchoolConfigRequest {
	s.TemperatureUpLimit = &v
	return s
}

type AddSchoolConfigResponseBody struct {
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s AddSchoolConfigResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddSchoolConfigResponseBody) GoString() string {
	return s.String()
}

func (s *AddSchoolConfigResponseBody) SetResult(v bool) *AddSchoolConfigResponseBody {
	s.Result = &v
	return s
}

type AddSchoolConfigResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddSchoolConfigResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddSchoolConfigResponse) String() string {
	return tea.Prettify(s)
}

func (s AddSchoolConfigResponse) GoString() string {
	return s.String()
}

func (s *AddSchoolConfigResponse) SetHeaders(v map[string]*string) *AddSchoolConfigResponse {
	s.Headers = v
	return s
}

func (s *AddSchoolConfigResponse) SetStatusCode(v int32) *AddSchoolConfigResponse {
	s.StatusCode = &v
	return s
}

func (s *AddSchoolConfigResponse) SetBody(v *AddSchoolConfigResponseBody) *AddSchoolConfigResponse {
	s.Body = v
	return s
}

type AddTraceEventHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AddTraceEventHeaders) String() string {
	return tea.Prettify(s)
}

func (s AddTraceEventHeaders) GoString() string {
	return s.String()
}

func (s *AddTraceEventHeaders) SetCommonHeaders(v map[string]*string) *AddTraceEventHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AddTraceEventHeaders) SetXAcsDingtalkAccessToken(v string) *AddTraceEventHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AddTraceEventRequest struct {
	// This parameter is required.
	ActionKey *string `json:"actionKey,omitempty" xml:"actionKey,omitempty"`
	// This parameter is required.
	ActionTime *string `json:"actionTime,omitempty" xml:"actionTime,omitempty"`
	// This parameter is required.
	BizCode  *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	BizReq   *string `json:"bizReq,omitempty" xml:"bizReq,omitempty"`
	BizResp  *string `json:"bizResp,omitempty" xml:"bizResp,omitempty"`
	DeviceId *string `json:"deviceId,omitempty" xml:"deviceId,omitempty"`
	// This parameter is required.
	EventId    *string `json:"eventId,omitempty" xml:"eventId,omitempty"`
	EventType  *string `json:"eventType,omitempty" xml:"eventType,omitempty"`
	EventUnit  *string `json:"eventUnit,omitempty" xml:"eventUnit,omitempty"`
	EventValue *string `json:"eventValue,omitempty" xml:"eventValue,omitempty"`
	Extend     *string `json:"extend,omitempty" xml:"extend,omitempty"`
	Platform   *string `json:"platform,omitempty" xml:"platform,omitempty"`
	UserId     *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s AddTraceEventRequest) String() string {
	return tea.Prettify(s)
}

func (s AddTraceEventRequest) GoString() string {
	return s.String()
}

func (s *AddTraceEventRequest) SetActionKey(v string) *AddTraceEventRequest {
	s.ActionKey = &v
	return s
}

func (s *AddTraceEventRequest) SetActionTime(v string) *AddTraceEventRequest {
	s.ActionTime = &v
	return s
}

func (s *AddTraceEventRequest) SetBizCode(v string) *AddTraceEventRequest {
	s.BizCode = &v
	return s
}

func (s *AddTraceEventRequest) SetBizReq(v string) *AddTraceEventRequest {
	s.BizReq = &v
	return s
}

func (s *AddTraceEventRequest) SetBizResp(v string) *AddTraceEventRequest {
	s.BizResp = &v
	return s
}

func (s *AddTraceEventRequest) SetDeviceId(v string) *AddTraceEventRequest {
	s.DeviceId = &v
	return s
}

func (s *AddTraceEventRequest) SetEventId(v string) *AddTraceEventRequest {
	s.EventId = &v
	return s
}

func (s *AddTraceEventRequest) SetEventType(v string) *AddTraceEventRequest {
	s.EventType = &v
	return s
}

func (s *AddTraceEventRequest) SetEventUnit(v string) *AddTraceEventRequest {
	s.EventUnit = &v
	return s
}

func (s *AddTraceEventRequest) SetEventValue(v string) *AddTraceEventRequest {
	s.EventValue = &v
	return s
}

func (s *AddTraceEventRequest) SetExtend(v string) *AddTraceEventRequest {
	s.Extend = &v
	return s
}

func (s *AddTraceEventRequest) SetPlatform(v string) *AddTraceEventRequest {
	s.Platform = &v
	return s
}

func (s *AddTraceEventRequest) SetUserId(v string) *AddTraceEventRequest {
	s.UserId = &v
	return s
}

type AddTraceEventResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AddTraceEventResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AddTraceEventResponseBody) GoString() string {
	return s.String()
}

func (s *AddTraceEventResponseBody) SetResult(v bool) *AddTraceEventResponseBody {
	s.Result = &v
	return s
}

func (s *AddTraceEventResponseBody) SetSuccess(v bool) *AddTraceEventResponseBody {
	s.Success = &v
	return s
}

type AddTraceEventResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AddTraceEventResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AddTraceEventResponse) String() string {
	return tea.Prettify(s)
}

func (s AddTraceEventResponse) GoString() string {
	return s.String()
}

func (s *AddTraceEventResponse) SetHeaders(v map[string]*string) *AddTraceEventResponse {
	s.Headers = v
	return s
}

func (s *AddTraceEventResponse) SetStatusCode(v int32) *AddTraceEventResponse {
	s.StatusCode = &v
	return s
}

func (s *AddTraceEventResponse) SetBody(v *AddTraceEventResponseBody) *AddTraceEventResponse {
	s.Body = v
	return s
}

type AdjustCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AdjustCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s AdjustCourseHeaders) GoString() string {
	return s.String()
}

func (s *AdjustCourseHeaders) SetCommonHeaders(v map[string]*string) *AdjustCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AdjustCourseHeaders) SetXAcsDingtalkAccessToken(v string) *AdjustCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AdjustCourseRequest struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// classRoom_xxx
	ClassRoomId *string `json:"classRoomId,omitempty" xml:"classRoomId,omitempty"`
	// example:
	//
	// 音乐教室
	ClassRoomName *string `json:"classRoomName,omitempty" xml:"classRoomName,omitempty"`
	// example:
	//
	// 1
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// code_xxx
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// 0
	CourseDate *int64 `json:"courseDate,omitempty" xml:"courseDate,omitempty"`
	// example:
	//
	// 语文
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// example:
	//
	// 1
	CourseWeek *int32 `json:"courseWeek,omitempty" xml:"courseWeek,omitempty"`
	// example:
	//
	// 1
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// courseId
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
	// example:
	//
	// memo_xxx
	Memo *string `json:"memo,omitempty" xml:"memo,omitempty"`
	// example:
	//
	// 2024
	SchoolYear *string `json:"schoolYear,omitempty" xml:"schoolYear,omitempty"`
	// example:
	//
	// 1
	Semester *int32 `json:"semester,omitempty" xml:"semester,omitempty"`
	// example:
	//
	// 0
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 1
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// 1
	TeachWeek *int32 `json:"teachWeek,omitempty" xml:"teachWeek,omitempty"`
	// example:
	//
	// 第一节
	TimeslotName *string `json:"timeslotName,omitempty" xml:"timeslotName,omitempty"`
	// example:
	//
	// 1
	TimeslotNum *int32 `json:"timeslotNum,omitempty" xml:"timeslotNum,omitempty"`
	// example:
	//
	// 1
	Type *int32 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s AdjustCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s AdjustCourseRequest) GoString() string {
	return s.String()
}

func (s *AdjustCourseRequest) SetAttributes(v string) *AdjustCourseRequest {
	s.Attributes = &v
	return s
}

func (s *AdjustCourseRequest) SetClassName(v string) *AdjustCourseRequest {
	s.ClassName = &v
	return s
}

func (s *AdjustCourseRequest) SetClassRoomId(v string) *AdjustCourseRequest {
	s.ClassRoomId = &v
	return s
}

func (s *AdjustCourseRequest) SetClassRoomName(v string) *AdjustCourseRequest {
	s.ClassRoomName = &v
	return s
}

func (s *AdjustCourseRequest) SetClassType(v int32) *AdjustCourseRequest {
	s.ClassType = &v
	return s
}

func (s *AdjustCourseRequest) SetCorpId(v string) *AdjustCourseRequest {
	s.CorpId = &v
	return s
}

func (s *AdjustCourseRequest) SetCourseCode(v string) *AdjustCourseRequest {
	s.CourseCode = &v
	return s
}

func (s *AdjustCourseRequest) SetCourseDate(v int64) *AdjustCourseRequest {
	s.CourseDate = &v
	return s
}

func (s *AdjustCourseRequest) SetCourseName(v string) *AdjustCourseRequest {
	s.CourseName = &v
	return s
}

func (s *AdjustCourseRequest) SetCourseWeek(v int32) *AdjustCourseRequest {
	s.CourseWeek = &v
	return s
}

func (s *AdjustCourseRequest) SetEndTime(v int64) *AdjustCourseRequest {
	s.EndTime = &v
	return s
}

func (s *AdjustCourseRequest) SetIsvCode(v string) *AdjustCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *AdjustCourseRequest) SetIsvCourseId(v string) *AdjustCourseRequest {
	s.IsvCourseId = &v
	return s
}

func (s *AdjustCourseRequest) SetMemo(v string) *AdjustCourseRequest {
	s.Memo = &v
	return s
}

func (s *AdjustCourseRequest) SetSchoolYear(v string) *AdjustCourseRequest {
	s.SchoolYear = &v
	return s
}

func (s *AdjustCourseRequest) SetSemester(v int32) *AdjustCourseRequest {
	s.Semester = &v
	return s
}

func (s *AdjustCourseRequest) SetStartTime(v int64) *AdjustCourseRequest {
	s.StartTime = &v
	return s
}

func (s *AdjustCourseRequest) SetStatus(v int32) *AdjustCourseRequest {
	s.Status = &v
	return s
}

func (s *AdjustCourseRequest) SetTeachWeek(v int32) *AdjustCourseRequest {
	s.TeachWeek = &v
	return s
}

func (s *AdjustCourseRequest) SetTimeslotName(v string) *AdjustCourseRequest {
	s.TimeslotName = &v
	return s
}

func (s *AdjustCourseRequest) SetTimeslotNum(v int32) *AdjustCourseRequest {
	s.TimeslotNum = &v
	return s
}

func (s *AdjustCourseRequest) SetType(v int32) *AdjustCourseRequest {
	s.Type = &v
	return s
}

type AdjustCourseResponseBody struct {
	Result  *int64 `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AdjustCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AdjustCourseResponseBody) GoString() string {
	return s.String()
}

func (s *AdjustCourseResponseBody) SetResult(v int64) *AdjustCourseResponseBody {
	s.Result = &v
	return s
}

func (s *AdjustCourseResponseBody) SetSuccess(v bool) *AdjustCourseResponseBody {
	s.Success = &v
	return s
}

type AdjustCourseResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AdjustCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AdjustCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s AdjustCourseResponse) GoString() string {
	return s.String()
}

func (s *AdjustCourseResponse) SetHeaders(v map[string]*string) *AdjustCourseResponse {
	s.Headers = v
	return s
}

func (s *AdjustCourseResponse) SetStatusCode(v int32) *AdjustCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *AdjustCourseResponse) SetBody(v *AdjustCourseResponseBody) *AdjustCourseResponse {
	s.Body = v
	return s
}

type AdjustKitHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AdjustKitHeaders) String() string {
	return tea.Prettify(s)
}

func (s AdjustKitHeaders) GoString() string {
	return s.String()
}

func (s *AdjustKitHeaders) SetCommonHeaders(v map[string]*string) *AdjustKitHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AdjustKitHeaders) SetXAcsDingtalkAccessToken(v string) *AdjustKitHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AdjustKitRequest struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course
	IsvProductScene *string `json:"isvProductScene,omitempty" xml:"isvProductScene,omitempty"`
	// example:
	//
	// 0
	OpenEndTime *int64 `json:"openEndTime,omitempty" xml:"openEndTime,omitempty"`
	// example:
	//
	// 0
	OpenStartTime *int64 `json:"openStartTime,omitempty" xml:"openStartTime,omitempty"`
	// example:
	//
	// staffxxx
	OpenUserId *string `json:"openUserId,omitempty" xml:"openUserId,omitempty"`
}

func (s AdjustKitRequest) String() string {
	return tea.Prettify(s)
}

func (s AdjustKitRequest) GoString() string {
	return s.String()
}

func (s *AdjustKitRequest) SetAttributes(v string) *AdjustKitRequest {
	s.Attributes = &v
	return s
}

func (s *AdjustKitRequest) SetCorpId(v string) *AdjustKitRequest {
	s.CorpId = &v
	return s
}

func (s *AdjustKitRequest) SetIsvCode(v string) *AdjustKitRequest {
	s.IsvCode = &v
	return s
}

func (s *AdjustKitRequest) SetIsvProductScene(v string) *AdjustKitRequest {
	s.IsvProductScene = &v
	return s
}

func (s *AdjustKitRequest) SetOpenEndTime(v int64) *AdjustKitRequest {
	s.OpenEndTime = &v
	return s
}

func (s *AdjustKitRequest) SetOpenStartTime(v int64) *AdjustKitRequest {
	s.OpenStartTime = &v
	return s
}

func (s *AdjustKitRequest) SetOpenUserId(v string) *AdjustKitRequest {
	s.OpenUserId = &v
	return s
}

type AdjustKitResponseBody struct {
	Result  *int64 `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AdjustKitResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AdjustKitResponseBody) GoString() string {
	return s.String()
}

func (s *AdjustKitResponseBody) SetResult(v int64) *AdjustKitResponseBody {
	s.Result = &v
	return s
}

func (s *AdjustKitResponseBody) SetSuccess(v bool) *AdjustKitResponseBody {
	s.Success = &v
	return s
}

type AdjustKitResponse struct {
	Headers    map[string]*string     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AdjustKitResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AdjustKitResponse) String() string {
	return tea.Prettify(s)
}

func (s AdjustKitResponse) GoString() string {
	return s.String()
}

func (s *AdjustKitResponse) SetHeaders(v map[string]*string) *AdjustKitResponse {
	s.Headers = v
	return s
}

func (s *AdjustKitResponse) SetStatusCode(v int32) *AdjustKitResponse {
	s.StatusCode = &v
	return s
}

func (s *AdjustKitResponse) SetBody(v *AdjustKitResponseBody) *AdjustKitResponse {
	s.Body = v
	return s
}

type AssignClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s AssignClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s AssignClassHeaders) GoString() string {
	return s.String()
}

func (s *AssignClassHeaders) SetCommonHeaders(v map[string]*string) *AssignClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *AssignClassHeaders) SetXAcsDingtalkAccessToken(v string) *AssignClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type AssignClassRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 353534
	ClassId  *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	IsFinish *bool  `json:"isFinish,omitempty" xml:"isFinish,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// staff234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 675656
	StudentId *int64 `json:"studentId,omitempty" xml:"studentId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 4240028
	TaskId *int64 `json:"taskId,omitempty" xml:"taskId,omitempty"`
}

func (s AssignClassRequest) String() string {
	return tea.Prettify(s)
}

func (s AssignClassRequest) GoString() string {
	return s.String()
}

func (s *AssignClassRequest) SetClassId(v int64) *AssignClassRequest {
	s.ClassId = &v
	return s
}

func (s *AssignClassRequest) SetIsFinish(v bool) *AssignClassRequest {
	s.IsFinish = &v
	return s
}

func (s *AssignClassRequest) SetOperator(v string) *AssignClassRequest {
	s.Operator = &v
	return s
}

func (s *AssignClassRequest) SetStudentId(v int64) *AssignClassRequest {
	s.StudentId = &v
	return s
}

func (s *AssignClassRequest) SetTaskId(v int64) *AssignClassRequest {
	s.TaskId = &v
	return s
}

type AssignClassResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s AssignClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s AssignClassResponseBody) GoString() string {
	return s.String()
}

func (s *AssignClassResponseBody) SetSuccess(v bool) *AssignClassResponseBody {
	s.Success = &v
	return s
}

type AssignClassResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *AssignClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s AssignClassResponse) String() string {
	return tea.Prettify(s)
}

func (s AssignClassResponse) GoString() string {
	return s.String()
}

func (s *AssignClassResponse) SetHeaders(v map[string]*string) *AssignClassResponse {
	s.Headers = v
	return s
}

func (s *AssignClassResponse) SetStatusCode(v int32) *AssignClassResponse {
	s.StatusCode = &v
	return s
}

func (s *AssignClassResponse) SetBody(v *AssignClassResponseBody) *AssignClassResponse {
	s.Body = v
	return s
}

type BatchCreateHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s BatchCreateHeaders) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateHeaders) GoString() string {
	return s.String()
}

func (s *BatchCreateHeaders) SetCommonHeaders(v map[string]*string) *BatchCreateHeaders {
	s.CommonHeaders = v
	return s
}

func (s *BatchCreateHeaders) SetXAcsDingtalkAccessToken(v string) *BatchCreateHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type BatchCreateRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// industry_center
	CardBizCode *string `json:"cardBizCode,omitempty" xml:"cardBizCode,omitempty"`
	// This parameter is required.
	Data *BatchCreateRequestData `json:"data,omitempty" xml:"data,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// AFC35F13-8A88-728F-27C5-3616AD7DFF2E
	Identifier *string `json:"identifier,omitempty" xml:"identifier,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 4
	JsVersion *int32 `json:"jsVersion,omitempty" xml:"jsVersion,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// QUPEIYIN
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
	Userid     *string `json:"userid,omitempty" xml:"userid,omitempty"`
}

func (s BatchCreateRequest) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateRequest) GoString() string {
	return s.String()
}

func (s *BatchCreateRequest) SetCardBizCode(v string) *BatchCreateRequest {
	s.CardBizCode = &v
	return s
}

func (s *BatchCreateRequest) SetData(v *BatchCreateRequestData) *BatchCreateRequest {
	s.Data = v
	return s
}

func (s *BatchCreateRequest) SetIdentifier(v string) *BatchCreateRequest {
	s.Identifier = &v
	return s
}

func (s *BatchCreateRequest) SetJsVersion(v int32) *BatchCreateRequest {
	s.JsVersion = &v
	return s
}

func (s *BatchCreateRequest) SetSourceType(v string) *BatchCreateRequest {
	s.SourceType = &v
	return s
}

func (s *BatchCreateRequest) SetUserid(v string) *BatchCreateRequest {
	s.Userid = &v
	return s
}

type BatchCreateRequestData struct {
	// example:
	//
	// true
	CanReissueCard *bool `json:"canReissueCard,omitempty" xml:"canReissueCard,omitempty"`
	// example:
	//
	// 3
	CardCycle *int32 `json:"cardCycle,omitempty" xml:"cardCycle,omitempty"`
	// This parameter is required.
	CardFrequency []*int32 `json:"cardFrequency,omitempty" xml:"cardFrequency,omitempty" type:"Repeated"`
	// This parameter is required.
	CardRuleItemParamList []*BatchCreateRequestDataCardRuleItemParamList `json:"cardRuleItemParamList,omitempty" xml:"cardRuleItemParamList,omitempty" type:"Repeated"`
	ClassIds              []*string                                      `json:"classIds,omitempty" xml:"classIds,omitempty" type:"Repeated"`
	ClassNames            []*string                                      `json:"classNames,omitempty" xml:"classNames,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 打卡的内容
	Content      *string `json:"content,omitempty" xml:"content,omitempty"`
	EffectDate   *int64  `json:"effectDate,omitempty" xml:"effectDate,omitempty"`
	Medias       *string `json:"medias,omitempty" xml:"medias,omitempty"`
	NeedMetering *string `json:"needMetering,omitempty" xml:"needMetering,omitempty"`
	// This parameter is required.
	OrgClassStudentGroupList []*BatchCreateRequestDataOrgClassStudentGroupList `json:"orgClassStudentGroupList,omitempty" xml:"orgClassStudentGroupList,omitempty" type:"Repeated"`
	// This parameter is required.
	RemindHour *int32 `json:"remindHour,omitempty" xml:"remindHour,omitempty"`
	// This parameter is required.
	RemindMinute *int32  `json:"remindMinute,omitempty" xml:"remindMinute,omitempty"`
	TargetRole   *string `json:"targetRole,omitempty" xml:"targetRole,omitempty"`
	TemplateId   *int64  `json:"templateId,omitempty" xml:"templateId,omitempty"`
	// This parameter is required.
	Title             *string `json:"title,omitempty" xml:"title,omitempty"`
	UnitOfMeasurement *string `json:"unitOfMeasurement,omitempty" xml:"unitOfMeasurement,omitempty"`
}

func (s BatchCreateRequestData) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateRequestData) GoString() string {
	return s.String()
}

func (s *BatchCreateRequestData) SetCanReissueCard(v bool) *BatchCreateRequestData {
	s.CanReissueCard = &v
	return s
}

func (s *BatchCreateRequestData) SetCardCycle(v int32) *BatchCreateRequestData {
	s.CardCycle = &v
	return s
}

func (s *BatchCreateRequestData) SetCardFrequency(v []*int32) *BatchCreateRequestData {
	s.CardFrequency = v
	return s
}

func (s *BatchCreateRequestData) SetCardRuleItemParamList(v []*BatchCreateRequestDataCardRuleItemParamList) *BatchCreateRequestData {
	s.CardRuleItemParamList = v
	return s
}

func (s *BatchCreateRequestData) SetClassIds(v []*string) *BatchCreateRequestData {
	s.ClassIds = v
	return s
}

func (s *BatchCreateRequestData) SetClassNames(v []*string) *BatchCreateRequestData {
	s.ClassNames = v
	return s
}

func (s *BatchCreateRequestData) SetContent(v string) *BatchCreateRequestData {
	s.Content = &v
	return s
}

func (s *BatchCreateRequestData) SetEffectDate(v int64) *BatchCreateRequestData {
	s.EffectDate = &v
	return s
}

func (s *BatchCreateRequestData) SetMedias(v string) *BatchCreateRequestData {
	s.Medias = &v
	return s
}

func (s *BatchCreateRequestData) SetNeedMetering(v string) *BatchCreateRequestData {
	s.NeedMetering = &v
	return s
}

func (s *BatchCreateRequestData) SetOrgClassStudentGroupList(v []*BatchCreateRequestDataOrgClassStudentGroupList) *BatchCreateRequestData {
	s.OrgClassStudentGroupList = v
	return s
}

func (s *BatchCreateRequestData) SetRemindHour(v int32) *BatchCreateRequestData {
	s.RemindHour = &v
	return s
}

func (s *BatchCreateRequestData) SetRemindMinute(v int32) *BatchCreateRequestData {
	s.RemindMinute = &v
	return s
}

func (s *BatchCreateRequestData) SetTargetRole(v string) *BatchCreateRequestData {
	s.TargetRole = &v
	return s
}

func (s *BatchCreateRequestData) SetTemplateId(v int64) *BatchCreateRequestData {
	s.TemplateId = &v
	return s
}

func (s *BatchCreateRequestData) SetTitle(v string) *BatchCreateRequestData {
	s.Title = &v
	return s
}

func (s *BatchCreateRequestData) SetUnitOfMeasurement(v string) *BatchCreateRequestData {
	s.UnitOfMeasurement = &v
	return s
}

type BatchCreateRequestDataCardRuleItemParamList struct {
	CardRuleAttr  *string `json:"cardRuleAttr,omitempty" xml:"cardRuleAttr,omitempty"`
	CardTaskCode  *string `json:"cardTaskCode,omitempty" xml:"cardTaskCode,omitempty"`
	DailyDubbing  *int32  `json:"dailyDubbing,omitempty" xml:"dailyDubbing,omitempty"`
	RelationId    *string `json:"relationId,omitempty" xml:"relationId,omitempty"`
	RelationTitle *string `json:"relationTitle,omitempty" xml:"relationTitle,omitempty"`
	RelationUrl   *string `json:"relationUrl,omitempty" xml:"relationUrl,omitempty"`
}

func (s BatchCreateRequestDataCardRuleItemParamList) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateRequestDataCardRuleItemParamList) GoString() string {
	return s.String()
}

func (s *BatchCreateRequestDataCardRuleItemParamList) SetCardRuleAttr(v string) *BatchCreateRequestDataCardRuleItemParamList {
	s.CardRuleAttr = &v
	return s
}

func (s *BatchCreateRequestDataCardRuleItemParamList) SetCardTaskCode(v string) *BatchCreateRequestDataCardRuleItemParamList {
	s.CardTaskCode = &v
	return s
}

func (s *BatchCreateRequestDataCardRuleItemParamList) SetDailyDubbing(v int32) *BatchCreateRequestDataCardRuleItemParamList {
	s.DailyDubbing = &v
	return s
}

func (s *BatchCreateRequestDataCardRuleItemParamList) SetRelationId(v string) *BatchCreateRequestDataCardRuleItemParamList {
	s.RelationId = &v
	return s
}

func (s *BatchCreateRequestDataCardRuleItemParamList) SetRelationTitle(v string) *BatchCreateRequestDataCardRuleItemParamList {
	s.RelationTitle = &v
	return s
}

func (s *BatchCreateRequestDataCardRuleItemParamList) SetRelationUrl(v string) *BatchCreateRequestDataCardRuleItemParamList {
	s.RelationUrl = &v
	return s
}

type BatchCreateRequestDataOrgClassStudentGroupList struct {
	ClassList []*BatchCreateRequestDataOrgClassStudentGroupListClassList `json:"classList,omitempty" xml:"classList,omitempty" type:"Repeated"`
	CorpId    *string                                                    `json:"corpId,omitempty" xml:"corpId,omitempty"`
}

func (s BatchCreateRequestDataOrgClassStudentGroupList) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateRequestDataOrgClassStudentGroupList) GoString() string {
	return s.String()
}

func (s *BatchCreateRequestDataOrgClassStudentGroupList) SetClassList(v []*BatchCreateRequestDataOrgClassStudentGroupListClassList) *BatchCreateRequestDataOrgClassStudentGroupList {
	s.ClassList = v
	return s
}

func (s *BatchCreateRequestDataOrgClassStudentGroupList) SetCorpId(v string) *BatchCreateRequestDataOrgClassStudentGroupList {
	s.CorpId = &v
	return s
}

type BatchCreateRequestDataOrgClassStudentGroupListClassList struct {
	ClassId   *int64                                                             `json:"classId,omitempty" xml:"classId,omitempty"`
	ClassName *string                                                            `json:"className,omitempty" xml:"className,omitempty"`
	Students  []*BatchCreateRequestDataOrgClassStudentGroupListClassListStudents `json:"students,omitempty" xml:"students,omitempty" type:"Repeated"`
}

func (s BatchCreateRequestDataOrgClassStudentGroupListClassList) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateRequestDataOrgClassStudentGroupListClassList) GoString() string {
	return s.String()
}

func (s *BatchCreateRequestDataOrgClassStudentGroupListClassList) SetClassId(v int64) *BatchCreateRequestDataOrgClassStudentGroupListClassList {
	s.ClassId = &v
	return s
}

func (s *BatchCreateRequestDataOrgClassStudentGroupListClassList) SetClassName(v string) *BatchCreateRequestDataOrgClassStudentGroupListClassList {
	s.ClassName = &v
	return s
}

func (s *BatchCreateRequestDataOrgClassStudentGroupListClassList) SetStudents(v []*BatchCreateRequestDataOrgClassStudentGroupListClassListStudents) *BatchCreateRequestDataOrgClassStudentGroupListClassList {
	s.Students = v
	return s
}

type BatchCreateRequestDataOrgClassStudentGroupListClassListStudents struct {
	Name    *string `json:"name,omitempty" xml:"name,omitempty"`
	StaffId *string `json:"staffId,omitempty" xml:"staffId,omitempty"`
}

func (s BatchCreateRequestDataOrgClassStudentGroupListClassListStudents) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateRequestDataOrgClassStudentGroupListClassListStudents) GoString() string {
	return s.String()
}

func (s *BatchCreateRequestDataOrgClassStudentGroupListClassListStudents) SetName(v string) *BatchCreateRequestDataOrgClassStudentGroupListClassListStudents {
	s.Name = &v
	return s
}

func (s *BatchCreateRequestDataOrgClassStudentGroupListClassListStudents) SetStaffId(v string) *BatchCreateRequestDataOrgClassStudentGroupListClassListStudents {
	s.StaffId = &v
	return s
}

type BatchCreateResponseBody struct {
	Result *BatchCreateResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
}

func (s BatchCreateResponseBody) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateResponseBody) GoString() string {
	return s.String()
}

func (s *BatchCreateResponseBody) SetResult(v *BatchCreateResponseBodyResult) *BatchCreateResponseBody {
	s.Result = v
	return s
}

type BatchCreateResponseBodyResult struct {
	CorpIdCardIdMap map[string]*string `json:"corpIdCardIdMap,omitempty" xml:"corpIdCardIdMap,omitempty"`
}

func (s BatchCreateResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateResponseBodyResult) GoString() string {
	return s.String()
}

func (s *BatchCreateResponseBodyResult) SetCorpIdCardIdMap(v map[string]*string) *BatchCreateResponseBodyResult {
	s.CorpIdCardIdMap = v
	return s
}

type BatchCreateResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *BatchCreateResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s BatchCreateResponse) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateResponse) GoString() string {
	return s.String()
}

func (s *BatchCreateResponse) SetHeaders(v map[string]*string) *BatchCreateResponse {
	s.Headers = v
	return s
}

func (s *BatchCreateResponse) SetStatusCode(v int32) *BatchCreateResponse {
	s.StatusCode = &v
	return s
}

func (s *BatchCreateResponse) SetBody(v *BatchCreateResponseBody) *BatchCreateResponse {
	s.Body = v
	return s
}

type BatchCreateCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s BatchCreateCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateCourseHeaders) GoString() string {
	return s.String()
}

func (s *BatchCreateCourseHeaders) SetCommonHeaders(v map[string]*string) *BatchCreateCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *BatchCreateCourseHeaders) SetXAcsDingtalkAccessToken(v string) *BatchCreateCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type BatchCreateCourseRequest struct {
	// example:
	//
	// class_xxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// 1
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// ding_xxx
	CorpId               *string                                         `json:"corpId,omitempty" xml:"corpId,omitempty"`
	CourseDetailItemList []*BatchCreateCourseRequestCourseDetailItemList `json:"courseDetailItemList,omitempty" xml:"courseDetailItemList,omitempty" type:"Repeated"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// 2024
	SchoolYear *string `json:"schoolYear,omitempty" xml:"schoolYear,omitempty"`
	// example:
	//
	// 1
	Semester *int32 `json:"semester,omitempty" xml:"semester,omitempty"`
}

func (s BatchCreateCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateCourseRequest) GoString() string {
	return s.String()
}

func (s *BatchCreateCourseRequest) SetClassId(v string) *BatchCreateCourseRequest {
	s.ClassId = &v
	return s
}

func (s *BatchCreateCourseRequest) SetClassName(v string) *BatchCreateCourseRequest {
	s.ClassName = &v
	return s
}

func (s *BatchCreateCourseRequest) SetClassType(v int32) *BatchCreateCourseRequest {
	s.ClassType = &v
	return s
}

func (s *BatchCreateCourseRequest) SetCorpId(v string) *BatchCreateCourseRequest {
	s.CorpId = &v
	return s
}

func (s *BatchCreateCourseRequest) SetCourseDetailItemList(v []*BatchCreateCourseRequestCourseDetailItemList) *BatchCreateCourseRequest {
	s.CourseDetailItemList = v
	return s
}

func (s *BatchCreateCourseRequest) SetIsvCode(v string) *BatchCreateCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *BatchCreateCourseRequest) SetSchoolYear(v string) *BatchCreateCourseRequest {
	s.SchoolYear = &v
	return s
}

func (s *BatchCreateCourseRequest) SetSemester(v int32) *BatchCreateCourseRequest {
	s.Semester = &v
	return s
}

type BatchCreateCourseRequestCourseDetailItemList struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// classroom_xxx
	ClassRoomId *string `json:"classRoomId,omitempty" xml:"classRoomId,omitempty"`
	// example:
	//
	// 音乐教室
	ClassRoomName *string `json:"classRoomName,omitempty" xml:"classRoomName,omitempty"`
	// example:
	//
	// courseCode_xxx
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// 0
	CourseDate *int64 `json:"courseDate,omitempty" xml:"courseDate,omitempty"`
	// example:
	//
	// 语言
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// example:
	//
	// 1
	CourseWeek *int32 `json:"courseWeek,omitempty" xml:"courseWeek,omitempty"`
	// example:
	//
	// 0
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// example:
	//
	// courseId_xxx
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
	// example:
	//
	// memo_xxx
	Memo *string `json:"memo,omitempty" xml:"memo,omitempty"`
	// example:
	//
	// 0
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 1
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// 1
	TeachWeek   *int32                                                     `json:"teachWeek,omitempty" xml:"teachWeek,omitempty"`
	TeacherList []*BatchCreateCourseRequestCourseDetailItemListTeacherList `json:"teacherList,omitempty" xml:"teacherList,omitempty" type:"Repeated"`
	// example:
	//
	// 第一节
	TimeslotName *string `json:"timeslotName,omitempty" xml:"timeslotName,omitempty"`
	// example:
	//
	// 1
	TimeslotNum *int32 `json:"timeslotNum,omitempty" xml:"timeslotNum,omitempty"`
	// example:
	//
	// 1
	Type *int32 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s BatchCreateCourseRequestCourseDetailItemList) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateCourseRequestCourseDetailItemList) GoString() string {
	return s.String()
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetAttributes(v string) *BatchCreateCourseRequestCourseDetailItemList {
	s.Attributes = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetClassRoomId(v string) *BatchCreateCourseRequestCourseDetailItemList {
	s.ClassRoomId = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetClassRoomName(v string) *BatchCreateCourseRequestCourseDetailItemList {
	s.ClassRoomName = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetCourseCode(v string) *BatchCreateCourseRequestCourseDetailItemList {
	s.CourseCode = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetCourseDate(v int64) *BatchCreateCourseRequestCourseDetailItemList {
	s.CourseDate = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetCourseName(v string) *BatchCreateCourseRequestCourseDetailItemList {
	s.CourseName = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetCourseWeek(v int32) *BatchCreateCourseRequestCourseDetailItemList {
	s.CourseWeek = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetEndTime(v int64) *BatchCreateCourseRequestCourseDetailItemList {
	s.EndTime = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetIsvCourseId(v string) *BatchCreateCourseRequestCourseDetailItemList {
	s.IsvCourseId = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetMemo(v string) *BatchCreateCourseRequestCourseDetailItemList {
	s.Memo = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetStartTime(v int64) *BatchCreateCourseRequestCourseDetailItemList {
	s.StartTime = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetStatus(v int32) *BatchCreateCourseRequestCourseDetailItemList {
	s.Status = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetTeachWeek(v int32) *BatchCreateCourseRequestCourseDetailItemList {
	s.TeachWeek = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetTeacherList(v []*BatchCreateCourseRequestCourseDetailItemListTeacherList) *BatchCreateCourseRequestCourseDetailItemList {
	s.TeacherList = v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetTimeslotName(v string) *BatchCreateCourseRequestCourseDetailItemList {
	s.TimeslotName = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetTimeslotNum(v int32) *BatchCreateCourseRequestCourseDetailItemList {
	s.TimeslotNum = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemList) SetType(v int32) *BatchCreateCourseRequestCourseDetailItemList {
	s.Type = &v
	return s
}

type BatchCreateCourseRequestCourseDetailItemListTeacherList struct {
	// example:
	//
	// 李老师
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// example:
	//
	// staff_xxx
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s BatchCreateCourseRequestCourseDetailItemListTeacherList) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateCourseRequestCourseDetailItemListTeacherList) GoString() string {
	return s.String()
}

func (s *BatchCreateCourseRequestCourseDetailItemListTeacherList) SetTeacherName(v string) *BatchCreateCourseRequestCourseDetailItemListTeacherList {
	s.TeacherName = &v
	return s
}

func (s *BatchCreateCourseRequestCourseDetailItemListTeacherList) SetTeacherUserId(v string) *BatchCreateCourseRequestCourseDetailItemListTeacherList {
	s.TeacherUserId = &v
	return s
}

type BatchCreateCourseResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s BatchCreateCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateCourseResponseBody) GoString() string {
	return s.String()
}

func (s *BatchCreateCourseResponseBody) SetResult(v bool) *BatchCreateCourseResponseBody {
	s.Result = &v
	return s
}

func (s *BatchCreateCourseResponseBody) SetSuccess(v bool) *BatchCreateCourseResponseBody {
	s.Success = &v
	return s
}

type BatchCreateCourseResponse struct {
	Headers    map[string]*string             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *BatchCreateCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s BatchCreateCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateCourseResponse) GoString() string {
	return s.String()
}

func (s *BatchCreateCourseResponse) SetHeaders(v map[string]*string) *BatchCreateCourseResponse {
	s.Headers = v
	return s
}

func (s *BatchCreateCourseResponse) SetStatusCode(v int32) *BatchCreateCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *BatchCreateCourseResponse) SetBody(v *BatchCreateCourseResponseBody) *BatchCreateCourseResponse {
	s.Body = v
	return s
}

type BatchCreateStudentClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s BatchCreateStudentClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateStudentClassHeaders) GoString() string {
	return s.String()
}

func (s *BatchCreateStudentClassHeaders) SetCommonHeaders(v map[string]*string) *BatchCreateStudentClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *BatchCreateStudentClassHeaders) SetXAcsDingtalkAccessToken(v string) *BatchCreateStudentClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type BatchCreateStudentClassRequest struct {
	// example:
	//
	// classxxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// 1
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode     *string                                      `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	StudentList []*BatchCreateStudentClassRequestStudentList `json:"studentList,omitempty" xml:"studentList,omitempty" type:"Repeated"`
}

func (s BatchCreateStudentClassRequest) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateStudentClassRequest) GoString() string {
	return s.String()
}

func (s *BatchCreateStudentClassRequest) SetClassId(v string) *BatchCreateStudentClassRequest {
	s.ClassId = &v
	return s
}

func (s *BatchCreateStudentClassRequest) SetClassName(v string) *BatchCreateStudentClassRequest {
	s.ClassName = &v
	return s
}

func (s *BatchCreateStudentClassRequest) SetClassType(v int32) *BatchCreateStudentClassRequest {
	s.ClassType = &v
	return s
}

func (s *BatchCreateStudentClassRequest) SetCorpId(v string) *BatchCreateStudentClassRequest {
	s.CorpId = &v
	return s
}

func (s *BatchCreateStudentClassRequest) SetIsvCode(v string) *BatchCreateStudentClassRequest {
	s.IsvCode = &v
	return s
}

func (s *BatchCreateStudentClassRequest) SetStudentList(v []*BatchCreateStudentClassRequestStudentList) *BatchCreateStudentClassRequest {
	s.StudentList = v
	return s
}

type BatchCreateStudentClassRequestStudentList struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// 小明
	StudentName *string `json:"studentName,omitempty" xml:"studentName,omitempty"`
	// example:
	//
	// studentxxx
	StudentUserId *string `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
}

func (s BatchCreateStudentClassRequestStudentList) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateStudentClassRequestStudentList) GoString() string {
	return s.String()
}

func (s *BatchCreateStudentClassRequestStudentList) SetAttributes(v string) *BatchCreateStudentClassRequestStudentList {
	s.Attributes = &v
	return s
}

func (s *BatchCreateStudentClassRequestStudentList) SetStudentName(v string) *BatchCreateStudentClassRequestStudentList {
	s.StudentName = &v
	return s
}

func (s *BatchCreateStudentClassRequestStudentList) SetStudentUserId(v string) *BatchCreateStudentClassRequestStudentList {
	s.StudentUserId = &v
	return s
}

type BatchCreateStudentClassResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s BatchCreateStudentClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateStudentClassResponseBody) GoString() string {
	return s.String()
}

func (s *BatchCreateStudentClassResponseBody) SetResult(v bool) *BatchCreateStudentClassResponseBody {
	s.Result = &v
	return s
}

func (s *BatchCreateStudentClassResponseBody) SetSuccess(v bool) *BatchCreateStudentClassResponseBody {
	s.Success = &v
	return s
}

type BatchCreateStudentClassResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *BatchCreateStudentClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s BatchCreateStudentClassResponse) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateStudentClassResponse) GoString() string {
	return s.String()
}

func (s *BatchCreateStudentClassResponse) SetHeaders(v map[string]*string) *BatchCreateStudentClassResponse {
	s.Headers = v
	return s
}

func (s *BatchCreateStudentClassResponse) SetStatusCode(v int32) *BatchCreateStudentClassResponse {
	s.StatusCode = &v
	return s
}

func (s *BatchCreateStudentClassResponse) SetBody(v *BatchCreateStudentClassResponseBody) *BatchCreateStudentClassResponse {
	s.Body = v
	return s
}

type BatchCreateTeacherCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s BatchCreateTeacherCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateTeacherCourseHeaders) GoString() string {
	return s.String()
}

func (s *BatchCreateTeacherCourseHeaders) SetCommonHeaders(v map[string]*string) *BatchCreateTeacherCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *BatchCreateTeacherCourseHeaders) SetXAcsDingtalkAccessToken(v string) *BatchCreateTeacherCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type BatchCreateTeacherCourseRequest struct {
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode                     *string                                                       `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	TeacherCourseDetailItemList []*BatchCreateTeacherCourseRequestTeacherCourseDetailItemList `json:"teacherCourseDetailItemList,omitempty" xml:"teacherCourseDetailItemList,omitempty" type:"Repeated"`
	// example:
	//
	// 李老师
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// example:
	//
	// staffxxx
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s BatchCreateTeacherCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateTeacherCourseRequest) GoString() string {
	return s.String()
}

func (s *BatchCreateTeacherCourseRequest) SetCorpId(v string) *BatchCreateTeacherCourseRequest {
	s.CorpId = &v
	return s
}

func (s *BatchCreateTeacherCourseRequest) SetIsvCode(v string) *BatchCreateTeacherCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *BatchCreateTeacherCourseRequest) SetTeacherCourseDetailItemList(v []*BatchCreateTeacherCourseRequestTeacherCourseDetailItemList) *BatchCreateTeacherCourseRequest {
	s.TeacherCourseDetailItemList = v
	return s
}

func (s *BatchCreateTeacherCourseRequest) SetTeacherName(v string) *BatchCreateTeacherCourseRequest {
	s.TeacherName = &v
	return s
}

func (s *BatchCreateTeacherCourseRequest) SetTeacherUserId(v string) *BatchCreateTeacherCourseRequest {
	s.TeacherUserId = &v
	return s
}

type BatchCreateTeacherCourseRequestTeacherCourseDetailItemList struct {
	// example:
	//
	// {"key":"value"}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// courseIdxxx
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
}

func (s BatchCreateTeacherCourseRequestTeacherCourseDetailItemList) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateTeacherCourseRequestTeacherCourseDetailItemList) GoString() string {
	return s.String()
}

func (s *BatchCreateTeacherCourseRequestTeacherCourseDetailItemList) SetAttributes(v string) *BatchCreateTeacherCourseRequestTeacherCourseDetailItemList {
	s.Attributes = &v
	return s
}

func (s *BatchCreateTeacherCourseRequestTeacherCourseDetailItemList) SetIsvCourseId(v string) *BatchCreateTeacherCourseRequestTeacherCourseDetailItemList {
	s.IsvCourseId = &v
	return s
}

type BatchCreateTeacherCourseResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s BatchCreateTeacherCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateTeacherCourseResponseBody) GoString() string {
	return s.String()
}

func (s *BatchCreateTeacherCourseResponseBody) SetResult(v bool) *BatchCreateTeacherCourseResponseBody {
	s.Result = &v
	return s
}

func (s *BatchCreateTeacherCourseResponseBody) SetSuccess(v bool) *BatchCreateTeacherCourseResponseBody {
	s.Success = &v
	return s
}

type BatchCreateTeacherCourseResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *BatchCreateTeacherCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s BatchCreateTeacherCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s BatchCreateTeacherCourseResponse) GoString() string {
	return s.String()
}

func (s *BatchCreateTeacherCourseResponse) SetHeaders(v map[string]*string) *BatchCreateTeacherCourseResponse {
	s.Headers = v
	return s
}

func (s *BatchCreateTeacherCourseResponse) SetStatusCode(v int32) *BatchCreateTeacherCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *BatchCreateTeacherCourseResponse) SetBody(v *BatchCreateTeacherCourseResponseBody) *BatchCreateTeacherCourseResponse {
	s.Body = v
	return s
}

type BatchInvalidCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s BatchInvalidCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s BatchInvalidCourseHeaders) GoString() string {
	return s.String()
}

func (s *BatchInvalidCourseHeaders) SetCommonHeaders(v map[string]*string) *BatchInvalidCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *BatchInvalidCourseHeaders) SetXAcsDingtalkAccessToken(v string) *BatchInvalidCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type BatchInvalidCourseRequest struct {
	// example:
	//
	// class_xxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// courseId
	IsvCourseId  *string   `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
	IsvCourseIds []*string `json:"isvCourseIds,omitempty" xml:"isvCourseIds,omitempty" type:"Repeated"`
}

func (s BatchInvalidCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s BatchInvalidCourseRequest) GoString() string {
	return s.String()
}

func (s *BatchInvalidCourseRequest) SetClassId(v string) *BatchInvalidCourseRequest {
	s.ClassId = &v
	return s
}

func (s *BatchInvalidCourseRequest) SetCorpId(v string) *BatchInvalidCourseRequest {
	s.CorpId = &v
	return s
}

func (s *BatchInvalidCourseRequest) SetIsvCode(v string) *BatchInvalidCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *BatchInvalidCourseRequest) SetIsvCourseId(v string) *BatchInvalidCourseRequest {
	s.IsvCourseId = &v
	return s
}

func (s *BatchInvalidCourseRequest) SetIsvCourseIds(v []*string) *BatchInvalidCourseRequest {
	s.IsvCourseIds = v
	return s
}

type BatchInvalidCourseResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s BatchInvalidCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s BatchInvalidCourseResponseBody) GoString() string {
	return s.String()
}

func (s *BatchInvalidCourseResponseBody) SetResult(v bool) *BatchInvalidCourseResponseBody {
	s.Result = &v
	return s
}

func (s *BatchInvalidCourseResponseBody) SetSuccess(v bool) *BatchInvalidCourseResponseBody {
	s.Success = &v
	return s
}

type BatchInvalidCourseResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *BatchInvalidCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s BatchInvalidCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s BatchInvalidCourseResponse) GoString() string {
	return s.String()
}

func (s *BatchInvalidCourseResponse) SetHeaders(v map[string]*string) *BatchInvalidCourseResponse {
	s.Headers = v
	return s
}

func (s *BatchInvalidCourseResponse) SetStatusCode(v int32) *BatchInvalidCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *BatchInvalidCourseResponse) SetBody(v *BatchInvalidCourseResponseBody) *BatchInvalidCourseResponse {
	s.Body = v
	return s
}

type BatchOrgCreateHWHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s BatchOrgCreateHWHeaders) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWHeaders) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWHeaders) SetCommonHeaders(v map[string]*string) *BatchOrgCreateHWHeaders {
	s.CommonHeaders = v
	return s
}

func (s *BatchOrgCreateHWHeaders) SetXAcsDingtalkAccessToken(v string) *BatchOrgCreateHWHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type BatchOrgCreateHWRequest struct {
	// This parameter is required.
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// This parameter is required.
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// This parameter is required.
	HwContent  *string `json:"hwContent,omitempty" xml:"hwContent,omitempty"`
	HwDeadline *int64  `json:"hwDeadline,omitempty" xml:"hwDeadline,omitempty"`
	// if can be null:
	// false
	//
	// example:
	//
	// Y
	HwDeadlineOpen *string `json:"hwDeadlineOpen,omitempty" xml:"hwDeadlineOpen,omitempty"`
	HwMedia        *string `json:"hwMedia,omitempty" xml:"hwMedia,omitempty"`
	HwPhoto        *string `json:"hwPhoto,omitempty" xml:"hwPhoto,omitempty"`
	// This parameter is required.
	HwTitle *string `json:"hwTitle,omitempty" xml:"hwTitle,omitempty"`
	HwType  *string `json:"hwType,omitempty" xml:"hwType,omitempty"`
	HwVideo *string `json:"hwVideo,omitempty" xml:"hwVideo,omitempty"`
	// This parameter is required.
	Identifier *string `json:"identifier,omitempty" xml:"identifier,omitempty"`
	// This parameter is required.
	OpenSelectItemList []*BatchOrgCreateHWRequestOpenSelectItemList `json:"openSelectItemList,omitempty" xml:"openSelectItemList,omitempty" type:"Repeated"`
	ScheduledRelease   *string                                      `json:"scheduledRelease,omitempty" xml:"scheduledRelease,omitempty"`
	ScheduledTime      *string                                      `json:"scheduledTime,omitempty" xml:"scheduledTime,omitempty"`
	// This parameter is required.
	Status     *string `json:"status,omitempty" xml:"status,omitempty"`
	TargetRole *string `json:"targetRole,omitempty" xml:"targetRole,omitempty"`
	// This parameter is required.
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// This parameter is required.
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s BatchOrgCreateHWRequest) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWRequest) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWRequest) SetAttributes(v string) *BatchOrgCreateHWRequest {
	s.Attributes = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetBizCode(v string) *BatchOrgCreateHWRequest {
	s.BizCode = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetCourseName(v string) *BatchOrgCreateHWRequest {
	s.CourseName = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetHwContent(v string) *BatchOrgCreateHWRequest {
	s.HwContent = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetHwDeadline(v int64) *BatchOrgCreateHWRequest {
	s.HwDeadline = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetHwDeadlineOpen(v string) *BatchOrgCreateHWRequest {
	s.HwDeadlineOpen = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetHwMedia(v string) *BatchOrgCreateHWRequest {
	s.HwMedia = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetHwPhoto(v string) *BatchOrgCreateHWRequest {
	s.HwPhoto = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetHwTitle(v string) *BatchOrgCreateHWRequest {
	s.HwTitle = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetHwType(v string) *BatchOrgCreateHWRequest {
	s.HwType = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetHwVideo(v string) *BatchOrgCreateHWRequest {
	s.HwVideo = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetIdentifier(v string) *BatchOrgCreateHWRequest {
	s.Identifier = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetOpenSelectItemList(v []*BatchOrgCreateHWRequestOpenSelectItemList) *BatchOrgCreateHWRequest {
	s.OpenSelectItemList = v
	return s
}

func (s *BatchOrgCreateHWRequest) SetScheduledRelease(v string) *BatchOrgCreateHWRequest {
	s.ScheduledRelease = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetScheduledTime(v string) *BatchOrgCreateHWRequest {
	s.ScheduledTime = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetStatus(v string) *BatchOrgCreateHWRequest {
	s.Status = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetTargetRole(v string) *BatchOrgCreateHWRequest {
	s.TargetRole = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetTeacherName(v string) *BatchOrgCreateHWRequest {
	s.TeacherName = &v
	return s
}

func (s *BatchOrgCreateHWRequest) SetTeacherUserId(v string) *BatchOrgCreateHWRequest {
	s.TeacherUserId = &v
	return s
}

type BatchOrgCreateHWRequestOpenSelectItemList struct {
	ClassList           []*BatchOrgCreateHWRequestOpenSelectItemListClassList `json:"classList,omitempty" xml:"classList,omitempty" type:"Repeated"`
	CorpId              *string                                               `json:"corpId,omitempty" xml:"corpId,omitempty"`
	SelectedClassesDesc *string                                               `json:"selectedClassesDesc,omitempty" xml:"selectedClassesDesc,omitempty"`
}

func (s BatchOrgCreateHWRequestOpenSelectItemList) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWRequestOpenSelectItemList) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWRequestOpenSelectItemList) SetClassList(v []*BatchOrgCreateHWRequestOpenSelectItemListClassList) *BatchOrgCreateHWRequestOpenSelectItemList {
	s.ClassList = v
	return s
}

func (s *BatchOrgCreateHWRequestOpenSelectItemList) SetCorpId(v string) *BatchOrgCreateHWRequestOpenSelectItemList {
	s.CorpId = &v
	return s
}

func (s *BatchOrgCreateHWRequestOpenSelectItemList) SetSelectedClassesDesc(v string) *BatchOrgCreateHWRequestOpenSelectItemList {
	s.SelectedClassesDesc = &v
	return s
}

type BatchOrgCreateHWRequestOpenSelectItemListClassList struct {
	All       *bool                                                         `json:"all,omitempty" xml:"all,omitempty"`
	ClassId   *string                                                       `json:"classId,omitempty" xml:"classId,omitempty"`
	ClassName *string                                                       `json:"className,omitempty" xml:"className,omitempty"`
	Students  []*BatchOrgCreateHWRequestOpenSelectItemListClassListStudents `json:"students,omitempty" xml:"students,omitempty" type:"Repeated"`
}

func (s BatchOrgCreateHWRequestOpenSelectItemListClassList) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWRequestOpenSelectItemListClassList) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWRequestOpenSelectItemListClassList) SetAll(v bool) *BatchOrgCreateHWRequestOpenSelectItemListClassList {
	s.All = &v
	return s
}

func (s *BatchOrgCreateHWRequestOpenSelectItemListClassList) SetClassId(v string) *BatchOrgCreateHWRequestOpenSelectItemListClassList {
	s.ClassId = &v
	return s
}

func (s *BatchOrgCreateHWRequestOpenSelectItemListClassList) SetClassName(v string) *BatchOrgCreateHWRequestOpenSelectItemListClassList {
	s.ClassName = &v
	return s
}

func (s *BatchOrgCreateHWRequestOpenSelectItemListClassList) SetStudents(v []*BatchOrgCreateHWRequestOpenSelectItemListClassListStudents) *BatchOrgCreateHWRequestOpenSelectItemListClassList {
	s.Students = v
	return s
}

type BatchOrgCreateHWRequestOpenSelectItemListClassListStudents struct {
	Avatar  *string `json:"avatar,omitempty" xml:"avatar,omitempty"`
	Name    *string `json:"name,omitempty" xml:"name,omitempty"`
	StaffId *string `json:"staffId,omitempty" xml:"staffId,omitempty"`
}

func (s BatchOrgCreateHWRequestOpenSelectItemListClassListStudents) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWRequestOpenSelectItemListClassListStudents) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWRequestOpenSelectItemListClassListStudents) SetAvatar(v string) *BatchOrgCreateHWRequestOpenSelectItemListClassListStudents {
	s.Avatar = &v
	return s
}

func (s *BatchOrgCreateHWRequestOpenSelectItemListClassListStudents) SetName(v string) *BatchOrgCreateHWRequestOpenSelectItemListClassListStudents {
	s.Name = &v
	return s
}

func (s *BatchOrgCreateHWRequestOpenSelectItemListClassListStudents) SetStaffId(v string) *BatchOrgCreateHWRequestOpenSelectItemListClassListStudents {
	s.StaffId = &v
	return s
}

type BatchOrgCreateHWResponseBody struct {
	Result *BatchOrgCreateHWResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
}

func (s BatchOrgCreateHWResponseBody) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWResponseBody) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWResponseBody) SetResult(v *BatchOrgCreateHWResponseBodyResult) *BatchOrgCreateHWResponseBody {
	s.Result = v
	return s
}

type BatchOrgCreateHWResponseBodyResult struct {
	PublishList []*BatchOrgCreateHWResponseBodyResultPublishList `json:"publishList,omitempty" xml:"publishList,omitempty" type:"Repeated"`
}

func (s BatchOrgCreateHWResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWResponseBodyResult) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWResponseBodyResult) SetPublishList(v []*BatchOrgCreateHWResponseBodyResultPublishList) *BatchOrgCreateHWResponseBodyResult {
	s.PublishList = v
	return s
}

type BatchOrgCreateHWResponseBodyResultPublishList struct {
	Corpid *string `json:"corpid,omitempty" xml:"corpid,omitempty"`
	Hwid   *int64  `json:"hwid,omitempty" xml:"hwid,omitempty"`
}

func (s BatchOrgCreateHWResponseBodyResultPublishList) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWResponseBodyResultPublishList) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWResponseBodyResultPublishList) SetCorpid(v string) *BatchOrgCreateHWResponseBodyResultPublishList {
	s.Corpid = &v
	return s
}

func (s *BatchOrgCreateHWResponseBodyResultPublishList) SetHwid(v int64) *BatchOrgCreateHWResponseBodyResultPublishList {
	s.Hwid = &v
	return s
}

type BatchOrgCreateHWResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *BatchOrgCreateHWResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s BatchOrgCreateHWResponse) String() string {
	return tea.Prettify(s)
}

func (s BatchOrgCreateHWResponse) GoString() string {
	return s.String()
}

func (s *BatchOrgCreateHWResponse) SetHeaders(v map[string]*string) *BatchOrgCreateHWResponse {
	s.Headers = v
	return s
}

func (s *BatchOrgCreateHWResponse) SetStatusCode(v int32) *BatchOrgCreateHWResponse {
	s.StatusCode = &v
	return s
}

func (s *BatchOrgCreateHWResponse) SetBody(v *BatchOrgCreateHWResponseBody) *BatchOrgCreateHWResponse {
	s.Body = v
	return s
}

type CancelKitTaskHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CancelKitTaskHeaders) String() string {
	return tea.Prettify(s)
}

func (s CancelKitTaskHeaders) GoString() string {
	return s.String()
}

func (s *CancelKitTaskHeaders) SetCommonHeaders(v map[string]*string) *CancelKitTaskHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CancelKitTaskHeaders) SetXAcsDingtalkAccessToken(v string) *CancelKitTaskHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CancelKitTaskRequest struct {
	// example:
	//
	// CARD_EVENT
	BizType *string `json:"bizType,omitempty" xml:"bizType,omitempty"`
	// example:
	//
	// ding12123
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 2023234234234
	Identifier *string `json:"identifier,omitempty" xml:"identifier,omitempty"`
	// example:
	//
	// CHENZHI
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
}

func (s CancelKitTaskRequest) String() string {
	return tea.Prettify(s)
}

func (s CancelKitTaskRequest) GoString() string {
	return s.String()
}

func (s *CancelKitTaskRequest) SetBizType(v string) *CancelKitTaskRequest {
	s.BizType = &v
	return s
}

func (s *CancelKitTaskRequest) SetCorpId(v string) *CancelKitTaskRequest {
	s.CorpId = &v
	return s
}

func (s *CancelKitTaskRequest) SetIdentifier(v string) *CancelKitTaskRequest {
	s.Identifier = &v
	return s
}

func (s *CancelKitTaskRequest) SetIsvCode(v string) *CancelKitTaskRequest {
	s.IsvCode = &v
	return s
}

type CancelKitTaskResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CancelKitTaskResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CancelKitTaskResponseBody) GoString() string {
	return s.String()
}

func (s *CancelKitTaskResponseBody) SetResult(v bool) *CancelKitTaskResponseBody {
	s.Result = &v
	return s
}

func (s *CancelKitTaskResponseBody) SetSuccess(v bool) *CancelKitTaskResponseBody {
	s.Success = &v
	return s
}

type CancelKitTaskResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CancelKitTaskResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CancelKitTaskResponse) String() string {
	return tea.Prettify(s)
}

func (s CancelKitTaskResponse) GoString() string {
	return s.String()
}

func (s *CancelKitTaskResponse) SetHeaders(v map[string]*string) *CancelKitTaskResponse {
	s.Headers = v
	return s
}

func (s *CancelKitTaskResponse) SetStatusCode(v int32) *CancelKitTaskResponse {
	s.StatusCode = &v
	return s
}

func (s *CancelKitTaskResponse) SetBody(v *CancelKitTaskResponseBody) *CancelKitTaskResponse {
	s.Body = v
	return s
}

type CancelOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CancelOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s CancelOrderHeaders) GoString() string {
	return s.String()
}

func (s *CancelOrderHeaders) SetCommonHeaders(v map[string]*string) *CancelOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CancelOrderHeaders) SetXAcsDingtalkAccessToken(v string) *CancelOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CancelOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123456
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123456
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// example:
	//
	// KSwZiSL1O7DiUNwjV168j3cP9ktp4bJTi5OQxAXre26KyBXza7+gCl/g1d0K3n3+9JhMqc2fUjBiENcAELw3Jb5xO/zslOeV4qFoMQfzW51+sdL/SSZCYvXEMhu9P6FAPhGZQ3vu6gr3oxUAXPIpWNb+sIfzR9epumoOXYeofH8=
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123456
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// example:
	//
	// 1644413947909
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123456
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CancelOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s CancelOrderRequest) GoString() string {
	return s.String()
}

func (s *CancelOrderRequest) SetFaceId(v string) *CancelOrderRequest {
	s.FaceId = &v
	return s
}

func (s *CancelOrderRequest) SetOrderNo(v string) *CancelOrderRequest {
	s.OrderNo = &v
	return s
}

func (s *CancelOrderRequest) SetSignature(v string) *CancelOrderRequest {
	s.Signature = &v
	return s
}

func (s *CancelOrderRequest) SetSn(v string) *CancelOrderRequest {
	s.Sn = &v
	return s
}

func (s *CancelOrderRequest) SetTimestamp(v int64) *CancelOrderRequest {
	s.Timestamp = &v
	return s
}

func (s *CancelOrderRequest) SetUserId(v string) *CancelOrderRequest {
	s.UserId = &v
	return s
}

type CancelOrderResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// false
	NeedRetry *bool `json:"needRetry,omitempty" xml:"needRetry,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// refund
	TradeAction *string `json:"tradeAction,omitempty" xml:"tradeAction,omitempty"`
}

func (s CancelOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CancelOrderResponseBody) GoString() string {
	return s.String()
}

func (s *CancelOrderResponseBody) SetNeedRetry(v bool) *CancelOrderResponseBody {
	s.NeedRetry = &v
	return s
}

func (s *CancelOrderResponseBody) SetTradeAction(v string) *CancelOrderResponseBody {
	s.TradeAction = &v
	return s
}

type CancelOrderResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CancelOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CancelOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s CancelOrderResponse) GoString() string {
	return s.String()
}

func (s *CancelOrderResponse) SetHeaders(v map[string]*string) *CancelOrderResponse {
	s.Headers = v
	return s
}

func (s *CancelOrderResponse) SetStatusCode(v int32) *CancelOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *CancelOrderResponse) SetBody(v *CancelOrderResponseBody) *CancelOrderResponse {
	s.Body = v
	return s
}

type CancelSnsOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CancelSnsOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s CancelSnsOrderHeaders) GoString() string {
	return s.String()
}

func (s *CancelSnsOrderHeaders) SetCommonHeaders(v map[string]*string) *CancelSnsOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CancelSnsOrderHeaders) SetXAcsDingtalkAccessToken(v string) *CancelSnsOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CancelSnsOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123400
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// CM000001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// WWrhziOLF/XuRd3IyKwLkLeSFgKnUfeg2yLEVD9Bw+8
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100000
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
}

func (s CancelSnsOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s CancelSnsOrderRequest) GoString() string {
	return s.String()
}

func (s *CancelSnsOrderRequest) SetAlipayAppId(v string) *CancelSnsOrderRequest {
	s.AlipayAppId = &v
	return s
}

func (s *CancelSnsOrderRequest) SetMerchantId(v string) *CancelSnsOrderRequest {
	s.MerchantId = &v
	return s
}

func (s *CancelSnsOrderRequest) SetOrderNo(v string) *CancelSnsOrderRequest {
	s.OrderNo = &v
	return s
}

func (s *CancelSnsOrderRequest) SetSignature(v string) *CancelSnsOrderRequest {
	s.Signature = &v
	return s
}

func (s *CancelSnsOrderRequest) SetTimestamp(v int64) *CancelSnsOrderRequest {
	s.Timestamp = &v
	return s
}

type CancelSnsOrderResponseBody struct {
	// example:
	//
	// 123400
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// example:
	//
	// M000001
	MerchantOrderNo *string `json:"merchantOrderNo,omitempty" xml:"merchantOrderNo,omitempty"`
	// example:
	//
	// CM0001234
	OrderNo      *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	PayStatus    *int32  `json:"payStatus,omitempty" xml:"payStatus,omitempty"`
	RefundStatus *int32  `json:"refundStatus,omitempty" xml:"refundStatus,omitempty"`
	TotalAmount  *int64  `json:"totalAmount,omitempty" xml:"totalAmount,omitempty"`
}

func (s CancelSnsOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CancelSnsOrderResponseBody) GoString() string {
	return s.String()
}

func (s *CancelSnsOrderResponseBody) SetAlipayAppId(v string) *CancelSnsOrderResponseBody {
	s.AlipayAppId = &v
	return s
}

func (s *CancelSnsOrderResponseBody) SetMerchantId(v string) *CancelSnsOrderResponseBody {
	s.MerchantId = &v
	return s
}

func (s *CancelSnsOrderResponseBody) SetMerchantOrderNo(v string) *CancelSnsOrderResponseBody {
	s.MerchantOrderNo = &v
	return s
}

func (s *CancelSnsOrderResponseBody) SetOrderNo(v string) *CancelSnsOrderResponseBody {
	s.OrderNo = &v
	return s
}

func (s *CancelSnsOrderResponseBody) SetPayStatus(v int32) *CancelSnsOrderResponseBody {
	s.PayStatus = &v
	return s
}

func (s *CancelSnsOrderResponseBody) SetRefundStatus(v int32) *CancelSnsOrderResponseBody {
	s.RefundStatus = &v
	return s
}

func (s *CancelSnsOrderResponseBody) SetTotalAmount(v int64) *CancelSnsOrderResponseBody {
	s.TotalAmount = &v
	return s
}

type CancelSnsOrderResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CancelSnsOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CancelSnsOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s CancelSnsOrderResponse) GoString() string {
	return s.String()
}

func (s *CancelSnsOrderResponse) SetHeaders(v map[string]*string) *CancelSnsOrderResponse {
	s.Headers = v
	return s
}

func (s *CancelSnsOrderResponse) SetStatusCode(v int32) *CancelSnsOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *CancelSnsOrderResponse) SetBody(v *CancelSnsOrderResponseBody) *CancelSnsOrderResponse {
	s.Body = v
	return s
}

type CancelUserOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CancelUserOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s CancelUserOrderHeaders) GoString() string {
	return s.String()
}

func (s *CancelUserOrderHeaders) SetCommonHeaders(v map[string]*string) *CancelUserOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CancelUserOrderHeaders) SetXAcsDingtalkAccessToken(v string) *CancelUserOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CancelUserOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123400
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// CM000001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// WWrhziOLF/XuRd3IyKwLkLeSFgKnUfeg2yLEVD9Bw+8
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100000
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
}

func (s CancelUserOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s CancelUserOrderRequest) GoString() string {
	return s.String()
}

func (s *CancelUserOrderRequest) SetAlipayAppId(v string) *CancelUserOrderRequest {
	s.AlipayAppId = &v
	return s
}

func (s *CancelUserOrderRequest) SetMerchantId(v string) *CancelUserOrderRequest {
	s.MerchantId = &v
	return s
}

func (s *CancelUserOrderRequest) SetOrderNo(v string) *CancelUserOrderRequest {
	s.OrderNo = &v
	return s
}

func (s *CancelUserOrderRequest) SetSignature(v string) *CancelUserOrderRequest {
	s.Signature = &v
	return s
}

func (s *CancelUserOrderRequest) SetTimestamp(v int64) *CancelUserOrderRequest {
	s.Timestamp = &v
	return s
}

type CancelUserOrderResponseBody struct {
	// example:
	//
	// 123400
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// example:
	//
	// M000001
	MerchantOrderNo *string `json:"merchantOrderNo,omitempty" xml:"merchantOrderNo,omitempty"`
	// example:
	//
	// CM0001234
	OrderNo      *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	PayStatus    *int32  `json:"payStatus,omitempty" xml:"payStatus,omitempty"`
	RefundStatus *int32  `json:"refundStatus,omitempty" xml:"refundStatus,omitempty"`
	TotalAmount  *int64  `json:"totalAmount,omitempty" xml:"totalAmount,omitempty"`
}

func (s CancelUserOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CancelUserOrderResponseBody) GoString() string {
	return s.String()
}

func (s *CancelUserOrderResponseBody) SetAlipayAppId(v string) *CancelUserOrderResponseBody {
	s.AlipayAppId = &v
	return s
}

func (s *CancelUserOrderResponseBody) SetMerchantId(v string) *CancelUserOrderResponseBody {
	s.MerchantId = &v
	return s
}

func (s *CancelUserOrderResponseBody) SetMerchantOrderNo(v string) *CancelUserOrderResponseBody {
	s.MerchantOrderNo = &v
	return s
}

func (s *CancelUserOrderResponseBody) SetOrderNo(v string) *CancelUserOrderResponseBody {
	s.OrderNo = &v
	return s
}

func (s *CancelUserOrderResponseBody) SetPayStatus(v int32) *CancelUserOrderResponseBody {
	s.PayStatus = &v
	return s
}

func (s *CancelUserOrderResponseBody) SetRefundStatus(v int32) *CancelUserOrderResponseBody {
	s.RefundStatus = &v
	return s
}

func (s *CancelUserOrderResponseBody) SetTotalAmount(v int64) *CancelUserOrderResponseBody {
	s.TotalAmount = &v
	return s
}

type CancelUserOrderResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CancelUserOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CancelUserOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s CancelUserOrderResponse) GoString() string {
	return s.String()
}

func (s *CancelUserOrderResponse) SetHeaders(v map[string]*string) *CancelUserOrderResponse {
	s.Headers = v
	return s
}

func (s *CancelUserOrderResponse) SetStatusCode(v int32) *CancelUserOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *CancelUserOrderResponse) SetBody(v *CancelUserOrderResponseBody) *CancelUserOrderResponse {
	s.Body = v
	return s
}

type CardBatchQueryCardsHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CardBatchQueryCardsHeaders) String() string {
	return tea.Prettify(s)
}

func (s CardBatchQueryCardsHeaders) GoString() string {
	return s.String()
}

func (s *CardBatchQueryCardsHeaders) SetCommonHeaders(v map[string]*string) *CardBatchQueryCardsHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CardBatchQueryCardsHeaders) SetXAcsDingtalkAccessToken(v string) *CardBatchQueryCardsHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CardBatchQueryCardsRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// industry_center
	CardBizCode *string `json:"cardBizCode,omitempty" xml:"cardBizCode,omitempty"`
	// This parameter is required.
	CardIds []*int64 `json:"cardIds,omitempty" xml:"cardIds,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// YUFANAI
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1678445875001
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CardBatchQueryCardsRequest) String() string {
	return tea.Prettify(s)
}

func (s CardBatchQueryCardsRequest) GoString() string {
	return s.String()
}

func (s *CardBatchQueryCardsRequest) SetCardBizCode(v string) *CardBatchQueryCardsRequest {
	s.CardBizCode = &v
	return s
}

func (s *CardBatchQueryCardsRequest) SetCardIds(v []*int64) *CardBatchQueryCardsRequest {
	s.CardIds = v
	return s
}

func (s *CardBatchQueryCardsRequest) SetSourceType(v string) *CardBatchQueryCardsRequest {
	s.SourceType = &v
	return s
}

func (s *CardBatchQueryCardsRequest) SetUserId(v string) *CardBatchQueryCardsRequest {
	s.UserId = &v
	return s
}

type CardBatchQueryCardsResponseBody struct {
	Result  *CardBatchQueryCardsResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CardBatchQueryCardsResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CardBatchQueryCardsResponseBody) GoString() string {
	return s.String()
}

func (s *CardBatchQueryCardsResponseBody) SetResult(v *CardBatchQueryCardsResponseBodyResult) *CardBatchQueryCardsResponseBody {
	s.Result = v
	return s
}

func (s *CardBatchQueryCardsResponseBody) SetSuccess(v bool) *CardBatchQueryCardsResponseBody {
	s.Success = &v
	return s
}

type CardBatchQueryCardsResponseBodyResult struct {
	Cards []*CardBatchQueryCardsResponseBodyResultCards `json:"cards,omitempty" xml:"cards,omitempty" type:"Repeated"`
}

func (s CardBatchQueryCardsResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CardBatchQueryCardsResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CardBatchQueryCardsResponseBodyResult) SetCards(v []*CardBatchQueryCardsResponseBodyResultCards) *CardBatchQueryCardsResponseBodyResult {
	s.Cards = v
	return s
}

type CardBatchQueryCardsResponseBodyResultCards struct {
	// example:
	//
	// industry_center
	CardBizCode *string `json:"cardBizCode,omitempty" xml:"cardBizCode,omitempty"`
	// example:
	//
	// 234234234
	CardId *int64 `json:"cardId,omitempty" xml:"cardId,omitempty"`
	// example:
	//
	// 2
	CardStatus *int32 `json:"cardStatus,omitempty" xml:"cardStatus,omitempty"`
	// example:
	//
	// 打卡任务
	Content *string `json:"content,omitempty" xml:"content,omitempty"`
	// example:
	//
	// dingdf19b4ee0d73233735c2f4657eb6378f
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 2023-11-16
	EffectTime *string `json:"effectTime,omitempty" xml:"effectTime,omitempty"`
	Finished   *bool   `json:"finished,omitempty" xml:"finished,omitempty"`
	// example:
	//
	// 2023-11-19
	GmtCreate *string `json:"gmtCreate,omitempty" xml:"gmtCreate,omitempty"`
	// example:
	//
	// 2023-11-16
	OptEndTime *string `json:"optEndTime,omitempty" xml:"optEndTime,omitempty"`
	// example:
	//
	// 234234234
	OptEndUserId *string `json:"optEndUserId,omitempty" xml:"optEndUserId,omitempty"`
	// example:
	//
	// 张三
	OptEndUserName *string `json:"optEndUserName,omitempty" xml:"optEndUserName,omitempty"`
	// example:
	//
	// 2023-11-16
	SendTime *string `json:"sendTime,omitempty" xml:"sendTime,omitempty"`
	// example:
	//
	// 2023-11-16
	StartTime *string `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 2
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// 23234234
	TeacherId *string `json:"teacherId,omitempty" xml:"teacherId,omitempty"`
	// example:
	//
	// 张三
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// example:
	//
	// 每日锻炼
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// 1
	Type *int32 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s CardBatchQueryCardsResponseBodyResultCards) String() string {
	return tea.Prettify(s)
}

func (s CardBatchQueryCardsResponseBodyResultCards) GoString() string {
	return s.String()
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetCardBizCode(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.CardBizCode = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetCardId(v int64) *CardBatchQueryCardsResponseBodyResultCards {
	s.CardId = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetCardStatus(v int32) *CardBatchQueryCardsResponseBodyResultCards {
	s.CardStatus = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetContent(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.Content = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetCorpId(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.CorpId = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetEffectTime(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.EffectTime = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetFinished(v bool) *CardBatchQueryCardsResponseBodyResultCards {
	s.Finished = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetGmtCreate(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.GmtCreate = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetOptEndTime(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.OptEndTime = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetOptEndUserId(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.OptEndUserId = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetOptEndUserName(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.OptEndUserName = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetSendTime(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.SendTime = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetStartTime(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.StartTime = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetStatus(v int32) *CardBatchQueryCardsResponseBodyResultCards {
	s.Status = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetTeacherId(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.TeacherId = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetTeacherName(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.TeacherName = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetTitle(v string) *CardBatchQueryCardsResponseBodyResultCards {
	s.Title = &v
	return s
}

func (s *CardBatchQueryCardsResponseBodyResultCards) SetType(v int32) *CardBatchQueryCardsResponseBodyResultCards {
	s.Type = &v
	return s
}

type CardBatchQueryCardsResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CardBatchQueryCardsResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CardBatchQueryCardsResponse) String() string {
	return tea.Prettify(s)
}

func (s CardBatchQueryCardsResponse) GoString() string {
	return s.String()
}

func (s *CardBatchQueryCardsResponse) SetHeaders(v map[string]*string) *CardBatchQueryCardsResponse {
	s.Headers = v
	return s
}

func (s *CardBatchQueryCardsResponse) SetStatusCode(v int32) *CardBatchQueryCardsResponse {
	s.StatusCode = &v
	return s
}

func (s *CardBatchQueryCardsResponse) SetBody(v *CardBatchQueryCardsResponseBody) *CardBatchQueryCardsResponse {
	s.Body = v
	return s
}

type CardDeleteCardHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CardDeleteCardHeaders) String() string {
	return tea.Prettify(s)
}

func (s CardDeleteCardHeaders) GoString() string {
	return s.String()
}

func (s *CardDeleteCardHeaders) SetCommonHeaders(v map[string]*string) *CardDeleteCardHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CardDeleteCardHeaders) SetXAcsDingtalkAccessToken(v string) *CardDeleteCardHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CardDeleteCardRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// industry_center
	CardBizCode *string `json:"cardBizCode,omitempty" xml:"cardBizCode,omitempty"`
	// example:
	//
	// 23424234
	CardBizId *string `json:"cardBizId,omitempty" xml:"cardBizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234234234
	CardId *int64 `json:"cardId,omitempty" xml:"cardId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// YUFANAI
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234234234
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CardDeleteCardRequest) String() string {
	return tea.Prettify(s)
}

func (s CardDeleteCardRequest) GoString() string {
	return s.String()
}

func (s *CardDeleteCardRequest) SetCardBizCode(v string) *CardDeleteCardRequest {
	s.CardBizCode = &v
	return s
}

func (s *CardDeleteCardRequest) SetCardBizId(v string) *CardDeleteCardRequest {
	s.CardBizId = &v
	return s
}

func (s *CardDeleteCardRequest) SetCardId(v int64) *CardDeleteCardRequest {
	s.CardId = &v
	return s
}

func (s *CardDeleteCardRequest) SetSourceType(v string) *CardDeleteCardRequest {
	s.SourceType = &v
	return s
}

func (s *CardDeleteCardRequest) SetUserId(v string) *CardDeleteCardRequest {
	s.UserId = &v
	return s
}

type CardDeleteCardResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CardDeleteCardResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CardDeleteCardResponseBody) GoString() string {
	return s.String()
}

func (s *CardDeleteCardResponseBody) SetResult(v bool) *CardDeleteCardResponseBody {
	s.Result = &v
	return s
}

func (s *CardDeleteCardResponseBody) SetSuccess(v bool) *CardDeleteCardResponseBody {
	s.Success = &v
	return s
}

type CardDeleteCardResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CardDeleteCardResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CardDeleteCardResponse) String() string {
	return tea.Prettify(s)
}

func (s CardDeleteCardResponse) GoString() string {
	return s.String()
}

func (s *CardDeleteCardResponse) SetHeaders(v map[string]*string) *CardDeleteCardResponse {
	s.Headers = v
	return s
}

func (s *CardDeleteCardResponse) SetStatusCode(v int32) *CardDeleteCardResponse {
	s.StatusCode = &v
	return s
}

func (s *CardDeleteCardResponse) SetBody(v *CardDeleteCardResponseBody) *CardDeleteCardResponse {
	s.Body = v
	return s
}

type CardEndCardHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CardEndCardHeaders) String() string {
	return tea.Prettify(s)
}

func (s CardEndCardHeaders) GoString() string {
	return s.String()
}

func (s *CardEndCardHeaders) SetCommonHeaders(v map[string]*string) *CardEndCardHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CardEndCardHeaders) SetXAcsDingtalkAccessToken(v string) *CardEndCardHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CardEndCardRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// industry_center
	CardBizCode *string `json:"cardBizCode,omitempty" xml:"cardBizCode,omitempty"`
	// example:
	//
	// 856237470
	CardBizId *string `json:"cardBizId,omitempty" xml:"cardBizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 80264668258
	CardId *int64 `json:"cardId,omitempty" xml:"cardId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// YUFANAI
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manager7741
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CardEndCardRequest) String() string {
	return tea.Prettify(s)
}

func (s CardEndCardRequest) GoString() string {
	return s.String()
}

func (s *CardEndCardRequest) SetCardBizCode(v string) *CardEndCardRequest {
	s.CardBizCode = &v
	return s
}

func (s *CardEndCardRequest) SetCardBizId(v string) *CardEndCardRequest {
	s.CardBizId = &v
	return s
}

func (s *CardEndCardRequest) SetCardId(v int64) *CardEndCardRequest {
	s.CardId = &v
	return s
}

func (s *CardEndCardRequest) SetSourceType(v string) *CardEndCardRequest {
	s.SourceType = &v
	return s
}

func (s *CardEndCardRequest) SetUserId(v string) *CardEndCardRequest {
	s.UserId = &v
	return s
}

type CardEndCardResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CardEndCardResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CardEndCardResponseBody) GoString() string {
	return s.String()
}

func (s *CardEndCardResponseBody) SetResult(v bool) *CardEndCardResponseBody {
	s.Result = &v
	return s
}

func (s *CardEndCardResponseBody) SetSuccess(v bool) *CardEndCardResponseBody {
	s.Success = &v
	return s
}

type CardEndCardResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CardEndCardResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CardEndCardResponse) String() string {
	return tea.Prettify(s)
}

func (s CardEndCardResponse) GoString() string {
	return s.String()
}

func (s *CardEndCardResponse) SetHeaders(v map[string]*string) *CardEndCardResponse {
	s.Headers = v
	return s
}

func (s *CardEndCardResponse) SetStatusCode(v int32) *CardEndCardResponse {
	s.StatusCode = &v
	return s
}

func (s *CardEndCardResponse) SetBody(v *CardEndCardResponseBody) *CardEndCardResponse {
	s.Body = v
	return s
}

type CardGetCardHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CardGetCardHeaders) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardHeaders) GoString() string {
	return s.String()
}

func (s *CardGetCardHeaders) SetCommonHeaders(v map[string]*string) *CardGetCardHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CardGetCardHeaders) SetXAcsDingtalkAccessToken(v string) *CardGetCardHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CardGetCardRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 80264668258
	CardId *int64 `json:"cardId,omitempty" xml:"cardId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// YUFANAI
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
}

func (s CardGetCardRequest) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardRequest) GoString() string {
	return s.String()
}

func (s *CardGetCardRequest) SetCardId(v int64) *CardGetCardRequest {
	s.CardId = &v
	return s
}

func (s *CardGetCardRequest) SetSourceType(v string) *CardGetCardRequest {
	s.SourceType = &v
	return s
}

type CardGetCardResponseBody struct {
	Result  *CardGetCardResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                          `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CardGetCardResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardResponseBody) GoString() string {
	return s.String()
}

func (s *CardGetCardResponseBody) SetResult(v *CardGetCardResponseBodyResult) *CardGetCardResponseBody {
	s.Result = v
	return s
}

func (s *CardGetCardResponseBody) SetSuccess(v bool) *CardGetCardResponseBody {
	s.Success = &v
	return s
}

type CardGetCardResponseBodyResult struct {
	// example:
	//
	// www.dingtalk.com
	Attr *string `json:"attr,omitempty" xml:"attr,omitempty"`
	// example:
	//
	// industry_center
	CardBizCode *string `json:"cardBizCode,omitempty" xml:"cardBizCode,omitempty"`
	// example:
	//
	// 23424234
	CardBizId *string `json:"cardBizId,omitempty" xml:"cardBizId,omitempty"`
	// example:
	//
	// 1
	CardContentCount *int32 `json:"cardContentCount,omitempty" xml:"cardContentCount,omitempty"`
	// example:
	//
	// 2
	CardCycle     *int32   `json:"cardCycle,omitempty" xml:"cardCycle,omitempty"`
	CardFrequency []*int32 `json:"cardFrequency,omitempty" xml:"cardFrequency,omitempty" type:"Repeated"`
	// example:
	//
	// 234234234324
	CardId *int64 `json:"cardId,omitempty" xml:"cardId,omitempty"`
	// example:
	//
	// 1
	CardStatus *int32 `json:"cardStatus,omitempty" xml:"cardStatus,omitempty"`
	// example:
	//
	// www.dingtalk.com
	CardUrl *string `json:"cardUrl,omitempty" xml:"cardUrl,omitempty"`
	// example:
	//
	// 音乐
	CategoryContentTag *string `json:"categoryContentTag,omitempty" xml:"categoryContentTag,omitempty"`
	// example:
	//
	// www.dingtalk.com
	CategoryCoverImageUrl *string `json:"categoryCoverImageUrl,omitempty" xml:"categoryCoverImageUrl,omitempty"`
	// example:
	//
	// www.dingtalk.com
	CategoryCreateCardSmallImageUrl *string `json:"categoryCreateCardSmallImageUrl,omitempty" xml:"categoryCreateCardSmallImageUrl,omitempty"`
	// example:
	//
	// www.dingtalk.com
	CategoryListSmallImageUrl *string `json:"categoryListSmallImageUrl,omitempty" xml:"categoryListSmallImageUrl,omitempty"`
	// example:
	//
	// 美术
	CategoryName *string   `json:"categoryName,omitempty" xml:"categoryName,omitempty"`
	ClassIds     []*string `json:"classIds,omitempty" xml:"classIds,omitempty" type:"Repeated"`
	ClassNames   []*string `json:"classNames,omitempty" xml:"classNames,omitempty" type:"Repeated"`
	// example:
	//
	// 打卡任务
	Content *string `json:"content,omitempty" xml:"content,omitempty"`
	// example:
	//
	// dingdf19b4ee0d73233735c2f4657eb6378f
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 2023-11-15
	EffectTime *string `json:"effectTime,omitempty" xml:"effectTime,omitempty"`
	Finished   *bool   `json:"finished,omitempty" xml:"finished,omitempty"`
	// example:
	//
	// www.dingtalk.com
	Media *string `json:"media,omitempty" xml:"media,omitempty"`
	// example:
	//
	// 2023-11-15
	OptEndTime *string `json:"optEndTime,omitempty" xml:"optEndTime,omitempty"`
	// example:
	//
	// 234234234
	OptEndUserId *string `json:"optEndUserId,omitempty" xml:"optEndUserId,omitempty"`
	// example:
	//
	// 张三
	OptEndUserName *string `json:"optEndUserName,omitempty" xml:"optEndUserName,omitempty"`
	// example:
	//
	// 20
	RemindNotPunchCardHour *int32 `json:"remindNotPunchCardHour,omitempty" xml:"remindNotPunchCardHour,omitempty"`
	// example:
	//
	// 10
	RemindNotPunchCardMinute *int32 `json:"remindNotPunchCardMinute,omitempty" xml:"remindNotPunchCardMinute,omitempty"`
	// example:
	//
	// 2023-11-15
	SendTime *string `json:"sendTime,omitempty" xml:"sendTime,omitempty"`
	// example:
	//
	// YUFANAI
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
	// example:
	//
	// 2023-11-15
	StartTime *string `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 1
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// 424234324324
	SystemTime *int64 `json:"systemTime,omitempty" xml:"systemTime,omitempty"`
	// example:
	//
	// 234234234
	TeacherId *string `json:"teacherId,omitempty" xml:"teacherId,omitempty"`
	// example:
	//
	// 张三
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// example:
	//
	// www.dingtalk.com
	TemplateCoverImageUrl *string `json:"templateCoverImageUrl,omitempty" xml:"templateCoverImageUrl,omitempty"`
	// example:
	//
	// 每日复习
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// 3
	Type *int32 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s CardGetCardResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CardGetCardResponseBodyResult) SetAttr(v string) *CardGetCardResponseBodyResult {
	s.Attr = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCardBizCode(v string) *CardGetCardResponseBodyResult {
	s.CardBizCode = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCardBizId(v string) *CardGetCardResponseBodyResult {
	s.CardBizId = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCardContentCount(v int32) *CardGetCardResponseBodyResult {
	s.CardContentCount = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCardCycle(v int32) *CardGetCardResponseBodyResult {
	s.CardCycle = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCardFrequency(v []*int32) *CardGetCardResponseBodyResult {
	s.CardFrequency = v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCardId(v int64) *CardGetCardResponseBodyResult {
	s.CardId = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCardStatus(v int32) *CardGetCardResponseBodyResult {
	s.CardStatus = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCardUrl(v string) *CardGetCardResponseBodyResult {
	s.CardUrl = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCategoryContentTag(v string) *CardGetCardResponseBodyResult {
	s.CategoryContentTag = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCategoryCoverImageUrl(v string) *CardGetCardResponseBodyResult {
	s.CategoryCoverImageUrl = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCategoryCreateCardSmallImageUrl(v string) *CardGetCardResponseBodyResult {
	s.CategoryCreateCardSmallImageUrl = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCategoryListSmallImageUrl(v string) *CardGetCardResponseBodyResult {
	s.CategoryListSmallImageUrl = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCategoryName(v string) *CardGetCardResponseBodyResult {
	s.CategoryName = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetClassIds(v []*string) *CardGetCardResponseBodyResult {
	s.ClassIds = v
	return s
}

func (s *CardGetCardResponseBodyResult) SetClassNames(v []*string) *CardGetCardResponseBodyResult {
	s.ClassNames = v
	return s
}

func (s *CardGetCardResponseBodyResult) SetContent(v string) *CardGetCardResponseBodyResult {
	s.Content = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetCorpId(v string) *CardGetCardResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetEffectTime(v string) *CardGetCardResponseBodyResult {
	s.EffectTime = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetFinished(v bool) *CardGetCardResponseBodyResult {
	s.Finished = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetMedia(v string) *CardGetCardResponseBodyResult {
	s.Media = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetOptEndTime(v string) *CardGetCardResponseBodyResult {
	s.OptEndTime = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetOptEndUserId(v string) *CardGetCardResponseBodyResult {
	s.OptEndUserId = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetOptEndUserName(v string) *CardGetCardResponseBodyResult {
	s.OptEndUserName = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetRemindNotPunchCardHour(v int32) *CardGetCardResponseBodyResult {
	s.RemindNotPunchCardHour = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetRemindNotPunchCardMinute(v int32) *CardGetCardResponseBodyResult {
	s.RemindNotPunchCardMinute = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetSendTime(v string) *CardGetCardResponseBodyResult {
	s.SendTime = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetSourceType(v string) *CardGetCardResponseBodyResult {
	s.SourceType = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetStartTime(v string) *CardGetCardResponseBodyResult {
	s.StartTime = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetStatus(v int32) *CardGetCardResponseBodyResult {
	s.Status = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetSystemTime(v int64) *CardGetCardResponseBodyResult {
	s.SystemTime = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetTeacherId(v string) *CardGetCardResponseBodyResult {
	s.TeacherId = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetTeacherName(v string) *CardGetCardResponseBodyResult {
	s.TeacherName = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetTemplateCoverImageUrl(v string) *CardGetCardResponseBodyResult {
	s.TemplateCoverImageUrl = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetTitle(v string) *CardGetCardResponseBodyResult {
	s.Title = &v
	return s
}

func (s *CardGetCardResponseBodyResult) SetType(v int32) *CardGetCardResponseBodyResult {
	s.Type = &v
	return s
}

type CardGetCardResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CardGetCardResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CardGetCardResponse) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardResponse) GoString() string {
	return s.String()
}

func (s *CardGetCardResponse) SetHeaders(v map[string]*string) *CardGetCardResponse {
	s.Headers = v
	return s
}

func (s *CardGetCardResponse) SetStatusCode(v int32) *CardGetCardResponse {
	s.StatusCode = &v
	return s
}

func (s *CardGetCardResponse) SetBody(v *CardGetCardResponseBody) *CardGetCardResponse {
	s.Body = v
	return s
}

type CardGetCardFinishProgressHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CardGetCardFinishProgressHeaders) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardFinishProgressHeaders) GoString() string {
	return s.String()
}

func (s *CardGetCardFinishProgressHeaders) SetCommonHeaders(v map[string]*string) *CardGetCardFinishProgressHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CardGetCardFinishProgressHeaders) SetXAcsDingtalkAccessToken(v string) *CardGetCardFinishProgressHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CardGetCardFinishProgressRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// industry_center
	CardBizCode *string `json:"cardBizCode,omitempty" xml:"cardBizCode,omitempty"`
	// example:
	//
	// 856237470
	CardBizId *string `json:"cardBizId,omitempty" xml:"cardBizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 80264668258
	CardId *int64 `json:"cardId,omitempty" xml:"cardId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// YUFANAI
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
	// example:
	//
	// 3000000000847390208
	StudentId *string `json:"studentId,omitempty" xml:"studentId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manager7741
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CardGetCardFinishProgressRequest) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardFinishProgressRequest) GoString() string {
	return s.String()
}

func (s *CardGetCardFinishProgressRequest) SetCardBizCode(v string) *CardGetCardFinishProgressRequest {
	s.CardBizCode = &v
	return s
}

func (s *CardGetCardFinishProgressRequest) SetCardBizId(v string) *CardGetCardFinishProgressRequest {
	s.CardBizId = &v
	return s
}

func (s *CardGetCardFinishProgressRequest) SetCardId(v int64) *CardGetCardFinishProgressRequest {
	s.CardId = &v
	return s
}

func (s *CardGetCardFinishProgressRequest) SetSourceType(v string) *CardGetCardFinishProgressRequest {
	s.SourceType = &v
	return s
}

func (s *CardGetCardFinishProgressRequest) SetStudentId(v string) *CardGetCardFinishProgressRequest {
	s.StudentId = &v
	return s
}

func (s *CardGetCardFinishProgressRequest) SetUserId(v string) *CardGetCardFinishProgressRequest {
	s.UserId = &v
	return s
}

type CardGetCardFinishProgressResponseBody struct {
	Result  *CardGetCardFinishProgressResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                        `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CardGetCardFinishProgressResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardFinishProgressResponseBody) GoString() string {
	return s.String()
}

func (s *CardGetCardFinishProgressResponseBody) SetResult(v *CardGetCardFinishProgressResponseBodyResult) *CardGetCardFinishProgressResponseBody {
	s.Result = v
	return s
}

func (s *CardGetCardFinishProgressResponseBody) SetSuccess(v bool) *CardGetCardFinishProgressResponseBody {
	s.Success = &v
	return s
}

type CardGetCardFinishProgressResponseBodyResult struct {
	ClassStatistics     []*CardGetCardFinishProgressResponseBodyResultClassStatistics     `json:"classStatistics,omitempty" xml:"classStatistics,omitempty" type:"Repeated"`
	PatriarchStatistics []*CardGetCardFinishProgressResponseBodyResultPatriarchStatistics `json:"patriarchStatistics,omitempty" xml:"patriarchStatistics,omitempty" type:"Repeated"`
	StudentNameList     []*string                                                         `json:"studentNameList,omitempty" xml:"studentNameList,omitempty" type:"Repeated"`
}

func (s CardGetCardFinishProgressResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardFinishProgressResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CardGetCardFinishProgressResponseBodyResult) SetClassStatistics(v []*CardGetCardFinishProgressResponseBodyResultClassStatistics) *CardGetCardFinishProgressResponseBodyResult {
	s.ClassStatistics = v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResult) SetPatriarchStatistics(v []*CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) *CardGetCardFinishProgressResponseBodyResult {
	s.PatriarchStatistics = v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResult) SetStudentNameList(v []*string) *CardGetCardFinishProgressResponseBodyResult {
	s.StudentNameList = v
	return s
}

type CardGetCardFinishProgressResponseBodyResultClassStatistics struct {
	// example:
	//
	// 234234234
	CardBizId *string `json:"cardBizId,omitempty" xml:"cardBizId,omitempty"`
	// example:
	//
	// 二年级1班
	CardBizName *string `json:"cardBizName,omitempty" xml:"cardBizName,omitempty"`
	// example:
	//
	// 3424234
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 二年级1班
	ClassName *string                                                              `json:"className,omitempty" xml:"className,omitempty"`
	Process   []*CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess `json:"process,omitempty" xml:"process,omitempty" type:"Repeated"`
}

func (s CardGetCardFinishProgressResponseBodyResultClassStatistics) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardFinishProgressResponseBodyResultClassStatistics) GoString() string {
	return s.String()
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatistics) SetCardBizId(v string) *CardGetCardFinishProgressResponseBodyResultClassStatistics {
	s.CardBizId = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatistics) SetCardBizName(v string) *CardGetCardFinishProgressResponseBodyResultClassStatistics {
	s.CardBizName = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatistics) SetClassId(v string) *CardGetCardFinishProgressResponseBodyResultClassStatistics {
	s.ClassId = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatistics) SetClassName(v string) *CardGetCardFinishProgressResponseBodyResultClassStatistics {
	s.ClassName = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatistics) SetProcess(v []*CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess) *CardGetCardFinishProgressResponseBodyResultClassStatistics {
	s.Process = v
	return s
}

type CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess struct {
	// example:
	//
	// 2023-11-01
	Date *string `json:"date,omitempty" xml:"date,omitempty"`
	// example:
	//
	// 11
	FinishedStudentsNum *int64 `json:"finishedStudentsNum,omitempty" xml:"finishedStudentsNum,omitempty"`
	// example:
	//
	// 11
	NeedFinishStudentsNum *int64 `json:"needFinishStudentsNum,omitempty" xml:"needFinishStudentsNum,omitempty"`
	// example:
	//
	// CARD_TASK_CODE_0
	TaskCode *string `json:"taskCode,omitempty" xml:"taskCode,omitempty"`
	// example:
	//
	// 2023-11-01
	Today *string `json:"today,omitempty" xml:"today,omitempty"`
}

func (s CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess) GoString() string {
	return s.String()
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess) SetDate(v string) *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess {
	s.Date = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess) SetFinishedStudentsNum(v int64) *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess {
	s.FinishedStudentsNum = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess) SetNeedFinishStudentsNum(v int64) *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess {
	s.NeedFinishStudentsNum = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess) SetTaskCode(v string) *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess {
	s.TaskCode = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess) SetToday(v string) *CardGetCardFinishProgressResponseBodyResultClassStatisticsProcess {
	s.Today = &v
	return s
}

type CardGetCardFinishProgressResponseBodyResultPatriarchStatistics struct {
	// example:
	//
	// CARD_TASK_CODE_0
	CardTaskCode *string `json:"cardTaskCode,omitempty" xml:"cardTaskCode,omitempty"`
	// example:
	//
	// 2023-11-01
	Date                    *string `json:"date,omitempty" xml:"date,omitempty"`
	IsFinished              *bool   `json:"isFinished,omitempty" xml:"isFinished,omitempty"`
	IsFinishedByReissueCard *bool   `json:"isFinishedByReissueCard,omitempty" xml:"isFinishedByReissueCard,omitempty"`
	IsLastDay               *bool   `json:"isLastDay,omitempty" xml:"isLastDay,omitempty"`
	ReissueCard             *bool   `json:"reissueCard,omitempty" xml:"reissueCard,omitempty"`
	// example:
	//
	// 23424234
	StudentId *string `json:"studentId,omitempty" xml:"studentId,omitempty"`
	// example:
	//
	// 李四
	StudentName *string `json:"studentName,omitempty" xml:"studentName,omitempty"`
	// example:
	//
	// 2023-11-01
	Today *string `json:"today,omitempty" xml:"today,omitempty"`
	// example:
	//
	// 234234234
	UserSubTaskId *int64 `json:"userSubTaskId,omitempty" xml:"userSubTaskId,omitempty"`
}

func (s CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) GoString() string {
	return s.String()
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetCardTaskCode(v string) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.CardTaskCode = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetDate(v string) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.Date = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetIsFinished(v bool) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.IsFinished = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetIsFinishedByReissueCard(v bool) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.IsFinishedByReissueCard = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetIsLastDay(v bool) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.IsLastDay = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetReissueCard(v bool) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.ReissueCard = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetStudentId(v string) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.StudentId = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetStudentName(v string) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.StudentName = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetToday(v string) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.Today = &v
	return s
}

func (s *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics) SetUserSubTaskId(v int64) *CardGetCardFinishProgressResponseBodyResultPatriarchStatistics {
	s.UserSubTaskId = &v
	return s
}

type CardGetCardFinishProgressResponse struct {
	Headers    map[string]*string                     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CardGetCardFinishProgressResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CardGetCardFinishProgressResponse) String() string {
	return tea.Prettify(s)
}

func (s CardGetCardFinishProgressResponse) GoString() string {
	return s.String()
}

func (s *CardGetCardFinishProgressResponse) SetHeaders(v map[string]*string) *CardGetCardFinishProgressResponse {
	s.Headers = v
	return s
}

func (s *CardGetCardFinishProgressResponse) SetStatusCode(v int32) *CardGetCardFinishProgressResponse {
	s.StatusCode = &v
	return s
}

func (s *CardGetCardFinishProgressResponse) SetBody(v *CardGetCardFinishProgressResponseBody) *CardGetCardFinishProgressResponse {
	s.Body = v
	return s
}

type CardQueryCardFeedsHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CardQueryCardFeedsHeaders) String() string {
	return tea.Prettify(s)
}

func (s CardQueryCardFeedsHeaders) GoString() string {
	return s.String()
}

func (s *CardQueryCardFeedsHeaders) SetCommonHeaders(v map[string]*string) *CardQueryCardFeedsHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CardQueryCardFeedsHeaders) SetXAcsDingtalkAccessToken(v string) *CardQueryCardFeedsHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CardQueryCardFeedsRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 3
	BizType *int32 `json:"bizType,omitempty" xml:"bizType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// industry_center
	CardBizCode *string `json:"cardBizCode,omitempty" xml:"cardBizCode,omitempty"`
	// example:
	//
	// 856237470
	CardBizId *string `json:"cardBizId,omitempty" xml:"cardBizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 80264668258
	CardId *int64 `json:"cardId,omitempty" xml:"cardId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 5
	Count  *int32 `json:"count,omitempty" xml:"count,omitempty"`
	Cursor *int64 `json:"cursor,omitempty" xml:"cursor,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0
	FeedType          *int32 `json:"feedType,omitempty" xml:"feedType,omitempty"`
	NeedFinishProcess *bool  `json:"needFinishProcess,omitempty" xml:"needFinishProcess,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// YUFANAI
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
	// example:
	//
	// 3000000000847390208
	StudentId *string `json:"studentId,omitempty" xml:"studentId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// CARD_TASK_CODE_0
	SubBizId *string `json:"subBizId,omitempty" xml:"subBizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manager7741
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CardQueryCardFeedsRequest) String() string {
	return tea.Prettify(s)
}

func (s CardQueryCardFeedsRequest) GoString() string {
	return s.String()
}

func (s *CardQueryCardFeedsRequest) SetBizType(v int32) *CardQueryCardFeedsRequest {
	s.BizType = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetCardBizCode(v string) *CardQueryCardFeedsRequest {
	s.CardBizCode = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetCardBizId(v string) *CardQueryCardFeedsRequest {
	s.CardBizId = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetCardId(v int64) *CardQueryCardFeedsRequest {
	s.CardId = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetCount(v int32) *CardQueryCardFeedsRequest {
	s.Count = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetCursor(v int64) *CardQueryCardFeedsRequest {
	s.Cursor = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetFeedType(v int32) *CardQueryCardFeedsRequest {
	s.FeedType = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetNeedFinishProcess(v bool) *CardQueryCardFeedsRequest {
	s.NeedFinishProcess = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetSourceType(v string) *CardQueryCardFeedsRequest {
	s.SourceType = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetStudentId(v string) *CardQueryCardFeedsRequest {
	s.StudentId = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetSubBizId(v string) *CardQueryCardFeedsRequest {
	s.SubBizId = &v
	return s
}

func (s *CardQueryCardFeedsRequest) SetUserId(v string) *CardQueryCardFeedsRequest {
	s.UserId = &v
	return s
}

type CardQueryCardFeedsResponseBody struct {
	Result  *CardQueryCardFeedsResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                 `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CardQueryCardFeedsResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CardQueryCardFeedsResponseBody) GoString() string {
	return s.String()
}

func (s *CardQueryCardFeedsResponseBody) SetResult(v *CardQueryCardFeedsResponseBodyResult) *CardQueryCardFeedsResponseBody {
	s.Result = v
	return s
}

func (s *CardQueryCardFeedsResponseBody) SetSuccess(v bool) *CardQueryCardFeedsResponseBody {
	s.Success = &v
	return s
}

type CardQueryCardFeedsResponseBodyResult struct {
	HasMore *bool                                        `json:"hasMore,omitempty" xml:"hasMore,omitempty"`
	Posts   []*CardQueryCardFeedsResponseBodyResultPosts `json:"posts,omitempty" xml:"posts,omitempty" type:"Repeated"`
}

func (s CardQueryCardFeedsResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CardQueryCardFeedsResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CardQueryCardFeedsResponseBodyResult) SetHasMore(v bool) *CardQueryCardFeedsResponseBodyResult {
	s.HasMore = &v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResult) SetPosts(v []*CardQueryCardFeedsResponseBodyResultPosts) *CardQueryCardFeedsResponseBodyResult {
	s.Posts = v
	return s
}

type CardQueryCardFeedsResponseBodyResultPosts struct {
	Author *CardQueryCardFeedsResponseBodyResultPostsAuthor `json:"author,omitempty" xml:"author,omitempty" type:"Struct"`
	// example:
	//
	// 3
	BizType *int32                                            `json:"bizType,omitempty" xml:"bizType,omitempty"`
	Content *CardQueryCardFeedsResponseBodyResultPostsContent `json:"content,omitempty" xml:"content,omitempty" type:"Struct"`
	// example:
	//
	// 23424234234
	CreateAt *int64 `json:"createAt,omitempty" xml:"createAt,omitempty"`
	// example:
	//
	// 0
	FeedType *int32 `json:"feedType,omitempty" xml:"feedType,omitempty"`
	// example:
	//
	// 232423423
	PostId *int64 `json:"postId,omitempty" xml:"postId,omitempty"`
	// example:
	//
	// 0
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
}

func (s CardQueryCardFeedsResponseBodyResultPosts) String() string {
	return tea.Prettify(s)
}

func (s CardQueryCardFeedsResponseBodyResultPosts) GoString() string {
	return s.String()
}

func (s *CardQueryCardFeedsResponseBodyResultPosts) SetAuthor(v *CardQueryCardFeedsResponseBodyResultPostsAuthor) *CardQueryCardFeedsResponseBodyResultPosts {
	s.Author = v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPosts) SetBizType(v int32) *CardQueryCardFeedsResponseBodyResultPosts {
	s.BizType = &v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPosts) SetContent(v *CardQueryCardFeedsResponseBodyResultPostsContent) *CardQueryCardFeedsResponseBodyResultPosts {
	s.Content = v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPosts) SetCreateAt(v int64) *CardQueryCardFeedsResponseBodyResultPosts {
	s.CreateAt = &v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPosts) SetFeedType(v int32) *CardQueryCardFeedsResponseBodyResultPosts {
	s.FeedType = &v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPosts) SetPostId(v int64) *CardQueryCardFeedsResponseBodyResultPosts {
	s.PostId = &v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPosts) SetStatus(v int32) *CardQueryCardFeedsResponseBodyResultPosts {
	s.Status = &v
	return s
}

type CardQueryCardFeedsResponseBodyResultPostsAuthor struct {
	// example:
	//
	// 博澜爸爸
	ShowName *string `json:"showName,omitempty" xml:"showName,omitempty"`
	// example:
	//
	// 234234234
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
	// example:
	//
	// guardian
	UserRole *string `json:"userRole,omitempty" xml:"userRole,omitempty"`
}

func (s CardQueryCardFeedsResponseBodyResultPostsAuthor) String() string {
	return tea.Prettify(s)
}

func (s CardQueryCardFeedsResponseBodyResultPostsAuthor) GoString() string {
	return s.String()
}

func (s *CardQueryCardFeedsResponseBodyResultPostsAuthor) SetShowName(v string) *CardQueryCardFeedsResponseBodyResultPostsAuthor {
	s.ShowName = &v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPostsAuthor) SetUserId(v string) *CardQueryCardFeedsResponseBodyResultPostsAuthor {
	s.UserId = &v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPostsAuthor) SetUserRole(v string) *CardQueryCardFeedsResponseBodyResultPostsAuthor {
	s.UserRole = &v
	return s
}

type CardQueryCardFeedsResponseBodyResultPostsContent struct {
	// example:
	//
	// 0
	ContentType *int32 `json:"contentType,omitempty" xml:"contentType,omitempty"`
	// example:
	//
	// {\"cardEditRedirectDTO\":{\"jumpType\":\"internal\"},\"content\":\"测试\",\"medias\":\"\\\"[{\\\\\\\"type\\\\\\\":\\\\\\\"image\\\\\\\",\\\\\\\"data\\\\\\\":{\\\\\\\"mediaUrl\\\\\\\":\\\\\\\"https://static.dingtalk.com/media/lQDPNDWzHQNv3fjNBQDNAlCwKIvuyoJrOfAFLEMmYrpsAA_592_1280.jpg\\\\\\\",\\\\\\\"thumbnailUrl\\\\\\\":\\\\\\\"https://static.dingtalk.com/media/lQDPNDWzHQNv3fjNBQDNAlCwKIvuyoJrOfAFLEMmYrpsAA_592_1280.jpg_200x200.jpg?bizType=edu_card\\\\\\\"}}]\\\"\",\"reissueCard\":false,\"resultEvaluation\":\"\",\"showName\":\"博澜爸爸\",\"sourceType\":\"\",\"studentId\":\"3000000000847390208\",\"unitOfMeasurement\":\"\"}
	Text *string `json:"text,omitempty" xml:"text,omitempty"`
}

func (s CardQueryCardFeedsResponseBodyResultPostsContent) String() string {
	return tea.Prettify(s)
}

func (s CardQueryCardFeedsResponseBodyResultPostsContent) GoString() string {
	return s.String()
}

func (s *CardQueryCardFeedsResponseBodyResultPostsContent) SetContentType(v int32) *CardQueryCardFeedsResponseBodyResultPostsContent {
	s.ContentType = &v
	return s
}

func (s *CardQueryCardFeedsResponseBodyResultPostsContent) SetText(v string) *CardQueryCardFeedsResponseBodyResultPostsContent {
	s.Text = &v
	return s
}

type CardQueryCardFeedsResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CardQueryCardFeedsResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CardQueryCardFeedsResponse) String() string {
	return tea.Prettify(s)
}

func (s CardQueryCardFeedsResponse) GoString() string {
	return s.String()
}

func (s *CardQueryCardFeedsResponse) SetHeaders(v map[string]*string) *CardQueryCardFeedsResponse {
	s.Headers = v
	return s
}

func (s *CardQueryCardFeedsResponse) SetStatusCode(v int32) *CardQueryCardFeedsResponse {
	s.StatusCode = &v
	return s
}

func (s *CardQueryCardFeedsResponse) SetBody(v *CardQueryCardFeedsResponseBody) *CardQueryCardFeedsResponse {
	s.Body = v
	return s
}

type CheckRestrictionHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CheckRestrictionHeaders) String() string {
	return tea.Prettify(s)
}

func (s CheckRestrictionHeaders) GoString() string {
	return s.String()
}

func (s *CheckRestrictionHeaders) SetCommonHeaders(v map[string]*string) *CheckRestrictionHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CheckRestrictionHeaders) SetXAcsDingtalkAccessToken(v string) *CheckRestrictionHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CheckRestrictionRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Scene *int64 `json:"scene,omitempty" xml:"scene,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CheckRestrictionRequest) String() string {
	return tea.Prettify(s)
}

func (s CheckRestrictionRequest) GoString() string {
	return s.String()
}

func (s *CheckRestrictionRequest) SetActualAmount(v int64) *CheckRestrictionRequest {
	s.ActualAmount = &v
	return s
}

func (s *CheckRestrictionRequest) SetFaceId(v string) *CheckRestrictionRequest {
	s.FaceId = &v
	return s
}

func (s *CheckRestrictionRequest) SetScene(v int64) *CheckRestrictionRequest {
	s.Scene = &v
	return s
}

func (s *CheckRestrictionRequest) SetSn(v string) *CheckRestrictionRequest {
	s.Sn = &v
	return s
}

func (s *CheckRestrictionRequest) SetUserId(v string) *CheckRestrictionRequest {
	s.UserId = &v
	return s
}

type CheckRestrictionResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CheckRestrictionResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CheckRestrictionResponseBody) GoString() string {
	return s.String()
}

func (s *CheckRestrictionResponseBody) SetSuccess(v bool) *CheckRestrictionResponseBody {
	s.Success = &v
	return s
}

type CheckRestrictionResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CheckRestrictionResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CheckRestrictionResponse) String() string {
	return tea.Prettify(s)
}

func (s CheckRestrictionResponse) GoString() string {
	return s.String()
}

func (s *CheckRestrictionResponse) SetHeaders(v map[string]*string) *CheckRestrictionResponse {
	s.Headers = v
	return s
}

func (s *CheckRestrictionResponse) SetStatusCode(v int32) *CheckRestrictionResponse {
	s.StatusCode = &v
	return s
}

func (s *CheckRestrictionResponse) SetBody(v *CheckRestrictionResponseBody) *CheckRestrictionResponse {
	s.Body = v
	return s
}

type ClearEvaluatePerformanceCountHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ClearEvaluatePerformanceCountHeaders) String() string {
	return tea.Prettify(s)
}

func (s ClearEvaluatePerformanceCountHeaders) GoString() string {
	return s.String()
}

func (s *ClearEvaluatePerformanceCountHeaders) SetCommonHeaders(v map[string]*string) *ClearEvaluatePerformanceCountHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ClearEvaluatePerformanceCountHeaders) SetXAcsDingtalkAccessToken(v string) *ClearEvaluatePerformanceCountHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ClearEvaluatePerformanceCountRequest struct {
	StudentIdList []*string `json:"studentIdList,omitempty" xml:"studentIdList,omitempty" type:"Repeated"`
}

func (s ClearEvaluatePerformanceCountRequest) String() string {
	return tea.Prettify(s)
}

func (s ClearEvaluatePerformanceCountRequest) GoString() string {
	return s.String()
}

func (s *ClearEvaluatePerformanceCountRequest) SetStudentIdList(v []*string) *ClearEvaluatePerformanceCountRequest {
	s.StudentIdList = v
	return s
}

type ClearEvaluatePerformanceCountResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s ClearEvaluatePerformanceCountResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ClearEvaluatePerformanceCountResponseBody) GoString() string {
	return s.String()
}

func (s *ClearEvaluatePerformanceCountResponseBody) SetSuccess(v bool) *ClearEvaluatePerformanceCountResponseBody {
	s.Success = &v
	return s
}

type ClearEvaluatePerformanceCountResponse struct {
	Headers    map[string]*string                         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ClearEvaluatePerformanceCountResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ClearEvaluatePerformanceCountResponse) String() string {
	return tea.Prettify(s)
}

func (s ClearEvaluatePerformanceCountResponse) GoString() string {
	return s.String()
}

func (s *ClearEvaluatePerformanceCountResponse) SetHeaders(v map[string]*string) *ClearEvaluatePerformanceCountResponse {
	s.Headers = v
	return s
}

func (s *ClearEvaluatePerformanceCountResponse) SetStatusCode(v int32) *ClearEvaluatePerformanceCountResponse {
	s.StatusCode = &v
	return s
}

func (s *ClearEvaluatePerformanceCountResponse) SetBody(v *ClearEvaluatePerformanceCountResponseBody) *ClearEvaluatePerformanceCountResponse {
	s.Body = v
	return s
}

type ConsumePointHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ConsumePointHeaders) String() string {
	return tea.Prettify(s)
}

func (s ConsumePointHeaders) GoString() string {
	return s.String()
}

func (s *ConsumePointHeaders) SetCommonHeaders(v map[string]*string) *ConsumePointHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ConsumePointHeaders) SetXAcsDingtalkAccessToken(v string) *ConsumePointHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ConsumePointRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	Amount *int64 `json:"amount,omitempty" xml:"amount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// example:
	//
	// point_exchange
	Description *string `json:"description,omitempty" xml:"description,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// FAMILY_GIFT_MALL
	ProductCode *string `json:"productCode,omitempty" xml:"productCode,omitempty"`
}

func (s ConsumePointRequest) String() string {
	return tea.Prettify(s)
}

func (s ConsumePointRequest) GoString() string {
	return s.String()
}

func (s *ConsumePointRequest) SetAmount(v int64) *ConsumePointRequest {
	s.Amount = &v
	return s
}

func (s *ConsumePointRequest) SetBizId(v string) *ConsumePointRequest {
	s.BizId = &v
	return s
}

func (s *ConsumePointRequest) SetDescription(v string) *ConsumePointRequest {
	s.Description = &v
	return s
}

func (s *ConsumePointRequest) SetProductCode(v string) *ConsumePointRequest {
	s.ProductCode = &v
	return s
}

type ConsumePointResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s ConsumePointResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ConsumePointResponseBody) GoString() string {
	return s.String()
}

func (s *ConsumePointResponseBody) SetResult(v bool) *ConsumePointResponseBody {
	s.Result = &v
	return s
}

func (s *ConsumePointResponseBody) SetSuccess(v bool) *ConsumePointResponseBody {
	s.Success = &v
	return s
}

type ConsumePointResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ConsumePointResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ConsumePointResponse) String() string {
	return tea.Prettify(s)
}

func (s ConsumePointResponse) GoString() string {
	return s.String()
}

func (s *ConsumePointResponse) SetHeaders(v map[string]*string) *ConsumePointResponse {
	s.Headers = v
	return s
}

func (s *ConsumePointResponse) SetStatusCode(v int32) *ConsumePointResponse {
	s.StatusCode = &v
	return s
}

func (s *ConsumePointResponse) SetBody(v *ConsumePointResponseBody) *ConsumePointResponse {
	s.Body = v
	return s
}

type CourseSchedulingComplimentNoticeHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CourseSchedulingComplimentNoticeHeaders) String() string {
	return tea.Prettify(s)
}

func (s CourseSchedulingComplimentNoticeHeaders) GoString() string {
	return s.String()
}

func (s *CourseSchedulingComplimentNoticeHeaders) SetCommonHeaders(v map[string]*string) *CourseSchedulingComplimentNoticeHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CourseSchedulingComplimentNoticeHeaders) SetXAcsDingtalkAccessToken(v string) *CourseSchedulingComplimentNoticeHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CourseSchedulingComplimentNoticeRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 行政老师A
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s CourseSchedulingComplimentNoticeRequest) String() string {
	return tea.Prettify(s)
}

func (s CourseSchedulingComplimentNoticeRequest) GoString() string {
	return s.String()
}

func (s *CourseSchedulingComplimentNoticeRequest) SetOpUserId(v string) *CourseSchedulingComplimentNoticeRequest {
	s.OpUserId = &v
	return s
}

type CourseSchedulingComplimentNoticeResponseBody struct {
	// example:
	//
	// true：成功 false：失败
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s CourseSchedulingComplimentNoticeResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CourseSchedulingComplimentNoticeResponseBody) GoString() string {
	return s.String()
}

func (s *CourseSchedulingComplimentNoticeResponseBody) SetResult(v bool) *CourseSchedulingComplimentNoticeResponseBody {
	s.Result = &v
	return s
}

type CourseSchedulingComplimentNoticeResponse struct {
	Headers    map[string]*string                            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CourseSchedulingComplimentNoticeResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CourseSchedulingComplimentNoticeResponse) String() string {
	return tea.Prettify(s)
}

func (s CourseSchedulingComplimentNoticeResponse) GoString() string {
	return s.String()
}

func (s *CourseSchedulingComplimentNoticeResponse) SetHeaders(v map[string]*string) *CourseSchedulingComplimentNoticeResponse {
	s.Headers = v
	return s
}

func (s *CourseSchedulingComplimentNoticeResponse) SetStatusCode(v int32) *CourseSchedulingComplimentNoticeResponse {
	s.StatusCode = &v
	return s
}

func (s *CourseSchedulingComplimentNoticeResponse) SetBody(v *CourseSchedulingComplimentNoticeResponseBody) *CourseSchedulingComplimentNoticeResponse {
	s.Body = v
	return s
}

type CreateHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateHeaders) GoString() string {
	return s.String()
}

func (s *CreateHeaders) SetCommonHeaders(v map[string]*string) *CreateHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateHeaders) SetXAcsDingtalkAccessToken(v string) *CreateHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateRequest struct {
	AnswerContent      *string            `json:"answerContent,omitempty" xml:"answerContent,omitempty"`
	DifficultyLevel    *int32             `json:"difficultyLevel,omitempty" xml:"difficultyLevel,omitempty"`
	ExplainAudio       *string            `json:"explainAudio,omitempty" xml:"explainAudio,omitempty"`
	ExplainContent     *string            `json:"explainContent,omitempty" xml:"explainContent,omitempty"`
	GenerateTime       *int64             `json:"generateTime,omitempty" xml:"generateTime,omitempty"`
	KnowledgePointList []*string          `json:"knowledgePointList,omitempty" xml:"knowledgePointList,omitempty" type:"Repeated"`
	OwnerCode          *string            `json:"ownerCode,omitempty" xml:"ownerCode,omitempty"`
	OwnerType          *string            `json:"ownerType,omitempty" xml:"ownerType,omitempty"`
	ProficiencyLevel   *int32             `json:"proficiencyLevel,omitempty" xml:"proficiencyLevel,omitempty"`
	QuestionAudio      *string            `json:"questionAudio,omitempty" xml:"questionAudio,omitempty"`
	QuestionContent    *string            `json:"questionContent,omitempty" xml:"questionContent,omitempty"`
	QuestionExtension  map[string]*string `json:"questionExtension,omitempty" xml:"questionExtension,omitempty"`
	QuestionPicUrl     *string            `json:"questionPicUrl,omitempty" xml:"questionPicUrl,omitempty"`
	QuestionType       *string            `json:"questionType,omitempty" xml:"questionType,omitempty"`
	SourceCode         *string            `json:"sourceCode,omitempty" xml:"sourceCode,omitempty"`
	StudentUserId      *string            `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
	Subject            *string            `json:"subject,omitempty" xml:"subject,omitempty"`
}

func (s CreateRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateRequest) GoString() string {
	return s.String()
}

func (s *CreateRequest) SetAnswerContent(v string) *CreateRequest {
	s.AnswerContent = &v
	return s
}

func (s *CreateRequest) SetDifficultyLevel(v int32) *CreateRequest {
	s.DifficultyLevel = &v
	return s
}

func (s *CreateRequest) SetExplainAudio(v string) *CreateRequest {
	s.ExplainAudio = &v
	return s
}

func (s *CreateRequest) SetExplainContent(v string) *CreateRequest {
	s.ExplainContent = &v
	return s
}

func (s *CreateRequest) SetGenerateTime(v int64) *CreateRequest {
	s.GenerateTime = &v
	return s
}

func (s *CreateRequest) SetKnowledgePointList(v []*string) *CreateRequest {
	s.KnowledgePointList = v
	return s
}

func (s *CreateRequest) SetOwnerCode(v string) *CreateRequest {
	s.OwnerCode = &v
	return s
}

func (s *CreateRequest) SetOwnerType(v string) *CreateRequest {
	s.OwnerType = &v
	return s
}

func (s *CreateRequest) SetProficiencyLevel(v int32) *CreateRequest {
	s.ProficiencyLevel = &v
	return s
}

func (s *CreateRequest) SetQuestionAudio(v string) *CreateRequest {
	s.QuestionAudio = &v
	return s
}

func (s *CreateRequest) SetQuestionContent(v string) *CreateRequest {
	s.QuestionContent = &v
	return s
}

func (s *CreateRequest) SetQuestionExtension(v map[string]*string) *CreateRequest {
	s.QuestionExtension = v
	return s
}

func (s *CreateRequest) SetQuestionPicUrl(v string) *CreateRequest {
	s.QuestionPicUrl = &v
	return s
}

func (s *CreateRequest) SetQuestionType(v string) *CreateRequest {
	s.QuestionType = &v
	return s
}

func (s *CreateRequest) SetSourceCode(v string) *CreateRequest {
	s.SourceCode = &v
	return s
}

func (s *CreateRequest) SetStudentUserId(v string) *CreateRequest {
	s.StudentUserId = &v
	return s
}

func (s *CreateRequest) SetSubject(v string) *CreateRequest {
	s.Subject = &v
	return s
}

type CreateResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateResponseBody) GoString() string {
	return s.String()
}

func (s *CreateResponseBody) SetSuccess(v bool) *CreateResponseBody {
	s.Success = &v
	return s
}

type CreateResponse struct {
	Headers    map[string]*string  `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32              `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateResponse) GoString() string {
	return s.String()
}

func (s *CreateResponse) SetHeaders(v map[string]*string) *CreateResponse {
	s.Headers = v
	return s
}

func (s *CreateResponse) SetStatusCode(v int32) *CreateResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateResponse) SetBody(v *CreateResponseBody) *CreateResponse {
	s.Body = v
	return s
}

type CreateAppOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateAppOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateAppOrderHeaders) GoString() string {
	return s.String()
}

func (s *CreateAppOrderHeaders) SetCommonHeaders(v map[string]*string) *CreateAppOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateAppOrderHeaders) SetXAcsDingtalkAccessToken(v string) *CreateAppOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateAppOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1234
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	BizCode *int32 `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	DetailList []*CreateAppOrderRequestDetailList `json:"detailList,omitempty" xml:"detailList,omitempty" type:"Repeated"`
	// example:
	//
	// 1
	LabelAmount *int64 `json:"labelAmount,omitempty" xml:"labelAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// M00001
	MerchantOrderNo *string `json:"merchantOrderNo,omitempty" xml:"merchantOrderNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10000
	OuterUserId *string `json:"outerUserId,omitempty" xml:"outerUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// WWrhziOLF/XuRd3IyKwLkLeSFgKnUfeg2yLEVD9Bw+8
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 数字图书
	Subject *string `json:"subject,omitempty" xml:"subject,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100000
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
}

func (s CreateAppOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateAppOrderRequest) GoString() string {
	return s.String()
}

func (s *CreateAppOrderRequest) SetActualAmount(v int64) *CreateAppOrderRequest {
	s.ActualAmount = &v
	return s
}

func (s *CreateAppOrderRequest) SetAlipayAppId(v string) *CreateAppOrderRequest {
	s.AlipayAppId = &v
	return s
}

func (s *CreateAppOrderRequest) SetBizCode(v int32) *CreateAppOrderRequest {
	s.BizCode = &v
	return s
}

func (s *CreateAppOrderRequest) SetDetailList(v []*CreateAppOrderRequestDetailList) *CreateAppOrderRequest {
	s.DetailList = v
	return s
}

func (s *CreateAppOrderRequest) SetLabelAmount(v int64) *CreateAppOrderRequest {
	s.LabelAmount = &v
	return s
}

func (s *CreateAppOrderRequest) SetMerchantId(v string) *CreateAppOrderRequest {
	s.MerchantId = &v
	return s
}

func (s *CreateAppOrderRequest) SetMerchantOrderNo(v string) *CreateAppOrderRequest {
	s.MerchantOrderNo = &v
	return s
}

func (s *CreateAppOrderRequest) SetOuterUserId(v string) *CreateAppOrderRequest {
	s.OuterUserId = &v
	return s
}

func (s *CreateAppOrderRequest) SetSignature(v string) *CreateAppOrderRequest {
	s.Signature = &v
	return s
}

func (s *CreateAppOrderRequest) SetSubject(v string) *CreateAppOrderRequest {
	s.Subject = &v
	return s
}

func (s *CreateAppOrderRequest) SetTimestamp(v int64) *CreateAppOrderRequest {
	s.Timestamp = &v
	return s
}

type CreateAppOrderRequestDetailList struct {
	// This parameter is required.
	//
	// example:
	//
	// 1234000
	GoodsId *string `json:"goodsId,omitempty" xml:"goodsId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 绘画图书
	GoodsName *string `json:"goodsName,omitempty" xml:"goodsName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	GoodsPrice *int64 `json:"goodsPrice,omitempty" xml:"goodsPrice,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	GoodsQuantity *int32 `json:"goodsQuantity,omitempty" xml:"goodsQuantity,omitempty"`
}

func (s CreateAppOrderRequestDetailList) String() string {
	return tea.Prettify(s)
}

func (s CreateAppOrderRequestDetailList) GoString() string {
	return s.String()
}

func (s *CreateAppOrderRequestDetailList) SetGoodsId(v string) *CreateAppOrderRequestDetailList {
	s.GoodsId = &v
	return s
}

func (s *CreateAppOrderRequestDetailList) SetGoodsName(v string) *CreateAppOrderRequestDetailList {
	s.GoodsName = &v
	return s
}

func (s *CreateAppOrderRequestDetailList) SetGoodsPrice(v int64) *CreateAppOrderRequestDetailList {
	s.GoodsPrice = &v
	return s
}

func (s *CreateAppOrderRequestDetailList) SetGoodsQuantity(v int32) *CreateAppOrderRequestDetailList {
	s.GoodsQuantity = &v
	return s
}

type CreateAppOrderResponseBody struct {
	// example:
	//
	// 1
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// example:
	//
	// 1234
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// example:
	//
	// alipay_sdk=alipay-sdk-java-dynamicVersionNo&version=1.0
	Body *string `json:"body,omitempty" xml:"body,omitempty"`
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// example:
	//
	// M00001
	MerchantOrderNo *string `json:"merchantOrderNo,omitempty" xml:"merchantOrderNo,omitempty"`
	// example:
	//
	// CM0001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
}

func (s CreateAppOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateAppOrderResponseBody) GoString() string {
	return s.String()
}

func (s *CreateAppOrderResponseBody) SetActualAmount(v int64) *CreateAppOrderResponseBody {
	s.ActualAmount = &v
	return s
}

func (s *CreateAppOrderResponseBody) SetAlipayAppId(v string) *CreateAppOrderResponseBody {
	s.AlipayAppId = &v
	return s
}

func (s *CreateAppOrderResponseBody) SetBody(v string) *CreateAppOrderResponseBody {
	s.Body = &v
	return s
}

func (s *CreateAppOrderResponseBody) SetMerchantId(v string) *CreateAppOrderResponseBody {
	s.MerchantId = &v
	return s
}

func (s *CreateAppOrderResponseBody) SetMerchantOrderNo(v string) *CreateAppOrderResponseBody {
	s.MerchantOrderNo = &v
	return s
}

func (s *CreateAppOrderResponseBody) SetOrderNo(v string) *CreateAppOrderResponseBody {
	s.OrderNo = &v
	return s
}

type CreateAppOrderResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateAppOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateAppOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateAppOrderResponse) GoString() string {
	return s.String()
}

func (s *CreateAppOrderResponse) SetHeaders(v map[string]*string) *CreateAppOrderResponse {
	s.Headers = v
	return s
}

func (s *CreateAppOrderResponse) SetStatusCode(v int32) *CreateAppOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateAppOrderResponse) SetBody(v *CreateAppOrderResponseBody) *CreateAppOrderResponse {
	s.Body = v
	return s
}

type CreateCollegeContactDeptHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateCollegeContactDeptHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactDeptHeaders) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactDeptHeaders) SetCommonHeaders(v map[string]*string) *CreateCollegeContactDeptHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateCollegeContactDeptHeaders) SetXAcsDingtalkAccessToken(v string) *CreateCollegeContactDeptHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateCollegeContactDeptRequest struct {
	AutoApproveApply *bool `json:"autoApproveApply,omitempty" xml:"autoApproveApply,omitempty"`
	// example:
	//
	// 这是组织单元简介
	Brief *string `json:"brief,omitempty" xml:"brief,omitempty"`
	// example:
	//
	// 20000
	Code            *string `json:"code,omitempty" xml:"code,omitempty"`
	CreateDeptGroup *bool   `json:"createDeptGroup,omitempty" xml:"createDeptGroup,omitempty"`
	// example:
	//
	// dept456
	DeptCode *string `json:"deptCode,omitempty" xml:"deptCode,omitempty"`
	// example:
	//
	// 234567
	DeptId      *int64   `json:"deptId,omitempty" xml:"deptId,omitempty"`
	DeptPermits []*int64 `json:"deptPermits,omitempty" xml:"deptPermits,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// contact_class_dept
	DeptType         *string                                         `json:"deptType,omitempty" xml:"deptType,omitempty"`
	EmpApplyJoinDept *bool                                           `json:"empApplyJoinDept,omitempty" xml:"empApplyJoinDept,omitempty"`
	Extension        map[string]*string                              `json:"extension,omitempty" xml:"extension,omitempty"`
	HideDept         *bool                                           `json:"hideDept,omitempty" xml:"hideDept,omitempty"`
	HideSceneConfig  *CreateCollegeContactDeptRequestHideSceneConfig `json:"hideSceneConfig,omitempty" xml:"hideSceneConfig,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 软件工程
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 20
	Order             *int64                                           `json:"order,omitempty" xml:"order,omitempty"`
	OuterDept         *bool                                            `json:"outerDept,omitempty" xml:"outerDept,omitempty"`
	OuterDeptOnlySelf *bool                                            `json:"outerDeptOnlySelf,omitempty" xml:"outerDeptOnlySelf,omitempty"`
	OuterPermitDepts  []*int64                                         `json:"outerPermitDepts,omitempty" xml:"outerPermitDepts,omitempty" type:"Repeated"`
	OuterPermitUsers  []*string                                        `json:"outerPermitUsers,omitempty" xml:"outerPermitUsers,omitempty" type:"Repeated"`
	OuterSceneConfig  *CreateCollegeContactDeptRequestOuterSceneConfig `json:"outerSceneConfig,omitempty" xml:"outerSceneConfig,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 20
	ParentId *int64 `json:"parentId,omitempty" xml:"parentId,omitempty"`
	// example:
	//
	// 软件工程标识
	SourceIdentifier *string `json:"sourceIdentifier,omitempty" xml:"sourceIdentifier,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
	// example:
	//
	// 138xxxx0000
	Telephone   *string   `json:"telephone,omitempty" xml:"telephone,omitempty"`
	UserPermits []*string `json:"userPermits,omitempty" xml:"userPermits,omitempty" type:"Repeated"`
}

func (s CreateCollegeContactDeptRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactDeptRequest) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactDeptRequest) SetAutoApproveApply(v bool) *CreateCollegeContactDeptRequest {
	s.AutoApproveApply = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetBrief(v string) *CreateCollegeContactDeptRequest {
	s.Brief = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetCode(v string) *CreateCollegeContactDeptRequest {
	s.Code = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetCreateDeptGroup(v bool) *CreateCollegeContactDeptRequest {
	s.CreateDeptGroup = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetDeptCode(v string) *CreateCollegeContactDeptRequest {
	s.DeptCode = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetDeptId(v int64) *CreateCollegeContactDeptRequest {
	s.DeptId = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetDeptPermits(v []*int64) *CreateCollegeContactDeptRequest {
	s.DeptPermits = v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetDeptType(v string) *CreateCollegeContactDeptRequest {
	s.DeptType = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetEmpApplyJoinDept(v bool) *CreateCollegeContactDeptRequest {
	s.EmpApplyJoinDept = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetExtension(v map[string]*string) *CreateCollegeContactDeptRequest {
	s.Extension = v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetHideDept(v bool) *CreateCollegeContactDeptRequest {
	s.HideDept = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetHideSceneConfig(v *CreateCollegeContactDeptRequestHideSceneConfig) *CreateCollegeContactDeptRequest {
	s.HideSceneConfig = v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetName(v string) *CreateCollegeContactDeptRequest {
	s.Name = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetOrder(v int64) *CreateCollegeContactDeptRequest {
	s.Order = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetOuterDept(v bool) *CreateCollegeContactDeptRequest {
	s.OuterDept = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetOuterDeptOnlySelf(v bool) *CreateCollegeContactDeptRequest {
	s.OuterDeptOnlySelf = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetOuterPermitDepts(v []*int64) *CreateCollegeContactDeptRequest {
	s.OuterPermitDepts = v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetOuterPermitUsers(v []*string) *CreateCollegeContactDeptRequest {
	s.OuterPermitUsers = v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetOuterSceneConfig(v *CreateCollegeContactDeptRequestOuterSceneConfig) *CreateCollegeContactDeptRequest {
	s.OuterSceneConfig = v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetParentId(v int64) *CreateCollegeContactDeptRequest {
	s.ParentId = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetSourceIdentifier(v string) *CreateCollegeContactDeptRequest {
	s.SourceIdentifier = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetStruId(v int64) *CreateCollegeContactDeptRequest {
	s.StruId = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetTelephone(v string) *CreateCollegeContactDeptRequest {
	s.Telephone = &v
	return s
}

func (s *CreateCollegeContactDeptRequest) SetUserPermits(v []*string) *CreateCollegeContactDeptRequest {
	s.UserPermits = v
	return s
}

type CreateCollegeContactDeptRequestHideSceneConfig struct {
	Active          *bool `json:"active,omitempty" xml:"active,omitempty"`
	ChatboxSubtitle *bool `json:"chatboxSubtitle,omitempty" xml:"chatboxSubtitle,omitempty"`
	NodeList        *bool `json:"nodeList,omitempty" xml:"nodeList,omitempty"`
	Profile         *bool `json:"profile,omitempty" xml:"profile,omitempty"`
	Search          *bool `json:"search,omitempty" xml:"search,omitempty"`
}

func (s CreateCollegeContactDeptRequestHideSceneConfig) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactDeptRequestHideSceneConfig) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactDeptRequestHideSceneConfig) SetActive(v bool) *CreateCollegeContactDeptRequestHideSceneConfig {
	s.Active = &v
	return s
}

func (s *CreateCollegeContactDeptRequestHideSceneConfig) SetChatboxSubtitle(v bool) *CreateCollegeContactDeptRequestHideSceneConfig {
	s.ChatboxSubtitle = &v
	return s
}

func (s *CreateCollegeContactDeptRequestHideSceneConfig) SetNodeList(v bool) *CreateCollegeContactDeptRequestHideSceneConfig {
	s.NodeList = &v
	return s
}

func (s *CreateCollegeContactDeptRequestHideSceneConfig) SetProfile(v bool) *CreateCollegeContactDeptRequestHideSceneConfig {
	s.Profile = &v
	return s
}

func (s *CreateCollegeContactDeptRequestHideSceneConfig) SetSearch(v bool) *CreateCollegeContactDeptRequestHideSceneConfig {
	s.Search = &v
	return s
}

type CreateCollegeContactDeptRequestOuterSceneConfig struct {
	Active          *bool `json:"active,omitempty" xml:"active,omitempty"`
	ChatboxSubtitle *bool `json:"chatboxSubtitle,omitempty" xml:"chatboxSubtitle,omitempty"`
	NodeList        *bool `json:"nodeList,omitempty" xml:"nodeList,omitempty"`
	Profile         *bool `json:"profile,omitempty" xml:"profile,omitempty"`
	Search          *bool `json:"search,omitempty" xml:"search,omitempty"`
}

func (s CreateCollegeContactDeptRequestOuterSceneConfig) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactDeptRequestOuterSceneConfig) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactDeptRequestOuterSceneConfig) SetActive(v bool) *CreateCollegeContactDeptRequestOuterSceneConfig {
	s.Active = &v
	return s
}

func (s *CreateCollegeContactDeptRequestOuterSceneConfig) SetChatboxSubtitle(v bool) *CreateCollegeContactDeptRequestOuterSceneConfig {
	s.ChatboxSubtitle = &v
	return s
}

func (s *CreateCollegeContactDeptRequestOuterSceneConfig) SetNodeList(v bool) *CreateCollegeContactDeptRequestOuterSceneConfig {
	s.NodeList = &v
	return s
}

func (s *CreateCollegeContactDeptRequestOuterSceneConfig) SetProfile(v bool) *CreateCollegeContactDeptRequestOuterSceneConfig {
	s.Profile = &v
	return s
}

func (s *CreateCollegeContactDeptRequestOuterSceneConfig) SetSearch(v bool) *CreateCollegeContactDeptRequestOuterSceneConfig {
	s.Search = &v
	return s
}

type CreateCollegeContactDeptResponseBody struct {
	Result  *CreateCollegeContactDeptResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                       `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateCollegeContactDeptResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactDeptResponseBody) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactDeptResponseBody) SetResult(v *CreateCollegeContactDeptResponseBodyResult) *CreateCollegeContactDeptResponseBody {
	s.Result = v
	return s
}

func (s *CreateCollegeContactDeptResponseBody) SetSuccess(v bool) *CreateCollegeContactDeptResponseBody {
	s.Success = &v
	return s
}

type CreateCollegeContactDeptResponseBodyResult struct {
	// example:
	//
	// 20
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
}

func (s CreateCollegeContactDeptResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactDeptResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactDeptResponseBodyResult) SetDeptId(v int64) *CreateCollegeContactDeptResponseBodyResult {
	s.DeptId = &v
	return s
}

type CreateCollegeContactDeptResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateCollegeContactDeptResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateCollegeContactDeptResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactDeptResponse) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactDeptResponse) SetHeaders(v map[string]*string) *CreateCollegeContactDeptResponse {
	s.Headers = v
	return s
}

func (s *CreateCollegeContactDeptResponse) SetStatusCode(v int32) *CreateCollegeContactDeptResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateCollegeContactDeptResponse) SetBody(v *CreateCollegeContactDeptResponseBody) *CreateCollegeContactDeptResponse {
	s.Body = v
	return s
}

type CreateCollegeContactSceneStruHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateCollegeContactSceneStruHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactSceneStruHeaders) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactSceneStruHeaders) SetCommonHeaders(v map[string]*string) *CreateCollegeContactSceneStruHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateCollegeContactSceneStruHeaders) SetXAcsDingtalkAccessToken(v string) *CreateCollegeContactSceneStruHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateCollegeContactSceneStruRequest struct {
	// This parameter is required.
	HasStruFixedDept *bool `json:"hasStruFixedDept,omitempty" xml:"hasStruFixedDept,omitempty"`
	// example:
	//
	// 20
	Order *int64 `json:"order,omitempty" xml:"order,omitempty"`
	// example:
	//
	// 场景架构标识
	SourceIdentifier *string `json:"sourceIdentifier,omitempty" xml:"sourceIdentifier,omitempty"`
	// example:
	//
	// 这是场景架构简介
	StruBrief *string `json:"struBrief,omitempty" xml:"struBrief,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 科研架构
	StruName *string `json:"struName,omitempty" xml:"struName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// stru_research_dept
	StruType *string `json:"struType,omitempty" xml:"struType,omitempty"`
}

func (s CreateCollegeContactSceneStruRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactSceneStruRequest) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactSceneStruRequest) SetHasStruFixedDept(v bool) *CreateCollegeContactSceneStruRequest {
	s.HasStruFixedDept = &v
	return s
}

func (s *CreateCollegeContactSceneStruRequest) SetOrder(v int64) *CreateCollegeContactSceneStruRequest {
	s.Order = &v
	return s
}

func (s *CreateCollegeContactSceneStruRequest) SetSourceIdentifier(v string) *CreateCollegeContactSceneStruRequest {
	s.SourceIdentifier = &v
	return s
}

func (s *CreateCollegeContactSceneStruRequest) SetStruBrief(v string) *CreateCollegeContactSceneStruRequest {
	s.StruBrief = &v
	return s
}

func (s *CreateCollegeContactSceneStruRequest) SetStruName(v string) *CreateCollegeContactSceneStruRequest {
	s.StruName = &v
	return s
}

func (s *CreateCollegeContactSceneStruRequest) SetStruType(v string) *CreateCollegeContactSceneStruRequest {
	s.StruType = &v
	return s
}

type CreateCollegeContactSceneStruResponseBody struct {
	Result  *CreateCollegeContactSceneStruResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                            `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateCollegeContactSceneStruResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactSceneStruResponseBody) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactSceneStruResponseBody) SetResult(v *CreateCollegeContactSceneStruResponseBodyResult) *CreateCollegeContactSceneStruResponseBody {
	s.Result = v
	return s
}

func (s *CreateCollegeContactSceneStruResponseBody) SetSuccess(v bool) *CreateCollegeContactSceneStruResponseBody {
	s.Success = &v
	return s
}

type CreateCollegeContactSceneStruResponseBodyResult struct {
	// example:
	//
	// 20
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
	// example:
	//
	// 20
	StudentDeptId *int64 `json:"studentDeptId,omitempty" xml:"studentDeptId,omitempty"`
	// example:
	//
	// 20
	TeacherDeptId *int64 `json:"teacherDeptId,omitempty" xml:"teacherDeptId,omitempty"`
}

func (s CreateCollegeContactSceneStruResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactSceneStruResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactSceneStruResponseBodyResult) SetStruId(v int64) *CreateCollegeContactSceneStruResponseBodyResult {
	s.StruId = &v
	return s
}

func (s *CreateCollegeContactSceneStruResponseBodyResult) SetStudentDeptId(v int64) *CreateCollegeContactSceneStruResponseBodyResult {
	s.StudentDeptId = &v
	return s
}

func (s *CreateCollegeContactSceneStruResponseBodyResult) SetTeacherDeptId(v int64) *CreateCollegeContactSceneStruResponseBodyResult {
	s.TeacherDeptId = &v
	return s
}

type CreateCollegeContactSceneStruResponse struct {
	Headers    map[string]*string                         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateCollegeContactSceneStruResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateCollegeContactSceneStruResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateCollegeContactSceneStruResponse) GoString() string {
	return s.String()
}

func (s *CreateCollegeContactSceneStruResponse) SetHeaders(v map[string]*string) *CreateCollegeContactSceneStruResponse {
	s.Headers = v
	return s
}

func (s *CreateCollegeContactSceneStruResponse) SetStatusCode(v int32) *CreateCollegeContactSceneStruResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateCollegeContactSceneStruResponse) SetBody(v *CreateCollegeContactSceneStruResponseBody) *CreateCollegeContactSceneStruResponse {
	s.Body = v
	return s
}

type CreateCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateCourseHeaders) GoString() string {
	return s.String()
}

func (s *CreateCourseHeaders) SetCommonHeaders(v map[string]*string) *CreateCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateCourseHeaders) SetXAcsDingtalkAccessToken(v string) *CreateCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateCourseRequest struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// class_xxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// classRoom_xxx
	ClassRoomId *string `json:"classRoomId,omitempty" xml:"classRoomId,omitempty"`
	// example:
	//
	// 音乐教室
	ClassRoomName *string `json:"classRoomName,omitempty" xml:"classRoomName,omitempty"`
	// example:
	//
	// 1
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// code_xxx
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// 0
	CourseDate *int64 `json:"courseDate,omitempty" xml:"courseDate,omitempty"`
	// example:
	//
	// 语文
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// example:
	//
	// 1
	CourseWeek *int32 `json:"courseWeek,omitempty" xml:"courseWeek,omitempty"`
	// example:
	//
	// 0
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// courseId
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
	// example:
	//
	// memo_xxx
	Memo *string `json:"memo,omitempty" xml:"memo,omitempty"`
	// example:
	//
	// 2024
	SchoolYear *string `json:"schoolYear,omitempty" xml:"schoolYear,omitempty"`
	// example:
	//
	// 1
	Semester *int32 `json:"semester,omitempty" xml:"semester,omitempty"`
	// example:
	//
	// 0
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 1
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// 1
	TeachWeek   *int32                            `json:"teachWeek,omitempty" xml:"teachWeek,omitempty"`
	TeacherList []*CreateCourseRequestTeacherList `json:"teacherList,omitempty" xml:"teacherList,omitempty" type:"Repeated"`
	// example:
	//
	// 第一节
	TimeslotName *string `json:"timeslotName,omitempty" xml:"timeslotName,omitempty"`
	// example:
	//
	// 1
	TimeslotNum *int32 `json:"timeslotNum,omitempty" xml:"timeslotNum,omitempty"`
	// example:
	//
	// 1
	Type *int32 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s CreateCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateCourseRequest) GoString() string {
	return s.String()
}

func (s *CreateCourseRequest) SetAttributes(v string) *CreateCourseRequest {
	s.Attributes = &v
	return s
}

func (s *CreateCourseRequest) SetClassId(v string) *CreateCourseRequest {
	s.ClassId = &v
	return s
}

func (s *CreateCourseRequest) SetClassName(v string) *CreateCourseRequest {
	s.ClassName = &v
	return s
}

func (s *CreateCourseRequest) SetClassRoomId(v string) *CreateCourseRequest {
	s.ClassRoomId = &v
	return s
}

func (s *CreateCourseRequest) SetClassRoomName(v string) *CreateCourseRequest {
	s.ClassRoomName = &v
	return s
}

func (s *CreateCourseRequest) SetClassType(v int32) *CreateCourseRequest {
	s.ClassType = &v
	return s
}

func (s *CreateCourseRequest) SetCorpId(v string) *CreateCourseRequest {
	s.CorpId = &v
	return s
}

func (s *CreateCourseRequest) SetCourseCode(v string) *CreateCourseRequest {
	s.CourseCode = &v
	return s
}

func (s *CreateCourseRequest) SetCourseDate(v int64) *CreateCourseRequest {
	s.CourseDate = &v
	return s
}

func (s *CreateCourseRequest) SetCourseName(v string) *CreateCourseRequest {
	s.CourseName = &v
	return s
}

func (s *CreateCourseRequest) SetCourseWeek(v int32) *CreateCourseRequest {
	s.CourseWeek = &v
	return s
}

func (s *CreateCourseRequest) SetEndTime(v int64) *CreateCourseRequest {
	s.EndTime = &v
	return s
}

func (s *CreateCourseRequest) SetIsvCode(v string) *CreateCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *CreateCourseRequest) SetIsvCourseId(v string) *CreateCourseRequest {
	s.IsvCourseId = &v
	return s
}

func (s *CreateCourseRequest) SetMemo(v string) *CreateCourseRequest {
	s.Memo = &v
	return s
}

func (s *CreateCourseRequest) SetSchoolYear(v string) *CreateCourseRequest {
	s.SchoolYear = &v
	return s
}

func (s *CreateCourseRequest) SetSemester(v int32) *CreateCourseRequest {
	s.Semester = &v
	return s
}

func (s *CreateCourseRequest) SetStartTime(v int64) *CreateCourseRequest {
	s.StartTime = &v
	return s
}

func (s *CreateCourseRequest) SetStatus(v int32) *CreateCourseRequest {
	s.Status = &v
	return s
}

func (s *CreateCourseRequest) SetTeachWeek(v int32) *CreateCourseRequest {
	s.TeachWeek = &v
	return s
}

func (s *CreateCourseRequest) SetTeacherList(v []*CreateCourseRequestTeacherList) *CreateCourseRequest {
	s.TeacherList = v
	return s
}

func (s *CreateCourseRequest) SetTimeslotName(v string) *CreateCourseRequest {
	s.TimeslotName = &v
	return s
}

func (s *CreateCourseRequest) SetTimeslotNum(v int32) *CreateCourseRequest {
	s.TimeslotNum = &v
	return s
}

func (s *CreateCourseRequest) SetType(v int32) *CreateCourseRequest {
	s.Type = &v
	return s
}

type CreateCourseRequestTeacherList struct {
	// example:
	//
	// 李老师
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// example:
	//
	// staff_xxx
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s CreateCourseRequestTeacherList) String() string {
	return tea.Prettify(s)
}

func (s CreateCourseRequestTeacherList) GoString() string {
	return s.String()
}

func (s *CreateCourseRequestTeacherList) SetTeacherName(v string) *CreateCourseRequestTeacherList {
	s.TeacherName = &v
	return s
}

func (s *CreateCourseRequestTeacherList) SetTeacherUserId(v string) *CreateCourseRequestTeacherList {
	s.TeacherUserId = &v
	return s
}

type CreateCourseResponseBody struct {
	Result  *int64 `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateCourseResponseBody) GoString() string {
	return s.String()
}

func (s *CreateCourseResponseBody) SetResult(v int64) *CreateCourseResponseBody {
	s.Result = &v
	return s
}

func (s *CreateCourseResponseBody) SetSuccess(v bool) *CreateCourseResponseBody {
	s.Success = &v
	return s
}

type CreateCourseResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateCourseResponse) GoString() string {
	return s.String()
}

func (s *CreateCourseResponse) SetHeaders(v map[string]*string) *CreateCourseResponse {
	s.Headers = v
	return s
}

func (s *CreateCourseResponse) SetStatusCode(v int32) *CreateCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateCourseResponse) SetBody(v *CreateCourseResponseBody) *CreateCourseResponse {
	s.Body = v
	return s
}

type CreateCustomClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateCustomClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomClassHeaders) GoString() string {
	return s.String()
}

func (s *CreateCustomClassHeaders) SetCommonHeaders(v map[string]*string) *CreateCustomClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateCustomClassHeaders) SetXAcsDingtalkAccessToken(v string) *CreateCustomClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateCustomClassRequest struct {
	// This parameter is required.
	CustomClass *CreateCustomClassRequestCustomClass `json:"customClass,omitempty" xml:"customClass,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 1234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 12345
	SuperId *int64 `json:"superId,omitempty" xml:"superId,omitempty"`
}

func (s CreateCustomClassRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomClassRequest) GoString() string {
	return s.String()
}

func (s *CreateCustomClassRequest) SetCustomClass(v *CreateCustomClassRequestCustomClass) *CreateCustomClassRequest {
	s.CustomClass = v
	return s
}

func (s *CreateCustomClassRequest) SetOperator(v string) *CreateCustomClassRequest {
	s.Operator = &v
	return s
}

func (s *CreateCustomClassRequest) SetSuperId(v int64) *CreateCustomClassRequest {
	s.SuperId = &v
	return s
}

type CreateCustomClassRequestCustomClass struct {
	// This parameter is required.
	//
	// example:
	//
	// 2021级培训班
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
}

func (s CreateCustomClassRequestCustomClass) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomClassRequestCustomClass) GoString() string {
	return s.String()
}

func (s *CreateCustomClassRequestCustomClass) SetName(v string) *CreateCustomClassRequestCustomClass {
	s.Name = &v
	return s
}

type CreateCustomClassResponseBody struct {
	Result  *CreateCustomClassResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateCustomClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomClassResponseBody) GoString() string {
	return s.String()
}

func (s *CreateCustomClassResponseBody) SetResult(v *CreateCustomClassResponseBodyResult) *CreateCustomClassResponseBody {
	s.Result = v
	return s
}

func (s *CreateCustomClassResponseBody) SetSuccess(v bool) *CreateCustomClassResponseBody {
	s.Success = &v
	return s
}

type CreateCustomClassResponseBodyResult struct {
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
}

func (s CreateCustomClassResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomClassResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CreateCustomClassResponseBodyResult) SetDeptId(v int64) *CreateCustomClassResponseBodyResult {
	s.DeptId = &v
	return s
}

type CreateCustomClassResponse struct {
	Headers    map[string]*string             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateCustomClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateCustomClassResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomClassResponse) GoString() string {
	return s.String()
}

func (s *CreateCustomClassResponse) SetHeaders(v map[string]*string) *CreateCustomClassResponse {
	s.Headers = v
	return s
}

func (s *CreateCustomClassResponse) SetStatusCode(v int32) *CreateCustomClassResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateCustomClassResponse) SetBody(v *CreateCustomClassResponseBody) *CreateCustomClassResponse {
	s.Body = v
	return s
}

type CreateCustomDeptHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateCustomDeptHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomDeptHeaders) GoString() string {
	return s.String()
}

func (s *CreateCustomDeptHeaders) SetCommonHeaders(v map[string]*string) *CreateCustomDeptHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateCustomDeptHeaders) SetXAcsDingtalkAccessToken(v string) *CreateCustomDeptHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateCustomDeptRequest struct {
	// This parameter is required.
	CustomDept *CreateCustomDeptRequestCustomDept `json:"customDept,omitempty" xml:"customDept,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 12345
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1233
	SuperId *int64 `json:"superId,omitempty" xml:"superId,omitempty"`
}

func (s CreateCustomDeptRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomDeptRequest) GoString() string {
	return s.String()
}

func (s *CreateCustomDeptRequest) SetCustomDept(v *CreateCustomDeptRequestCustomDept) *CreateCustomDeptRequest {
	s.CustomDept = v
	return s
}

func (s *CreateCustomDeptRequest) SetOperator(v string) *CreateCustomDeptRequest {
	s.Operator = &v
	return s
}

func (s *CreateCustomDeptRequest) SetSuperId(v int64) *CreateCustomDeptRequest {
	s.SuperId = &v
	return s
}

type CreateCustomDeptRequestCustomDept struct {
	// This parameter is required.
	//
	// example:
	//
	// 紫金港校区
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// custom_dept
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s CreateCustomDeptRequestCustomDept) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomDeptRequestCustomDept) GoString() string {
	return s.String()
}

func (s *CreateCustomDeptRequestCustomDept) SetName(v string) *CreateCustomDeptRequestCustomDept {
	s.Name = &v
	return s
}

func (s *CreateCustomDeptRequestCustomDept) SetType(v string) *CreateCustomDeptRequestCustomDept {
	s.Type = &v
	return s
}

type CreateCustomDeptResponseBody struct {
	Result  *CreateCustomDeptResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                               `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateCustomDeptResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomDeptResponseBody) GoString() string {
	return s.String()
}

func (s *CreateCustomDeptResponseBody) SetResult(v *CreateCustomDeptResponseBodyResult) *CreateCustomDeptResponseBody {
	s.Result = v
	return s
}

func (s *CreateCustomDeptResponseBody) SetSuccess(v bool) *CreateCustomDeptResponseBody {
	s.Success = &v
	return s
}

type CreateCustomDeptResponseBodyResult struct {
	// example:
	//
	// 1234
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
}

func (s CreateCustomDeptResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomDeptResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CreateCustomDeptResponseBodyResult) SetDeptId(v int64) *CreateCustomDeptResponseBodyResult {
	s.DeptId = &v
	return s
}

type CreateCustomDeptResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateCustomDeptResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateCustomDeptResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateCustomDeptResponse) GoString() string {
	return s.String()
}

func (s *CreateCustomDeptResponse) SetHeaders(v map[string]*string) *CreateCustomDeptResponse {
	s.Headers = v
	return s
}

func (s *CreateCustomDeptResponse) SetStatusCode(v int32) *CreateCustomDeptResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateCustomDeptResponse) SetBody(v *CreateCustomDeptResponseBody) *CreateCustomDeptResponse {
	s.Body = v
	return s
}

type CreateEduAssetSpaceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateEduAssetSpaceHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateEduAssetSpaceHeaders) GoString() string {
	return s.String()
}

func (s *CreateEduAssetSpaceHeaders) SetCommonHeaders(v map[string]*string) *CreateEduAssetSpaceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateEduAssetSpaceHeaders) SetXAcsDingtalkAccessToken(v string) *CreateEduAssetSpaceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateEduAssetSpaceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 目前仅支持soke
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 存放语文教研文件
	SpaceDesc *string `json:"spaceDesc,omitempty" xml:"spaceDesc,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// https://gw.alicdn.com/imgextra/i4/O1CN01QGjRTl27z8YPPEQdr_!!6000000007867-2-tps-99-78.png
	SpaceIcon *string `json:"spaceIcon,omitempty" xml:"spaceIcon,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 语文教研组空间
	SpaceName *string `json:"spaceName,omitempty" xml:"spaceName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// aa12324
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CreateEduAssetSpaceRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateEduAssetSpaceRequest) GoString() string {
	return s.String()
}

func (s *CreateEduAssetSpaceRequest) SetBizCode(v string) *CreateEduAssetSpaceRequest {
	s.BizCode = &v
	return s
}

func (s *CreateEduAssetSpaceRequest) SetSpaceDesc(v string) *CreateEduAssetSpaceRequest {
	s.SpaceDesc = &v
	return s
}

func (s *CreateEduAssetSpaceRequest) SetSpaceIcon(v string) *CreateEduAssetSpaceRequest {
	s.SpaceIcon = &v
	return s
}

func (s *CreateEduAssetSpaceRequest) SetSpaceName(v string) *CreateEduAssetSpaceRequest {
	s.SpaceName = &v
	return s
}

func (s *CreateEduAssetSpaceRequest) SetUserId(v string) *CreateEduAssetSpaceRequest {
	s.UserId = &v
	return s
}

type CreateEduAssetSpaceResponseBody struct {
	// This parameter is required.
	CreateTimeMillis *int64 `json:"createTimeMillis,omitempty" xml:"createTimeMillis,omitempty"`
	// This parameter is required.
	ModifyTimeMillis *int64 `json:"modifyTimeMillis,omitempty" xml:"modifyTimeMillis,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// acl：acl授权 ; custom：自定义授权
	PermissionMode *string `json:"permissionMode,omitempty" xml:"permissionMode,omitempty"`
	// This parameter is required.
	Quota *int64 `json:"quota,omitempty" xml:"quota,omitempty"`
	// This parameter is required.
	SpaceId *string `json:"spaceId,omitempty" xml:"spaceId,omitempty"`
	// This parameter is required.
	SpaceName *string `json:"spaceName,omitempty" xml:"spaceName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// custom：自定义类型
	SpaceType *string `json:"spaceType,omitempty" xml:"spaceType,omitempty"`
	// This parameter is required.
	UsedQuota *int64 `json:"usedQuota,omitempty" xml:"usedQuota,omitempty"`
}

func (s CreateEduAssetSpaceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateEduAssetSpaceResponseBody) GoString() string {
	return s.String()
}

func (s *CreateEduAssetSpaceResponseBody) SetCreateTimeMillis(v int64) *CreateEduAssetSpaceResponseBody {
	s.CreateTimeMillis = &v
	return s
}

func (s *CreateEduAssetSpaceResponseBody) SetModifyTimeMillis(v int64) *CreateEduAssetSpaceResponseBody {
	s.ModifyTimeMillis = &v
	return s
}

func (s *CreateEduAssetSpaceResponseBody) SetPermissionMode(v string) *CreateEduAssetSpaceResponseBody {
	s.PermissionMode = &v
	return s
}

func (s *CreateEduAssetSpaceResponseBody) SetQuota(v int64) *CreateEduAssetSpaceResponseBody {
	s.Quota = &v
	return s
}

func (s *CreateEduAssetSpaceResponseBody) SetSpaceId(v string) *CreateEduAssetSpaceResponseBody {
	s.SpaceId = &v
	return s
}

func (s *CreateEduAssetSpaceResponseBody) SetSpaceName(v string) *CreateEduAssetSpaceResponseBody {
	s.SpaceName = &v
	return s
}

func (s *CreateEduAssetSpaceResponseBody) SetSpaceType(v string) *CreateEduAssetSpaceResponseBody {
	s.SpaceType = &v
	return s
}

func (s *CreateEduAssetSpaceResponseBody) SetUsedQuota(v int64) *CreateEduAssetSpaceResponseBody {
	s.UsedQuota = &v
	return s
}

type CreateEduAssetSpaceResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateEduAssetSpaceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateEduAssetSpaceResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateEduAssetSpaceResponse) GoString() string {
	return s.String()
}

func (s *CreateEduAssetSpaceResponse) SetHeaders(v map[string]*string) *CreateEduAssetSpaceResponse {
	s.Headers = v
	return s
}

func (s *CreateEduAssetSpaceResponse) SetStatusCode(v int32) *CreateEduAssetSpaceResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateEduAssetSpaceResponse) SetBody(v *CreateEduAssetSpaceResponseBody) *CreateEduAssetSpaceResponse {
	s.Body = v
	return s
}

type CreateFulfilRecordHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateFulfilRecordHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateFulfilRecordHeaders) GoString() string {
	return s.String()
}

func (s *CreateFulfilRecordHeaders) SetCommonHeaders(v map[string]*string) *CreateFulfilRecordHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateFulfilRecordHeaders) SetXAcsDingtalkAccessToken(v string) *CreateFulfilRecordHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateFulfilRecordRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1647503420000
	BizTime *int64 `json:"bizTime,omitempty" xml:"bizTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// {"key":"value"}
	ExtInfo *string `json:"extInfo,omitempty" xml:"extInfo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// F123123
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Scene *int64 `json:"scene,omitempty" xml:"scene,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// SN123456
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 12312312444
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CreateFulfilRecordRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateFulfilRecordRequest) GoString() string {
	return s.String()
}

func (s *CreateFulfilRecordRequest) SetBizTime(v int64) *CreateFulfilRecordRequest {
	s.BizTime = &v
	return s
}

func (s *CreateFulfilRecordRequest) SetExtInfo(v string) *CreateFulfilRecordRequest {
	s.ExtInfo = &v
	return s
}

func (s *CreateFulfilRecordRequest) SetFaceId(v string) *CreateFulfilRecordRequest {
	s.FaceId = &v
	return s
}

func (s *CreateFulfilRecordRequest) SetScene(v int64) *CreateFulfilRecordRequest {
	s.Scene = &v
	return s
}

func (s *CreateFulfilRecordRequest) SetSn(v string) *CreateFulfilRecordRequest {
	s.Sn = &v
	return s
}

func (s *CreateFulfilRecordRequest) SetUserId(v string) *CreateFulfilRecordRequest {
	s.UserId = &v
	return s
}

type CreateFulfilRecordResponseBody struct {
	// example:
	//
	// success
	SuccessInfo *string `json:"successInfo,omitempty" xml:"successInfo,omitempty"`
}

func (s CreateFulfilRecordResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateFulfilRecordResponseBody) GoString() string {
	return s.String()
}

func (s *CreateFulfilRecordResponseBody) SetSuccessInfo(v string) *CreateFulfilRecordResponseBody {
	s.SuccessInfo = &v
	return s
}

type CreateFulfilRecordResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateFulfilRecordResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateFulfilRecordResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateFulfilRecordResponse) GoString() string {
	return s.String()
}

func (s *CreateFulfilRecordResponse) SetHeaders(v map[string]*string) *CreateFulfilRecordResponse {
	s.Headers = v
	return s
}

func (s *CreateFulfilRecordResponse) SetStatusCode(v int32) *CreateFulfilRecordResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateFulfilRecordResponse) SetBody(v *CreateFulfilRecordResponseBody) *CreateFulfilRecordResponse {
	s.Body = v
	return s
}

type CreateInviteUrlHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateInviteUrlHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateInviteUrlHeaders) GoString() string {
	return s.String()
}

func (s *CreateInviteUrlHeaders) SetCommonHeaders(v map[string]*string) *CreateInviteUrlHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateInviteUrlHeaders) SetXAcsDingtalkAccessToken(v string) *CreateInviteUrlHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateInviteUrlRequest struct {
	// This parameter is required.
	AuthCode *string `json:"authCode,omitempty" xml:"authCode,omitempty"`
	// This parameter is required.
	TargetCorpId *string `json:"targetCorpId,omitempty" xml:"targetCorpId,omitempty"`
	// This parameter is required.
	TargetOperator *string `json:"targetOperator,omitempty" xml:"targetOperator,omitempty"`
}

func (s CreateInviteUrlRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateInviteUrlRequest) GoString() string {
	return s.String()
}

func (s *CreateInviteUrlRequest) SetAuthCode(v string) *CreateInviteUrlRequest {
	s.AuthCode = &v
	return s
}

func (s *CreateInviteUrlRequest) SetTargetCorpId(v string) *CreateInviteUrlRequest {
	s.TargetCorpId = &v
	return s
}

func (s *CreateInviteUrlRequest) SetTargetOperator(v string) *CreateInviteUrlRequest {
	s.TargetOperator = &v
	return s
}

type CreateInviteUrlResponseBody struct {
	// This parameter is required.
	Result *CreateInviteUrlResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	// This parameter is required.
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateInviteUrlResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateInviteUrlResponseBody) GoString() string {
	return s.String()
}

func (s *CreateInviteUrlResponseBody) SetResult(v *CreateInviteUrlResponseBodyResult) *CreateInviteUrlResponseBody {
	s.Result = v
	return s
}

func (s *CreateInviteUrlResponseBody) SetSuccess(v bool) *CreateInviteUrlResponseBody {
	s.Success = &v
	return s
}

type CreateInviteUrlResponseBodyResult struct {
	// This parameter is required.
	InviteUrl *string `json:"inviteUrl,omitempty" xml:"inviteUrl,omitempty"`
}

func (s CreateInviteUrlResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CreateInviteUrlResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CreateInviteUrlResponseBodyResult) SetInviteUrl(v string) *CreateInviteUrlResponseBodyResult {
	s.InviteUrl = &v
	return s
}

type CreateInviteUrlResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateInviteUrlResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateInviteUrlResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateInviteUrlResponse) GoString() string {
	return s.String()
}

func (s *CreateInviteUrlResponse) SetHeaders(v map[string]*string) *CreateInviteUrlResponse {
	s.Headers = v
	return s
}

func (s *CreateInviteUrlResponse) SetStatusCode(v int32) *CreateInviteUrlResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateInviteUrlResponse) SetBody(v *CreateInviteUrlResponseBody) *CreateInviteUrlResponse {
	s.Body = v
	return s
}

type CreateItemHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateItemHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateItemHeaders) GoString() string {
	return s.String()
}

func (s *CreateItemHeaders) SetCommonHeaders(v map[string]*string) *CreateItemHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateItemHeaders) SetXAcsDingtalkAccessToken(v string) *CreateItemHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateItemRequest struct {
	// This parameter is required.
	Description *string `json:"description,omitempty" xml:"description,omitempty"`
	// This parameter is required.
	EffectType *int64 `json:"effectType,omitempty" xml:"effectType,omitempty"`
	EndTime    *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// This parameter is required.
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	OptUser    *string `json:"optUser,omitempty" xml:"optUser,omitempty"`
	PeriodType *int64  `json:"periodType,omitempty" xml:"periodType,omitempty"`
	// This parameter is required.
	Price *int64 `json:"price,omitempty" xml:"price,omitempty"`
	// This parameter is required.
	Scene     *int64 `json:"scene,omitempty" xml:"scene,omitempty"`
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// This parameter is required.
	Type *int64 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s CreateItemRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateItemRequest) GoString() string {
	return s.String()
}

func (s *CreateItemRequest) SetDescription(v string) *CreateItemRequest {
	s.Description = &v
	return s
}

func (s *CreateItemRequest) SetEffectType(v int64) *CreateItemRequest {
	s.EffectType = &v
	return s
}

func (s *CreateItemRequest) SetEndTime(v int64) *CreateItemRequest {
	s.EndTime = &v
	return s
}

func (s *CreateItemRequest) SetMerchantId(v string) *CreateItemRequest {
	s.MerchantId = &v
	return s
}

func (s *CreateItemRequest) SetName(v string) *CreateItemRequest {
	s.Name = &v
	return s
}

func (s *CreateItemRequest) SetOptUser(v string) *CreateItemRequest {
	s.OptUser = &v
	return s
}

func (s *CreateItemRequest) SetPeriodType(v int64) *CreateItemRequest {
	s.PeriodType = &v
	return s
}

func (s *CreateItemRequest) SetPrice(v int64) *CreateItemRequest {
	s.Price = &v
	return s
}

func (s *CreateItemRequest) SetScene(v int64) *CreateItemRequest {
	s.Scene = &v
	return s
}

func (s *CreateItemRequest) SetStartTime(v int64) *CreateItemRequest {
	s.StartTime = &v
	return s
}

func (s *CreateItemRequest) SetStatus(v int32) *CreateItemRequest {
	s.Status = &v
	return s
}

func (s *CreateItemRequest) SetType(v int64) *CreateItemRequest {
	s.Type = &v
	return s
}

type CreateItemResponseBody struct {
	// This parameter is required.
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	Id *int64 `json:"id,omitempty" xml:"id,omitempty"`
	// This parameter is required.
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	Status *int64 `json:"status,omitempty" xml:"status,omitempty"`
}

func (s CreateItemResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateItemResponseBody) GoString() string {
	return s.String()
}

func (s *CreateItemResponseBody) SetCorpId(v string) *CreateItemResponseBody {
	s.CorpId = &v
	return s
}

func (s *CreateItemResponseBody) SetId(v int64) *CreateItemResponseBody {
	s.Id = &v
	return s
}

func (s *CreateItemResponseBody) SetMerchantId(v string) *CreateItemResponseBody {
	s.MerchantId = &v
	return s
}

func (s *CreateItemResponseBody) SetStatus(v int64) *CreateItemResponseBody {
	s.Status = &v
	return s
}

type CreateItemResponse struct {
	Headers    map[string]*string      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateItemResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateItemResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateItemResponse) GoString() string {
	return s.String()
}

func (s *CreateItemResponse) SetHeaders(v map[string]*string) *CreateItemResponse {
	s.Headers = v
	return s
}

func (s *CreateItemResponse) SetStatusCode(v int32) *CreateItemResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateItemResponse) SetBody(v *CreateItemResponseBody) *CreateItemResponse {
	s.Body = v
	return s
}

type CreateKitTaskHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateKitTaskHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateKitTaskHeaders) GoString() string {
	return s.String()
}

func (s *CreateKitTaskHeaders) SetCommonHeaders(v map[string]*string) *CreateKitTaskHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateKitTaskHeaders) SetXAcsDingtalkAccessToken(v string) *CreateKitTaskHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateKitTaskRequest struct {
	// example:
	//
	// 0
	ActionTime *int64  `json:"actionTime,omitempty" xml:"actionTime,omitempty"`
	BizData    *string `json:"bizData,omitempty" xml:"bizData,omitempty"`
	// example:
	//
	// CARD_EVENT
	BizType *string `json:"bizType,omitempty" xml:"bizType,omitempty"`
	// example:
	//
	// ding13424
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 20241213123213
	Identifier *string `json:"identifier,omitempty" xml:"identifier,omitempty"`
	// example:
	//
	// CHENZHI
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	Memo    *string `json:"memo,omitempty" xml:"memo,omitempty"`
}

func (s CreateKitTaskRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateKitTaskRequest) GoString() string {
	return s.String()
}

func (s *CreateKitTaskRequest) SetActionTime(v int64) *CreateKitTaskRequest {
	s.ActionTime = &v
	return s
}

func (s *CreateKitTaskRequest) SetBizData(v string) *CreateKitTaskRequest {
	s.BizData = &v
	return s
}

func (s *CreateKitTaskRequest) SetBizType(v string) *CreateKitTaskRequest {
	s.BizType = &v
	return s
}

func (s *CreateKitTaskRequest) SetCorpId(v string) *CreateKitTaskRequest {
	s.CorpId = &v
	return s
}

func (s *CreateKitTaskRequest) SetIdentifier(v string) *CreateKitTaskRequest {
	s.Identifier = &v
	return s
}

func (s *CreateKitTaskRequest) SetIsvCode(v string) *CreateKitTaskRequest {
	s.IsvCode = &v
	return s
}

func (s *CreateKitTaskRequest) SetMemo(v string) *CreateKitTaskRequest {
	s.Memo = &v
	return s
}

type CreateKitTaskResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateKitTaskResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateKitTaskResponseBody) GoString() string {
	return s.String()
}

func (s *CreateKitTaskResponseBody) SetResult(v bool) *CreateKitTaskResponseBody {
	s.Result = &v
	return s
}

func (s *CreateKitTaskResponseBody) SetSuccess(v bool) *CreateKitTaskResponseBody {
	s.Success = &v
	return s
}

type CreateKitTaskResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateKitTaskResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateKitTaskResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateKitTaskResponse) GoString() string {
	return s.String()
}

func (s *CreateKitTaskResponse) SetHeaders(v map[string]*string) *CreateKitTaskResponse {
	s.Headers = v
	return s
}

func (s *CreateKitTaskResponse) SetStatusCode(v int32) *CreateKitTaskResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateKitTaskResponse) SetBody(v *CreateKitTaskResponseBody) *CreateKitTaskResponse {
	s.Body = v
	return s
}

type CreateOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderHeaders) GoString() string {
	return s.String()
}

func (s *CreateOrderHeaders) SetCommonHeaders(v map[string]*string) *CreateOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateOrderHeaders) SetXAcsDingtalkAccessToken(v string) *CreateOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 100
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// example:
	//
	// 1644413947909
	CreateTime *int64 `json:"createTime,omitempty" xml:"createTime,omitempty"`
	// This parameter is required.
	DetailList []*CreateOrderRequestDetailList `json:"detailList,omitempty" xml:"detailList,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 123123
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// FACE_010100b0555Xczd4ePVLaB5V3cCzrONYpHWOENzRxDDqcnVjYXLso0U_1642665071746
	Ftoken *string `json:"ftoken,omitempty" xml:"ftoken,omitempty"`
	// example:
	//
	// KSwZiSL1O7DiUNwjV168j3cP9ktp4bJTi5OQxAXre26KyBXza7+gCl/g1d0K3n3+9JhMqc2fUjBiENcAELw3Jb5xO/zslOeV4qFoMQfzW51+sdL/SSZCYvXEMhu9P6FAPhGZQ3vu6gr3oxUAXPIpWNb+sIfzR9epumoOXYeofH8=
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// QA62021121908E
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// {\"terminalType\":\"IOT\"}
	TerminalParams *string `json:"terminalParams,omitempty" xml:"terminalParams,omitempty"`
	// example:
	//
	// 1644413947909
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100
	TotalAmount *int64 `json:"totalAmount,omitempty" xml:"totalAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1643334234626
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
	// example:
	//
	// 1.0
	Version *string `json:"version,omitempty" xml:"version,omitempty"`
}

func (s CreateOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderRequest) GoString() string {
	return s.String()
}

func (s *CreateOrderRequest) SetActualAmount(v int64) *CreateOrderRequest {
	s.ActualAmount = &v
	return s
}

func (s *CreateOrderRequest) SetCreateTime(v int64) *CreateOrderRequest {
	s.CreateTime = &v
	return s
}

func (s *CreateOrderRequest) SetDetailList(v []*CreateOrderRequestDetailList) *CreateOrderRequest {
	s.DetailList = v
	return s
}

func (s *CreateOrderRequest) SetFaceId(v string) *CreateOrderRequest {
	s.FaceId = &v
	return s
}

func (s *CreateOrderRequest) SetFtoken(v string) *CreateOrderRequest {
	s.Ftoken = &v
	return s
}

func (s *CreateOrderRequest) SetSignature(v string) *CreateOrderRequest {
	s.Signature = &v
	return s
}

func (s *CreateOrderRequest) SetSn(v string) *CreateOrderRequest {
	s.Sn = &v
	return s
}

func (s *CreateOrderRequest) SetTerminalParams(v string) *CreateOrderRequest {
	s.TerminalParams = &v
	return s
}

func (s *CreateOrderRequest) SetTimestamp(v int64) *CreateOrderRequest {
	s.Timestamp = &v
	return s
}

func (s *CreateOrderRequest) SetTotalAmount(v int64) *CreateOrderRequest {
	s.TotalAmount = &v
	return s
}

func (s *CreateOrderRequest) SetUserId(v string) *CreateOrderRequest {
	s.UserId = &v
	return s
}

func (s *CreateOrderRequest) SetVersion(v string) *CreateOrderRequest {
	s.Version = &v
	return s
}

type CreateOrderRequestDetailList struct {
	// This parameter is required.
	//
	// example:
	//
	// 100
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100
	ItemAmount *int64 `json:"itemAmount,omitempty" xml:"itemAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 测试商品
	ItemName *string `json:"itemName,omitempty" xml:"itemName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Scene *int64 `json:"scene,omitempty" xml:"scene,omitempty"`
}

func (s CreateOrderRequestDetailList) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderRequestDetailList) GoString() string {
	return s.String()
}

func (s *CreateOrderRequestDetailList) SetActualAmount(v int64) *CreateOrderRequestDetailList {
	s.ActualAmount = &v
	return s
}

func (s *CreateOrderRequestDetailList) SetItemAmount(v int64) *CreateOrderRequestDetailList {
	s.ItemAmount = &v
	return s
}

func (s *CreateOrderRequestDetailList) SetItemName(v string) *CreateOrderRequestDetailList {
	s.ItemName = &v
	return s
}

func (s *CreateOrderRequestDetailList) SetScene(v int64) *CreateOrderRequestDetailList {
	s.Scene = &v
	return s
}

type CreateOrderResponseBody struct {
	// example:
	//
	// 20220124001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
}

func (s CreateOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderResponseBody) GoString() string {
	return s.String()
}

func (s *CreateOrderResponseBody) SetOrderNo(v string) *CreateOrderResponseBody {
	s.OrderNo = &v
	return s
}

type CreateOrderResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderResponse) GoString() string {
	return s.String()
}

func (s *CreateOrderResponse) SetHeaders(v map[string]*string) *CreateOrderResponse {
	s.Headers = v
	return s
}

func (s *CreateOrderResponse) SetStatusCode(v int32) *CreateOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateOrderResponse) SetBody(v *CreateOrderResponseBody) *CreateOrderResponse {
	s.Body = v
	return s
}

type CreateOrderFlowHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateOrderFlowHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderFlowHeaders) GoString() string {
	return s.String()
}

func (s *CreateOrderFlowHeaders) SetCommonHeaders(v map[string]*string) *CreateOrderFlowHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateOrderFlowHeaders) SetXAcsDingtalkAccessToken(v string) *CreateOrderFlowHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateOrderFlowRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 100
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// example:
	//
	// 2088112532248965
	AlipayUid *string `json:"alipayUid,omitempty" xml:"alipayUid,omitempty"`
	// example:
	//
	// 1644413947909
	CreateTime *int64 `json:"createTime,omitempty" xml:"createTime,omitempty"`
	// This parameter is required.
	DetailList []*CreateOrderFlowRequestDetailList `json:"detailList,omitempty" xml:"detailList,omitempty" type:"Repeated"`
	// example:
	//
	// 123123
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// example:
	//
	// 123455
	GuardianUserId *string `json:"guardianUserId,omitempty" xml:"guardianUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2088821434894708
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2022012717252021400100822002
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// example:
	//
	// KSwZiSL1O7DiUNwjV168j3cP9ktp4bJTi5OQxAXre26KyBXza7+gCl/g1d0K3n3+9JhMqc2fUjBiENcAELw3Jb5xO/zslOeV4qFoMQfzW51+sdL/SSZCYvXEMhu9P6FAPhGZQ3vu6gr3oxUAXPIpWNb+sIfzR9epumoOXYeofH8=
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// example:
	//
	// QA62021121908E
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// example:
	//
	// 1644413947909
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100
	TotalAmount *int64 `json:"totalAmount,omitempty" xml:"totalAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1643334234626
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CreateOrderFlowRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderFlowRequest) GoString() string {
	return s.String()
}

func (s *CreateOrderFlowRequest) SetActualAmount(v int64) *CreateOrderFlowRequest {
	s.ActualAmount = &v
	return s
}

func (s *CreateOrderFlowRequest) SetAlipayUid(v string) *CreateOrderFlowRequest {
	s.AlipayUid = &v
	return s
}

func (s *CreateOrderFlowRequest) SetCreateTime(v int64) *CreateOrderFlowRequest {
	s.CreateTime = &v
	return s
}

func (s *CreateOrderFlowRequest) SetDetailList(v []*CreateOrderFlowRequestDetailList) *CreateOrderFlowRequest {
	s.DetailList = v
	return s
}

func (s *CreateOrderFlowRequest) SetFaceId(v string) *CreateOrderFlowRequest {
	s.FaceId = &v
	return s
}

func (s *CreateOrderFlowRequest) SetGuardianUserId(v string) *CreateOrderFlowRequest {
	s.GuardianUserId = &v
	return s
}

func (s *CreateOrderFlowRequest) SetMerchantId(v string) *CreateOrderFlowRequest {
	s.MerchantId = &v
	return s
}

func (s *CreateOrderFlowRequest) SetOrderNo(v string) *CreateOrderFlowRequest {
	s.OrderNo = &v
	return s
}

func (s *CreateOrderFlowRequest) SetSignature(v string) *CreateOrderFlowRequest {
	s.Signature = &v
	return s
}

func (s *CreateOrderFlowRequest) SetSn(v string) *CreateOrderFlowRequest {
	s.Sn = &v
	return s
}

func (s *CreateOrderFlowRequest) SetTimestamp(v int64) *CreateOrderFlowRequest {
	s.Timestamp = &v
	return s
}

func (s *CreateOrderFlowRequest) SetTotalAmount(v int64) *CreateOrderFlowRequest {
	s.TotalAmount = &v
	return s
}

func (s *CreateOrderFlowRequest) SetUserId(v string) *CreateOrderFlowRequest {
	s.UserId = &v
	return s
}

type CreateOrderFlowRequestDetailList struct {
	// This parameter is required.
	//
	// example:
	//
	// 100
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100
	ItemAmount *int64 `json:"itemAmount,omitempty" xml:"itemAmount,omitempty"`
	// example:
	//
	// 123
	ItemId *int64 `json:"itemId,omitempty" xml:"itemId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 测试商品
	ItemName *string `json:"itemName,omitempty" xml:"itemName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Scene *int64 `json:"scene,omitempty" xml:"scene,omitempty"`
}

func (s CreateOrderFlowRequestDetailList) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderFlowRequestDetailList) GoString() string {
	return s.String()
}

func (s *CreateOrderFlowRequestDetailList) SetActualAmount(v int64) *CreateOrderFlowRequestDetailList {
	s.ActualAmount = &v
	return s
}

func (s *CreateOrderFlowRequestDetailList) SetItemAmount(v int64) *CreateOrderFlowRequestDetailList {
	s.ItemAmount = &v
	return s
}

func (s *CreateOrderFlowRequestDetailList) SetItemId(v int64) *CreateOrderFlowRequestDetailList {
	s.ItemId = &v
	return s
}

func (s *CreateOrderFlowRequestDetailList) SetItemName(v string) *CreateOrderFlowRequestDetailList {
	s.ItemName = &v
	return s
}

func (s *CreateOrderFlowRequestDetailList) SetScene(v int64) *CreateOrderFlowRequestDetailList {
	s.Scene = &v
	return s
}

type CreateOrderFlowResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateOrderFlowResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderFlowResponseBody) GoString() string {
	return s.String()
}

func (s *CreateOrderFlowResponseBody) SetSuccess(v bool) *CreateOrderFlowResponseBody {
	s.Success = &v
	return s
}

type CreateOrderFlowResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateOrderFlowResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateOrderFlowResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateOrderFlowResponse) GoString() string {
	return s.String()
}

func (s *CreateOrderFlowResponse) SetHeaders(v map[string]*string) *CreateOrderFlowResponse {
	s.Headers = v
	return s
}

func (s *CreateOrderFlowResponse) SetStatusCode(v int32) *CreateOrderFlowResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateOrderFlowResponse) SetBody(v *CreateOrderFlowResponseBody) *CreateOrderFlowResponse {
	s.Body = v
	return s
}

type CreatePhysicalClassroomHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreatePhysicalClassroomHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreatePhysicalClassroomHeaders) GoString() string {
	return s.String()
}

func (s *CreatePhysicalClassroomHeaders) SetCommonHeaders(v map[string]*string) *CreatePhysicalClassroomHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreatePhysicalClassroomHeaders) SetXAcsDingtalkAccessToken(v string) *CreatePhysicalClassroomHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreatePhysicalClassroomRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 主楼
	ClassroomBuilding *string `json:"classroomBuilding,omitempty" xml:"classroomBuilding,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 主校区
	ClassroomCampus *string `json:"classroomCampus,omitempty" xml:"classroomCampus,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2层
	ClassroomFloor *string `json:"classroomFloor,omitempty" xml:"classroomFloor,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 实验室
	ClassroomName *string `json:"classroomName,omitempty" xml:"classroomName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 201
	ClassroomNumber *string `json:"classroomNumber,omitempty" xml:"classroomNumber,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// Y
	DirectBroadcast *string `json:"directBroadcast,omitempty" xml:"directBroadcast,omitempty"`
	// example:
	//
	// {}
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s CreatePhysicalClassroomRequest) String() string {
	return tea.Prettify(s)
}

func (s CreatePhysicalClassroomRequest) GoString() string {
	return s.String()
}

func (s *CreatePhysicalClassroomRequest) SetClassroomBuilding(v string) *CreatePhysicalClassroomRequest {
	s.ClassroomBuilding = &v
	return s
}

func (s *CreatePhysicalClassroomRequest) SetClassroomCampus(v string) *CreatePhysicalClassroomRequest {
	s.ClassroomCampus = &v
	return s
}

func (s *CreatePhysicalClassroomRequest) SetClassroomFloor(v string) *CreatePhysicalClassroomRequest {
	s.ClassroomFloor = &v
	return s
}

func (s *CreatePhysicalClassroomRequest) SetClassroomName(v string) *CreatePhysicalClassroomRequest {
	s.ClassroomName = &v
	return s
}

func (s *CreatePhysicalClassroomRequest) SetClassroomNumber(v string) *CreatePhysicalClassroomRequest {
	s.ClassroomNumber = &v
	return s
}

func (s *CreatePhysicalClassroomRequest) SetDirectBroadcast(v string) *CreatePhysicalClassroomRequest {
	s.DirectBroadcast = &v
	return s
}

func (s *CreatePhysicalClassroomRequest) SetExt(v string) *CreatePhysicalClassroomRequest {
	s.Ext = &v
	return s
}

func (s *CreatePhysicalClassroomRequest) SetOpUserId(v string) *CreatePhysicalClassroomRequest {
	s.OpUserId = &v
	return s
}

type CreatePhysicalClassroomResponseBody struct {
	// example:
	//
	// 10001
	ClassroomId *int64 `json:"classroomId,omitempty" xml:"classroomId,omitempty"`
}

func (s CreatePhysicalClassroomResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreatePhysicalClassroomResponseBody) GoString() string {
	return s.String()
}

func (s *CreatePhysicalClassroomResponseBody) SetClassroomId(v int64) *CreatePhysicalClassroomResponseBody {
	s.ClassroomId = &v
	return s
}

type CreatePhysicalClassroomResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreatePhysicalClassroomResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreatePhysicalClassroomResponse) String() string {
	return tea.Prettify(s)
}

func (s CreatePhysicalClassroomResponse) GoString() string {
	return s.String()
}

func (s *CreatePhysicalClassroomResponse) SetHeaders(v map[string]*string) *CreatePhysicalClassroomResponse {
	s.Headers = v
	return s
}

func (s *CreatePhysicalClassroomResponse) SetStatusCode(v int32) *CreatePhysicalClassroomResponse {
	s.StatusCode = &v
	return s
}

func (s *CreatePhysicalClassroomResponse) SetBody(v *CreatePhysicalClassroomResponseBody) *CreatePhysicalClassroomResponse {
	s.Body = v
	return s
}

type CreateRefundFlowHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateRefundFlowHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateRefundFlowHeaders) GoString() string {
	return s.String()
}

func (s *CreateRefundFlowHeaders) SetCommonHeaders(v map[string]*string) *CreateRefundFlowHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateRefundFlowHeaders) SetXAcsDingtalkAccessToken(v string) *CreateRefundFlowHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateRefundFlowRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123123
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// S123
	OperatorId *string `json:"operatorId,omitempty" xml:"operatorId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 张三
	OperatorName *string `json:"operatorName,omitempty" xml:"operatorName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// example:
	//
	// KSwZiSL1O7DiUNwjV168j3cP9ktp4bJTi5OQxAXre26KyBXza7+gCl/g1d0K3n3+9JhMqc2fUjBiENcAELw3Jb5xO/zslOeV4qFoMQfzW51+sdL/SSZCYvXEMhu9P6FAPhGZQ3vu6gr3oxUAXPIpWNb+sIfzR9epumoOXYeofH8=
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// example:
	//
	// 1644413947909
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CreateRefundFlowRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateRefundFlowRequest) GoString() string {
	return s.String()
}

func (s *CreateRefundFlowRequest) SetFaceId(v string) *CreateRefundFlowRequest {
	s.FaceId = &v
	return s
}

func (s *CreateRefundFlowRequest) SetOperatorId(v string) *CreateRefundFlowRequest {
	s.OperatorId = &v
	return s
}

func (s *CreateRefundFlowRequest) SetOperatorName(v string) *CreateRefundFlowRequest {
	s.OperatorName = &v
	return s
}

func (s *CreateRefundFlowRequest) SetOrderNo(v string) *CreateRefundFlowRequest {
	s.OrderNo = &v
	return s
}

func (s *CreateRefundFlowRequest) SetSignature(v string) *CreateRefundFlowRequest {
	s.Signature = &v
	return s
}

func (s *CreateRefundFlowRequest) SetSn(v string) *CreateRefundFlowRequest {
	s.Sn = &v
	return s
}

func (s *CreateRefundFlowRequest) SetTimestamp(v int64) *CreateRefundFlowRequest {
	s.Timestamp = &v
	return s
}

func (s *CreateRefundFlowRequest) SetUserId(v string) *CreateRefundFlowRequest {
	s.UserId = &v
	return s
}

type CreateRefundFlowResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateRefundFlowResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateRefundFlowResponseBody) GoString() string {
	return s.String()
}

func (s *CreateRefundFlowResponseBody) SetSuccess(v bool) *CreateRefundFlowResponseBody {
	s.Success = &v
	return s
}

type CreateRefundFlowResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateRefundFlowResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateRefundFlowResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateRefundFlowResponse) GoString() string {
	return s.String()
}

func (s *CreateRefundFlowResponse) SetHeaders(v map[string]*string) *CreateRefundFlowResponse {
	s.Headers = v
	return s
}

func (s *CreateRefundFlowResponse) SetStatusCode(v int32) *CreateRefundFlowResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateRefundFlowResponse) SetBody(v *CreateRefundFlowResponseBody) *CreateRefundFlowResponse {
	s.Body = v
	return s
}

type CreateRemoteClassCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateRemoteClassCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateRemoteClassCourseHeaders) GoString() string {
	return s.String()
}

func (s *CreateRemoteClassCourseHeaders) SetCommonHeaders(v map[string]*string) *CreateRemoteClassCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateRemoteClassCourseHeaders) SetXAcsDingtalkAccessToken(v string) *CreateRemoteClassCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateRemoteClassCourseRequest struct {
	// This parameter is required.
	AttendParticipants []*CreateRemoteClassCourseRequestAttendParticipants `json:"attendParticipants,omitempty" xml:"attendParticipants,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// bab02f63c1e030fbbxxxx
	AuthCode *string `json:"authCode,omitempty" xml:"authCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 春天来了
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1634184000000
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1634176800000
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// This parameter is required.
	TeachingParticipant *CreateRemoteClassCourseRequestTeachingParticipant `json:"teachingParticipant,omitempty" xml:"teachingParticipant,omitempty" type:"Struct"`
}

func (s CreateRemoteClassCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateRemoteClassCourseRequest) GoString() string {
	return s.String()
}

func (s *CreateRemoteClassCourseRequest) SetAttendParticipants(v []*CreateRemoteClassCourseRequestAttendParticipants) *CreateRemoteClassCourseRequest {
	s.AttendParticipants = v
	return s
}

func (s *CreateRemoteClassCourseRequest) SetAuthCode(v string) *CreateRemoteClassCourseRequest {
	s.AuthCode = &v
	return s
}

func (s *CreateRemoteClassCourseRequest) SetCourseName(v string) *CreateRemoteClassCourseRequest {
	s.CourseName = &v
	return s
}

func (s *CreateRemoteClassCourseRequest) SetEndTime(v int64) *CreateRemoteClassCourseRequest {
	s.EndTime = &v
	return s
}

func (s *CreateRemoteClassCourseRequest) SetStartTime(v int64) *CreateRemoteClassCourseRequest {
	s.StartTime = &v
	return s
}

func (s *CreateRemoteClassCourseRequest) SetTeachingParticipant(v *CreateRemoteClassCourseRequestTeachingParticipant) *CreateRemoteClassCourseRequest {
	s.TeachingParticipant = v
	return s
}

type CreateRemoteClassCourseRequestAttendParticipants struct {
	// This parameter is required.
	//
	// example:
	//
	// ding23456
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234567
	ParticipantId *string `json:"participantId,omitempty" xml:"participantId,omitempty"`
}

func (s CreateRemoteClassCourseRequestAttendParticipants) String() string {
	return tea.Prettify(s)
}

func (s CreateRemoteClassCourseRequestAttendParticipants) GoString() string {
	return s.String()
}

func (s *CreateRemoteClassCourseRequestAttendParticipants) SetCorpId(v string) *CreateRemoteClassCourseRequestAttendParticipants {
	s.CorpId = &v
	return s
}

func (s *CreateRemoteClassCourseRequestAttendParticipants) SetParticipantId(v string) *CreateRemoteClassCourseRequestAttendParticipants {
	s.ParticipantId = &v
	return s
}

type CreateRemoteClassCourseRequestTeachingParticipant struct {
	// This parameter is required.
	//
	// example:
	//
	// ding1234
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123456
	ParticipantId *string `json:"participantId,omitempty" xml:"participantId,omitempty"`
}

func (s CreateRemoteClassCourseRequestTeachingParticipant) String() string {
	return tea.Prettify(s)
}

func (s CreateRemoteClassCourseRequestTeachingParticipant) GoString() string {
	return s.String()
}

func (s *CreateRemoteClassCourseRequestTeachingParticipant) SetCorpId(v string) *CreateRemoteClassCourseRequestTeachingParticipant {
	s.CorpId = &v
	return s
}

func (s *CreateRemoteClassCourseRequestTeachingParticipant) SetParticipantId(v string) *CreateRemoteClassCourseRequestTeachingParticipant {
	s.ParticipantId = &v
	return s
}

type CreateRemoteClassCourseResponseBody struct {
	Result *CreateRemoteClassCourseResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	// This parameter is required.
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateRemoteClassCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateRemoteClassCourseResponseBody) GoString() string {
	return s.String()
}

func (s *CreateRemoteClassCourseResponseBody) SetResult(v *CreateRemoteClassCourseResponseBodyResult) *CreateRemoteClassCourseResponseBody {
	s.Result = v
	return s
}

func (s *CreateRemoteClassCourseResponseBody) SetSuccess(v bool) *CreateRemoteClassCourseResponseBody {
	s.Success = &v
	return s
}

type CreateRemoteClassCourseResponseBodyResult struct {
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
}

func (s CreateRemoteClassCourseResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s CreateRemoteClassCourseResponseBodyResult) GoString() string {
	return s.String()
}

func (s *CreateRemoteClassCourseResponseBodyResult) SetCourseCode(v string) *CreateRemoteClassCourseResponseBodyResult {
	s.CourseCode = &v
	return s
}

type CreateRemoteClassCourseResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateRemoteClassCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateRemoteClassCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateRemoteClassCourseResponse) GoString() string {
	return s.String()
}

func (s *CreateRemoteClassCourseResponse) SetHeaders(v map[string]*string) *CreateRemoteClassCourseResponse {
	s.Headers = v
	return s
}

func (s *CreateRemoteClassCourseResponse) SetStatusCode(v int32) *CreateRemoteClassCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateRemoteClassCourseResponse) SetBody(v *CreateRemoteClassCourseResponseBody) *CreateRemoteClassCourseResponse {
	s.Body = v
	return s
}

type CreateSectionConfigHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateSectionConfigHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigHeaders) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigHeaders) SetCommonHeaders(v map[string]*string) *CreateSectionConfigHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateSectionConfigHeaders) SetXAcsDingtalkAccessToken(v string) *CreateSectionConfigHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateSectionConfigRequest struct {
	// example:
	//
	// 扩展参数
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// This parameter is required.
	SectionConfigs []*CreateSectionConfigRequestSectionConfigs `json:"sectionConfigs,omitempty" xml:"sectionConfigs,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// manager235
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s CreateSectionConfigRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequest) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequest) SetExt(v string) *CreateSectionConfigRequest {
	s.Ext = &v
	return s
}

func (s *CreateSectionConfigRequest) SetSectionConfigs(v []*CreateSectionConfigRequestSectionConfigs) *CreateSectionConfigRequest {
	s.SectionConfigs = v
	return s
}

func (s *CreateSectionConfigRequest) SetOpUserId(v string) *CreateSectionConfigRequest {
	s.OpUserId = &v
	return s
}

type CreateSectionConfigRequestSectionConfigs struct {
	// This parameter is required.
	//
	// example:
	//
	// 第一学期课表
	ScheduleName *string `json:"scheduleName,omitempty" xml:"scheduleName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021-2022
	SchoolYear *string `json:"schoolYear,omitempty" xml:"schoolYear,omitempty"`
	// This parameter is required.
	SectionEndDate *CreateSectionConfigRequestSectionConfigsSectionEndDate `json:"sectionEndDate,omitempty" xml:"sectionEndDate,omitempty" type:"Struct"`
	// This parameter is required.
	SectionModels []*CreateSectionConfigRequestSectionConfigsSectionModels `json:"sectionModels,omitempty" xml:"sectionModels,omitempty" type:"Repeated"`
	// This parameter is required.
	SectionStartDate *CreateSectionConfigRequestSectionConfigsSectionStartDate `json:"sectionStartDate,omitempty" xml:"sectionStartDate,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Semester *int32 `json:"semester,omitempty" xml:"semester,omitempty"`
	// This parameter is required.
	SemesterEndDate *CreateSectionConfigRequestSectionConfigsSemesterEndDate `json:"semesterEndDate,omitempty" xml:"semesterEndDate,omitempty" type:"Struct"`
	// This parameter is required.
	SemesterStartDate *CreateSectionConfigRequestSectionConfigsSemesterStartDate `json:"semesterStartDate,omitempty" xml:"semesterStartDate,omitempty" type:"Struct"`
}

func (s CreateSectionConfigRequestSectionConfigs) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequestSectionConfigs) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequestSectionConfigs) SetScheduleName(v string) *CreateSectionConfigRequestSectionConfigs {
	s.ScheduleName = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigs) SetSchoolYear(v string) *CreateSectionConfigRequestSectionConfigs {
	s.SchoolYear = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigs) SetSectionEndDate(v *CreateSectionConfigRequestSectionConfigsSectionEndDate) *CreateSectionConfigRequestSectionConfigs {
	s.SectionEndDate = v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigs) SetSectionModels(v []*CreateSectionConfigRequestSectionConfigsSectionModels) *CreateSectionConfigRequestSectionConfigs {
	s.SectionModels = v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigs) SetSectionStartDate(v *CreateSectionConfigRequestSectionConfigsSectionStartDate) *CreateSectionConfigRequestSectionConfigs {
	s.SectionStartDate = v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigs) SetSemester(v int32) *CreateSectionConfigRequestSectionConfigs {
	s.Semester = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigs) SetSemesterEndDate(v *CreateSectionConfigRequestSectionConfigsSemesterEndDate) *CreateSectionConfigRequestSectionConfigs {
	s.SemesterEndDate = v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigs) SetSemesterStartDate(v *CreateSectionConfigRequestSectionConfigsSemesterStartDate) *CreateSectionConfigRequestSectionConfigs {
	s.SemesterStartDate = v
	return s
}

type CreateSectionConfigRequestSectionConfigsSectionEndDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 31
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 12
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s CreateSectionConfigRequestSectionConfigsSectionEndDate) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequestSectionConfigsSectionEndDate) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequestSectionConfigsSectionEndDate) SetDayOfMonth(v int32) *CreateSectionConfigRequestSectionConfigsSectionEndDate {
	s.DayOfMonth = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionEndDate) SetMonth(v int32) *CreateSectionConfigRequestSectionConfigsSectionEndDate {
	s.Month = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionEndDate) SetYear(v int32) *CreateSectionConfigRequestSectionConfigsSectionEndDate {
	s.Year = &v
	return s
}

type CreateSectionConfigRequestSectionConfigsSectionModels struct {
	// This parameter is required.
	SectionEndTime *CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime `json:"sectionEndTime,omitempty" xml:"sectionEndTime,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	SectionIndex *int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 第一节
	SectionName *string `json:"sectionName,omitempty" xml:"sectionName,omitempty"`
	// This parameter is required.
	SectionStartTime *CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime `json:"sectionStartTime,omitempty" xml:"sectionStartTime,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// COURSE：上课节次 REST：休息节次
	SectionType *string `json:"sectionType,omitempty" xml:"sectionType,omitempty"`
}

func (s CreateSectionConfigRequestSectionConfigsSectionModels) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequestSectionConfigsSectionModels) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModels) SetSectionEndTime(v *CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime) *CreateSectionConfigRequestSectionConfigsSectionModels {
	s.SectionEndTime = v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModels) SetSectionIndex(v int32) *CreateSectionConfigRequestSectionConfigsSectionModels {
	s.SectionIndex = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModels) SetSectionName(v string) *CreateSectionConfigRequestSectionConfigsSectionModels {
	s.SectionName = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModels) SetSectionStartTime(v *CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime) *CreateSectionConfigRequestSectionConfigsSectionModels {
	s.SectionStartTime = v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModels) SetSectionType(v string) *CreateSectionConfigRequestSectionConfigsSectionModels {
	s.SectionType = &v
	return s
}

type CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime struct {
	// This parameter is required.
	//
	// example:
	//
	// 12
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime) SetHour(v int32) *CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime {
	s.Hour = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime) SetMin(v int32) *CreateSectionConfigRequestSectionConfigsSectionModelsSectionEndTime {
	s.Min = &v
	return s
}

type CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime struct {
	// This parameter is required.
	//
	// example:
	//
	// 11
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime) SetHour(v int32) *CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime {
	s.Hour = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime) SetMin(v int32) *CreateSectionConfigRequestSectionConfigsSectionModelsSectionStartTime {
	s.Min = &v
	return s
}

type CreateSectionConfigRequestSectionConfigsSectionStartDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 9
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 11
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s CreateSectionConfigRequestSectionConfigsSectionStartDate) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequestSectionConfigsSectionStartDate) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequestSectionConfigsSectionStartDate) SetDayOfMonth(v int32) *CreateSectionConfigRequestSectionConfigsSectionStartDate {
	s.DayOfMonth = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionStartDate) SetMonth(v int32) *CreateSectionConfigRequestSectionConfigsSectionStartDate {
	s.Month = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSectionStartDate) SetYear(v int32) *CreateSectionConfigRequestSectionConfigsSectionStartDate {
	s.Year = &v
	return s
}

type CreateSectionConfigRequestSectionConfigsSemesterEndDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 31
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 12
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s CreateSectionConfigRequestSectionConfigsSemesterEndDate) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequestSectionConfigsSemesterEndDate) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequestSectionConfigsSemesterEndDate) SetDayOfMonth(v int32) *CreateSectionConfigRequestSectionConfigsSemesterEndDate {
	s.DayOfMonth = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSemesterEndDate) SetMonth(v int32) *CreateSectionConfigRequestSectionConfigsSemesterEndDate {
	s.Month = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSemesterEndDate) SetYear(v int32) *CreateSectionConfigRequestSectionConfigsSemesterEndDate {
	s.Year = &v
	return s
}

type CreateSectionConfigRequestSectionConfigsSemesterStartDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 31
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 8
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s CreateSectionConfigRequestSectionConfigsSemesterStartDate) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigRequestSectionConfigsSemesterStartDate) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigRequestSectionConfigsSemesterStartDate) SetDayOfMonth(v int32) *CreateSectionConfigRequestSectionConfigsSemesterStartDate {
	s.DayOfMonth = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSemesterStartDate) SetMonth(v int32) *CreateSectionConfigRequestSectionConfigsSemesterStartDate {
	s.Month = &v
	return s
}

func (s *CreateSectionConfigRequestSectionConfigsSemesterStartDate) SetYear(v int32) *CreateSectionConfigRequestSectionConfigsSemesterStartDate {
	s.Year = &v
	return s
}

type CreateSectionConfigResponseBody struct {
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s CreateSectionConfigResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigResponseBody) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigResponseBody) SetResult(v bool) *CreateSectionConfigResponseBody {
	s.Result = &v
	return s
}

type CreateSectionConfigResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateSectionConfigResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateSectionConfigResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateSectionConfigResponse) GoString() string {
	return s.String()
}

func (s *CreateSectionConfigResponse) SetHeaders(v map[string]*string) *CreateSectionConfigResponse {
	s.Headers = v
	return s
}

func (s *CreateSectionConfigResponse) SetStatusCode(v int32) *CreateSectionConfigResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateSectionConfigResponse) SetBody(v *CreateSectionConfigResponseBody) *CreateSectionConfigResponse {
	s.Body = v
	return s
}

type CreateSnsAppOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateSnsAppOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateSnsAppOrderHeaders) GoString() string {
	return s.String()
}

func (s *CreateSnsAppOrderHeaders) SetCommonHeaders(v map[string]*string) *CreateSnsAppOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateSnsAppOrderHeaders) SetXAcsDingtalkAccessToken(v string) *CreateSnsAppOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateSnsAppOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1234
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	BizCode *int32 `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	DetailList []*CreateSnsAppOrderRequestDetailList `json:"detailList,omitempty" xml:"detailList,omitempty" type:"Repeated"`
	// example:
	//
	// 1
	LabelAmount *int64 `json:"labelAmount,omitempty" xml:"labelAmount,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// M00001
	MerchantOrderNo *string `json:"merchantOrderNo,omitempty" xml:"merchantOrderNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// WWrhziOLF/XuRd3IyKwLkLeSFgKnUfeg2yLEVD9Bw+8
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 数字图书
	Subject *string `json:"subject,omitempty" xml:"subject,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100000
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
}

func (s CreateSnsAppOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateSnsAppOrderRequest) GoString() string {
	return s.String()
}

func (s *CreateSnsAppOrderRequest) SetActualAmount(v int64) *CreateSnsAppOrderRequest {
	s.ActualAmount = &v
	return s
}

func (s *CreateSnsAppOrderRequest) SetAlipayAppId(v string) *CreateSnsAppOrderRequest {
	s.AlipayAppId = &v
	return s
}

func (s *CreateSnsAppOrderRequest) SetBizCode(v int32) *CreateSnsAppOrderRequest {
	s.BizCode = &v
	return s
}

func (s *CreateSnsAppOrderRequest) SetDetailList(v []*CreateSnsAppOrderRequestDetailList) *CreateSnsAppOrderRequest {
	s.DetailList = v
	return s
}

func (s *CreateSnsAppOrderRequest) SetLabelAmount(v int64) *CreateSnsAppOrderRequest {
	s.LabelAmount = &v
	return s
}

func (s *CreateSnsAppOrderRequest) SetMerchantId(v string) *CreateSnsAppOrderRequest {
	s.MerchantId = &v
	return s
}

func (s *CreateSnsAppOrderRequest) SetMerchantOrderNo(v string) *CreateSnsAppOrderRequest {
	s.MerchantOrderNo = &v
	return s
}

func (s *CreateSnsAppOrderRequest) SetSignature(v string) *CreateSnsAppOrderRequest {
	s.Signature = &v
	return s
}

func (s *CreateSnsAppOrderRequest) SetSubject(v string) *CreateSnsAppOrderRequest {
	s.Subject = &v
	return s
}

func (s *CreateSnsAppOrderRequest) SetTimestamp(v int64) *CreateSnsAppOrderRequest {
	s.Timestamp = &v
	return s
}

type CreateSnsAppOrderRequestDetailList struct {
	// This parameter is required.
	//
	// example:
	//
	// 1234000
	GoodsId *string `json:"goodsId,omitempty" xml:"goodsId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 绘画图书
	GoodsName *string `json:"goodsName,omitempty" xml:"goodsName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	GoodsPrice *int64 `json:"goodsPrice,omitempty" xml:"goodsPrice,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	GoodsQuantity *int32 `json:"goodsQuantity,omitempty" xml:"goodsQuantity,omitempty"`
}

func (s CreateSnsAppOrderRequestDetailList) String() string {
	return tea.Prettify(s)
}

func (s CreateSnsAppOrderRequestDetailList) GoString() string {
	return s.String()
}

func (s *CreateSnsAppOrderRequestDetailList) SetGoodsId(v string) *CreateSnsAppOrderRequestDetailList {
	s.GoodsId = &v
	return s
}

func (s *CreateSnsAppOrderRequestDetailList) SetGoodsName(v string) *CreateSnsAppOrderRequestDetailList {
	s.GoodsName = &v
	return s
}

func (s *CreateSnsAppOrderRequestDetailList) SetGoodsPrice(v int64) *CreateSnsAppOrderRequestDetailList {
	s.GoodsPrice = &v
	return s
}

func (s *CreateSnsAppOrderRequestDetailList) SetGoodsQuantity(v int32) *CreateSnsAppOrderRequestDetailList {
	s.GoodsQuantity = &v
	return s
}

type CreateSnsAppOrderResponseBody struct {
	// example:
	//
	// 1
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// example:
	//
	// 1234
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// example:
	//
	// alipay_sdk=alipay-sdk-java-dynamicVersionNo&version=1.0
	Body *string `json:"body,omitempty" xml:"body,omitempty"`
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// example:
	//
	// M00001
	MerchantOrderNo *string `json:"merchantOrderNo,omitempty" xml:"merchantOrderNo,omitempty"`
	// example:
	//
	// CM0001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
}

func (s CreateSnsAppOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateSnsAppOrderResponseBody) GoString() string {
	return s.String()
}

func (s *CreateSnsAppOrderResponseBody) SetActualAmount(v int64) *CreateSnsAppOrderResponseBody {
	s.ActualAmount = &v
	return s
}

func (s *CreateSnsAppOrderResponseBody) SetAlipayAppId(v string) *CreateSnsAppOrderResponseBody {
	s.AlipayAppId = &v
	return s
}

func (s *CreateSnsAppOrderResponseBody) SetBody(v string) *CreateSnsAppOrderResponseBody {
	s.Body = &v
	return s
}

func (s *CreateSnsAppOrderResponseBody) SetMerchantId(v string) *CreateSnsAppOrderResponseBody {
	s.MerchantId = &v
	return s
}

func (s *CreateSnsAppOrderResponseBody) SetMerchantOrderNo(v string) *CreateSnsAppOrderResponseBody {
	s.MerchantOrderNo = &v
	return s
}

func (s *CreateSnsAppOrderResponseBody) SetOrderNo(v string) *CreateSnsAppOrderResponseBody {
	s.OrderNo = &v
	return s
}

type CreateSnsAppOrderResponse struct {
	Headers    map[string]*string             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateSnsAppOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateSnsAppOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateSnsAppOrderResponse) GoString() string {
	return s.String()
}

func (s *CreateSnsAppOrderResponse) SetHeaders(v map[string]*string) *CreateSnsAppOrderResponse {
	s.Headers = v
	return s
}

func (s *CreateSnsAppOrderResponse) SetStatusCode(v int32) *CreateSnsAppOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateSnsAppOrderResponse) SetBody(v *CreateSnsAppOrderResponseBody) *CreateSnsAppOrderResponse {
	s.Body = v
	return s
}

type CreateStsTokenHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateStsTokenHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateStsTokenHeaders) GoString() string {
	return s.String()
}

func (s *CreateStsTokenHeaders) SetCommonHeaders(v map[string]*string) *CreateStsTokenHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateStsTokenHeaders) SetXAcsDingtalkAccessToken(v string) *CreateStsTokenHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateStsTokenRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// fjke/12-131jk
	DeviceSn *string `json:"deviceSn,omitempty" xml:"deviceSn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sls
	StsType *string `json:"stsType,omitempty" xml:"stsType,omitempty"`
}

func (s CreateStsTokenRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateStsTokenRequest) GoString() string {
	return s.String()
}

func (s *CreateStsTokenRequest) SetDeviceSn(v string) *CreateStsTokenRequest {
	s.DeviceSn = &v
	return s
}

func (s *CreateStsTokenRequest) SetStsType(v string) *CreateStsTokenRequest {
	s.StsType = &v
	return s
}

type CreateStsTokenResponseBody struct {
	// example:
	//
	// fdasfad
	AccessKeyId *string `json:"accessKeyId,omitempty" xml:"accessKeyId,omitempty"`
	// example:
	//
	// fdsfwdsfdsafdaf
	AccessKeySecret *string `json:"accessKeySecret,omitempty" xml:"accessKeySecret,omitempty"`
	// example:
	//
	// 3600000
	Expiration *string `json:"expiration,omitempty" xml:"expiration,omitempty"`
	// example:
	//
	// {}
	ExtInfo *string `json:"extInfo,omitempty" xml:"extInfo,omitempty"`
	// example:
	//
	// fdasgtwtgfds
	SecurityToken *string `json:"securityToken,omitempty" xml:"securityToken,omitempty"`
	// example:
	//
	// 200
	Status *string `json:"status,omitempty" xml:"status,omitempty"`
}

func (s CreateStsTokenResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateStsTokenResponseBody) GoString() string {
	return s.String()
}

func (s *CreateStsTokenResponseBody) SetAccessKeyId(v string) *CreateStsTokenResponseBody {
	s.AccessKeyId = &v
	return s
}

func (s *CreateStsTokenResponseBody) SetAccessKeySecret(v string) *CreateStsTokenResponseBody {
	s.AccessKeySecret = &v
	return s
}

func (s *CreateStsTokenResponseBody) SetExpiration(v string) *CreateStsTokenResponseBody {
	s.Expiration = &v
	return s
}

func (s *CreateStsTokenResponseBody) SetExtInfo(v string) *CreateStsTokenResponseBody {
	s.ExtInfo = &v
	return s
}

func (s *CreateStsTokenResponseBody) SetSecurityToken(v string) *CreateStsTokenResponseBody {
	s.SecurityToken = &v
	return s
}

func (s *CreateStsTokenResponseBody) SetStatus(v string) *CreateStsTokenResponseBody {
	s.Status = &v
	return s
}

type CreateStsTokenResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateStsTokenResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateStsTokenResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateStsTokenResponse) GoString() string {
	return s.String()
}

func (s *CreateStsTokenResponse) SetHeaders(v map[string]*string) *CreateStsTokenResponse {
	s.Headers = v
	return s
}

func (s *CreateStsTokenResponse) SetStatusCode(v int32) *CreateStsTokenResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateStsTokenResponse) SetBody(v *CreateStsTokenResponseBody) *CreateStsTokenResponse {
	s.Body = v
	return s
}

type CreateStudentClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateStudentClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateStudentClassHeaders) GoString() string {
	return s.String()
}

func (s *CreateStudentClassHeaders) SetCommonHeaders(v map[string]*string) *CreateStudentClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateStudentClassHeaders) SetXAcsDingtalkAccessToken(v string) *CreateStudentClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateStudentClassRequest struct {
	// example:
	//
	// {"key":"value"}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// classIdxxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// 0
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// 小明
	StudentName *string `json:"studentName,omitempty" xml:"studentName,omitempty"`
	// example:
	//
	// staffxxx
	StudentUserId *string `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
}

func (s CreateStudentClassRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateStudentClassRequest) GoString() string {
	return s.String()
}

func (s *CreateStudentClassRequest) SetAttributes(v string) *CreateStudentClassRequest {
	s.Attributes = &v
	return s
}

func (s *CreateStudentClassRequest) SetClassId(v string) *CreateStudentClassRequest {
	s.ClassId = &v
	return s
}

func (s *CreateStudentClassRequest) SetClassName(v string) *CreateStudentClassRequest {
	s.ClassName = &v
	return s
}

func (s *CreateStudentClassRequest) SetClassType(v int32) *CreateStudentClassRequest {
	s.ClassType = &v
	return s
}

func (s *CreateStudentClassRequest) SetCorpId(v string) *CreateStudentClassRequest {
	s.CorpId = &v
	return s
}

func (s *CreateStudentClassRequest) SetIsvCode(v string) *CreateStudentClassRequest {
	s.IsvCode = &v
	return s
}

func (s *CreateStudentClassRequest) SetStudentName(v string) *CreateStudentClassRequest {
	s.StudentName = &v
	return s
}

func (s *CreateStudentClassRequest) SetStudentUserId(v string) *CreateStudentClassRequest {
	s.StudentUserId = &v
	return s
}

type CreateStudentClassResponseBody struct {
	Result  *int64 `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateStudentClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateStudentClassResponseBody) GoString() string {
	return s.String()
}

func (s *CreateStudentClassResponseBody) SetResult(v int64) *CreateStudentClassResponseBody {
	s.Result = &v
	return s
}

func (s *CreateStudentClassResponseBody) SetSuccess(v bool) *CreateStudentClassResponseBody {
	s.Success = &v
	return s
}

type CreateStudentClassResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateStudentClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateStudentClassResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateStudentClassResponse) GoString() string {
	return s.String()
}

func (s *CreateStudentClassResponse) SetHeaders(v map[string]*string) *CreateStudentClassResponse {
	s.Headers = v
	return s
}

func (s *CreateStudentClassResponse) SetStatusCode(v int32) *CreateStudentClassResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateStudentClassResponse) SetBody(v *CreateStudentClassResponseBody) *CreateStudentClassResponse {
	s.Body = v
	return s
}

type CreateTeacherCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateTeacherCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateTeacherCourseHeaders) GoString() string {
	return s.String()
}

func (s *CreateTeacherCourseHeaders) SetCommonHeaders(v map[string]*string) *CreateTeacherCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateTeacherCourseHeaders) SetXAcsDingtalkAccessToken(v string) *CreateTeacherCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateTeacherCourseRequest struct {
	// example:
	//
	// {"key":"value"}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// courseIdxxx
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
	// example:
	//
	// 李老师
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// example:
	//
	// staffxxx
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s CreateTeacherCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateTeacherCourseRequest) GoString() string {
	return s.String()
}

func (s *CreateTeacherCourseRequest) SetAttributes(v string) *CreateTeacherCourseRequest {
	s.Attributes = &v
	return s
}

func (s *CreateTeacherCourseRequest) SetCorpId(v string) *CreateTeacherCourseRequest {
	s.CorpId = &v
	return s
}

func (s *CreateTeacherCourseRequest) SetIsvCode(v string) *CreateTeacherCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *CreateTeacherCourseRequest) SetIsvCourseId(v string) *CreateTeacherCourseRequest {
	s.IsvCourseId = &v
	return s
}

func (s *CreateTeacherCourseRequest) SetTeacherName(v string) *CreateTeacherCourseRequest {
	s.TeacherName = &v
	return s
}

func (s *CreateTeacherCourseRequest) SetTeacherUserId(v string) *CreateTeacherCourseRequest {
	s.TeacherUserId = &v
	return s
}

type CreateTeacherCourseResponseBody struct {
	Result  *int64 `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateTeacherCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateTeacherCourseResponseBody) GoString() string {
	return s.String()
}

func (s *CreateTeacherCourseResponseBody) SetResult(v int64) *CreateTeacherCourseResponseBody {
	s.Result = &v
	return s
}

func (s *CreateTeacherCourseResponseBody) SetSuccess(v bool) *CreateTeacherCourseResponseBody {
	s.Success = &v
	return s
}

type CreateTeacherCourseResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateTeacherCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateTeacherCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateTeacherCourseResponse) GoString() string {
	return s.String()
}

func (s *CreateTeacherCourseResponse) SetHeaders(v map[string]*string) *CreateTeacherCourseResponse {
	s.Headers = v
	return s
}

func (s *CreateTeacherCourseResponse) SetStatusCode(v int32) *CreateTeacherCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateTeacherCourseResponse) SetBody(v *CreateTeacherCourseResponseBody) *CreateTeacherCourseResponse {
	s.Body = v
	return s
}

type CreateTimerCardHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateTimerCardHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateTimerCardHeaders) GoString() string {
	return s.String()
}

func (s *CreateTimerCardHeaders) SetCommonHeaders(v map[string]*string) *CreateTimerCardHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateTimerCardHeaders) SetXAcsDingtalkAccessToken(v string) *CreateTimerCardHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateTimerCardRequest struct {
	// example:
	//
	// 0
	ActionTime *int64  `json:"actionTime,omitempty" xml:"actionTime,omitempty"`
	BizData    *string `json:"bizData,omitempty" xml:"bizData,omitempty"`
	// example:
	//
	// CARD_EVENT
	BizType *string `json:"bizType,omitempty" xml:"bizType,omitempty"`
	// example:
	//
	// ding13424
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 20241213123213
	Identifier *string `json:"identifier,omitempty" xml:"identifier,omitempty"`
	// example:
	//
	// XIWO
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	Memo    *string `json:"memo,omitempty" xml:"memo,omitempty"`
}

func (s CreateTimerCardRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateTimerCardRequest) GoString() string {
	return s.String()
}

func (s *CreateTimerCardRequest) SetActionTime(v int64) *CreateTimerCardRequest {
	s.ActionTime = &v
	return s
}

func (s *CreateTimerCardRequest) SetBizData(v string) *CreateTimerCardRequest {
	s.BizData = &v
	return s
}

func (s *CreateTimerCardRequest) SetBizType(v string) *CreateTimerCardRequest {
	s.BizType = &v
	return s
}

func (s *CreateTimerCardRequest) SetCorpId(v string) *CreateTimerCardRequest {
	s.CorpId = &v
	return s
}

func (s *CreateTimerCardRequest) SetIdentifier(v string) *CreateTimerCardRequest {
	s.Identifier = &v
	return s
}

func (s *CreateTimerCardRequest) SetIsvCode(v string) *CreateTimerCardRequest {
	s.IsvCode = &v
	return s
}

func (s *CreateTimerCardRequest) SetMemo(v string) *CreateTimerCardRequest {
	s.Memo = &v
	return s
}

type CreateTimerCardResponseBody struct {
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
	Sucess *bool `json:"sucess,omitempty" xml:"sucess,omitempty"`
}

func (s CreateTimerCardResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateTimerCardResponseBody) GoString() string {
	return s.String()
}

func (s *CreateTimerCardResponseBody) SetResult(v bool) *CreateTimerCardResponseBody {
	s.Result = &v
	return s
}

func (s *CreateTimerCardResponseBody) SetSucess(v bool) *CreateTimerCardResponseBody {
	s.Sucess = &v
	return s
}

type CreateTimerCardResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateTimerCardResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateTimerCardResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateTimerCardResponse) GoString() string {
	return s.String()
}

func (s *CreateTimerCardResponse) SetHeaders(v map[string]*string) *CreateTimerCardResponse {
	s.Headers = v
	return s
}

func (s *CreateTimerCardResponse) SetStatusCode(v int32) *CreateTimerCardResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateTimerCardResponse) SetBody(v *CreateTimerCardResponseBody) *CreateTimerCardResponse {
	s.Body = v
	return s
}

type CreateTokenHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateTokenHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateTokenHeaders) GoString() string {
	return s.String()
}

func (s *CreateTokenHeaders) SetCommonHeaders(v map[string]*string) *CreateTokenHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateTokenHeaders) SetXAcsDingtalkAccessToken(v string) *CreateTokenHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateTokenRequest struct {
	Sn   *string `json:"sn,omitempty" xml:"sn,omitempty"`
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s CreateTokenRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateTokenRequest) GoString() string {
	return s.String()
}

func (s *CreateTokenRequest) SetSn(v string) *CreateTokenRequest {
	s.Sn = &v
	return s
}

func (s *CreateTokenRequest) SetType(v string) *CreateTokenRequest {
	s.Type = &v
	return s
}

type CreateTokenResponseBody struct {
	AccessKeyId     *string `json:"accessKeyId,omitempty" xml:"accessKeyId,omitempty"`
	AccessKeySecret *string `json:"accessKeySecret,omitempty" xml:"accessKeySecret,omitempty"`
	Expiration      *string `json:"expiration,omitempty" xml:"expiration,omitempty"`
	ExtInfo         *string `json:"extInfo,omitempty" xml:"extInfo,omitempty"`
	SecurityToken   *string `json:"securityToken,omitempty" xml:"securityToken,omitempty"`
	Status          *string `json:"status,omitempty" xml:"status,omitempty"`
}

func (s CreateTokenResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateTokenResponseBody) GoString() string {
	return s.String()
}

func (s *CreateTokenResponseBody) SetAccessKeyId(v string) *CreateTokenResponseBody {
	s.AccessKeyId = &v
	return s
}

func (s *CreateTokenResponseBody) SetAccessKeySecret(v string) *CreateTokenResponseBody {
	s.AccessKeySecret = &v
	return s
}

func (s *CreateTokenResponseBody) SetExpiration(v string) *CreateTokenResponseBody {
	s.Expiration = &v
	return s
}

func (s *CreateTokenResponseBody) SetExtInfo(v string) *CreateTokenResponseBody {
	s.ExtInfo = &v
	return s
}

func (s *CreateTokenResponseBody) SetSecurityToken(v string) *CreateTokenResponseBody {
	s.SecurityToken = &v
	return s
}

func (s *CreateTokenResponseBody) SetStatus(v string) *CreateTokenResponseBody {
	s.Status = &v
	return s
}

type CreateTokenResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateTokenResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateTokenResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateTokenResponse) GoString() string {
	return s.String()
}

func (s *CreateTokenResponse) SetHeaders(v map[string]*string) *CreateTokenResponse {
	s.Headers = v
	return s
}

func (s *CreateTokenResponse) SetStatusCode(v int32) *CreateTokenResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateTokenResponse) SetBody(v *CreateTokenResponseBody) *CreateTokenResponse {
	s.Body = v
	return s
}

type CreateTransferRecordHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateTransferRecordHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateTransferRecordHeaders) GoString() string {
	return s.String()
}

func (s *CreateTransferRecordHeaders) SetCommonHeaders(v map[string]*string) *CreateTransferRecordHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateTransferRecordHeaders) SetXAcsDingtalkAccessToken(v string) *CreateTransferRecordHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateTransferRecordRequest struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// classIdx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// record
	IsvRecordId *string `json:"isvRecordId,omitempty" xml:"isvRecordId,omitempty"`
	// example:
	//
	// courseCode
	SrcCourseCode *string `json:"srcCourseCode,omitempty" xml:"srcCourseCode,omitempty"`
	// example:
	//
	// 0
	SrcCourseDate *int64 `json:"srcCourseDate,omitempty" xml:"srcCourseDate,omitempty"`
	// example:
	//
	// 语文
	SrcCourseName *string `json:"srcCourseName,omitempty" xml:"srcCourseName,omitempty"`
	// example:
	//
	// courseId
	SrcIsvCourseId *string `json:"srcIsvCourseId,omitempty" xml:"srcIsvCourseId,omitempty"`
	// example:
	//
	// 第一节
	SrcTimeslotName *string `json:"srcTimeslotName,omitempty" xml:"srcTimeslotName,omitempty"`
	// example:
	//
	// 1
	SrcTimeslotNum *int32 `json:"srcTimeslotNum,omitempty" xml:"srcTimeslotNum,omitempty"`
	// example:
	//
	// courseCode
	TarCourseCode *string `json:"tarCourseCode,omitempty" xml:"tarCourseCode,omitempty"`
	// example:
	//
	// 0
	TarCourseDate *int64 `json:"tarCourseDate,omitempty" xml:"tarCourseDate,omitempty"`
	// example:
	//
	// 语文
	TarCourseName *string `json:"tarCourseName,omitempty" xml:"tarCourseName,omitempty"`
	// example:
	//
	// courseId
	TarIsvCourseId *string `json:"tarIsvCourseId,omitempty" xml:"tarIsvCourseId,omitempty"`
	// example:
	//
	// 第二节
	TarTimeslotName *string `json:"tarTimeslotName,omitempty" xml:"tarTimeslotName,omitempty"`
	// example:
	//
	// 1
	TarTimeslotNum *int32 `json:"tarTimeslotNum,omitempty" xml:"tarTimeslotNum,omitempty"`
}

func (s CreateTransferRecordRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateTransferRecordRequest) GoString() string {
	return s.String()
}

func (s *CreateTransferRecordRequest) SetAttributes(v string) *CreateTransferRecordRequest {
	s.Attributes = &v
	return s
}

func (s *CreateTransferRecordRequest) SetClassId(v string) *CreateTransferRecordRequest {
	s.ClassId = &v
	return s
}

func (s *CreateTransferRecordRequest) SetClassName(v string) *CreateTransferRecordRequest {
	s.ClassName = &v
	return s
}

func (s *CreateTransferRecordRequest) SetCorpId(v string) *CreateTransferRecordRequest {
	s.CorpId = &v
	return s
}

func (s *CreateTransferRecordRequest) SetIsvCode(v string) *CreateTransferRecordRequest {
	s.IsvCode = &v
	return s
}

func (s *CreateTransferRecordRequest) SetIsvRecordId(v string) *CreateTransferRecordRequest {
	s.IsvRecordId = &v
	return s
}

func (s *CreateTransferRecordRequest) SetSrcCourseCode(v string) *CreateTransferRecordRequest {
	s.SrcCourseCode = &v
	return s
}

func (s *CreateTransferRecordRequest) SetSrcCourseDate(v int64) *CreateTransferRecordRequest {
	s.SrcCourseDate = &v
	return s
}

func (s *CreateTransferRecordRequest) SetSrcCourseName(v string) *CreateTransferRecordRequest {
	s.SrcCourseName = &v
	return s
}

func (s *CreateTransferRecordRequest) SetSrcIsvCourseId(v string) *CreateTransferRecordRequest {
	s.SrcIsvCourseId = &v
	return s
}

func (s *CreateTransferRecordRequest) SetSrcTimeslotName(v string) *CreateTransferRecordRequest {
	s.SrcTimeslotName = &v
	return s
}

func (s *CreateTransferRecordRequest) SetSrcTimeslotNum(v int32) *CreateTransferRecordRequest {
	s.SrcTimeslotNum = &v
	return s
}

func (s *CreateTransferRecordRequest) SetTarCourseCode(v string) *CreateTransferRecordRequest {
	s.TarCourseCode = &v
	return s
}

func (s *CreateTransferRecordRequest) SetTarCourseDate(v int64) *CreateTransferRecordRequest {
	s.TarCourseDate = &v
	return s
}

func (s *CreateTransferRecordRequest) SetTarCourseName(v string) *CreateTransferRecordRequest {
	s.TarCourseName = &v
	return s
}

func (s *CreateTransferRecordRequest) SetTarIsvCourseId(v string) *CreateTransferRecordRequest {
	s.TarIsvCourseId = &v
	return s
}

func (s *CreateTransferRecordRequest) SetTarTimeslotName(v string) *CreateTransferRecordRequest {
	s.TarTimeslotName = &v
	return s
}

func (s *CreateTransferRecordRequest) SetTarTimeslotNum(v int32) *CreateTransferRecordRequest {
	s.TarTimeslotNum = &v
	return s
}

type CreateTransferRecordResponseBody struct {
	Result  *int64 `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateTransferRecordResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateTransferRecordResponseBody) GoString() string {
	return s.String()
}

func (s *CreateTransferRecordResponseBody) SetResult(v int64) *CreateTransferRecordResponseBody {
	s.Result = &v
	return s
}

func (s *CreateTransferRecordResponseBody) SetSuccess(v bool) *CreateTransferRecordResponseBody {
	s.Success = &v
	return s
}

type CreateTransferRecordResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateTransferRecordResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateTransferRecordResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateTransferRecordResponse) GoString() string {
	return s.String()
}

func (s *CreateTransferRecordResponse) SetHeaders(v map[string]*string) *CreateTransferRecordResponse {
	s.Headers = v
	return s
}

func (s *CreateTransferRecordResponse) SetStatusCode(v int32) *CreateTransferRecordResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateTransferRecordResponse) SetBody(v *CreateTransferRecordResponseBody) *CreateTransferRecordResponse {
	s.Body = v
	return s
}

type CreateUniversityCourseGroupHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateUniversityCourseGroupHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupHeaders) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupHeaders) SetCommonHeaders(v map[string]*string) *CreateUniversityCourseGroupHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateUniversityCourseGroupHeaders) SetXAcsDingtalkAccessToken(v string) *CreateUniversityCourseGroupHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateUniversityCourseGroupRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 高数
	CourseGroupIntroduce *string `json:"courseGroupIntroduce,omitempty" xml:"courseGroupIntroduce,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 张老师_高数
	CourseGroupName *string `json:"courseGroupName,omitempty" xml:"courseGroupName,omitempty"`
	// This parameter is required.
	CourserGroupItemModels []*CreateUniversityCourseGroupRequestCourserGroupItemModels `json:"courserGroupItemModels,omitempty" xml:"courserGroupItemModels,omitempty" type:"Repeated"`
	// example:
	//
	// {}
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// GZ1001
	IsvCourseGroupCode *string `json:"isvCourseGroupCode,omitempty" xml:"isvCourseGroupCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 大学：university
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021-2022
	SchoolYear *string `json:"schoolYear,omitempty" xml:"schoolYear,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Semester *int32 `json:"semester,omitempty" xml:"semester,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 高等数学
	SubjectName *string `json:"subjectName,omitempty" xml:"subjectName,omitempty"`
	// This parameter is required.
	TeacherInfos []*CreateUniversityCourseGroupRequestTeacherInfos `json:"teacherInfos,omitempty" xml:"teacherInfos,omitempty" type:"Repeated"`
	// This parameter is required.
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s CreateUniversityCourseGroupRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupRequest) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupRequest) SetCourseGroupIntroduce(v string) *CreateUniversityCourseGroupRequest {
	s.CourseGroupIntroduce = &v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetCourseGroupName(v string) *CreateUniversityCourseGroupRequest {
	s.CourseGroupName = &v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetCourserGroupItemModels(v []*CreateUniversityCourseGroupRequestCourserGroupItemModels) *CreateUniversityCourseGroupRequest {
	s.CourserGroupItemModels = v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetExt(v string) *CreateUniversityCourseGroupRequest {
	s.Ext = &v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetIsvCourseGroupCode(v string) *CreateUniversityCourseGroupRequest {
	s.IsvCourseGroupCode = &v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetPeriodCode(v string) *CreateUniversityCourseGroupRequest {
	s.PeriodCode = &v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetSchoolYear(v string) *CreateUniversityCourseGroupRequest {
	s.SchoolYear = &v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetSemester(v int32) *CreateUniversityCourseGroupRequest {
	s.Semester = &v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetSubjectName(v string) *CreateUniversityCourseGroupRequest {
	s.SubjectName = &v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetTeacherInfos(v []*CreateUniversityCourseGroupRequestTeacherInfos) *CreateUniversityCourseGroupRequest {
	s.TeacherInfos = v
	return s
}

func (s *CreateUniversityCourseGroupRequest) SetOpUserId(v string) *CreateUniversityCourseGroupRequest {
	s.OpUserId = &v
	return s
}

type CreateUniversityCourseGroupRequestCourserGroupItemModels struct {
	// This parameter is required.
	//
	// example:
	//
	// 1、单周；2、双周；3、全周
	ClassPeriodType *int32 `json:"classPeriodType,omitempty" xml:"classPeriodType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10001
	ClassroomId *int64 `json:"classroomId,omitempty" xml:"classroomId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1;音视频直播\2:线下课程\4:音视频及线下
	CourseType *int32 `json:"courseType,omitempty" xml:"courseType,omitempty"`
	// This parameter is required.
	CourserGroupItemEndDate *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate `json:"courserGroupItemEndDate,omitempty" xml:"courserGroupItemEndDate,omitempty" type:"Struct"`
	// This parameter is required.
	CourserGroupItemStartDate *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate `json:"courserGroupItemStartDate,omitempty" xml:"courserGroupItemStartDate,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	DayOfWeek *int32 `json:"dayOfWeek,omitempty" xml:"dayOfWeek,omitempty"`
	// This parameter is required.
	SectionIndex []*int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty" type:"Repeated"`
}

func (s CreateUniversityCourseGroupRequestCourserGroupItemModels) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupRequestCourserGroupItemModels) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModels) SetClassPeriodType(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModels {
	s.ClassPeriodType = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModels) SetClassroomId(v int64) *CreateUniversityCourseGroupRequestCourserGroupItemModels {
	s.ClassroomId = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModels) SetCourseType(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModels {
	s.CourseType = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModels) SetCourserGroupItemEndDate(v *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) *CreateUniversityCourseGroupRequestCourserGroupItemModels {
	s.CourserGroupItemEndDate = v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModels) SetCourserGroupItemStartDate(v *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) *CreateUniversityCourseGroupRequestCourserGroupItemModels {
	s.CourserGroupItemStartDate = v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModels) SetDayOfWeek(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModels {
	s.DayOfWeek = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModels) SetSectionIndex(v []*int32) *CreateUniversityCourseGroupRequestCourserGroupItemModels {
	s.SectionIndex = v
	return s
}

type CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 31
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) SetDayOfMonth(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate {
	s.DayOfMonth = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) SetMonth(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate {
	s.Month = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) SetYear(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate {
	s.Year = &v
	return s
}

type CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) SetDayOfMonth(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate {
	s.DayOfMonth = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) SetMonth(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate {
	s.Month = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) SetYear(v int32) *CreateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate {
	s.Year = &v
	return s
}

type CreateUniversityCourseGroupRequestTeacherInfos struct {
	// example:
	//
	// TEACHER授课教师/TEACHING_ASSISTANT助教
	ParticipantRole *string `json:"participantRole,omitempty" xml:"participantRole,omitempty"`
	// example:
	//
	// manger1234
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s CreateUniversityCourseGroupRequestTeacherInfos) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupRequestTeacherInfos) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupRequestTeacherInfos) SetParticipantRole(v string) *CreateUniversityCourseGroupRequestTeacherInfos {
	s.ParticipantRole = &v
	return s
}

func (s *CreateUniversityCourseGroupRequestTeacherInfos) SetUserId(v string) *CreateUniversityCourseGroupRequestTeacherInfos {
	s.UserId = &v
	return s
}

type CreateUniversityCourseGroupResponseBody struct {
	CourseGroupInfo *CreateUniversityCourseGroupResponseBodyCourseGroupInfo `json:"courseGroupInfo,omitempty" xml:"courseGroupInfo,omitempty" type:"Struct"`
}

func (s CreateUniversityCourseGroupResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupResponseBody) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupResponseBody) SetCourseGroupInfo(v *CreateUniversityCourseGroupResponseBodyCourseGroupInfo) *CreateUniversityCourseGroupResponseBody {
	s.CourseGroupInfo = v
	return s
}

type CreateUniversityCourseGroupResponseBodyCourseGroupInfo struct {
	// example:
	//
	// GS10001
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
}

func (s CreateUniversityCourseGroupResponseBodyCourseGroupInfo) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupResponseBodyCourseGroupInfo) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupResponseBodyCourseGroupInfo) SetCourseGroupCode(v string) *CreateUniversityCourseGroupResponseBodyCourseGroupInfo {
	s.CourseGroupCode = &v
	return s
}

type CreateUniversityCourseGroupResponse struct {
	Headers    map[string]*string                       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateUniversityCourseGroupResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateUniversityCourseGroupResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityCourseGroupResponse) GoString() string {
	return s.String()
}

func (s *CreateUniversityCourseGroupResponse) SetHeaders(v map[string]*string) *CreateUniversityCourseGroupResponse {
	s.Headers = v
	return s
}

func (s *CreateUniversityCourseGroupResponse) SetStatusCode(v int32) *CreateUniversityCourseGroupResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateUniversityCourseGroupResponse) SetBody(v *CreateUniversityCourseGroupResponseBody) *CreateUniversityCourseGroupResponse {
	s.Body = v
	return s
}

type CreateUniversityStudentHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateUniversityStudentHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityStudentHeaders) GoString() string {
	return s.String()
}

func (s *CreateUniversityStudentHeaders) SetCommonHeaders(v map[string]*string) *CreateUniversityStudentHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateUniversityStudentHeaders) SetXAcsDingtalkAccessToken(v string) *CreateUniversityStudentHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateUniversityStudentRequest struct {
	// This parameter is required.
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	Gender         *string `json:"gender,omitempty" xml:"gender,omitempty"`
	IdentityNumber *string `json:"identityNumber,omitempty" xml:"identityNumber,omitempty"`
	// This parameter is required.
	Mobile *string `json:"mobile,omitempty" xml:"mobile,omitempty"`
	// This parameter is required.
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	StudentNumber *string `json:"studentNumber,omitempty" xml:"studentNumber,omitempty"`
	// This parameter is required.
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s CreateUniversityStudentRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityStudentRequest) GoString() string {
	return s.String()
}

func (s *CreateUniversityStudentRequest) SetClassId(v int64) *CreateUniversityStudentRequest {
	s.ClassId = &v
	return s
}

func (s *CreateUniversityStudentRequest) SetGender(v string) *CreateUniversityStudentRequest {
	s.Gender = &v
	return s
}

func (s *CreateUniversityStudentRequest) SetIdentityNumber(v string) *CreateUniversityStudentRequest {
	s.IdentityNumber = &v
	return s
}

func (s *CreateUniversityStudentRequest) SetMobile(v string) *CreateUniversityStudentRequest {
	s.Mobile = &v
	return s
}

func (s *CreateUniversityStudentRequest) SetName(v string) *CreateUniversityStudentRequest {
	s.Name = &v
	return s
}

func (s *CreateUniversityStudentRequest) SetStudentNumber(v string) *CreateUniversityStudentRequest {
	s.StudentNumber = &v
	return s
}

func (s *CreateUniversityStudentRequest) SetOpUserId(v string) *CreateUniversityStudentRequest {
	s.OpUserId = &v
	return s
}

type CreateUniversityStudentResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s CreateUniversityStudentResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityStudentResponseBody) GoString() string {
	return s.String()
}

func (s *CreateUniversityStudentResponseBody) SetResult(v bool) *CreateUniversityStudentResponseBody {
	s.Result = &v
	return s
}

type CreateUniversityStudentResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateUniversityStudentResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateUniversityStudentResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityStudentResponse) GoString() string {
	return s.String()
}

func (s *CreateUniversityStudentResponse) SetHeaders(v map[string]*string) *CreateUniversityStudentResponse {
	s.Headers = v
	return s
}

func (s *CreateUniversityStudentResponse) SetStatusCode(v int32) *CreateUniversityStudentResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateUniversityStudentResponse) SetBody(v *CreateUniversityStudentResponseBody) *CreateUniversityStudentResponse {
	s.Body = v
	return s
}

type CreateUniversityTeacherHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateUniversityTeacherHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityTeacherHeaders) GoString() string {
	return s.String()
}

func (s *CreateUniversityTeacherHeaders) SetCommonHeaders(v map[string]*string) *CreateUniversityTeacherHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateUniversityTeacherHeaders) SetXAcsDingtalkAccessToken(v string) *CreateUniversityTeacherHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateUniversityTeacherRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 100987
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// headmaster:班主任；instructor:辅导员
	Role *string `json:"role,omitempty" xml:"role,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10877892
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s CreateUniversityTeacherRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityTeacherRequest) GoString() string {
	return s.String()
}

func (s *CreateUniversityTeacherRequest) SetClassId(v int64) *CreateUniversityTeacherRequest {
	s.ClassId = &v
	return s
}

func (s *CreateUniversityTeacherRequest) SetOpUserId(v string) *CreateUniversityTeacherRequest {
	s.OpUserId = &v
	return s
}

func (s *CreateUniversityTeacherRequest) SetRole(v string) *CreateUniversityTeacherRequest {
	s.Role = &v
	return s
}

func (s *CreateUniversityTeacherRequest) SetTeacherUserId(v string) *CreateUniversityTeacherRequest {
	s.TeacherUserId = &v
	return s
}

type CreateUniversityTeacherResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s CreateUniversityTeacherResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityTeacherResponseBody) GoString() string {
	return s.String()
}

func (s *CreateUniversityTeacherResponseBody) SetResult(v bool) *CreateUniversityTeacherResponseBody {
	s.Result = &v
	return s
}

type CreateUniversityTeacherResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateUniversityTeacherResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateUniversityTeacherResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateUniversityTeacherResponse) GoString() string {
	return s.String()
}

func (s *CreateUniversityTeacherResponse) SetHeaders(v map[string]*string) *CreateUniversityTeacherResponse {
	s.Headers = v
	return s
}

func (s *CreateUniversityTeacherResponse) SetStatusCode(v int32) *CreateUniversityTeacherResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateUniversityTeacherResponse) SetBody(v *CreateUniversityTeacherResponseBody) *CreateUniversityTeacherResponse {
	s.Body = v
	return s
}

type CreateWrongQuestionsHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s CreateWrongQuestionsHeaders) String() string {
	return tea.Prettify(s)
}

func (s CreateWrongQuestionsHeaders) GoString() string {
	return s.String()
}

func (s *CreateWrongQuestionsHeaders) SetCommonHeaders(v map[string]*string) *CreateWrongQuestionsHeaders {
	s.CommonHeaders = v
	return s
}

func (s *CreateWrongQuestionsHeaders) SetXAcsDingtalkAccessToken(v string) *CreateWrongQuestionsHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type CreateWrongQuestionsRequest struct {
	AnswerContent      *string            `json:"answerContent,omitempty" xml:"answerContent,omitempty"`
	DifficultyLevel    *int32             `json:"difficultyLevel,omitempty" xml:"difficultyLevel,omitempty"`
	ExplainAudio       *string            `json:"explainAudio,omitempty" xml:"explainAudio,omitempty"`
	ExplainContent     *string            `json:"explainContent,omitempty" xml:"explainContent,omitempty"`
	GenerateTime       *int64             `json:"generateTime,omitempty" xml:"generateTime,omitempty"`
	KnowledgePointList []*string          `json:"knowledgePointList,omitempty" xml:"knowledgePointList,omitempty" type:"Repeated"`
	OwnerCode          *string            `json:"ownerCode,omitempty" xml:"ownerCode,omitempty"`
	OwnerType          *string            `json:"ownerType,omitempty" xml:"ownerType,omitempty"`
	ProficiencyLevel   *int32             `json:"proficiencyLevel,omitempty" xml:"proficiencyLevel,omitempty"`
	QuestionAudio      *string            `json:"questionAudio,omitempty" xml:"questionAudio,omitempty"`
	QuestionContent    *string            `json:"questionContent,omitempty" xml:"questionContent,omitempty"`
	QuestionExtension  map[string]*string `json:"questionExtension,omitempty" xml:"questionExtension,omitempty"`
	QuestionPicUrl     *string            `json:"questionPicUrl,omitempty" xml:"questionPicUrl,omitempty"`
	QuestionType       *string            `json:"questionType,omitempty" xml:"questionType,omitempty"`
	SourceCode         *string            `json:"sourceCode,omitempty" xml:"sourceCode,omitempty"`
	StudentUserId      *string            `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
	Subject            *string            `json:"subject,omitempty" xml:"subject,omitempty"`
}

func (s CreateWrongQuestionsRequest) String() string {
	return tea.Prettify(s)
}

func (s CreateWrongQuestionsRequest) GoString() string {
	return s.String()
}

func (s *CreateWrongQuestionsRequest) SetAnswerContent(v string) *CreateWrongQuestionsRequest {
	s.AnswerContent = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetDifficultyLevel(v int32) *CreateWrongQuestionsRequest {
	s.DifficultyLevel = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetExplainAudio(v string) *CreateWrongQuestionsRequest {
	s.ExplainAudio = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetExplainContent(v string) *CreateWrongQuestionsRequest {
	s.ExplainContent = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetGenerateTime(v int64) *CreateWrongQuestionsRequest {
	s.GenerateTime = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetKnowledgePointList(v []*string) *CreateWrongQuestionsRequest {
	s.KnowledgePointList = v
	return s
}

func (s *CreateWrongQuestionsRequest) SetOwnerCode(v string) *CreateWrongQuestionsRequest {
	s.OwnerCode = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetOwnerType(v string) *CreateWrongQuestionsRequest {
	s.OwnerType = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetProficiencyLevel(v int32) *CreateWrongQuestionsRequest {
	s.ProficiencyLevel = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetQuestionAudio(v string) *CreateWrongQuestionsRequest {
	s.QuestionAudio = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetQuestionContent(v string) *CreateWrongQuestionsRequest {
	s.QuestionContent = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetQuestionExtension(v map[string]*string) *CreateWrongQuestionsRequest {
	s.QuestionExtension = v
	return s
}

func (s *CreateWrongQuestionsRequest) SetQuestionPicUrl(v string) *CreateWrongQuestionsRequest {
	s.QuestionPicUrl = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetQuestionType(v string) *CreateWrongQuestionsRequest {
	s.QuestionType = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetSourceCode(v string) *CreateWrongQuestionsRequest {
	s.SourceCode = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetStudentUserId(v string) *CreateWrongQuestionsRequest {
	s.StudentUserId = &v
	return s
}

func (s *CreateWrongQuestionsRequest) SetSubject(v string) *CreateWrongQuestionsRequest {
	s.Subject = &v
	return s
}

type CreateWrongQuestionsResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s CreateWrongQuestionsResponseBody) String() string {
	return tea.Prettify(s)
}

func (s CreateWrongQuestionsResponseBody) GoString() string {
	return s.String()
}

func (s *CreateWrongQuestionsResponseBody) SetSuccess(v bool) *CreateWrongQuestionsResponseBody {
	s.Success = &v
	return s
}

type CreateWrongQuestionsResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *CreateWrongQuestionsResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s CreateWrongQuestionsResponse) String() string {
	return tea.Prettify(s)
}

func (s CreateWrongQuestionsResponse) GoString() string {
	return s.String()
}

func (s *CreateWrongQuestionsResponse) SetHeaders(v map[string]*string) *CreateWrongQuestionsResponse {
	s.Headers = v
	return s
}

func (s *CreateWrongQuestionsResponse) SetStatusCode(v int32) *CreateWrongQuestionsResponse {
	s.StatusCode = &v
	return s
}

func (s *CreateWrongQuestionsResponse) SetBody(v *CreateWrongQuestionsResponseBody) *CreateWrongQuestionsResponse {
	s.Body = v
	return s
}

type DeactivateDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeactivateDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeactivateDeviceHeaders) GoString() string {
	return s.String()
}

func (s *DeactivateDeviceHeaders) SetCommonHeaders(v map[string]*string) *DeactivateDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeactivateDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *DeactivateDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeactivateDeviceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// model1
	Model *string `json:"model,omitempty" xml:"model,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// fdafds-432432
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// VIDEO_CALL
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s DeactivateDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s DeactivateDeviceRequest) GoString() string {
	return s.String()
}

func (s *DeactivateDeviceRequest) SetModel(v string) *DeactivateDeviceRequest {
	s.Model = &v
	return s
}

func (s *DeactivateDeviceRequest) SetSn(v string) *DeactivateDeviceRequest {
	s.Sn = &v
	return s
}

func (s *DeactivateDeviceRequest) SetType(v string) *DeactivateDeviceRequest {
	s.Type = &v
	return s
}

type DeactivateDeviceResponseBody struct {
	// example:
	//
	// 2
	ActivateTimes *int32 `json:"activateTimes,omitempty" xml:"activateTimes,omitempty"`
}

func (s DeactivateDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeactivateDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *DeactivateDeviceResponseBody) SetActivateTimes(v int32) *DeactivateDeviceResponseBody {
	s.ActivateTimes = &v
	return s
}

type DeactivateDeviceResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeactivateDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeactivateDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s DeactivateDeviceResponse) GoString() string {
	return s.String()
}

func (s *DeactivateDeviceResponse) SetHeaders(v map[string]*string) *DeactivateDeviceResponse {
	s.Headers = v
	return s
}

func (s *DeactivateDeviceResponse) SetStatusCode(v int32) *DeactivateDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *DeactivateDeviceResponse) SetBody(v *DeactivateDeviceResponseBody) *DeactivateDeviceResponse {
	s.Body = v
	return s
}

type DeductPointHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeductPointHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeductPointHeaders) GoString() string {
	return s.String()
}

func (s *DeductPointHeaders) SetCommonHeaders(v map[string]*string) *DeductPointHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeductPointHeaders) SetXAcsDingtalkAccessToken(v string) *DeductPointHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeductPointRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// biz01
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 兑换商品
	DeductDesc *string `json:"deductDesc,omitempty" xml:"deductDesc,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// https://www.dingtalk.com/
	DeductDetailUrl *string `json:"deductDetailUrl,omitempty" xml:"deductDetailUrl,omitempty"`
	// This parameter is required.
	DeductNum *int32 `json:"deductNum,omitempty" xml:"deductNum,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// personal
	PointType *string `json:"pointType,omitempty" xml:"pointType,omitempty"`
}

func (s DeductPointRequest) String() string {
	return tea.Prettify(s)
}

func (s DeductPointRequest) GoString() string {
	return s.String()
}

func (s *DeductPointRequest) SetBizId(v string) *DeductPointRequest {
	s.BizId = &v
	return s
}

func (s *DeductPointRequest) SetDeductDesc(v string) *DeductPointRequest {
	s.DeductDesc = &v
	return s
}

func (s *DeductPointRequest) SetDeductDetailUrl(v string) *DeductPointRequest {
	s.DeductDetailUrl = &v
	return s
}

func (s *DeductPointRequest) SetDeductNum(v int32) *DeductPointRequest {
	s.DeductNum = &v
	return s
}

func (s *DeductPointRequest) SetPointType(v string) *DeductPointRequest {
	s.PointType = &v
	return s
}

type DeductPointResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeductPointResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeductPointResponseBody) GoString() string {
	return s.String()
}

func (s *DeductPointResponseBody) SetResult(v bool) *DeductPointResponseBody {
	s.Result = &v
	return s
}

func (s *DeductPointResponseBody) SetSuccess(v bool) *DeductPointResponseBody {
	s.Success = &v
	return s
}

type DeductPointResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeductPointResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeductPointResponse) String() string {
	return tea.Prettify(s)
}

func (s DeductPointResponse) GoString() string {
	return s.String()
}

func (s *DeductPointResponse) SetHeaders(v map[string]*string) *DeductPointResponse {
	s.Headers = v
	return s
}

func (s *DeductPointResponse) SetStatusCode(v int32) *DeductPointResponse {
	s.StatusCode = &v
	return s
}

func (s *DeductPointResponse) SetBody(v *DeductPointResponseBody) *DeductPointResponse {
	s.Body = v
	return s
}

type DeleteCollegeAlumniDeptHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteCollegeAlumniDeptHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeAlumniDeptHeaders) GoString() string {
	return s.String()
}

func (s *DeleteCollegeAlumniDeptHeaders) SetCommonHeaders(v map[string]*string) *DeleteCollegeAlumniDeptHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteCollegeAlumniDeptHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteCollegeAlumniDeptHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteCollegeAlumniDeptRequest struct {
	// This parameter is required.
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// This parameter is required.
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
}

func (s DeleteCollegeAlumniDeptRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeAlumniDeptRequest) GoString() string {
	return s.String()
}

func (s *DeleteCollegeAlumniDeptRequest) SetDeptId(v int64) *DeleteCollegeAlumniDeptRequest {
	s.DeptId = &v
	return s
}

func (s *DeleteCollegeAlumniDeptRequest) SetOperator(v string) *DeleteCollegeAlumniDeptRequest {
	s.Operator = &v
	return s
}

type DeleteCollegeAlumniDeptResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteCollegeAlumniDeptResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeAlumniDeptResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteCollegeAlumniDeptResponseBody) SetSuccess(v bool) *DeleteCollegeAlumniDeptResponseBody {
	s.Success = &v
	return s
}

type DeleteCollegeAlumniDeptResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteCollegeAlumniDeptResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteCollegeAlumniDeptResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeAlumniDeptResponse) GoString() string {
	return s.String()
}

func (s *DeleteCollegeAlumniDeptResponse) SetHeaders(v map[string]*string) *DeleteCollegeAlumniDeptResponse {
	s.Headers = v
	return s
}

func (s *DeleteCollegeAlumniDeptResponse) SetStatusCode(v int32) *DeleteCollegeAlumniDeptResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteCollegeAlumniDeptResponse) SetBody(v *DeleteCollegeAlumniDeptResponseBody) *DeleteCollegeAlumniDeptResponse {
	s.Body = v
	return s
}

type DeleteCollegeAlumniUserInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteCollegeAlumniUserInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeAlumniUserInfoHeaders) GoString() string {
	return s.String()
}

func (s *DeleteCollegeAlumniUserInfoHeaders) SetCommonHeaders(v map[string]*string) *DeleteCollegeAlumniUserInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteCollegeAlumniUserInfoHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteCollegeAlumniUserInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteCollegeAlumniUserInfoRequest struct {
	// This parameter is required.
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// This parameter is required.
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	UserIds []*string `json:"userIds,omitempty" xml:"userIds,omitempty" type:"Repeated"`
}

func (s DeleteCollegeAlumniUserInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeAlumniUserInfoRequest) GoString() string {
	return s.String()
}

func (s *DeleteCollegeAlumniUserInfoRequest) SetDeptId(v int64) *DeleteCollegeAlumniUserInfoRequest {
	s.DeptId = &v
	return s
}

func (s *DeleteCollegeAlumniUserInfoRequest) SetOperator(v string) *DeleteCollegeAlumniUserInfoRequest {
	s.Operator = &v
	return s
}

func (s *DeleteCollegeAlumniUserInfoRequest) SetUserIds(v []*string) *DeleteCollegeAlumniUserInfoRequest {
	s.UserIds = v
	return s
}

type DeleteCollegeAlumniUserInfoResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteCollegeAlumniUserInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeAlumniUserInfoResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteCollegeAlumniUserInfoResponseBody) SetSuccess(v bool) *DeleteCollegeAlumniUserInfoResponseBody {
	s.Success = &v
	return s
}

type DeleteCollegeAlumniUserInfoResponse struct {
	Headers    map[string]*string                       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteCollegeAlumniUserInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteCollegeAlumniUserInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeAlumniUserInfoResponse) GoString() string {
	return s.String()
}

func (s *DeleteCollegeAlumniUserInfoResponse) SetHeaders(v map[string]*string) *DeleteCollegeAlumniUserInfoResponse {
	s.Headers = v
	return s
}

func (s *DeleteCollegeAlumniUserInfoResponse) SetStatusCode(v int32) *DeleteCollegeAlumniUserInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteCollegeAlumniUserInfoResponse) SetBody(v *DeleteCollegeAlumniUserInfoResponseBody) *DeleteCollegeAlumniUserInfoResponse {
	s.Body = v
	return s
}

type DeleteCollegeContactSceneStruHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteCollegeContactSceneStruHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeContactSceneStruHeaders) GoString() string {
	return s.String()
}

func (s *DeleteCollegeContactSceneStruHeaders) SetCommonHeaders(v map[string]*string) *DeleteCollegeContactSceneStruHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteCollegeContactSceneStruHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteCollegeContactSceneStruHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteCollegeContactSceneStruRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 20
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
}

func (s DeleteCollegeContactSceneStruRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeContactSceneStruRequest) GoString() string {
	return s.String()
}

func (s *DeleteCollegeContactSceneStruRequest) SetStruId(v int64) *DeleteCollegeContactSceneStruRequest {
	s.StruId = &v
	return s
}

type DeleteCollegeContactSceneStruResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteCollegeContactSceneStruResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeContactSceneStruResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteCollegeContactSceneStruResponseBody) SetSuccess(v bool) *DeleteCollegeContactSceneStruResponseBody {
	s.Success = &v
	return s
}

type DeleteCollegeContactSceneStruResponse struct {
	Headers    map[string]*string                         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteCollegeContactSceneStruResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteCollegeContactSceneStruResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteCollegeContactSceneStruResponse) GoString() string {
	return s.String()
}

func (s *DeleteCollegeContactSceneStruResponse) SetHeaders(v map[string]*string) *DeleteCollegeContactSceneStruResponse {
	s.Headers = v
	return s
}

func (s *DeleteCollegeContactSceneStruResponse) SetStatusCode(v int32) *DeleteCollegeContactSceneStruResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteCollegeContactSceneStruResponse) SetBody(v *DeleteCollegeContactSceneStruResponseBody) *DeleteCollegeContactSceneStruResponse {
	s.Body = v
	return s
}

type DeleteDeptHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteDeptHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeptHeaders) GoString() string {
	return s.String()
}

func (s *DeleteDeptHeaders) SetCommonHeaders(v map[string]*string) *DeleteDeptHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteDeptHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteDeptHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteDeptRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// manager1234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
}

func (s DeleteDeptRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeptRequest) GoString() string {
	return s.String()
}

func (s *DeleteDeptRequest) SetOperator(v string) *DeleteDeptRequest {
	s.Operator = &v
	return s
}

type DeleteDeptResponseBody struct {
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteDeptResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeptResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteDeptResponseBody) SetSuccess(v bool) *DeleteDeptResponseBody {
	s.Success = &v
	return s
}

type DeleteDeptResponse struct {
	Headers    map[string]*string      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteDeptResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteDeptResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeptResponse) GoString() string {
	return s.String()
}

func (s *DeleteDeptResponse) SetHeaders(v map[string]*string) *DeleteDeptResponse {
	s.Headers = v
	return s
}

func (s *DeleteDeptResponse) SetStatusCode(v int32) *DeleteDeptResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteDeptResponse) SetBody(v *DeleteDeptResponseBody) *DeleteDeptResponse {
	s.Body = v
	return s
}

type DeleteDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeviceHeaders) GoString() string {
	return s.String()
}

func (s *DeleteDeviceHeaders) SetCommonHeaders(v map[string]*string) *DeleteDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteDeviceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// testSn
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
}

func (s DeleteDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeviceRequest) GoString() string {
	return s.String()
}

func (s *DeleteDeviceRequest) SetSn(v string) *DeleteDeviceRequest {
	s.Sn = &v
	return s
}

type DeleteDeviceResponseBody struct {
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s DeleteDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteDeviceResponseBody) SetResult(v bool) *DeleteDeviceResponseBody {
	s.Result = &v
	return s
}

type DeleteDeviceResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeviceResponse) GoString() string {
	return s.String()
}

func (s *DeleteDeviceResponse) SetHeaders(v map[string]*string) *DeleteDeviceResponse {
	s.Headers = v
	return s
}

func (s *DeleteDeviceResponse) SetStatusCode(v int32) *DeleteDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteDeviceResponse) SetBody(v *DeleteDeviceResponseBody) *DeleteDeviceResponse {
	s.Body = v
	return s
}

type DeleteDeviceOrgHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteDeviceOrgHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeviceOrgHeaders) GoString() string {
	return s.String()
}

func (s *DeleteDeviceOrgHeaders) SetCommonHeaders(v map[string]*string) *DeleteDeviceOrgHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteDeviceOrgHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteDeviceOrgHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteDeviceOrgRequest struct {
	// This parameter is required.
	AuthCode *string `json:"authCode,omitempty" xml:"authCode,omitempty"`
	// This parameter is required.
	DeviceCode *string `json:"deviceCode,omitempty" xml:"deviceCode,omitempty"`
}

func (s DeleteDeviceOrgRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeviceOrgRequest) GoString() string {
	return s.String()
}

func (s *DeleteDeviceOrgRequest) SetAuthCode(v string) *DeleteDeviceOrgRequest {
	s.AuthCode = &v
	return s
}

func (s *DeleteDeviceOrgRequest) SetDeviceCode(v string) *DeleteDeviceOrgRequest {
	s.DeviceCode = &v
	return s
}

type DeleteDeviceOrgResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteDeviceOrgResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeviceOrgResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteDeviceOrgResponseBody) SetSuccess(v bool) *DeleteDeviceOrgResponseBody {
	s.Success = &v
	return s
}

type DeleteDeviceOrgResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteDeviceOrgResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteDeviceOrgResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteDeviceOrgResponse) GoString() string {
	return s.String()
}

func (s *DeleteDeviceOrgResponse) SetHeaders(v map[string]*string) *DeleteDeviceOrgResponse {
	s.Headers = v
	return s
}

func (s *DeleteDeviceOrgResponse) SetStatusCode(v int32) *DeleteDeviceOrgResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteDeviceOrgResponse) SetBody(v *DeleteDeviceOrgResponseBody) *DeleteDeviceOrgResponse {
	s.Body = v
	return s
}

type DeleteEvaluatePerformanceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteEvaluatePerformanceHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteEvaluatePerformanceHeaders) GoString() string {
	return s.String()
}

func (s *DeleteEvaluatePerformanceHeaders) SetCommonHeaders(v map[string]*string) *DeleteEvaluatePerformanceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteEvaluatePerformanceHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteEvaluatePerformanceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteEvaluatePerformanceRequest struct {
	EvaluationIdList []*string `json:"evaluationIdList,omitempty" xml:"evaluationIdList,omitempty" type:"Repeated"`
}

func (s DeleteEvaluatePerformanceRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteEvaluatePerformanceRequest) GoString() string {
	return s.String()
}

func (s *DeleteEvaluatePerformanceRequest) SetEvaluationIdList(v []*string) *DeleteEvaluatePerformanceRequest {
	s.EvaluationIdList = v
	return s
}

type DeleteEvaluatePerformanceResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteEvaluatePerformanceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteEvaluatePerformanceResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteEvaluatePerformanceResponseBody) SetSuccess(v bool) *DeleteEvaluatePerformanceResponseBody {
	s.Success = &v
	return s
}

type DeleteEvaluatePerformanceResponse struct {
	Headers    map[string]*string                     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteEvaluatePerformanceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteEvaluatePerformanceResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteEvaluatePerformanceResponse) GoString() string {
	return s.String()
}

func (s *DeleteEvaluatePerformanceResponse) SetHeaders(v map[string]*string) *DeleteEvaluatePerformanceResponse {
	s.Headers = v
	return s
}

func (s *DeleteEvaluatePerformanceResponse) SetStatusCode(v int32) *DeleteEvaluatePerformanceResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteEvaluatePerformanceResponse) SetBody(v *DeleteEvaluatePerformanceResponseBody) *DeleteEvaluatePerformanceResponse {
	s.Body = v
	return s
}

type DeleteGuardianHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteGuardianHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteGuardianHeaders) GoString() string {
	return s.String()
}

func (s *DeleteGuardianHeaders) SetCommonHeaders(v map[string]*string) *DeleteGuardianHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteGuardianHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteGuardianHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteGuardianRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// manager123
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1345
	StuId *string `json:"stuId,omitempty" xml:"stuId,omitempty"`
}

func (s DeleteGuardianRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteGuardianRequest) GoString() string {
	return s.String()
}

func (s *DeleteGuardianRequest) SetOperator(v string) *DeleteGuardianRequest {
	s.Operator = &v
	return s
}

func (s *DeleteGuardianRequest) SetStuId(v string) *DeleteGuardianRequest {
	s.StuId = &v
	return s
}

type DeleteGuardianResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteGuardianResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteGuardianResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteGuardianResponseBody) SetSuccess(v bool) *DeleteGuardianResponseBody {
	s.Success = &v
	return s
}

type DeleteGuardianResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteGuardianResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteGuardianResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteGuardianResponse) GoString() string {
	return s.String()
}

func (s *DeleteGuardianResponse) SetHeaders(v map[string]*string) *DeleteGuardianResponse {
	s.Headers = v
	return s
}

func (s *DeleteGuardianResponse) SetStatusCode(v int32) *DeleteGuardianResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteGuardianResponse) SetBody(v *DeleteGuardianResponseBody) *DeleteGuardianResponse {
	s.Body = v
	return s
}

type DeleteOrgRelationHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteOrgRelationHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteOrgRelationHeaders) GoString() string {
	return s.String()
}

func (s *DeleteOrgRelationHeaders) SetCommonHeaders(v map[string]*string) *DeleteOrgRelationHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteOrgRelationHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteOrgRelationHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteOrgRelationRequest struct {
	// This parameter is required.
	AuthCode *string `json:"authCode,omitempty" xml:"authCode,omitempty"`
	// This parameter is required.
	TargetCorpId *string `json:"targetCorpId,omitempty" xml:"targetCorpId,omitempty"`
}

func (s DeleteOrgRelationRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteOrgRelationRequest) GoString() string {
	return s.String()
}

func (s *DeleteOrgRelationRequest) SetAuthCode(v string) *DeleteOrgRelationRequest {
	s.AuthCode = &v
	return s
}

func (s *DeleteOrgRelationRequest) SetTargetCorpId(v string) *DeleteOrgRelationRequest {
	s.TargetCorpId = &v
	return s
}

type DeleteOrgRelationResponseBody struct {
	// This parameter is required.
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteOrgRelationResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteOrgRelationResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteOrgRelationResponseBody) SetSuccess(v bool) *DeleteOrgRelationResponseBody {
	s.Success = &v
	return s
}

type DeleteOrgRelationResponse struct {
	Headers    map[string]*string             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteOrgRelationResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteOrgRelationResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteOrgRelationResponse) GoString() string {
	return s.String()
}

func (s *DeleteOrgRelationResponse) SetHeaders(v map[string]*string) *DeleteOrgRelationResponse {
	s.Headers = v
	return s
}

func (s *DeleteOrgRelationResponse) SetStatusCode(v int32) *DeleteOrgRelationResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteOrgRelationResponse) SetBody(v *DeleteOrgRelationResponseBody) *DeleteOrgRelationResponse {
	s.Body = v
	return s
}

type DeletePhysicalClassroomHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeletePhysicalClassroomHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeletePhysicalClassroomHeaders) GoString() string {
	return s.String()
}

func (s *DeletePhysicalClassroomHeaders) SetCommonHeaders(v map[string]*string) *DeletePhysicalClassroomHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeletePhysicalClassroomHeaders) SetXAcsDingtalkAccessToken(v string) *DeletePhysicalClassroomHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeletePhysicalClassroomRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 100016
	ClassroomId *int64 `json:"classroomId,omitempty" xml:"classroomId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manger234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s DeletePhysicalClassroomRequest) String() string {
	return tea.Prettify(s)
}

func (s DeletePhysicalClassroomRequest) GoString() string {
	return s.String()
}

func (s *DeletePhysicalClassroomRequest) SetClassroomId(v int64) *DeletePhysicalClassroomRequest {
	s.ClassroomId = &v
	return s
}

func (s *DeletePhysicalClassroomRequest) SetOpUserId(v string) *DeletePhysicalClassroomRequest {
	s.OpUserId = &v
	return s
}

type DeletePhysicalClassroomResponseBody struct {
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s DeletePhysicalClassroomResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeletePhysicalClassroomResponseBody) GoString() string {
	return s.String()
}

func (s *DeletePhysicalClassroomResponseBody) SetResult(v bool) *DeletePhysicalClassroomResponseBody {
	s.Result = &v
	return s
}

type DeletePhysicalClassroomResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeletePhysicalClassroomResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeletePhysicalClassroomResponse) String() string {
	return tea.Prettify(s)
}

func (s DeletePhysicalClassroomResponse) GoString() string {
	return s.String()
}

func (s *DeletePhysicalClassroomResponse) SetHeaders(v map[string]*string) *DeletePhysicalClassroomResponse {
	s.Headers = v
	return s
}

func (s *DeletePhysicalClassroomResponse) SetStatusCode(v int32) *DeletePhysicalClassroomResponse {
	s.StatusCode = &v
	return s
}

func (s *DeletePhysicalClassroomResponse) SetBody(v *DeletePhysicalClassroomResponseBody) *DeletePhysicalClassroomResponse {
	s.Body = v
	return s
}

type DeleteRemoteClassCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteRemoteClassCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteRemoteClassCourseHeaders) GoString() string {
	return s.String()
}

func (s *DeleteRemoteClassCourseHeaders) SetCommonHeaders(v map[string]*string) *DeleteRemoteClassCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteRemoteClassCourseHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteRemoteClassCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteRemoteClassCourseRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// bab02f63c1e030fbbxxxx
	AuthCode *string `json:"authCode,omitempty" xml:"authCode,omitempty"`
}

func (s DeleteRemoteClassCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteRemoteClassCourseRequest) GoString() string {
	return s.String()
}

func (s *DeleteRemoteClassCourseRequest) SetAuthCode(v string) *DeleteRemoteClassCourseRequest {
	s.AuthCode = &v
	return s
}

type DeleteRemoteClassCourseResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteRemoteClassCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteRemoteClassCourseResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteRemoteClassCourseResponseBody) SetSuccess(v bool) *DeleteRemoteClassCourseResponseBody {
	s.Success = &v
	return s
}

type DeleteRemoteClassCourseResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteRemoteClassCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteRemoteClassCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteRemoteClassCourseResponse) GoString() string {
	return s.String()
}

func (s *DeleteRemoteClassCourseResponse) SetHeaders(v map[string]*string) *DeleteRemoteClassCourseResponse {
	s.Headers = v
	return s
}

func (s *DeleteRemoteClassCourseResponse) SetStatusCode(v int32) *DeleteRemoteClassCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteRemoteClassCourseResponse) SetBody(v *DeleteRemoteClassCourseResponseBody) *DeleteRemoteClassCourseResponse {
	s.Body = v
	return s
}

type DeleteSchoolReportHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteSchoolReportHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteSchoolReportHeaders) GoString() string {
	return s.String()
}

func (s *DeleteSchoolReportHeaders) SetCommonHeaders(v map[string]*string) *DeleteSchoolReportHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteSchoolReportHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteSchoolReportHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteSchoolReportRequest struct {
	// This parameter is required.
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	SchoolReportId *int64 `json:"schoolReportId,omitempty" xml:"schoolReportId,omitempty"`
	// This parameter is required.
	TeacherId *string `json:"teacherId,omitempty" xml:"teacherId,omitempty"`
}

func (s DeleteSchoolReportRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteSchoolReportRequest) GoString() string {
	return s.String()
}

func (s *DeleteSchoolReportRequest) SetBizCode(v string) *DeleteSchoolReportRequest {
	s.BizCode = &v
	return s
}

func (s *DeleteSchoolReportRequest) SetSchoolReportId(v int64) *DeleteSchoolReportRequest {
	s.SchoolReportId = &v
	return s
}

func (s *DeleteSchoolReportRequest) SetTeacherId(v string) *DeleteSchoolReportRequest {
	s.TeacherId = &v
	return s
}

type DeleteSchoolReportResponseBody struct {
	Result  *DeleteSchoolReportResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                 `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteSchoolReportResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteSchoolReportResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteSchoolReportResponseBody) SetResult(v *DeleteSchoolReportResponseBodyResult) *DeleteSchoolReportResponseBody {
	s.Result = v
	return s
}

func (s *DeleteSchoolReportResponseBody) SetSuccess(v bool) *DeleteSchoolReportResponseBody {
	s.Success = &v
	return s
}

type DeleteSchoolReportResponseBodyResult struct {
	SchoolReportId *int64 `json:"schoolReportId,omitempty" xml:"schoolReportId,omitempty"`
}

func (s DeleteSchoolReportResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s DeleteSchoolReportResponseBodyResult) GoString() string {
	return s.String()
}

func (s *DeleteSchoolReportResponseBodyResult) SetSchoolReportId(v int64) *DeleteSchoolReportResponseBodyResult {
	s.SchoolReportId = &v
	return s
}

type DeleteSchoolReportResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteSchoolReportResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteSchoolReportResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteSchoolReportResponse) GoString() string {
	return s.String()
}

func (s *DeleteSchoolReportResponse) SetHeaders(v map[string]*string) *DeleteSchoolReportResponse {
	s.Headers = v
	return s
}

func (s *DeleteSchoolReportResponse) SetStatusCode(v int32) *DeleteSchoolReportResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteSchoolReportResponse) SetBody(v *DeleteSchoolReportResponseBody) *DeleteSchoolReportResponse {
	s.Body = v
	return s
}

type DeleteStudentHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteStudentHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteStudentHeaders) GoString() string {
	return s.String()
}

func (s *DeleteStudentHeaders) SetCommonHeaders(v map[string]*string) *DeleteStudentHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteStudentHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteStudentHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteStudentRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123456
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
}

func (s DeleteStudentRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteStudentRequest) GoString() string {
	return s.String()
}

func (s *DeleteStudentRequest) SetOperator(v string) *DeleteStudentRequest {
	s.Operator = &v
	return s
}

type DeleteStudentResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteStudentResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteStudentResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteStudentResponseBody) SetSuccess(v bool) *DeleteStudentResponseBody {
	s.Success = &v
	return s
}

type DeleteStudentResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteStudentResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteStudentResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteStudentResponse) GoString() string {
	return s.String()
}

func (s *DeleteStudentResponse) SetHeaders(v map[string]*string) *DeleteStudentResponse {
	s.Headers = v
	return s
}

func (s *DeleteStudentResponse) SetStatusCode(v int32) *DeleteStudentResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteStudentResponse) SetBody(v *DeleteStudentResponseBody) *DeleteStudentResponse {
	s.Body = v
	return s
}

type DeleteTeacherHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteTeacherHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteTeacherHeaders) GoString() string {
	return s.String()
}

func (s *DeleteTeacherHeaders) SetCommonHeaders(v map[string]*string) *DeleteTeacherHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteTeacherHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteTeacherHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteTeacherRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	Adviser *int32 `json:"adviser,omitempty" xml:"adviser,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1235
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
}

func (s DeleteTeacherRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteTeacherRequest) GoString() string {
	return s.String()
}

func (s *DeleteTeacherRequest) SetAdviser(v int32) *DeleteTeacherRequest {
	s.Adviser = &v
	return s
}

func (s *DeleteTeacherRequest) SetOperator(v string) *DeleteTeacherRequest {
	s.Operator = &v
	return s
}

type DeleteTeacherResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DeleteTeacherResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteTeacherResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteTeacherResponseBody) SetSuccess(v bool) *DeleteTeacherResponseBody {
	s.Success = &v
	return s
}

type DeleteTeacherResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteTeacherResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteTeacherResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteTeacherResponse) GoString() string {
	return s.String()
}

func (s *DeleteTeacherResponse) SetHeaders(v map[string]*string) *DeleteTeacherResponse {
	s.Headers = v
	return s
}

func (s *DeleteTeacherResponse) SetStatusCode(v int32) *DeleteTeacherResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteTeacherResponse) SetBody(v *DeleteTeacherResponseBody) *DeleteTeacherResponse {
	s.Body = v
	return s
}

type DeleteUniversityCourseGroupHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteUniversityCourseGroupHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityCourseGroupHeaders) GoString() string {
	return s.String()
}

func (s *DeleteUniversityCourseGroupHeaders) SetCommonHeaders(v map[string]*string) *DeleteUniversityCourseGroupHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteUniversityCourseGroupHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteUniversityCourseGroupHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteUniversityCourseGroupRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// GS1002
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s DeleteUniversityCourseGroupRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityCourseGroupRequest) GoString() string {
	return s.String()
}

func (s *DeleteUniversityCourseGroupRequest) SetCourseGroupCode(v string) *DeleteUniversityCourseGroupRequest {
	s.CourseGroupCode = &v
	return s
}

func (s *DeleteUniversityCourseGroupRequest) SetOpUserId(v string) *DeleteUniversityCourseGroupRequest {
	s.OpUserId = &v
	return s
}

type DeleteUniversityCourseGroupResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s DeleteUniversityCourseGroupResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityCourseGroupResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteUniversityCourseGroupResponseBody) SetResult(v bool) *DeleteUniversityCourseGroupResponseBody {
	s.Result = &v
	return s
}

type DeleteUniversityCourseGroupResponse struct {
	Headers    map[string]*string                       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteUniversityCourseGroupResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteUniversityCourseGroupResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityCourseGroupResponse) GoString() string {
	return s.String()
}

func (s *DeleteUniversityCourseGroupResponse) SetHeaders(v map[string]*string) *DeleteUniversityCourseGroupResponse {
	s.Headers = v
	return s
}

func (s *DeleteUniversityCourseGroupResponse) SetStatusCode(v int32) *DeleteUniversityCourseGroupResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteUniversityCourseGroupResponse) SetBody(v *DeleteUniversityCourseGroupResponseBody) *DeleteUniversityCourseGroupResponse {
	s.Body = v
	return s
}

type DeleteUniversityStudentHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteUniversityStudentHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityStudentHeaders) GoString() string {
	return s.String()
}

func (s *DeleteUniversityStudentHeaders) SetCommonHeaders(v map[string]*string) *DeleteUniversityStudentHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteUniversityStudentHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteUniversityStudentHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteUniversityStudentRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 76781
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// uu1234
	StudentUserId *string `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
}

func (s DeleteUniversityStudentRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityStudentRequest) GoString() string {
	return s.String()
}

func (s *DeleteUniversityStudentRequest) SetClassId(v int64) *DeleteUniversityStudentRequest {
	s.ClassId = &v
	return s
}

func (s *DeleteUniversityStudentRequest) SetOpUserId(v string) *DeleteUniversityStudentRequest {
	s.OpUserId = &v
	return s
}

func (s *DeleteUniversityStudentRequest) SetStudentUserId(v string) *DeleteUniversityStudentRequest {
	s.StudentUserId = &v
	return s
}

type DeleteUniversityStudentResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s DeleteUniversityStudentResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityStudentResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteUniversityStudentResponseBody) SetResult(v bool) *DeleteUniversityStudentResponseBody {
	s.Result = &v
	return s
}

type DeleteUniversityStudentResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteUniversityStudentResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteUniversityStudentResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityStudentResponse) GoString() string {
	return s.String()
}

func (s *DeleteUniversityStudentResponse) SetHeaders(v map[string]*string) *DeleteUniversityStudentResponse {
	s.Headers = v
	return s
}

func (s *DeleteUniversityStudentResponse) SetStatusCode(v int32) *DeleteUniversityStudentResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteUniversityStudentResponse) SetBody(v *DeleteUniversityStudentResponseBody) *DeleteUniversityStudentResponse {
	s.Body = v
	return s
}

type DeleteUniversityTeacherHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeleteUniversityTeacherHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityTeacherHeaders) GoString() string {
	return s.String()
}

func (s *DeleteUniversityTeacherHeaders) SetCommonHeaders(v map[string]*string) *DeleteUniversityTeacherHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeleteUniversityTeacherHeaders) SetXAcsDingtalkAccessToken(v string) *DeleteUniversityTeacherHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeleteUniversityTeacherRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 65781
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// headmaster：班主任；instructor：辅导员
	Role *string `json:"role,omitempty" xml:"role,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// ujo2344
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s DeleteUniversityTeacherRequest) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityTeacherRequest) GoString() string {
	return s.String()
}

func (s *DeleteUniversityTeacherRequest) SetClassId(v int64) *DeleteUniversityTeacherRequest {
	s.ClassId = &v
	return s
}

func (s *DeleteUniversityTeacherRequest) SetOpUserId(v string) *DeleteUniversityTeacherRequest {
	s.OpUserId = &v
	return s
}

func (s *DeleteUniversityTeacherRequest) SetRole(v string) *DeleteUniversityTeacherRequest {
	s.Role = &v
	return s
}

func (s *DeleteUniversityTeacherRequest) SetTeacherUserId(v string) *DeleteUniversityTeacherRequest {
	s.TeacherUserId = &v
	return s
}

type DeleteUniversityTeacherResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s DeleteUniversityTeacherResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityTeacherResponseBody) GoString() string {
	return s.String()
}

func (s *DeleteUniversityTeacherResponseBody) SetResult(v bool) *DeleteUniversityTeacherResponseBody {
	s.Result = &v
	return s
}

type DeleteUniversityTeacherResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeleteUniversityTeacherResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeleteUniversityTeacherResponse) String() string {
	return tea.Prettify(s)
}

func (s DeleteUniversityTeacherResponse) GoString() string {
	return s.String()
}

func (s *DeleteUniversityTeacherResponse) SetHeaders(v map[string]*string) *DeleteUniversityTeacherResponse {
	s.Headers = v
	return s
}

func (s *DeleteUniversityTeacherResponse) SetStatusCode(v int32) *DeleteUniversityTeacherResponse {
	s.StatusCode = &v
	return s
}

func (s *DeleteUniversityTeacherResponse) SetBody(v *DeleteUniversityTeacherResponseBody) *DeleteUniversityTeacherResponse {
	s.Body = v
	return s
}

type DeviceHeartbeatHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DeviceHeartbeatHeaders) String() string {
	return tea.Prettify(s)
}

func (s DeviceHeartbeatHeaders) GoString() string {
	return s.String()
}

func (s *DeviceHeartbeatHeaders) SetCommonHeaders(v map[string]*string) *DeviceHeartbeatHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DeviceHeartbeatHeaders) SetXAcsDingtalkAccessToken(v string) *DeviceHeartbeatHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DeviceHeartbeatRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// sn123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
}

func (s DeviceHeartbeatRequest) String() string {
	return tea.Prettify(s)
}

func (s DeviceHeartbeatRequest) GoString() string {
	return s.String()
}

func (s *DeviceHeartbeatRequest) SetSn(v string) *DeviceHeartbeatRequest {
	s.Sn = &v
	return s
}

type DeviceHeartbeatResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// 0心跳正常，1增量更新，2上传日志，3全量更新
	Command *int32 `json:"command,omitempty" xml:"command,omitempty"`
}

func (s DeviceHeartbeatResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DeviceHeartbeatResponseBody) GoString() string {
	return s.String()
}

func (s *DeviceHeartbeatResponseBody) SetCommand(v int32) *DeviceHeartbeatResponseBody {
	s.Command = &v
	return s
}

type DeviceHeartbeatResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DeviceHeartbeatResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DeviceHeartbeatResponse) String() string {
	return tea.Prettify(s)
}

func (s DeviceHeartbeatResponse) GoString() string {
	return s.String()
}

func (s *DeviceHeartbeatResponse) SetHeaders(v map[string]*string) *DeviceHeartbeatResponse {
	s.Headers = v
	return s
}

func (s *DeviceHeartbeatResponse) SetStatusCode(v int32) *DeviceHeartbeatResponse {
	s.StatusCode = &v
	return s
}

func (s *DeviceHeartbeatResponse) SetBody(v *DeviceHeartbeatResponseBody) *DeviceHeartbeatResponse {
	s.Body = v
	return s
}

type DisableCollegeContactSceneStruHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s DisableCollegeContactSceneStruHeaders) String() string {
	return tea.Prettify(s)
}

func (s DisableCollegeContactSceneStruHeaders) GoString() string {
	return s.String()
}

func (s *DisableCollegeContactSceneStruHeaders) SetCommonHeaders(v map[string]*string) *DisableCollegeContactSceneStruHeaders {
	s.CommonHeaders = v
	return s
}

func (s *DisableCollegeContactSceneStruHeaders) SetXAcsDingtalkAccessToken(v string) *DisableCollegeContactSceneStruHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type DisableCollegeContactSceneStruRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 20
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
}

func (s DisableCollegeContactSceneStruRequest) String() string {
	return tea.Prettify(s)
}

func (s DisableCollegeContactSceneStruRequest) GoString() string {
	return s.String()
}

func (s *DisableCollegeContactSceneStruRequest) SetStruId(v int64) *DisableCollegeContactSceneStruRequest {
	s.StruId = &v
	return s
}

type DisableCollegeContactSceneStruResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s DisableCollegeContactSceneStruResponseBody) String() string {
	return tea.Prettify(s)
}

func (s DisableCollegeContactSceneStruResponseBody) GoString() string {
	return s.String()
}

func (s *DisableCollegeContactSceneStruResponseBody) SetSuccess(v bool) *DisableCollegeContactSceneStruResponseBody {
	s.Success = &v
	return s
}

type DisableCollegeContactSceneStruResponse struct {
	Headers    map[string]*string                          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *DisableCollegeContactSceneStruResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s DisableCollegeContactSceneStruResponse) String() string {
	return tea.Prettify(s)
}

func (s DisableCollegeContactSceneStruResponse) GoString() string {
	return s.String()
}

func (s *DisableCollegeContactSceneStruResponse) SetHeaders(v map[string]*string) *DisableCollegeContactSceneStruResponse {
	s.Headers = v
	return s
}

func (s *DisableCollegeContactSceneStruResponse) SetStatusCode(v int32) *DisableCollegeContactSceneStruResponse {
	s.StatusCode = &v
	return s
}

func (s *DisableCollegeContactSceneStruResponse) SetBody(v *DisableCollegeContactSceneStruResponseBody) *DisableCollegeContactSceneStruResponse {
	s.Body = v
	return s
}

type EduAIGCCallbackHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EduAIGCCallbackHeaders) String() string {
	return tea.Prettify(s)
}

func (s EduAIGCCallbackHeaders) GoString() string {
	return s.String()
}

func (s *EduAIGCCallbackHeaders) SetCommonHeaders(v map[string]*string) *EduAIGCCallbackHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EduAIGCCallbackHeaders) SetXAcsDingtalkAccessToken(v string) *EduAIGCCallbackHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EduAIGCCallbackRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// test
	ChannelCode  *string `json:"channelCode,omitempty" xml:"channelCode,omitempty"`
	CommitTime   *int64  `json:"commitTime,omitempty" xml:"commitTime,omitempty"`
	CompleteTime *int64  `json:"completeTime,omitempty" xml:"completeTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// http://xxxxx.doc
	Content *string `json:"content,omitempty" xml:"content,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1500
	ContentSize *int64 `json:"contentSize,omitempty" xml:"contentSize,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// url
	ContentType *string `json:"contentType,omitempty" xml:"contentType,omitempty"`
	Ext         *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 请帮我写一篇读后感
	Prompt *string `json:"prompt,omitempty" xml:"prompt,omitempty"`
	Remark *string `json:"remark,omitempty" xml:"remark,omitempty"`
}

func (s EduAIGCCallbackRequest) String() string {
	return tea.Prettify(s)
}

func (s EduAIGCCallbackRequest) GoString() string {
	return s.String()
}

func (s *EduAIGCCallbackRequest) SetChannelCode(v string) *EduAIGCCallbackRequest {
	s.ChannelCode = &v
	return s
}

func (s *EduAIGCCallbackRequest) SetCommitTime(v int64) *EduAIGCCallbackRequest {
	s.CommitTime = &v
	return s
}

func (s *EduAIGCCallbackRequest) SetCompleteTime(v int64) *EduAIGCCallbackRequest {
	s.CompleteTime = &v
	return s
}

func (s *EduAIGCCallbackRequest) SetContent(v string) *EduAIGCCallbackRequest {
	s.Content = &v
	return s
}

func (s *EduAIGCCallbackRequest) SetContentSize(v int64) *EduAIGCCallbackRequest {
	s.ContentSize = &v
	return s
}

func (s *EduAIGCCallbackRequest) SetContentType(v string) *EduAIGCCallbackRequest {
	s.ContentType = &v
	return s
}

func (s *EduAIGCCallbackRequest) SetExt(v string) *EduAIGCCallbackRequest {
	s.Ext = &v
	return s
}

func (s *EduAIGCCallbackRequest) SetPrompt(v string) *EduAIGCCallbackRequest {
	s.Prompt = &v
	return s
}

func (s *EduAIGCCallbackRequest) SetRemark(v string) *EduAIGCCallbackRequest {
	s.Remark = &v
	return s
}

type EduAIGCCallbackResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s EduAIGCCallbackResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EduAIGCCallbackResponseBody) GoString() string {
	return s.String()
}

func (s *EduAIGCCallbackResponseBody) SetSuccess(v bool) *EduAIGCCallbackResponseBody {
	s.Success = &v
	return s
}

type EduAIGCCallbackResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EduAIGCCallbackResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EduAIGCCallbackResponse) String() string {
	return tea.Prettify(s)
}

func (s EduAIGCCallbackResponse) GoString() string {
	return s.String()
}

func (s *EduAIGCCallbackResponse) SetHeaders(v map[string]*string) *EduAIGCCallbackResponse {
	s.Headers = v
	return s
}

func (s *EduAIGCCallbackResponse) SetStatusCode(v int32) *EduAIGCCallbackResponse {
	s.StatusCode = &v
	return s
}

func (s *EduAIGCCallbackResponse) SetBody(v *EduAIGCCallbackResponseBody) *EduAIGCCallbackResponse {
	s.Body = v
	return s
}

type EduAIModelCompleteHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EduAIModelCompleteHeaders) String() string {
	return tea.Prettify(s)
}

func (s EduAIModelCompleteHeaders) GoString() string {
	return s.String()
}

func (s *EduAIModelCompleteHeaders) SetCommonHeaders(v map[string]*string) *EduAIModelCompleteHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EduAIModelCompleteHeaders) SetXAcsDingtalkAccessToken(v string) *EduAIModelCompleteHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EduAIModelCompleteRequest struct {
	MaxTokens *int32 `json:"maxTokens,omitempty" xml:"maxTokens,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// qwen-max
	Model *string `json:"model,omitempty" xml:"model,omitempty"`
	// This parameter is required.
	Prompt *string `json:"prompt,omitempty" xml:"prompt,omitempty"`
	// This parameter is required.
	Scene       *string  `json:"scene,omitempty" xml:"scene,omitempty"`
	Temperature *float64 `json:"temperature,omitempty" xml:"temperature,omitempty"`
	TopP        *float64 `json:"top_p,omitempty" xml:"top_p,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s EduAIModelCompleteRequest) String() string {
	return tea.Prettify(s)
}

func (s EduAIModelCompleteRequest) GoString() string {
	return s.String()
}

func (s *EduAIModelCompleteRequest) SetMaxTokens(v int32) *EduAIModelCompleteRequest {
	s.MaxTokens = &v
	return s
}

func (s *EduAIModelCompleteRequest) SetModel(v string) *EduAIModelCompleteRequest {
	s.Model = &v
	return s
}

func (s *EduAIModelCompleteRequest) SetPrompt(v string) *EduAIModelCompleteRequest {
	s.Prompt = &v
	return s
}

func (s *EduAIModelCompleteRequest) SetScene(v string) *EduAIModelCompleteRequest {
	s.Scene = &v
	return s
}

func (s *EduAIModelCompleteRequest) SetTemperature(v float64) *EduAIModelCompleteRequest {
	s.Temperature = &v
	return s
}

func (s *EduAIModelCompleteRequest) SetTopP(v float64) *EduAIModelCompleteRequest {
	s.TopP = &v
	return s
}

func (s *EduAIModelCompleteRequest) SetUserId(v string) *EduAIModelCompleteRequest {
	s.UserId = &v
	return s
}

type EduAIModelCompleteResponseBody struct {
	Result  *EduAIModelCompleteResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                 `json:"success,omitempty" xml:"success,omitempty"`
}

func (s EduAIModelCompleteResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EduAIModelCompleteResponseBody) GoString() string {
	return s.String()
}

func (s *EduAIModelCompleteResponseBody) SetResult(v *EduAIModelCompleteResponseBodyResult) *EduAIModelCompleteResponseBody {
	s.Result = v
	return s
}

func (s *EduAIModelCompleteResponseBody) SetSuccess(v bool) *EduAIModelCompleteResponseBody {
	s.Success = &v
	return s
}

type EduAIModelCompleteResponseBodyResult struct {
	RequestId *string                `json:"requestId,omitempty" xml:"requestId,omitempty"`
	Result    map[string]interface{} `json:"result,omitempty" xml:"result,omitempty"`
}

func (s EduAIModelCompleteResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s EduAIModelCompleteResponseBodyResult) GoString() string {
	return s.String()
}

func (s *EduAIModelCompleteResponseBodyResult) SetRequestId(v string) *EduAIModelCompleteResponseBodyResult {
	s.RequestId = &v
	return s
}

func (s *EduAIModelCompleteResponseBodyResult) SetResult(v map[string]interface{}) *EduAIModelCompleteResponseBodyResult {
	s.Result = v
	return s
}

type EduAIModelCompleteResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EduAIModelCompleteResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EduAIModelCompleteResponse) String() string {
	return tea.Prettify(s)
}

func (s EduAIModelCompleteResponse) GoString() string {
	return s.String()
}

func (s *EduAIModelCompleteResponse) SetHeaders(v map[string]*string) *EduAIModelCompleteResponse {
	s.Headers = v
	return s
}

func (s *EduAIModelCompleteResponse) SetStatusCode(v int32) *EduAIModelCompleteResponse {
	s.StatusCode = &v
	return s
}

func (s *EduAIModelCompleteResponse) SetBody(v *EduAIModelCompleteResponseBody) *EduAIModelCompleteResponse {
	s.Body = v
	return s
}

type EduFindUserRolesByUserIdHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EduFindUserRolesByUserIdHeaders) String() string {
	return tea.Prettify(s)
}

func (s EduFindUserRolesByUserIdHeaders) GoString() string {
	return s.String()
}

func (s *EduFindUserRolesByUserIdHeaders) SetCommonHeaders(v map[string]*string) *EduFindUserRolesByUserIdHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EduFindUserRolesByUserIdHeaders) SetXAcsDingtalkAccessToken(v string) *EduFindUserRolesByUserIdHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EduFindUserRolesByUserIdRequest struct {
	// example:
	//
	// 666666
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// ding123456
	CorpId     *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	HasOrgRole *bool   `json:"hasOrgRole,omitempty" xml:"hasOrgRole,omitempty"`
	// example:
	//
	// 123456
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s EduFindUserRolesByUserIdRequest) String() string {
	return tea.Prettify(s)
}

func (s EduFindUserRolesByUserIdRequest) GoString() string {
	return s.String()
}

func (s *EduFindUserRolesByUserIdRequest) SetClassId(v int64) *EduFindUserRolesByUserIdRequest {
	s.ClassId = &v
	return s
}

func (s *EduFindUserRolesByUserIdRequest) SetCorpId(v string) *EduFindUserRolesByUserIdRequest {
	s.CorpId = &v
	return s
}

func (s *EduFindUserRolesByUserIdRequest) SetHasOrgRole(v bool) *EduFindUserRolesByUserIdRequest {
	s.HasOrgRole = &v
	return s
}

func (s *EduFindUserRolesByUserIdRequest) SetUserId(v string) *EduFindUserRolesByUserIdRequest {
	s.UserId = &v
	return s
}

type EduFindUserRolesByUserIdResponseBody struct {
	Result []*string `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s EduFindUserRolesByUserIdResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EduFindUserRolesByUserIdResponseBody) GoString() string {
	return s.String()
}

func (s *EduFindUserRolesByUserIdResponseBody) SetResult(v []*string) *EduFindUserRolesByUserIdResponseBody {
	s.Result = v
	return s
}

type EduFindUserRolesByUserIdResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EduFindUserRolesByUserIdResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EduFindUserRolesByUserIdResponse) String() string {
	return tea.Prettify(s)
}

func (s EduFindUserRolesByUserIdResponse) GoString() string {
	return s.String()
}

func (s *EduFindUserRolesByUserIdResponse) SetHeaders(v map[string]*string) *EduFindUserRolesByUserIdResponse {
	s.Headers = v
	return s
}

func (s *EduFindUserRolesByUserIdResponse) SetStatusCode(v int32) *EduFindUserRolesByUserIdResponse {
	s.StatusCode = &v
	return s
}

func (s *EduFindUserRolesByUserIdResponse) SetBody(v *EduFindUserRolesByUserIdResponseBody) *EduFindUserRolesByUserIdResponse {
	s.Body = v
	return s
}

type EduGetFileSpaceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EduGetFileSpaceHeaders) String() string {
	return tea.Prettify(s)
}

func (s EduGetFileSpaceHeaders) GoString() string {
	return s.String()
}

func (s *EduGetFileSpaceHeaders) SetCommonHeaders(v map[string]*string) *EduGetFileSpaceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EduGetFileSpaceHeaders) SetXAcsDingtalkAccessToken(v string) *EduGetFileSpaceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EduGetFileSpaceRequest struct {
	ChannelCode *string `json:"channelCode,omitempty" xml:"channelCode,omitempty"`
}

func (s EduGetFileSpaceRequest) String() string {
	return tea.Prettify(s)
}

func (s EduGetFileSpaceRequest) GoString() string {
	return s.String()
}

func (s *EduGetFileSpaceRequest) SetChannelCode(v string) *EduGetFileSpaceRequest {
	s.ChannelCode = &v
	return s
}

type EduGetFileSpaceResponseBody struct {
	Result  *EduGetFileSpaceResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                              `json:"success,omitempty" xml:"success,omitempty"`
}

func (s EduGetFileSpaceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EduGetFileSpaceResponseBody) GoString() string {
	return s.String()
}

func (s *EduGetFileSpaceResponseBody) SetResult(v *EduGetFileSpaceResponseBodyResult) *EduGetFileSpaceResponseBody {
	s.Result = v
	return s
}

func (s *EduGetFileSpaceResponseBody) SetSuccess(v bool) *EduGetFileSpaceResponseBody {
	s.Success = &v
	return s
}

type EduGetFileSpaceResponseBodyResult struct {
	FolderId *string `json:"folderId,omitempty" xml:"folderId,omitempty"`
	SpaceId  *string `json:"spaceId,omitempty" xml:"spaceId,omitempty"`
}

func (s EduGetFileSpaceResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s EduGetFileSpaceResponseBodyResult) GoString() string {
	return s.String()
}

func (s *EduGetFileSpaceResponseBodyResult) SetFolderId(v string) *EduGetFileSpaceResponseBodyResult {
	s.FolderId = &v
	return s
}

func (s *EduGetFileSpaceResponseBodyResult) SetSpaceId(v string) *EduGetFileSpaceResponseBodyResult {
	s.SpaceId = &v
	return s
}

type EduGetFileSpaceResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EduGetFileSpaceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EduGetFileSpaceResponse) String() string {
	return tea.Prettify(s)
}

func (s EduGetFileSpaceResponse) GoString() string {
	return s.String()
}

func (s *EduGetFileSpaceResponse) SetHeaders(v map[string]*string) *EduGetFileSpaceResponse {
	s.Headers = v
	return s
}

func (s *EduGetFileSpaceResponse) SetStatusCode(v int32) *EduGetFileSpaceResponse {
	s.StatusCode = &v
	return s
}

func (s *EduGetFileSpaceResponse) SetBody(v *EduGetFileSpaceResponseBody) *EduGetFileSpaceResponse {
	s.Body = v
	return s
}

type EduListUserByFromUserIdsHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EduListUserByFromUserIdsHeaders) String() string {
	return tea.Prettify(s)
}

func (s EduListUserByFromUserIdsHeaders) GoString() string {
	return s.String()
}

func (s *EduListUserByFromUserIdsHeaders) SetCommonHeaders(v map[string]*string) *EduListUserByFromUserIdsHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EduListUserByFromUserIdsHeaders) SetXAcsDingtalkAccessToken(v string) *EduListUserByFromUserIdsHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EduListUserByFromUserIdsRequest struct {
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// ding123456
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 123456
	GuardianUserId *string `json:"guardianUserId,omitempty" xml:"guardianUserId,omitempty"`
}

func (s EduListUserByFromUserIdsRequest) String() string {
	return tea.Prettify(s)
}

func (s EduListUserByFromUserIdsRequest) GoString() string {
	return s.String()
}

func (s *EduListUserByFromUserIdsRequest) SetClassId(v int64) *EduListUserByFromUserIdsRequest {
	s.ClassId = &v
	return s
}

func (s *EduListUserByFromUserIdsRequest) SetCorpId(v string) *EduListUserByFromUserIdsRequest {
	s.CorpId = &v
	return s
}

func (s *EduListUserByFromUserIdsRequest) SetGuardianUserId(v string) *EduListUserByFromUserIdsRequest {
	s.GuardianUserId = &v
	return s
}

type EduListUserByFromUserIdsResponseBody struct {
	Result []*EduListUserByFromUserIdsResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s EduListUserByFromUserIdsResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EduListUserByFromUserIdsResponseBody) GoString() string {
	return s.String()
}

func (s *EduListUserByFromUserIdsResponseBody) SetResult(v []*EduListUserByFromUserIdsResponseBodyResult) *EduListUserByFromUserIdsResponseBody {
	s.Result = v
	return s
}

type EduListUserByFromUserIdsResponseBodyResult struct {
	// example:
	//
	// 666666
	CampusId *int64 `json:"campusId,omitempty" xml:"campusId,omitempty"`
	// example:
	//
	// 123456
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 555555
	GradeId *int64 `json:"gradeId,omitempty" xml:"gradeId,omitempty"`
	// example:
	//
	// 叔大
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 444444
	PeriodId *int64  `json:"periodId,omitempty" xml:"periodId,omitempty"`
	Role     *string `json:"role,omitempty" xml:"role,omitempty"`
	// example:
	//
	// 111111
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s EduListUserByFromUserIdsResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s EduListUserByFromUserIdsResponseBodyResult) GoString() string {
	return s.String()
}

func (s *EduListUserByFromUserIdsResponseBodyResult) SetCampusId(v int64) *EduListUserByFromUserIdsResponseBodyResult {
	s.CampusId = &v
	return s
}

func (s *EduListUserByFromUserIdsResponseBodyResult) SetClassId(v int64) *EduListUserByFromUserIdsResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *EduListUserByFromUserIdsResponseBodyResult) SetGradeId(v int64) *EduListUserByFromUserIdsResponseBodyResult {
	s.GradeId = &v
	return s
}

func (s *EduListUserByFromUserIdsResponseBodyResult) SetName(v string) *EduListUserByFromUserIdsResponseBodyResult {
	s.Name = &v
	return s
}

func (s *EduListUserByFromUserIdsResponseBodyResult) SetPeriodId(v int64) *EduListUserByFromUserIdsResponseBodyResult {
	s.PeriodId = &v
	return s
}

func (s *EduListUserByFromUserIdsResponseBodyResult) SetRole(v string) *EduListUserByFromUserIdsResponseBodyResult {
	s.Role = &v
	return s
}

func (s *EduListUserByFromUserIdsResponseBodyResult) SetUserId(v string) *EduListUserByFromUserIdsResponseBodyResult {
	s.UserId = &v
	return s
}

type EduListUserByFromUserIdsResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EduListUserByFromUserIdsResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EduListUserByFromUserIdsResponse) String() string {
	return tea.Prettify(s)
}

func (s EduListUserByFromUserIdsResponse) GoString() string {
	return s.String()
}

func (s *EduListUserByFromUserIdsResponse) SetHeaders(v map[string]*string) *EduListUserByFromUserIdsResponse {
	s.Headers = v
	return s
}

func (s *EduListUserByFromUserIdsResponse) SetStatusCode(v int32) *EduListUserByFromUserIdsResponse {
	s.StatusCode = &v
	return s
}

func (s *EduListUserByFromUserIdsResponse) SetBody(v *EduListUserByFromUserIdsResponseBody) *EduListUserByFromUserIdsResponse {
	s.Body = v
	return s
}

type EduTeacherListHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EduTeacherListHeaders) String() string {
	return tea.Prettify(s)
}

func (s EduTeacherListHeaders) GoString() string {
	return s.String()
}

func (s *EduTeacherListHeaders) SetCommonHeaders(v map[string]*string) *EduTeacherListHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EduTeacherListHeaders) SetXAcsDingtalkAccessToken(v string) *EduTeacherListHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EduTeacherListRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	PageNumber *int32 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	PageSize *int32 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
}

func (s EduTeacherListRequest) String() string {
	return tea.Prettify(s)
}

func (s EduTeacherListRequest) GoString() string {
	return s.String()
}

func (s *EduTeacherListRequest) SetPageNumber(v int32) *EduTeacherListRequest {
	s.PageNumber = &v
	return s
}

func (s *EduTeacherListRequest) SetPageSize(v int32) *EduTeacherListRequest {
	s.PageSize = &v
	return s
}

type EduTeacherListResponseBody struct {
	// This parameter is required.
	Result *EduTeacherListResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
}

func (s EduTeacherListResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EduTeacherListResponseBody) GoString() string {
	return s.String()
}

func (s *EduTeacherListResponseBody) SetResult(v *EduTeacherListResponseBodyResult) *EduTeacherListResponseBody {
	s.Result = v
	return s
}

type EduTeacherListResponseBodyResult struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	HasMore        *bool                                             `json:"hasMore,omitempty" xml:"hasMore,omitempty"`
	TeacherDetails []*EduTeacherListResponseBodyResultTeacherDetails `json:"teacherDetails,omitempty" xml:"teacherDetails,omitempty" type:"Repeated"`
}

func (s EduTeacherListResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s EduTeacherListResponseBodyResult) GoString() string {
	return s.String()
}

func (s *EduTeacherListResponseBodyResult) SetHasMore(v bool) *EduTeacherListResponseBodyResult {
	s.HasMore = &v
	return s
}

func (s *EduTeacherListResponseBodyResult) SetTeacherDetails(v []*EduTeacherListResponseBodyResultTeacherDetails) *EduTeacherListResponseBodyResult {
	s.TeacherDetails = v
	return s
}

type EduTeacherListResponseBodyResultTeacherDetails struct {
	// This parameter is required.
	//
	// example:
	//
	// 张三
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// teacher
	Role *string `json:"role,omitempty" xml:"role,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 人员的unionId。
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 77621233
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s EduTeacherListResponseBodyResultTeacherDetails) String() string {
	return tea.Prettify(s)
}

func (s EduTeacherListResponseBodyResultTeacherDetails) GoString() string {
	return s.String()
}

func (s *EduTeacherListResponseBodyResultTeacherDetails) SetName(v string) *EduTeacherListResponseBodyResultTeacherDetails {
	s.Name = &v
	return s
}

func (s *EduTeacherListResponseBodyResultTeacherDetails) SetRole(v string) *EduTeacherListResponseBodyResultTeacherDetails {
	s.Role = &v
	return s
}

func (s *EduTeacherListResponseBodyResultTeacherDetails) SetUnionId(v string) *EduTeacherListResponseBodyResultTeacherDetails {
	s.UnionId = &v
	return s
}

func (s *EduTeacherListResponseBodyResultTeacherDetails) SetUserId(v string) *EduTeacherListResponseBodyResultTeacherDetails {
	s.UserId = &v
	return s
}

type EduTeacherListResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EduTeacherListResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EduTeacherListResponse) String() string {
	return tea.Prettify(s)
}

func (s EduTeacherListResponse) GoString() string {
	return s.String()
}

func (s *EduTeacherListResponse) SetHeaders(v map[string]*string) *EduTeacherListResponse {
	s.Headers = v
	return s
}

func (s *EduTeacherListResponse) SetStatusCode(v int32) *EduTeacherListResponse {
	s.StatusCode = &v
	return s
}

func (s *EduTeacherListResponse) SetBody(v *EduTeacherListResponseBody) *EduTeacherListResponse {
	s.Body = v
	return s
}

type EnableCollegeContactSceneStruHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EnableCollegeContactSceneStruHeaders) String() string {
	return tea.Prettify(s)
}

func (s EnableCollegeContactSceneStruHeaders) GoString() string {
	return s.String()
}

func (s *EnableCollegeContactSceneStruHeaders) SetCommonHeaders(v map[string]*string) *EnableCollegeContactSceneStruHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EnableCollegeContactSceneStruHeaders) SetXAcsDingtalkAccessToken(v string) *EnableCollegeContactSceneStruHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EnableCollegeContactSceneStruRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 20
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
}

func (s EnableCollegeContactSceneStruRequest) String() string {
	return tea.Prettify(s)
}

func (s EnableCollegeContactSceneStruRequest) GoString() string {
	return s.String()
}

func (s *EnableCollegeContactSceneStruRequest) SetStruId(v int64) *EnableCollegeContactSceneStruRequest {
	s.StruId = &v
	return s
}

type EnableCollegeContactSceneStruResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s EnableCollegeContactSceneStruResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EnableCollegeContactSceneStruResponseBody) GoString() string {
	return s.String()
}

func (s *EnableCollegeContactSceneStruResponseBody) SetSuccess(v bool) *EnableCollegeContactSceneStruResponseBody {
	s.Success = &v
	return s
}

type EnableCollegeContactSceneStruResponse struct {
	Headers    map[string]*string                         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EnableCollegeContactSceneStruResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EnableCollegeContactSceneStruResponse) String() string {
	return tea.Prettify(s)
}

func (s EnableCollegeContactSceneStruResponse) GoString() string {
	return s.String()
}

func (s *EnableCollegeContactSceneStruResponse) SetHeaders(v map[string]*string) *EnableCollegeContactSceneStruResponse {
	s.Headers = v
	return s
}

func (s *EnableCollegeContactSceneStruResponse) SetStatusCode(v int32) *EnableCollegeContactSceneStruResponse {
	s.StatusCode = &v
	return s
}

func (s *EnableCollegeContactSceneStruResponse) SetBody(v *EnableCollegeContactSceneStruResponseBody) *EnableCollegeContactSceneStruResponse {
	s.Body = v
	return s
}

type EndCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EndCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s EndCourseHeaders) GoString() string {
	return s.String()
}

func (s *EndCourseHeaders) SetCommonHeaders(v map[string]*string) *EndCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EndCourseHeaders) SetXAcsDingtalkAccessToken(v string) *EndCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EndCourseRequest struct {
	// example:
	//
	// testCourseCode
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// extData
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// example:
	//
	// DDIsv
	IsvCode          *string                             `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	LivePlayInfoList []*EndCourseRequestLivePlayInfoList `json:"livePlayInfoList,omitempty" xml:"livePlayInfoList,omitempty" type:"Repeated"`
	// example:
	//
	// 1
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s EndCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s EndCourseRequest) GoString() string {
	return s.String()
}

func (s *EndCourseRequest) SetCourseCode(v string) *EndCourseRequest {
	s.CourseCode = &v
	return s
}

func (s *EndCourseRequest) SetExt(v string) *EndCourseRequest {
	s.Ext = &v
	return s
}

func (s *EndCourseRequest) SetIsvCode(v string) *EndCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *EndCourseRequest) SetLivePlayInfoList(v []*EndCourseRequestLivePlayInfoList) *EndCourseRequest {
	s.LivePlayInfoList = v
	return s
}

func (s *EndCourseRequest) SetOpUserId(v string) *EndCourseRequest {
	s.OpUserId = &v
	return s
}

type EndCourseRequestLivePlayInfoList struct {
	// example:
	//
	// testUrl
	LiveInputUrl *string `json:"liveInputUrl,omitempty" xml:"liveInputUrl,omitempty"`
	// example:
	//
	// testUrl
	LiveOutputFlvUrl *string `json:"liveOutputFlvUrl,omitempty" xml:"liveOutputFlvUrl,omitempty"`
	// example:
	//
	// testUrl
	LiveOutputHlsUrl *string `json:"liveOutputHlsUrl,omitempty" xml:"liveOutputHlsUrl,omitempty"`
	// example:
	//
	// 1
	LiveType *int32 `json:"liveType,omitempty" xml:"liveType,omitempty"`
	// example:
	//
	// testUrl
	ReplayUrl *string `json:"replayUrl,omitempty" xml:"replayUrl,omitempty"`
}

func (s EndCourseRequestLivePlayInfoList) String() string {
	return tea.Prettify(s)
}

func (s EndCourseRequestLivePlayInfoList) GoString() string {
	return s.String()
}

func (s *EndCourseRequestLivePlayInfoList) SetLiveInputUrl(v string) *EndCourseRequestLivePlayInfoList {
	s.LiveInputUrl = &v
	return s
}

func (s *EndCourseRequestLivePlayInfoList) SetLiveOutputFlvUrl(v string) *EndCourseRequestLivePlayInfoList {
	s.LiveOutputFlvUrl = &v
	return s
}

func (s *EndCourseRequestLivePlayInfoList) SetLiveOutputHlsUrl(v string) *EndCourseRequestLivePlayInfoList {
	s.LiveOutputHlsUrl = &v
	return s
}

func (s *EndCourseRequestLivePlayInfoList) SetLiveType(v int32) *EndCourseRequestLivePlayInfoList {
	s.LiveType = &v
	return s
}

func (s *EndCourseRequestLivePlayInfoList) SetReplayUrl(v string) *EndCourseRequestLivePlayInfoList {
	s.ReplayUrl = &v
	return s
}

type EndCourseResponseBody struct {
	// This parameter is required.
	UniversityCourseCommonResponse *EndCourseResponseBodyUniversityCourseCommonResponse `json:"universityCourseCommonResponse,omitempty" xml:"universityCourseCommonResponse,omitempty" type:"Struct"`
}

func (s EndCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EndCourseResponseBody) GoString() string {
	return s.String()
}

func (s *EndCourseResponseBody) SetUniversityCourseCommonResponse(v *EndCourseResponseBodyUniversityCourseCommonResponse) *EndCourseResponseBody {
	s.UniversityCourseCommonResponse = v
	return s
}

type EndCourseResponseBodyUniversityCourseCommonResponse struct {
	// This parameter is required.
	//
	// example:
	//
	// testCourseCode
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s EndCourseResponseBodyUniversityCourseCommonResponse) String() string {
	return tea.Prettify(s)
}

func (s EndCourseResponseBodyUniversityCourseCommonResponse) GoString() string {
	return s.String()
}

func (s *EndCourseResponseBodyUniversityCourseCommonResponse) SetCourseCode(v string) *EndCourseResponseBodyUniversityCourseCommonResponse {
	s.CourseCode = &v
	return s
}

func (s *EndCourseResponseBodyUniversityCourseCommonResponse) SetSuccess(v bool) *EndCourseResponseBodyUniversityCourseCommonResponse {
	s.Success = &v
	return s
}

type EndCourseResponse struct {
	Headers    map[string]*string     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EndCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EndCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s EndCourseResponse) GoString() string {
	return s.String()
}

func (s *EndCourseResponse) SetHeaders(v map[string]*string) *EndCourseResponse {
	s.Headers = v
	return s
}

func (s *EndCourseResponse) SetStatusCode(v int32) *EndCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *EndCourseResponse) SetBody(v *EndCourseResponseBody) *EndCourseResponse {
	s.Body = v
	return s
}

type EventTrackHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s EventTrackHeaders) String() string {
	return tea.Prettify(s)
}

func (s EventTrackHeaders) GoString() string {
	return s.String()
}

func (s *EventTrackHeaders) SetCommonHeaders(v map[string]*string) *EventTrackHeaders {
	s.CommonHeaders = v
	return s
}

func (s *EventTrackHeaders) SetXAcsDingtalkAccessToken(v string) *EventTrackHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type EventTrackRequest struct {
	// This parameter is required.
	ActionKey *string `json:"actionKey,omitempty" xml:"actionKey,omitempty"`
	// This parameter is required.
	ActionTime *string `json:"actionTime,omitempty" xml:"actionTime,omitempty"`
	// This parameter is required.
	BizCode  *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	BizReq   *string `json:"bizReq,omitempty" xml:"bizReq,omitempty"`
	BizResp  *string `json:"bizResp,omitempty" xml:"bizResp,omitempty"`
	DeviceId *string `json:"deviceId,omitempty" xml:"deviceId,omitempty"`
	// This parameter is required.
	EventId    *string `json:"eventId,omitempty" xml:"eventId,omitempty"`
	EventType  *string `json:"eventType,omitempty" xml:"eventType,omitempty"`
	EventUnit  *string `json:"eventUnit,omitempty" xml:"eventUnit,omitempty"`
	EventValue *string `json:"eventValue,omitempty" xml:"eventValue,omitempty"`
	Extend     *string `json:"extend,omitempty" xml:"extend,omitempty"`
	Platform   *string `json:"platform,omitempty" xml:"platform,omitempty"`
	// This parameter is required.
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s EventTrackRequest) String() string {
	return tea.Prettify(s)
}

func (s EventTrackRequest) GoString() string {
	return s.String()
}

func (s *EventTrackRequest) SetActionKey(v string) *EventTrackRequest {
	s.ActionKey = &v
	return s
}

func (s *EventTrackRequest) SetActionTime(v string) *EventTrackRequest {
	s.ActionTime = &v
	return s
}

func (s *EventTrackRequest) SetBizCode(v string) *EventTrackRequest {
	s.BizCode = &v
	return s
}

func (s *EventTrackRequest) SetBizReq(v string) *EventTrackRequest {
	s.BizReq = &v
	return s
}

func (s *EventTrackRequest) SetBizResp(v string) *EventTrackRequest {
	s.BizResp = &v
	return s
}

func (s *EventTrackRequest) SetDeviceId(v string) *EventTrackRequest {
	s.DeviceId = &v
	return s
}

func (s *EventTrackRequest) SetEventId(v string) *EventTrackRequest {
	s.EventId = &v
	return s
}

func (s *EventTrackRequest) SetEventType(v string) *EventTrackRequest {
	s.EventType = &v
	return s
}

func (s *EventTrackRequest) SetEventUnit(v string) *EventTrackRequest {
	s.EventUnit = &v
	return s
}

func (s *EventTrackRequest) SetEventValue(v string) *EventTrackRequest {
	s.EventValue = &v
	return s
}

func (s *EventTrackRequest) SetExtend(v string) *EventTrackRequest {
	s.Extend = &v
	return s
}

func (s *EventTrackRequest) SetPlatform(v string) *EventTrackRequest {
	s.Platform = &v
	return s
}

func (s *EventTrackRequest) SetUserId(v string) *EventTrackRequest {
	s.UserId = &v
	return s
}

type EventTrackResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s EventTrackResponseBody) String() string {
	return tea.Prettify(s)
}

func (s EventTrackResponseBody) GoString() string {
	return s.String()
}

func (s *EventTrackResponseBody) SetResult(v bool) *EventTrackResponseBody {
	s.Result = &v
	return s
}

func (s *EventTrackResponseBody) SetSuccess(v bool) *EventTrackResponseBody {
	s.Success = &v
	return s
}

type EventTrackResponse struct {
	Headers    map[string]*string      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *EventTrackResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s EventTrackResponse) String() string {
	return tea.Prettify(s)
}

func (s EventTrackResponse) GoString() string {
	return s.String()
}

func (s *EventTrackResponse) SetHeaders(v map[string]*string) *EventTrackResponse {
	s.Headers = v
	return s
}

func (s *EventTrackResponse) SetStatusCode(v int32) *EventTrackResponse {
	s.StatusCode = &v
	return s
}

func (s *EventTrackResponse) SetBody(v *EventTrackResponseBody) *EventTrackResponse {
	s.Body = v
	return s
}

type GenerateTaskIdHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GenerateTaskIdHeaders) String() string {
	return tea.Prettify(s)
}

func (s GenerateTaskIdHeaders) GoString() string {
	return s.String()
}

func (s *GenerateTaskIdHeaders) SetCommonHeaders(v map[string]*string) *GenerateTaskIdHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GenerateTaskIdHeaders) SetXAcsDingtalkAccessToken(v string) *GenerateTaskIdHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GenerateTaskIdRequest struct {
	MaxTokens *int32 `json:"maxTokens,omitempty" xml:"maxTokens,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// qwen-max
	Model *string `json:"model,omitempty" xml:"model,omitempty"`
	// This parameter is required.
	Prompt *string `json:"prompt,omitempty" xml:"prompt,omitempty"`
	// This parameter is required.
	Scene       *string  `json:"scene,omitempty" xml:"scene,omitempty"`
	Temperature *float64 `json:"temperature,omitempty" xml:"temperature,omitempty"`
	TopP        *float64 `json:"top_p,omitempty" xml:"top_p,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s GenerateTaskIdRequest) String() string {
	return tea.Prettify(s)
}

func (s GenerateTaskIdRequest) GoString() string {
	return s.String()
}

func (s *GenerateTaskIdRequest) SetMaxTokens(v int32) *GenerateTaskIdRequest {
	s.MaxTokens = &v
	return s
}

func (s *GenerateTaskIdRequest) SetModel(v string) *GenerateTaskIdRequest {
	s.Model = &v
	return s
}

func (s *GenerateTaskIdRequest) SetPrompt(v string) *GenerateTaskIdRequest {
	s.Prompt = &v
	return s
}

func (s *GenerateTaskIdRequest) SetScene(v string) *GenerateTaskIdRequest {
	s.Scene = &v
	return s
}

func (s *GenerateTaskIdRequest) SetTemperature(v float64) *GenerateTaskIdRequest {
	s.Temperature = &v
	return s
}

func (s *GenerateTaskIdRequest) SetTopP(v float64) *GenerateTaskIdRequest {
	s.TopP = &v
	return s
}

func (s *GenerateTaskIdRequest) SetUserId(v string) *GenerateTaskIdRequest {
	s.UserId = &v
	return s
}

type GenerateTaskIdResponseBody struct {
	Result  *string `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool   `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GenerateTaskIdResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GenerateTaskIdResponseBody) GoString() string {
	return s.String()
}

func (s *GenerateTaskIdResponseBody) SetResult(v string) *GenerateTaskIdResponseBody {
	s.Result = &v
	return s
}

func (s *GenerateTaskIdResponseBody) SetSuccess(v bool) *GenerateTaskIdResponseBody {
	s.Success = &v
	return s
}

type GenerateTaskIdResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GenerateTaskIdResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GenerateTaskIdResponse) String() string {
	return tea.Prettify(s)
}

func (s GenerateTaskIdResponse) GoString() string {
	return s.String()
}

func (s *GenerateTaskIdResponse) SetHeaders(v map[string]*string) *GenerateTaskIdResponse {
	s.Headers = v
	return s
}

func (s *GenerateTaskIdResponse) SetStatusCode(v int32) *GenerateTaskIdResponse {
	s.StatusCode = &v
	return s
}

func (s *GenerateTaskIdResponse) SetBody(v *GenerateTaskIdResponseBody) *GenerateTaskIdResponse {
	s.Body = v
	return s
}

type GetBindChildInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetBindChildInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetBindChildInfoHeaders) GoString() string {
	return s.String()
}

func (s *GetBindChildInfoHeaders) SetCommonHeaders(v map[string]*string) *GetBindChildInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetBindChildInfoHeaders) SetXAcsDingtalkAccessToken(v string) *GetBindChildInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetBindChildInfoRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// ding95eef8003c9ca8ca24f2f5cc6abecb85
	SchoolCorpId *string `json:"schoolCorpId,omitempty" xml:"schoolCorpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 3000000000307711730
	StudentUserId *string `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// X5y5kd8XiiqiScCl4Qlfy5GgiEiE
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
}

func (s GetBindChildInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s GetBindChildInfoRequest) GoString() string {
	return s.String()
}

func (s *GetBindChildInfoRequest) SetSchoolCorpId(v string) *GetBindChildInfoRequest {
	s.SchoolCorpId = &v
	return s
}

func (s *GetBindChildInfoRequest) SetStudentUserId(v string) *GetBindChildInfoRequest {
	s.StudentUserId = &v
	return s
}

func (s *GetBindChildInfoRequest) SetUnionId(v string) *GetBindChildInfoRequest {
	s.UnionId = &v
	return s
}

type GetBindChildInfoResponseBody struct {
	// example:
	//
	// 3000000000307711730
	ChildUserId *string `json:"childUserId,omitempty" xml:"childUserId,omitempty"`
	// example:
	//
	// 3000000000433459511
	CurrentUserId *string `json:"currentUserId,omitempty" xml:"currentUserId,omitempty"`
	// example:
	//
	// ding95eef8003c9ca8ca24f2f5cc6abecb85
	FamilyCorpId *string `json:"familyCorpId,omitempty" xml:"familyCorpId,omitempty"`
}

func (s GetBindChildInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetBindChildInfoResponseBody) GoString() string {
	return s.String()
}

func (s *GetBindChildInfoResponseBody) SetChildUserId(v string) *GetBindChildInfoResponseBody {
	s.ChildUserId = &v
	return s
}

func (s *GetBindChildInfoResponseBody) SetCurrentUserId(v string) *GetBindChildInfoResponseBody {
	s.CurrentUserId = &v
	return s
}

func (s *GetBindChildInfoResponseBody) SetFamilyCorpId(v string) *GetBindChildInfoResponseBody {
	s.FamilyCorpId = &v
	return s
}

type GetBindChildInfoResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetBindChildInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetBindChildInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s GetBindChildInfoResponse) GoString() string {
	return s.String()
}

func (s *GetBindChildInfoResponse) SetHeaders(v map[string]*string) *GetBindChildInfoResponse {
	s.Headers = v
	return s
}

func (s *GetBindChildInfoResponse) SetStatusCode(v int32) *GetBindChildInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *GetBindChildInfoResponse) SetBody(v *GetBindChildInfoResponseBody) *GetBindChildInfoResponse {
	s.Body = v
	return s
}

type GetChildrenHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetChildrenHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetChildrenHeaders) GoString() string {
	return s.String()
}

func (s *GetChildrenHeaders) SetCommonHeaders(v map[string]*string) *GetChildrenHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetChildrenHeaders) SetXAcsDingtalkAccessToken(v string) *GetChildrenHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetChildrenResponseBody struct {
	Result []*GetChildrenResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	// This parameter is required.
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetChildrenResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetChildrenResponseBody) GoString() string {
	return s.String()
}

func (s *GetChildrenResponseBody) SetResult(v []*GetChildrenResponseBodyResult) *GetChildrenResponseBody {
	s.Result = v
	return s
}

func (s *GetChildrenResponseBody) SetSuccess(v bool) *GetChildrenResponseBody {
	s.Success = &v
	return s
}

type GetChildrenResponseBodyResult struct {
	BindStudents []*GetChildrenResponseBodyResultBindStudents `json:"bindStudents,omitempty" xml:"bindStudents,omitempty" type:"Repeated"`
	// example:
	//
	// 杭州市
	City *string `json:"city,omitempty" xml:"city,omitempty"`
	// example:
	//
	// 西湖区
	District *string `json:"district,omitempty" xml:"district,omitempty"`
	// example:
	//
	// 1
	GradeLevel *int32 `json:"gradeLevel,omitempty" xml:"gradeLevel,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 张三
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// primary_school
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
	// example:
	//
	// 浙江省
	Province *string `json:"province,omitempty" xml:"province,omitempty"`
	// example:
	//
	// 330106
	RegionId *string `json:"regionId,omitempty" xml:"regionId,omitempty"`
}

func (s GetChildrenResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetChildrenResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetChildrenResponseBodyResult) SetBindStudents(v []*GetChildrenResponseBodyResultBindStudents) *GetChildrenResponseBodyResult {
	s.BindStudents = v
	return s
}

func (s *GetChildrenResponseBodyResult) SetCity(v string) *GetChildrenResponseBodyResult {
	s.City = &v
	return s
}

func (s *GetChildrenResponseBodyResult) SetDistrict(v string) *GetChildrenResponseBodyResult {
	s.District = &v
	return s
}

func (s *GetChildrenResponseBodyResult) SetGradeLevel(v int32) *GetChildrenResponseBodyResult {
	s.GradeLevel = &v
	return s
}

func (s *GetChildrenResponseBodyResult) SetName(v string) *GetChildrenResponseBodyResult {
	s.Name = &v
	return s
}

func (s *GetChildrenResponseBodyResult) SetPeriodCode(v string) *GetChildrenResponseBodyResult {
	s.PeriodCode = &v
	return s
}

func (s *GetChildrenResponseBodyResult) SetProvince(v string) *GetChildrenResponseBodyResult {
	s.Province = &v
	return s
}

func (s *GetChildrenResponseBodyResult) SetRegionId(v string) *GetChildrenResponseBodyResult {
	s.RegionId = &v
	return s
}

type GetChildrenResponseBodyResultBindStudents struct {
	// example:
	//
	// 1
	GradeLevel *int32 `json:"gradeLevel,omitempty" xml:"gradeLevel,omitempty"`
	// example:
	//
	// dinge066bea21c63b79b35c2f4657eb6378f
	IdentityId *string `json:"identityId,omitempty" xml:"identityId,omitempty"`
	// example:
	//
	// primary_school
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
}

func (s GetChildrenResponseBodyResultBindStudents) String() string {
	return tea.Prettify(s)
}

func (s GetChildrenResponseBodyResultBindStudents) GoString() string {
	return s.String()
}

func (s *GetChildrenResponseBodyResultBindStudents) SetGradeLevel(v int32) *GetChildrenResponseBodyResultBindStudents {
	s.GradeLevel = &v
	return s
}

func (s *GetChildrenResponseBodyResultBindStudents) SetIdentityId(v string) *GetChildrenResponseBodyResultBindStudents {
	s.IdentityId = &v
	return s
}

func (s *GetChildrenResponseBodyResultBindStudents) SetPeriodCode(v string) *GetChildrenResponseBodyResultBindStudents {
	s.PeriodCode = &v
	return s
}

type GetChildrenResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetChildrenResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetChildrenResponse) String() string {
	return tea.Prettify(s)
}

func (s GetChildrenResponse) GoString() string {
	return s.String()
}

func (s *GetChildrenResponse) SetHeaders(v map[string]*string) *GetChildrenResponse {
	s.Headers = v
	return s
}

func (s *GetChildrenResponse) SetStatusCode(v int32) *GetChildrenResponse {
	s.StatusCode = &v
	return s
}

func (s *GetChildrenResponse) SetBody(v *GetChildrenResponseBody) *GetChildrenResponse {
	s.Body = v
	return s
}

type GetCollegeAlumniDeptsHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetCollegeAlumniDeptsHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniDeptsHeaders) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniDeptsHeaders) SetCommonHeaders(v map[string]*string) *GetCollegeAlumniDeptsHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetCollegeAlumniDeptsHeaders) SetXAcsDingtalkAccessToken(v string) *GetCollegeAlumniDeptsHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetCollegeAlumniDeptsRequest struct {
	// This parameter is required.
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// staff234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
}

func (s GetCollegeAlumniDeptsRequest) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniDeptsRequest) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniDeptsRequest) SetDeptId(v int64) *GetCollegeAlumniDeptsRequest {
	s.DeptId = &v
	return s
}

func (s *GetCollegeAlumniDeptsRequest) SetOperator(v string) *GetCollegeAlumniDeptsRequest {
	s.Operator = &v
	return s
}

type GetCollegeAlumniDeptsResponseBody struct {
	Result  []*GetCollegeAlumniDeptsResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                      `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetCollegeAlumniDeptsResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniDeptsResponseBody) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniDeptsResponseBody) SetResult(v []*GetCollegeAlumniDeptsResponseBodyResult) *GetCollegeAlumniDeptsResponseBody {
	s.Result = v
	return s
}

func (s *GetCollegeAlumniDeptsResponseBody) SetSuccess(v bool) *GetCollegeAlumniDeptsResponseBody {
	s.Success = &v
	return s
}

type GetCollegeAlumniDeptsResponseBodyResult struct {
	CorpId     *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	DeptId     *int64  `json:"deptId,omitempty" xml:"deptId,omitempty"`
	DeptType   *string `json:"deptType,omitempty" xml:"deptType,omitempty"`
	HasSubDept *bool   `json:"hasSubDept,omitempty" xml:"hasSubDept,omitempty"`
	Name       *string `json:"name,omitempty" xml:"name,omitempty"`
	SuperId    *int64  `json:"superId,omitempty" xml:"superId,omitempty"`
}

func (s GetCollegeAlumniDeptsResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniDeptsResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniDeptsResponseBodyResult) SetCorpId(v string) *GetCollegeAlumniDeptsResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *GetCollegeAlumniDeptsResponseBodyResult) SetDeptId(v int64) *GetCollegeAlumniDeptsResponseBodyResult {
	s.DeptId = &v
	return s
}

func (s *GetCollegeAlumniDeptsResponseBodyResult) SetDeptType(v string) *GetCollegeAlumniDeptsResponseBodyResult {
	s.DeptType = &v
	return s
}

func (s *GetCollegeAlumniDeptsResponseBodyResult) SetHasSubDept(v bool) *GetCollegeAlumniDeptsResponseBodyResult {
	s.HasSubDept = &v
	return s
}

func (s *GetCollegeAlumniDeptsResponseBodyResult) SetName(v string) *GetCollegeAlumniDeptsResponseBodyResult {
	s.Name = &v
	return s
}

func (s *GetCollegeAlumniDeptsResponseBodyResult) SetSuperId(v int64) *GetCollegeAlumniDeptsResponseBodyResult {
	s.SuperId = &v
	return s
}

type GetCollegeAlumniDeptsResponse struct {
	Headers    map[string]*string                 `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                             `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetCollegeAlumniDeptsResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetCollegeAlumniDeptsResponse) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniDeptsResponse) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniDeptsResponse) SetHeaders(v map[string]*string) *GetCollegeAlumniDeptsResponse {
	s.Headers = v
	return s
}

func (s *GetCollegeAlumniDeptsResponse) SetStatusCode(v int32) *GetCollegeAlumniDeptsResponse {
	s.StatusCode = &v
	return s
}

func (s *GetCollegeAlumniDeptsResponse) SetBody(v *GetCollegeAlumniDeptsResponseBody) *GetCollegeAlumniDeptsResponse {
	s.Body = v
	return s
}

type GetCollegeAlumniUserInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetCollegeAlumniUserInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniUserInfoHeaders) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniUserInfoHeaders) SetCommonHeaders(v map[string]*string) *GetCollegeAlumniUserInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetCollegeAlumniUserInfoHeaders) SetXAcsDingtalkAccessToken(v string) *GetCollegeAlumniUserInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetCollegeAlumniUserInfoRequest struct {
	// This parameter is required.
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s GetCollegeAlumniUserInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniUserInfoRequest) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniUserInfoRequest) SetOperator(v string) *GetCollegeAlumniUserInfoRequest {
	s.Operator = &v
	return s
}

func (s *GetCollegeAlumniUserInfoRequest) SetUserId(v string) *GetCollegeAlumniUserInfoRequest {
	s.UserId = &v
	return s
}

type GetCollegeAlumniUserInfoResponseBody struct {
	Result  *GetCollegeAlumniUserInfoResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                       `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetCollegeAlumniUserInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniUserInfoResponseBody) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniUserInfoResponseBody) SetResult(v *GetCollegeAlumniUserInfoResponseBodyResult) *GetCollegeAlumniUserInfoResponseBody {
	s.Result = v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBody) SetSuccess(v bool) *GetCollegeAlumniUserInfoResponseBody {
	s.Success = &v
	return s
}

type GetCollegeAlumniUserInfoResponseBodyResult struct {
	Address       *string                                            `json:"address,omitempty" xml:"address,omitempty"`
	Avatar        *string                                            `json:"avatar,omitempty" xml:"avatar,omitempty"`
	CorpId        *string                                            `json:"corpId,omitempty" xml:"corpId,omitempty"`
	Depts         []*GetCollegeAlumniUserInfoResponseBodyResultDepts `json:"depts,omitempty" xml:"depts,omitempty" type:"Repeated"`
	Email         *string                                            `json:"email,omitempty" xml:"email,omitempty"`
	Intake        *string                                            `json:"intake,omitempty" xml:"intake,omitempty"`
	InviteId      *int64                                             `json:"inviteId,omitempty" xml:"inviteId,omitempty"`
	Mobile        *string                                            `json:"mobile,omitempty" xml:"mobile,omitempty"`
	Name          *string                                            `json:"name,omitempty" xml:"name,omitempty"`
	Outtake       *string                                            `json:"outtake,omitempty" xml:"outtake,omitempty"`
	StudentNumber *string                                            `json:"studentNumber,omitempty" xml:"studentNumber,omitempty"`
	UserId        *string                                            `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s GetCollegeAlumniUserInfoResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniUserInfoResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetAddress(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.Address = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetAvatar(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.Avatar = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetCorpId(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetDepts(v []*GetCollegeAlumniUserInfoResponseBodyResultDepts) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.Depts = v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetEmail(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.Email = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetIntake(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.Intake = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetInviteId(v int64) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.InviteId = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetMobile(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.Mobile = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetName(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.Name = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetOuttake(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.Outtake = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetStudentNumber(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.StudentNumber = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResult) SetUserId(v string) *GetCollegeAlumniUserInfoResponseBodyResult {
	s.UserId = &v
	return s
}

type GetCollegeAlumniUserInfoResponseBodyResultDepts struct {
	CorpId         *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	DeptId         *int64  `json:"deptId,omitempty" xml:"deptId,omitempty"`
	HasSubDept     *bool   `json:"hasSubDept,omitempty" xml:"hasSubDept,omitempty"`
	IsIndustryDept *bool   `json:"isIndustryDept,omitempty" xml:"isIndustryDept,omitempty"`
	Name           *string `json:"name,omitempty" xml:"name,omitempty"`
}

func (s GetCollegeAlumniUserInfoResponseBodyResultDepts) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniUserInfoResponseBodyResultDepts) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniUserInfoResponseBodyResultDepts) SetCorpId(v string) *GetCollegeAlumniUserInfoResponseBodyResultDepts {
	s.CorpId = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResultDepts) SetDeptId(v int64) *GetCollegeAlumniUserInfoResponseBodyResultDepts {
	s.DeptId = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResultDepts) SetHasSubDept(v bool) *GetCollegeAlumniUserInfoResponseBodyResultDepts {
	s.HasSubDept = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResultDepts) SetIsIndustryDept(v bool) *GetCollegeAlumniUserInfoResponseBodyResultDepts {
	s.IsIndustryDept = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponseBodyResultDepts) SetName(v string) *GetCollegeAlumniUserInfoResponseBodyResultDepts {
	s.Name = &v
	return s
}

type GetCollegeAlumniUserInfoResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetCollegeAlumniUserInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetCollegeAlumniUserInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeAlumniUserInfoResponse) GoString() string {
	return s.String()
}

func (s *GetCollegeAlumniUserInfoResponse) SetHeaders(v map[string]*string) *GetCollegeAlumniUserInfoResponse {
	s.Headers = v
	return s
}

func (s *GetCollegeAlumniUserInfoResponse) SetStatusCode(v int32) *GetCollegeAlumniUserInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *GetCollegeAlumniUserInfoResponse) SetBody(v *GetCollegeAlumniUserInfoResponseBody) *GetCollegeAlumniUserInfoResponse {
	s.Body = v
	return s
}

type GetCollegeContactDeptDetailHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetCollegeContactDeptDetailHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactDeptDetailHeaders) GoString() string {
	return s.String()
}

func (s *GetCollegeContactDeptDetailHeaders) SetCommonHeaders(v map[string]*string) *GetCollegeContactDeptDetailHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetCollegeContactDeptDetailHeaders) SetXAcsDingtalkAccessToken(v string) *GetCollegeContactDeptDetailHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetCollegeContactDeptDetailRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 20
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
}

func (s GetCollegeContactDeptDetailRequest) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactDeptDetailRequest) GoString() string {
	return s.String()
}

func (s *GetCollegeContactDeptDetailRequest) SetDeptId(v int64) *GetCollegeContactDeptDetailRequest {
	s.DeptId = &v
	return s
}

func (s *GetCollegeContactDeptDetailRequest) SetLanguage(v string) *GetCollegeContactDeptDetailRequest {
	s.Language = &v
	return s
}

type GetCollegeContactDeptDetailResponseBody struct {
	Result  *GetCollegeContactDeptDetailResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                          `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetCollegeContactDeptDetailResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactDeptDetailResponseBody) GoString() string {
	return s.String()
}

func (s *GetCollegeContactDeptDetailResponseBody) SetResult(v *GetCollegeContactDeptDetailResponseBodyResult) *GetCollegeContactDeptDetailResponseBody {
	s.Result = v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBody) SetSuccess(v bool) *GetCollegeContactDeptDetailResponseBody {
	s.Success = &v
	return s
}

type GetCollegeContactDeptDetailResponseBodyResult struct {
	AutoAddUser      *bool `json:"autoAddUser,omitempty" xml:"autoAddUser,omitempty"`
	AutoApproveApply *bool `json:"autoApproveApply,omitempty" xml:"autoApproveApply,omitempty"`
	// example:
	//
	// 这是简介
	Brief *string `json:"brief,omitempty" xml:"brief,omitempty"`
	// example:
	//
	// 10000
	Code            *string `json:"code,omitempty" xml:"code,omitempty"`
	CreateDeptGroup *bool   `json:"createDeptGroup,omitempty" xml:"createDeptGroup,omitempty"`
	// example:
	//
	// dept456
	DeptCode *string `json:"deptCode,omitempty" xml:"deptCode,omitempty"`
	// example:
	//
	// chat234
	DeptGroupChatId *string `json:"deptGroupChatId,omitempty" xml:"deptGroupChatId,omitempty"`
	// example:
	//
	// 200
	DeptId                *int64    `json:"deptId,omitempty" xml:"deptId,omitempty"`
	DeptManagerUseridList []*string `json:"deptManagerUseridList,omitempty" xml:"deptManagerUseridList,omitempty" type:"Repeated"`
	DeptPermits           []*int64  `json:"deptPermits,omitempty" xml:"deptPermits,omitempty" type:"Repeated"`
	// example:
	//
	// contact_class_dept
	DeptType         *string `json:"deptType,omitempty" xml:"deptType,omitempty"`
	EmpApplyJoinDept *bool   `json:"empApplyJoinDept,omitempty" xml:"empApplyJoinDept,omitempty"`
	// example:
	//
	// {}
	Extension           *string                                                       `json:"extension,omitempty" xml:"extension,omitempty"`
	FromUnionOrg        *bool                                                         `json:"fromUnionOrg,omitempty" xml:"fromUnionOrg,omitempty"`
	GroupContainSubDept *bool                                                         `json:"groupContainSubDept,omitempty" xml:"groupContainSubDept,omitempty"`
	HideDept            *bool                                                         `json:"hideDept,omitempty" xml:"hideDept,omitempty"`
	HideSceneConfig     *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig `json:"hideSceneConfig,omitempty" xml:"hideSceneConfig,omitempty" type:"Struct"`
	// example:
	//
	// 软件工程
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 200
	Order *int64 `json:"order,omitempty" xml:"order,omitempty"`
	// example:
	//
	// user345
	OrgDeptOwner     *string                                                        `json:"orgDeptOwner,omitempty" xml:"orgDeptOwner,omitempty"`
	OuterDept        *bool                                                          `json:"outerDept,omitempty" xml:"outerDept,omitempty"`
	OuterPermitDepts []*int64                                                       `json:"outerPermitDepts,omitempty" xml:"outerPermitDepts,omitempty" type:"Repeated"`
	OuterPermitUsers []*string                                                      `json:"outerPermitUsers,omitempty" xml:"outerPermitUsers,omitempty" type:"Repeated"`
	OuterSceneConfig *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig `json:"outerSceneConfig,omitempty" xml:"outerSceneConfig,omitempty" type:"Struct"`
	// example:
	//
	// 200
	ParentId *int64 `json:"parentId,omitempty" xml:"parentId,omitempty"`
	// example:
	//
	// 软件工程标识
	SourceIdentifier *string `json:"sourceIdentifier,omitempty" xml:"sourceIdentifier,omitempty"`
	// example:
	//
	// 200
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
	// example:
	//
	// campus
	Tags *string `json:"tags,omitempty" xml:"tags,omitempty"`
	// example:
	//
	// 138xxxx0000
	Telephone   *string   `json:"telephone,omitempty" xml:"telephone,omitempty"`
	UserPermits []*string `json:"userPermits,omitempty" xml:"userPermits,omitempty" type:"Repeated"`
}

func (s GetCollegeContactDeptDetailResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactDeptDetailResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetAutoAddUser(v bool) *GetCollegeContactDeptDetailResponseBodyResult {
	s.AutoAddUser = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetAutoApproveApply(v bool) *GetCollegeContactDeptDetailResponseBodyResult {
	s.AutoApproveApply = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetBrief(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.Brief = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetCode(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.Code = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetCreateDeptGroup(v bool) *GetCollegeContactDeptDetailResponseBodyResult {
	s.CreateDeptGroup = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetDeptCode(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.DeptCode = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetDeptGroupChatId(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.DeptGroupChatId = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetDeptId(v int64) *GetCollegeContactDeptDetailResponseBodyResult {
	s.DeptId = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetDeptManagerUseridList(v []*string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.DeptManagerUseridList = v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetDeptPermits(v []*int64) *GetCollegeContactDeptDetailResponseBodyResult {
	s.DeptPermits = v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetDeptType(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.DeptType = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetEmpApplyJoinDept(v bool) *GetCollegeContactDeptDetailResponseBodyResult {
	s.EmpApplyJoinDept = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetExtension(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.Extension = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetFromUnionOrg(v bool) *GetCollegeContactDeptDetailResponseBodyResult {
	s.FromUnionOrg = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetGroupContainSubDept(v bool) *GetCollegeContactDeptDetailResponseBodyResult {
	s.GroupContainSubDept = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetHideDept(v bool) *GetCollegeContactDeptDetailResponseBodyResult {
	s.HideDept = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetHideSceneConfig(v *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig) *GetCollegeContactDeptDetailResponseBodyResult {
	s.HideSceneConfig = v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetName(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.Name = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetOrder(v int64) *GetCollegeContactDeptDetailResponseBodyResult {
	s.Order = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetOrgDeptOwner(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.OrgDeptOwner = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetOuterDept(v bool) *GetCollegeContactDeptDetailResponseBodyResult {
	s.OuterDept = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetOuterPermitDepts(v []*int64) *GetCollegeContactDeptDetailResponseBodyResult {
	s.OuterPermitDepts = v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetOuterPermitUsers(v []*string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.OuterPermitUsers = v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetOuterSceneConfig(v *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig) *GetCollegeContactDeptDetailResponseBodyResult {
	s.OuterSceneConfig = v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetParentId(v int64) *GetCollegeContactDeptDetailResponseBodyResult {
	s.ParentId = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetSourceIdentifier(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.SourceIdentifier = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetStruId(v int64) *GetCollegeContactDeptDetailResponseBodyResult {
	s.StruId = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetTags(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.Tags = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetTelephone(v string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.Telephone = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResult) SetUserPermits(v []*string) *GetCollegeContactDeptDetailResponseBodyResult {
	s.UserPermits = v
	return s
}

type GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig struct {
	Active          *bool `json:"active,omitempty" xml:"active,omitempty"`
	ChatboxSubtitle *bool `json:"chatboxSubtitle,omitempty" xml:"chatboxSubtitle,omitempty"`
	NodeList        *bool `json:"nodeList,omitempty" xml:"nodeList,omitempty"`
	Profile         *bool `json:"profile,omitempty" xml:"profile,omitempty"`
	Search          *bool `json:"search,omitempty" xml:"search,omitempty"`
}

func (s GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig) GoString() string {
	return s.String()
}

func (s *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig) SetActive(v bool) *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig {
	s.Active = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig) SetChatboxSubtitle(v bool) *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig {
	s.ChatboxSubtitle = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig) SetNodeList(v bool) *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig {
	s.NodeList = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig) SetProfile(v bool) *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig {
	s.Profile = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig) SetSearch(v bool) *GetCollegeContactDeptDetailResponseBodyResultHideSceneConfig {
	s.Search = &v
	return s
}

type GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig struct {
	Active          *bool `json:"active,omitempty" xml:"active,omitempty"`
	ChatboxSubtitle *bool `json:"chatboxSubtitle,omitempty" xml:"chatboxSubtitle,omitempty"`
	NodeList        *bool `json:"nodeList,omitempty" xml:"nodeList,omitempty"`
	Profile         *bool `json:"profile,omitempty" xml:"profile,omitempty"`
	Search          *bool `json:"search,omitempty" xml:"search,omitempty"`
}

func (s GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig) GoString() string {
	return s.String()
}

func (s *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig) SetActive(v bool) *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig {
	s.Active = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig) SetChatboxSubtitle(v bool) *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig {
	s.ChatboxSubtitle = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig) SetNodeList(v bool) *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig {
	s.NodeList = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig) SetProfile(v bool) *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig {
	s.Profile = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig) SetSearch(v bool) *GetCollegeContactDeptDetailResponseBodyResultOuterSceneConfig {
	s.Search = &v
	return s
}

type GetCollegeContactDeptDetailResponse struct {
	Headers    map[string]*string                       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetCollegeContactDeptDetailResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetCollegeContactDeptDetailResponse) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactDeptDetailResponse) GoString() string {
	return s.String()
}

func (s *GetCollegeContactDeptDetailResponse) SetHeaders(v map[string]*string) *GetCollegeContactDeptDetailResponse {
	s.Headers = v
	return s
}

func (s *GetCollegeContactDeptDetailResponse) SetStatusCode(v int32) *GetCollegeContactDeptDetailResponse {
	s.StatusCode = &v
	return s
}

func (s *GetCollegeContactDeptDetailResponse) SetBody(v *GetCollegeContactDeptDetailResponseBody) *GetCollegeContactDeptDetailResponse {
	s.Body = v
	return s
}

type GetCollegeContactStandardStruDeptDetailHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetCollegeContactStandardStruDeptDetailHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactStandardStruDeptDetailHeaders) GoString() string {
	return s.String()
}

func (s *GetCollegeContactStandardStruDeptDetailHeaders) SetCommonHeaders(v map[string]*string) *GetCollegeContactStandardStruDeptDetailHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetCollegeContactStandardStruDeptDetailHeaders) SetXAcsDingtalkAccessToken(v string) *GetCollegeContactStandardStruDeptDetailHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetCollegeContactStandardStruDeptDetailRequest struct {
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
}

func (s GetCollegeContactStandardStruDeptDetailRequest) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactStandardStruDeptDetailRequest) GoString() string {
	return s.String()
}

func (s *GetCollegeContactStandardStruDeptDetailRequest) SetLanguage(v string) *GetCollegeContactStandardStruDeptDetailRequest {
	s.Language = &v
	return s
}

type GetCollegeContactStandardStruDeptDetailResponseBody struct {
	Result  *GetCollegeContactStandardStruDeptDetailResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                                      `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetCollegeContactStandardStruDeptDetailResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactStandardStruDeptDetailResponseBody) GoString() string {
	return s.String()
}

func (s *GetCollegeContactStandardStruDeptDetailResponseBody) SetResult(v *GetCollegeContactStandardStruDeptDetailResponseBodyResult) *GetCollegeContactStandardStruDeptDetailResponseBody {
	s.Result = v
	return s
}

func (s *GetCollegeContactStandardStruDeptDetailResponseBody) SetSuccess(v bool) *GetCollegeContactStandardStruDeptDetailResponseBody {
	s.Success = &v
	return s
}

type GetCollegeContactStandardStruDeptDetailResponseBodyResult struct {
	// example:
	//
	// 456
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
	// example:
	//
	// 890
	StudentDeptId *int64 `json:"studentDeptId,omitempty" xml:"studentDeptId,omitempty"`
	// example:
	//
	// 678
	TeacherDeptId *int64 `json:"teacherDeptId,omitempty" xml:"teacherDeptId,omitempty"`
}

func (s GetCollegeContactStandardStruDeptDetailResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactStandardStruDeptDetailResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetCollegeContactStandardStruDeptDetailResponseBodyResult) SetStruId(v int64) *GetCollegeContactStandardStruDeptDetailResponseBodyResult {
	s.StruId = &v
	return s
}

func (s *GetCollegeContactStandardStruDeptDetailResponseBodyResult) SetStudentDeptId(v int64) *GetCollegeContactStandardStruDeptDetailResponseBodyResult {
	s.StudentDeptId = &v
	return s
}

func (s *GetCollegeContactStandardStruDeptDetailResponseBodyResult) SetTeacherDeptId(v int64) *GetCollegeContactStandardStruDeptDetailResponseBodyResult {
	s.TeacherDeptId = &v
	return s
}

type GetCollegeContactStandardStruDeptDetailResponse struct {
	Headers    map[string]*string                                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetCollegeContactStandardStruDeptDetailResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetCollegeContactStandardStruDeptDetailResponse) String() string {
	return tea.Prettify(s)
}

func (s GetCollegeContactStandardStruDeptDetailResponse) GoString() string {
	return s.String()
}

func (s *GetCollegeContactStandardStruDeptDetailResponse) SetHeaders(v map[string]*string) *GetCollegeContactStandardStruDeptDetailResponse {
	s.Headers = v
	return s
}

func (s *GetCollegeContactStandardStruDeptDetailResponse) SetStatusCode(v int32) *GetCollegeContactStandardStruDeptDetailResponse {
	s.StatusCode = &v
	return s
}

func (s *GetCollegeContactStandardStruDeptDetailResponse) SetBody(v *GetCollegeContactStandardStruDeptDetailResponseBody) *GetCollegeContactStandardStruDeptDetailResponse {
	s.Body = v
	return s
}

type GetDefaultChildHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetDefaultChildHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetDefaultChildHeaders) GoString() string {
	return s.String()
}

func (s *GetDefaultChildHeaders) SetCommonHeaders(v map[string]*string) *GetDefaultChildHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetDefaultChildHeaders) SetXAcsDingtalkAccessToken(v string) *GetDefaultChildHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetDefaultChildResponseBody struct {
	Avatar       *string                                    `json:"avatar,omitempty" xml:"avatar,omitempty"`
	BindStudents []*GetDefaultChildResponseBodyBindStudents `json:"bindStudents,omitempty" xml:"bindStudents,omitempty" type:"Repeated"`
	Grade        *int32                                     `json:"grade,omitempty" xml:"grade,omitempty"`
	// This parameter is required.
	Name   *string `json:"name,omitempty" xml:"name,omitempty"`
	Nick   *string `json:"nick,omitempty" xml:"nick,omitempty"`
	Period *string `json:"period,omitempty" xml:"period,omitempty"`
	// This parameter is required.
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
}

func (s GetDefaultChildResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetDefaultChildResponseBody) GoString() string {
	return s.String()
}

func (s *GetDefaultChildResponseBody) SetAvatar(v string) *GetDefaultChildResponseBody {
	s.Avatar = &v
	return s
}

func (s *GetDefaultChildResponseBody) SetBindStudents(v []*GetDefaultChildResponseBodyBindStudents) *GetDefaultChildResponseBody {
	s.BindStudents = v
	return s
}

func (s *GetDefaultChildResponseBody) SetGrade(v int32) *GetDefaultChildResponseBody {
	s.Grade = &v
	return s
}

func (s *GetDefaultChildResponseBody) SetName(v string) *GetDefaultChildResponseBody {
	s.Name = &v
	return s
}

func (s *GetDefaultChildResponseBody) SetNick(v string) *GetDefaultChildResponseBody {
	s.Nick = &v
	return s
}

func (s *GetDefaultChildResponseBody) SetPeriod(v string) *GetDefaultChildResponseBody {
	s.Period = &v
	return s
}

func (s *GetDefaultChildResponseBody) SetUnionId(v string) *GetDefaultChildResponseBody {
	s.UnionId = &v
	return s
}

type GetDefaultChildResponseBodyBindStudents struct {
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	Period *string `json:"period,omitempty" xml:"period,omitempty"`
	// This parameter is required.
	StaffId *string `json:"staffId,omitempty" xml:"staffId,omitempty"`
}

func (s GetDefaultChildResponseBodyBindStudents) String() string {
	return tea.Prettify(s)
}

func (s GetDefaultChildResponseBodyBindStudents) GoString() string {
	return s.String()
}

func (s *GetDefaultChildResponseBodyBindStudents) SetClassId(v int64) *GetDefaultChildResponseBodyBindStudents {
	s.ClassId = &v
	return s
}

func (s *GetDefaultChildResponseBodyBindStudents) SetCorpId(v string) *GetDefaultChildResponseBodyBindStudents {
	s.CorpId = &v
	return s
}

func (s *GetDefaultChildResponseBodyBindStudents) SetPeriod(v string) *GetDefaultChildResponseBodyBindStudents {
	s.Period = &v
	return s
}

func (s *GetDefaultChildResponseBodyBindStudents) SetStaffId(v string) *GetDefaultChildResponseBodyBindStudents {
	s.StaffId = &v
	return s
}

type GetDefaultChildResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetDefaultChildResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetDefaultChildResponse) String() string {
	return tea.Prettify(s)
}

func (s GetDefaultChildResponse) GoString() string {
	return s.String()
}

func (s *GetDefaultChildResponse) SetHeaders(v map[string]*string) *GetDefaultChildResponse {
	s.Headers = v
	return s
}

func (s *GetDefaultChildResponse) SetStatusCode(v int32) *GetDefaultChildResponse {
	s.StatusCode = &v
	return s
}

func (s *GetDefaultChildResponse) SetBody(v *GetDefaultChildResponseBody) *GetDefaultChildResponse {
	s.Body = v
	return s
}

type GetEduUserIdentityHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetEduUserIdentityHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetEduUserIdentityHeaders) GoString() string {
	return s.String()
}

func (s *GetEduUserIdentityHeaders) SetCommonHeaders(v map[string]*string) *GetEduUserIdentityHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetEduUserIdentityHeaders) SetXAcsDingtalkAccessToken(v string) *GetEduUserIdentityHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetEduUserIdentityRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// VYn5fYjORJMi
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
}

func (s GetEduUserIdentityRequest) String() string {
	return tea.Prettify(s)
}

func (s GetEduUserIdentityRequest) GoString() string {
	return s.String()
}

func (s *GetEduUserIdentityRequest) SetUnionId(v string) *GetEduUserIdentityRequest {
	s.UnionId = &v
	return s
}

type GetEduUserIdentityResponseBody struct {
	Data *GetEduUserIdentityResponseBodyData `json:"data,omitempty" xml:"data,omitempty" type:"Struct"`
	// This parameter is required.
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetEduUserIdentityResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetEduUserIdentityResponseBody) GoString() string {
	return s.String()
}

func (s *GetEduUserIdentityResponseBody) SetData(v *GetEduUserIdentityResponseBodyData) *GetEduUserIdentityResponseBody {
	s.Data = v
	return s
}

func (s *GetEduUserIdentityResponseBody) SetSuccess(v bool) *GetEduUserIdentityResponseBody {
	s.Success = &v
	return s
}

type GetEduUserIdentityResponseBodyData struct {
	MatchGuardianRule *bool   `json:"matchGuardianRule,omitempty" xml:"matchGuardianRule,omitempty"`
	MatchTeacherRule  *bool   `json:"matchTeacherRule,omitempty" xml:"matchTeacherRule,omitempty"`
	UnionId           *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
}

func (s GetEduUserIdentityResponseBodyData) String() string {
	return tea.Prettify(s)
}

func (s GetEduUserIdentityResponseBodyData) GoString() string {
	return s.String()
}

func (s *GetEduUserIdentityResponseBodyData) SetMatchGuardianRule(v bool) *GetEduUserIdentityResponseBodyData {
	s.MatchGuardianRule = &v
	return s
}

func (s *GetEduUserIdentityResponseBodyData) SetMatchTeacherRule(v bool) *GetEduUserIdentityResponseBodyData {
	s.MatchTeacherRule = &v
	return s
}

func (s *GetEduUserIdentityResponseBodyData) SetUnionId(v string) *GetEduUserIdentityResponseBodyData {
	s.UnionId = &v
	return s
}

type GetEduUserIdentityResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetEduUserIdentityResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetEduUserIdentityResponse) String() string {
	return tea.Prettify(s)
}

func (s GetEduUserIdentityResponse) GoString() string {
	return s.String()
}

func (s *GetEduUserIdentityResponse) SetHeaders(v map[string]*string) *GetEduUserIdentityResponse {
	s.Headers = v
	return s
}

func (s *GetEduUserIdentityResponse) SetStatusCode(v int32) *GetEduUserIdentityResponse {
	s.StatusCode = &v
	return s
}

func (s *GetEduUserIdentityResponse) SetBody(v *GetEduUserIdentityResponseBody) *GetEduUserIdentityResponse {
	s.Body = v
	return s
}

type GetFileDownloadInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetFileDownloadInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoHeaders) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoHeaders) SetCommonHeaders(v map[string]*string) *GetFileDownloadInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetFileDownloadInfoHeaders) SetXAcsDingtalkAccessToken(v string) *GetFileDownloadInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetFileDownloadInfoRequest struct {
	// This parameter is required.
	FileIdList []*string `json:"fileIdList,omitempty" xml:"fileIdList,omitempty" type:"Repeated"`
	// This parameter is required.
	SpaceId *int64 `json:"spaceId,omitempty" xml:"spaceId,omitempty"`
}

func (s GetFileDownloadInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoRequest) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoRequest) SetFileIdList(v []*string) *GetFileDownloadInfoRequest {
	s.FileIdList = v
	return s
}

func (s *GetFileDownloadInfoRequest) SetSpaceId(v int64) *GetFileDownloadInfoRequest {
	s.SpaceId = &v
	return s
}

type GetFileDownloadInfoResponseBody struct {
	Result  map[string]*ResultValue `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool                   `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetFileDownloadInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoResponseBody) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoResponseBody) SetResult(v map[string]*ResultValue) *GetFileDownloadInfoResponseBody {
	s.Result = v
	return s
}

func (s *GetFileDownloadInfoResponseBody) SetSuccess(v bool) *GetFileDownloadInfoResponseBody {
	s.Success = &v
	return s
}

type GetFileDownloadInfoResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetFileDownloadInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetFileDownloadInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoResponse) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoResponse) SetHeaders(v map[string]*string) *GetFileDownloadInfoResponse {
	s.Headers = v
	return s
}

func (s *GetFileDownloadInfoResponse) SetStatusCode(v int32) *GetFileDownloadInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *GetFileDownloadInfoResponse) SetBody(v *GetFileDownloadInfoResponseBody) *GetFileDownloadInfoResponse {
	s.Body = v
	return s
}

type GetFileDownloadInfoByPackageIdHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetFileDownloadInfoByPackageIdHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoByPackageIdHeaders) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoByPackageIdHeaders) SetCommonHeaders(v map[string]*string) *GetFileDownloadInfoByPackageIdHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetFileDownloadInfoByPackageIdHeaders) SetXAcsDingtalkAccessToken(v string) *GetFileDownloadInfoByPackageIdHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetFileDownloadInfoByPackageIdRequest struct {
	// This parameter is required.
	PackageId *string `json:"packageId,omitempty" xml:"packageId,omitempty"`
}

func (s GetFileDownloadInfoByPackageIdRequest) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoByPackageIdRequest) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoByPackageIdRequest) SetPackageId(v string) *GetFileDownloadInfoByPackageIdRequest {
	s.PackageId = &v
	return s
}

type GetFileDownloadInfoByPackageIdResponseBody struct {
	Result  []*GetFileDownloadInfoByPackageIdResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                               `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetFileDownloadInfoByPackageIdResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoByPackageIdResponseBody) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoByPackageIdResponseBody) SetResult(v []*GetFileDownloadInfoByPackageIdResponseBodyResult) *GetFileDownloadInfoByPackageIdResponseBody {
	s.Result = v
	return s
}

func (s *GetFileDownloadInfoByPackageIdResponseBody) SetSuccess(v bool) *GetFileDownloadInfoByPackageIdResponseBody {
	s.Success = &v
	return s
}

type GetFileDownloadInfoByPackageIdResponseBodyResult struct {
	FileId  *string `json:"fileId,omitempty" xml:"fileId,omitempty"`
	MediaId *string `json:"mediaId,omitempty" xml:"mediaId,omitempty"`
	SpaceId *int64  `json:"spaceId,omitempty" xml:"spaceId,omitempty"`
}

func (s GetFileDownloadInfoByPackageIdResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoByPackageIdResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoByPackageIdResponseBodyResult) SetFileId(v string) *GetFileDownloadInfoByPackageIdResponseBodyResult {
	s.FileId = &v
	return s
}

func (s *GetFileDownloadInfoByPackageIdResponseBodyResult) SetMediaId(v string) *GetFileDownloadInfoByPackageIdResponseBodyResult {
	s.MediaId = &v
	return s
}

func (s *GetFileDownloadInfoByPackageIdResponseBodyResult) SetSpaceId(v int64) *GetFileDownloadInfoByPackageIdResponseBodyResult {
	s.SpaceId = &v
	return s
}

type GetFileDownloadInfoByPackageIdResponse struct {
	Headers    map[string]*string                          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetFileDownloadInfoByPackageIdResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetFileDownloadInfoByPackageIdResponse) String() string {
	return tea.Prettify(s)
}

func (s GetFileDownloadInfoByPackageIdResponse) GoString() string {
	return s.String()
}

func (s *GetFileDownloadInfoByPackageIdResponse) SetHeaders(v map[string]*string) *GetFileDownloadInfoByPackageIdResponse {
	s.Headers = v
	return s
}

func (s *GetFileDownloadInfoByPackageIdResponse) SetStatusCode(v int32) *GetFileDownloadInfoByPackageIdResponse {
	s.StatusCode = &v
	return s
}

func (s *GetFileDownloadInfoByPackageIdResponse) SetBody(v *GetFileDownloadInfoByPackageIdResponseBody) *GetFileDownloadInfoByPackageIdResponse {
	s.Body = v
	return s
}

type GetImageTempDownloadUrlHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetImageTempDownloadUrlHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetImageTempDownloadUrlHeaders) GoString() string {
	return s.String()
}

func (s *GetImageTempDownloadUrlHeaders) SetCommonHeaders(v map[string]*string) *GetImageTempDownloadUrlHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetImageTempDownloadUrlHeaders) SetXAcsDingtalkAccessToken(v string) *GetImageTempDownloadUrlHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetImageTempDownloadUrlRequest struct {
	// This parameter is required.
	MediaId *string `json:"mediaId,omitempty" xml:"mediaId,omitempty"`
	// This parameter is required.
	SourceType *string `json:"sourceType,omitempty" xml:"sourceType,omitempty"`
}

func (s GetImageTempDownloadUrlRequest) String() string {
	return tea.Prettify(s)
}

func (s GetImageTempDownloadUrlRequest) GoString() string {
	return s.String()
}

func (s *GetImageTempDownloadUrlRequest) SetMediaId(v string) *GetImageTempDownloadUrlRequest {
	s.MediaId = &v
	return s
}

func (s *GetImageTempDownloadUrlRequest) SetSourceType(v string) *GetImageTempDownloadUrlRequest {
	s.SourceType = &v
	return s
}

type GetImageTempDownloadUrlResponseBody struct {
	Result  *GetImageTempDownloadUrlResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                      `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetImageTempDownloadUrlResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetImageTempDownloadUrlResponseBody) GoString() string {
	return s.String()
}

func (s *GetImageTempDownloadUrlResponseBody) SetResult(v *GetImageTempDownloadUrlResponseBodyResult) *GetImageTempDownloadUrlResponseBody {
	s.Result = v
	return s
}

func (s *GetImageTempDownloadUrlResponseBody) SetSuccess(v bool) *GetImageTempDownloadUrlResponseBody {
	s.Success = &v
	return s
}

type GetImageTempDownloadUrlResponseBodyResult struct {
	Extension *string `json:"extension,omitempty" xml:"extension,omitempty"`
	FileName  *string `json:"fileName,omitempty" xml:"fileName,omitempty"`
	FileSize  *int64  `json:"fileSize,omitempty" xml:"fileSize,omitempty"`
	Url       *string `json:"url,omitempty" xml:"url,omitempty"`
}

func (s GetImageTempDownloadUrlResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetImageTempDownloadUrlResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetImageTempDownloadUrlResponseBodyResult) SetExtension(v string) *GetImageTempDownloadUrlResponseBodyResult {
	s.Extension = &v
	return s
}

func (s *GetImageTempDownloadUrlResponseBodyResult) SetFileName(v string) *GetImageTempDownloadUrlResponseBodyResult {
	s.FileName = &v
	return s
}

func (s *GetImageTempDownloadUrlResponseBodyResult) SetFileSize(v int64) *GetImageTempDownloadUrlResponseBodyResult {
	s.FileSize = &v
	return s
}

func (s *GetImageTempDownloadUrlResponseBodyResult) SetUrl(v string) *GetImageTempDownloadUrlResponseBodyResult {
	s.Url = &v
	return s
}

type GetImageTempDownloadUrlResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetImageTempDownloadUrlResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetImageTempDownloadUrlResponse) String() string {
	return tea.Prettify(s)
}

func (s GetImageTempDownloadUrlResponse) GoString() string {
	return s.String()
}

func (s *GetImageTempDownloadUrlResponse) SetHeaders(v map[string]*string) *GetImageTempDownloadUrlResponse {
	s.Headers = v
	return s
}

func (s *GetImageTempDownloadUrlResponse) SetStatusCode(v int32) *GetImageTempDownloadUrlResponse {
	s.StatusCode = &v
	return s
}

func (s *GetImageTempDownloadUrlResponse) SetBody(v *GetImageTempDownloadUrlResponseBody) *GetImageTempDownloadUrlResponse {
	s.Body = v
	return s
}

type GetOpenCourseDetailHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetOpenCourseDetailHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCourseDetailHeaders) GoString() string {
	return s.String()
}

func (s *GetOpenCourseDetailHeaders) SetCommonHeaders(v map[string]*string) *GetOpenCourseDetailHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetOpenCourseDetailHeaders) SetXAcsDingtalkAccessToken(v string) *GetOpenCourseDetailHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetOpenCourseDetailResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// fdjakl-fdaf-ds
	CourseId *string `json:"courseId,omitempty" xml:"courseId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0
	CourseType *int64 `json:"courseType,omitempty" xml:"courseType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// https://static.dingtalk.com/media/lALPDgCwRt4FagzMi8yZ_153_139.png
	CoverUrl *string `json:"coverUrl,omitempty" xml:"coverUrl,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 开学的第一堂课
	Introduction *string `json:"introduction,omitempty" xml:"introduction,omitempty"`
	// This parameter is required.
	PushModel *GetOpenCourseDetailResponseBodyPushModel `json:"pushModel,omitempty" xml:"pushModel,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 1618369786000
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123124312314
	TeacherId *string `json:"teacherId,omitempty" xml:"teacherId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 张老师
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 开学第一课
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
}

func (s GetOpenCourseDetailResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCourseDetailResponseBody) GoString() string {
	return s.String()
}

func (s *GetOpenCourseDetailResponseBody) SetCourseId(v string) *GetOpenCourseDetailResponseBody {
	s.CourseId = &v
	return s
}

func (s *GetOpenCourseDetailResponseBody) SetCourseType(v int64) *GetOpenCourseDetailResponseBody {
	s.CourseType = &v
	return s
}

func (s *GetOpenCourseDetailResponseBody) SetCoverUrl(v string) *GetOpenCourseDetailResponseBody {
	s.CoverUrl = &v
	return s
}

func (s *GetOpenCourseDetailResponseBody) SetIntroduction(v string) *GetOpenCourseDetailResponseBody {
	s.Introduction = &v
	return s
}

func (s *GetOpenCourseDetailResponseBody) SetPushModel(v *GetOpenCourseDetailResponseBodyPushModel) *GetOpenCourseDetailResponseBody {
	s.PushModel = v
	return s
}

func (s *GetOpenCourseDetailResponseBody) SetStartTime(v int64) *GetOpenCourseDetailResponseBody {
	s.StartTime = &v
	return s
}

func (s *GetOpenCourseDetailResponseBody) SetTeacherId(v string) *GetOpenCourseDetailResponseBody {
	s.TeacherId = &v
	return s
}

func (s *GetOpenCourseDetailResponseBody) SetTeacherName(v string) *GetOpenCourseDetailResponseBody {
	s.TeacherName = &v
	return s
}

func (s *GetOpenCourseDetailResponseBody) SetTitle(v string) *GetOpenCourseDetailResponseBody {
	s.Title = &v
	return s
}

type GetOpenCourseDetailResponseBodyPushModel struct {
	// This parameter is required.
	PushOrgNameList []*string `json:"pushOrgNameList,omitempty" xml:"pushOrgNameList,omitempty" type:"Repeated"`
	// This parameter is required.
	PushRoleNameList []*string `json:"pushRoleNameList,omitempty" xml:"pushRoleNameList,omitempty" type:"Repeated"`
}

func (s GetOpenCourseDetailResponseBodyPushModel) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCourseDetailResponseBodyPushModel) GoString() string {
	return s.String()
}

func (s *GetOpenCourseDetailResponseBodyPushModel) SetPushOrgNameList(v []*string) *GetOpenCourseDetailResponseBodyPushModel {
	s.PushOrgNameList = v
	return s
}

func (s *GetOpenCourseDetailResponseBodyPushModel) SetPushRoleNameList(v []*string) *GetOpenCourseDetailResponseBodyPushModel {
	s.PushRoleNameList = v
	return s
}

type GetOpenCourseDetailResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetOpenCourseDetailResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetOpenCourseDetailResponse) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCourseDetailResponse) GoString() string {
	return s.String()
}

func (s *GetOpenCourseDetailResponse) SetHeaders(v map[string]*string) *GetOpenCourseDetailResponse {
	s.Headers = v
	return s
}

func (s *GetOpenCourseDetailResponse) SetStatusCode(v int32) *GetOpenCourseDetailResponse {
	s.StatusCode = &v
	return s
}

func (s *GetOpenCourseDetailResponse) SetBody(v *GetOpenCourseDetailResponseBody) *GetOpenCourseDetailResponse {
	s.Body = v
	return s
}

type GetOpenCoursesHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetOpenCoursesHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCoursesHeaders) GoString() string {
	return s.String()
}

func (s *GetOpenCoursesHeaders) SetCommonHeaders(v map[string]*string) *GetOpenCoursesHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetOpenCoursesHeaders) SetXAcsDingtalkAccessToken(v string) *GetOpenCoursesHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetOpenCoursesRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	PageNumber *int64 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	PageSize *int64 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
}

func (s GetOpenCoursesRequest) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCoursesRequest) GoString() string {
	return s.String()
}

func (s *GetOpenCoursesRequest) SetPageNumber(v int64) *GetOpenCoursesRequest {
	s.PageNumber = &v
	return s
}

func (s *GetOpenCoursesRequest) SetPageSize(v int64) *GetOpenCoursesRequest {
	s.PageSize = &v
	return s
}

type GetOpenCoursesResponseBody struct {
	// This parameter is required.
	CourseList []*GetOpenCoursesResponseBodyCourseList `json:"courseList,omitempty" xml:"courseList,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 68
	TotalCount *int64 `json:"totalCount,omitempty" xml:"totalCount,omitempty"`
}

func (s GetOpenCoursesResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCoursesResponseBody) GoString() string {
	return s.String()
}

func (s *GetOpenCoursesResponseBody) SetCourseList(v []*GetOpenCoursesResponseBodyCourseList) *GetOpenCoursesResponseBody {
	s.CourseList = v
	return s
}

func (s *GetOpenCoursesResponseBody) SetTotalCount(v int64) *GetOpenCoursesResponseBody {
	s.TotalCount = &v
	return s
}

type GetOpenCoursesResponseBodyCourseList struct {
	// This parameter is required.
	//
	// example:
	//
	// fdjakl-fdaf-ds
	CourseId *string `json:"courseId,omitempty" xml:"courseId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// https://static.dingtalk.com/media/lALPDgCwRt4FagzMi8yZ_153_139.png
	CoverUrl *string `json:"coverUrl,omitempty" xml:"coverUrl,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0
	FeedType *int64 `json:"feedType,omitempty" xml:"feedType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// https://h5.dingtalk.com/live/video_lesson.htm?feedId=4aa5ter-05d8-4aac-834a-3b3847cf642e&mcnId=7536041420201104593&feedProperty=1&itemId=4aa563e1-05d8-4aac-841a-3b3847cf642e&dd_nav_bgcolor=FF2C2D2F#/live
	JumpUrl *string `json:"jumpUrl,omitempty" xml:"jumpUrl,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1618369786000
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123124312314
	TeacherId *string `json:"teacherId,omitempty" xml:"teacherId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 张老师
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 开学第一课
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
}

func (s GetOpenCoursesResponseBodyCourseList) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCoursesResponseBodyCourseList) GoString() string {
	return s.String()
}

func (s *GetOpenCoursesResponseBodyCourseList) SetCourseId(v string) *GetOpenCoursesResponseBodyCourseList {
	s.CourseId = &v
	return s
}

func (s *GetOpenCoursesResponseBodyCourseList) SetCoverUrl(v string) *GetOpenCoursesResponseBodyCourseList {
	s.CoverUrl = &v
	return s
}

func (s *GetOpenCoursesResponseBodyCourseList) SetFeedType(v int64) *GetOpenCoursesResponseBodyCourseList {
	s.FeedType = &v
	return s
}

func (s *GetOpenCoursesResponseBodyCourseList) SetJumpUrl(v string) *GetOpenCoursesResponseBodyCourseList {
	s.JumpUrl = &v
	return s
}

func (s *GetOpenCoursesResponseBodyCourseList) SetStartTime(v int64) *GetOpenCoursesResponseBodyCourseList {
	s.StartTime = &v
	return s
}

func (s *GetOpenCoursesResponseBodyCourseList) SetTeacherId(v string) *GetOpenCoursesResponseBodyCourseList {
	s.TeacherId = &v
	return s
}

func (s *GetOpenCoursesResponseBodyCourseList) SetTeacherName(v string) *GetOpenCoursesResponseBodyCourseList {
	s.TeacherName = &v
	return s
}

func (s *GetOpenCoursesResponseBodyCourseList) SetTitle(v string) *GetOpenCoursesResponseBodyCourseList {
	s.Title = &v
	return s
}

type GetOpenCoursesResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetOpenCoursesResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetOpenCoursesResponse) String() string {
	return tea.Prettify(s)
}

func (s GetOpenCoursesResponse) GoString() string {
	return s.String()
}

func (s *GetOpenCoursesResponse) SetHeaders(v map[string]*string) *GetOpenCoursesResponse {
	s.Headers = v
	return s
}

func (s *GetOpenCoursesResponse) SetStatusCode(v int32) *GetOpenCoursesResponse {
	s.StatusCode = &v
	return s
}

func (s *GetOpenCoursesResponse) SetBody(v *GetOpenCoursesResponseBody) *GetOpenCoursesResponse {
	s.Body = v
	return s
}

type GetPointActionRecordHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetPointActionRecordHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetPointActionRecordHeaders) GoString() string {
	return s.String()
}

func (s *GetPointActionRecordHeaders) SetCommonHeaders(v map[string]*string) *GetPointActionRecordHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetPointActionRecordHeaders) SetXAcsDingtalkAccessToken(v string) *GetPointActionRecordHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetPointActionRecordRequest struct {
	Body *GetPointActionRecordRequestBody `json:"body,omitempty" xml:"body,omitempty" type:"Struct"`
}

func (s GetPointActionRecordRequest) String() string {
	return tea.Prettify(s)
}

func (s GetPointActionRecordRequest) GoString() string {
	return s.String()
}

func (s *GetPointActionRecordRequest) SetBody(v *GetPointActionRecordRequestBody) *GetPointActionRecordRequest {
	s.Body = v
	return s
}

type GetPointActionRecordRequestBody struct {
	BizId     *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	OwnerId   *string `json:"ownerId,omitempty" xml:"ownerId,omitempty"`
	PointType *string `json:"pointType,omitempty" xml:"pointType,omitempty"`
}

func (s GetPointActionRecordRequestBody) String() string {
	return tea.Prettify(s)
}

func (s GetPointActionRecordRequestBody) GoString() string {
	return s.String()
}

func (s *GetPointActionRecordRequestBody) SetBizId(v string) *GetPointActionRecordRequestBody {
	s.BizId = &v
	return s
}

func (s *GetPointActionRecordRequestBody) SetOwnerId(v string) *GetPointActionRecordRequestBody {
	s.OwnerId = &v
	return s
}

func (s *GetPointActionRecordRequestBody) SetPointType(v string) *GetPointActionRecordRequestBody {
	s.PointType = &v
	return s
}

type GetPointActionRecordShrinkRequest struct {
	BodyShrink *string `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetPointActionRecordShrinkRequest) String() string {
	return tea.Prettify(s)
}

func (s GetPointActionRecordShrinkRequest) GoString() string {
	return s.String()
}

func (s *GetPointActionRecordShrinkRequest) SetBodyShrink(v string) *GetPointActionRecordShrinkRequest {
	s.BodyShrink = &v
	return s
}

type GetPointActionRecordResponseBody struct {
	Result  *GetPointActionRecordResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                   `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetPointActionRecordResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetPointActionRecordResponseBody) GoString() string {
	return s.String()
}

func (s *GetPointActionRecordResponseBody) SetResult(v *GetPointActionRecordResponseBodyResult) *GetPointActionRecordResponseBody {
	s.Result = v
	return s
}

func (s *GetPointActionRecordResponseBody) SetSuccess(v bool) *GetPointActionRecordResponseBody {
	s.Success = &v
	return s
}

type GetPointActionRecordResponseBodyResult struct {
	ActionTime *string `json:"actionTime,omitempty" xml:"actionTime,omitempty"`
	Quantity   *int64  `json:"quantity,omitempty" xml:"quantity,omitempty"`
	Status     *string `json:"status,omitempty" xml:"status,omitempty"`
}

func (s GetPointActionRecordResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetPointActionRecordResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetPointActionRecordResponseBodyResult) SetActionTime(v string) *GetPointActionRecordResponseBodyResult {
	s.ActionTime = &v
	return s
}

func (s *GetPointActionRecordResponseBodyResult) SetQuantity(v int64) *GetPointActionRecordResponseBodyResult {
	s.Quantity = &v
	return s
}

func (s *GetPointActionRecordResponseBodyResult) SetStatus(v string) *GetPointActionRecordResponseBodyResult {
	s.Status = &v
	return s
}

type GetPointActionRecordResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetPointActionRecordResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetPointActionRecordResponse) String() string {
	return tea.Prettify(s)
}

func (s GetPointActionRecordResponse) GoString() string {
	return s.String()
}

func (s *GetPointActionRecordResponse) SetHeaders(v map[string]*string) *GetPointActionRecordResponse {
	s.Headers = v
	return s
}

func (s *GetPointActionRecordResponse) SetStatusCode(v int32) *GetPointActionRecordResponse {
	s.StatusCode = &v
	return s
}

func (s *GetPointActionRecordResponse) SetBody(v *GetPointActionRecordResponseBody) *GetPointActionRecordResponse {
	s.Body = v
	return s
}

type GetPointInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetPointInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetPointInfoHeaders) GoString() string {
	return s.String()
}

func (s *GetPointInfoHeaders) SetCommonHeaders(v map[string]*string) *GetPointInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetPointInfoHeaders) SetXAcsDingtalkAccessToken(v string) *GetPointInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetPointInfoRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// personal
	PointType *string `json:"pointType,omitempty" xml:"pointType,omitempty"`
}

func (s GetPointInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s GetPointInfoRequest) GoString() string {
	return s.String()
}

func (s *GetPointInfoRequest) SetPointType(v string) *GetPointInfoRequest {
	s.PointType = &v
	return s
}

type GetPointInfoResponseBody struct {
	Result  *GetPointInfoResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                           `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetPointInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetPointInfoResponseBody) GoString() string {
	return s.String()
}

func (s *GetPointInfoResponseBody) SetResult(v *GetPointInfoResponseBodyResult) *GetPointInfoResponseBody {
	s.Result = v
	return s
}

func (s *GetPointInfoResponseBody) SetSuccess(v bool) *GetPointInfoResponseBody {
	s.Success = &v
	return s
}

type GetPointInfoResponseBodyResult struct {
	AvailableQuota *int64  `json:"availableQuota,omitempty" xml:"availableQuota,omitempty"`
	EndTime        *string `json:"endTime,omitempty" xml:"endTime,omitempty"`
	StartTime      *string `json:"startTime,omitempty" xml:"startTime,omitempty"`
}

func (s GetPointInfoResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetPointInfoResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetPointInfoResponseBodyResult) SetAvailableQuota(v int64) *GetPointInfoResponseBodyResult {
	s.AvailableQuota = &v
	return s
}

func (s *GetPointInfoResponseBodyResult) SetEndTime(v string) *GetPointInfoResponseBodyResult {
	s.EndTime = &v
	return s
}

func (s *GetPointInfoResponseBodyResult) SetStartTime(v string) *GetPointInfoResponseBodyResult {
	s.StartTime = &v
	return s
}

type GetPointInfoResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetPointInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetPointInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s GetPointInfoResponse) GoString() string {
	return s.String()
}

func (s *GetPointInfoResponse) SetHeaders(v map[string]*string) *GetPointInfoResponse {
	s.Headers = v
	return s
}

func (s *GetPointInfoResponse) SetStatusCode(v int32) *GetPointInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *GetPointInfoResponse) SetBody(v *GetPointInfoResponseBody) *GetPointInfoResponse {
	s.Body = v
	return s
}

type GetRemoteClassCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetRemoteClassCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetRemoteClassCourseHeaders) GoString() string {
	return s.String()
}

func (s *GetRemoteClassCourseHeaders) SetCommonHeaders(v map[string]*string) *GetRemoteClassCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetRemoteClassCourseHeaders) SetXAcsDingtalkAccessToken(v string) *GetRemoteClassCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetRemoteClassCourseRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// manager1234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
}

func (s GetRemoteClassCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s GetRemoteClassCourseRequest) GoString() string {
	return s.String()
}

func (s *GetRemoteClassCourseRequest) SetOperator(v string) *GetRemoteClassCourseRequest {
	s.Operator = &v
	return s
}

type GetRemoteClassCourseResponseBody struct {
	Result *GetRemoteClassCourseResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s GetRemoteClassCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetRemoteClassCourseResponseBody) GoString() string {
	return s.String()
}

func (s *GetRemoteClassCourseResponseBody) SetResult(v *GetRemoteClassCourseResponseBodyResult) *GetRemoteClassCourseResponseBody {
	s.Result = v
	return s
}

func (s *GetRemoteClassCourseResponseBody) SetSuccess(v bool) *GetRemoteClassCourseResponseBody {
	s.Success = &v
	return s
}

type GetRemoteClassCourseResponseBodyResult struct {
	AttendParticipants []*GetRemoteClassCourseResponseBodyResultAttendParticipants `json:"attendParticipants,omitempty" xml:"attendParticipants,omitempty" type:"Repeated"`
	// example:
	//
	// false
	CanEdit *bool `json:"canEdit,omitempty" xml:"canEdit,omitempty"`
	// example:
	//
	// UvCIp16813006
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// 春天来了
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// example:
	//
	// 1635157800000
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// example:
	//
	// https://pre-live.edu.dingtalk.com/live/showLive?courseCode=UvCIp16813006#/aiclass
	LiveUrl     *string                                              `json:"liveUrl,omitempty" xml:"liveUrl,omitempty"`
	RecordInfos []*GetRemoteClassCourseResponseBodyResultRecordInfos `json:"recordInfos,omitempty" xml:"recordInfos,omitempty" type:"Repeated"`
	// example:
	//
	// 1
	RoomStatus *int32 `json:"roomStatus,omitempty" xml:"roomStatus,omitempty"`
	// example:
	//
	// 1635150600000
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 1
	Status              *int32                                                     `json:"status,omitempty" xml:"status,omitempty"`
	TeachingParticipant *GetRemoteClassCourseResponseBodyResultTeachingParticipant `json:"teachingParticipant,omitempty" xml:"teachingParticipant,omitempty" type:"Struct"`
}

func (s GetRemoteClassCourseResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetRemoteClassCourseResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetRemoteClassCourseResponseBodyResult) SetAttendParticipants(v []*GetRemoteClassCourseResponseBodyResultAttendParticipants) *GetRemoteClassCourseResponseBodyResult {
	s.AttendParticipants = v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetCanEdit(v bool) *GetRemoteClassCourseResponseBodyResult {
	s.CanEdit = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetCourseCode(v string) *GetRemoteClassCourseResponseBodyResult {
	s.CourseCode = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetCourseName(v string) *GetRemoteClassCourseResponseBodyResult {
	s.CourseName = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetEndTime(v int64) *GetRemoteClassCourseResponseBodyResult {
	s.EndTime = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetLiveUrl(v string) *GetRemoteClassCourseResponseBodyResult {
	s.LiveUrl = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetRecordInfos(v []*GetRemoteClassCourseResponseBodyResultRecordInfos) *GetRemoteClassCourseResponseBodyResult {
	s.RecordInfos = v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetRoomStatus(v int32) *GetRemoteClassCourseResponseBodyResult {
	s.RoomStatus = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetStartTime(v int64) *GetRemoteClassCourseResponseBodyResult {
	s.StartTime = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetStatus(v int32) *GetRemoteClassCourseResponseBodyResult {
	s.Status = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResult) SetTeachingParticipant(v *GetRemoteClassCourseResponseBodyResultTeachingParticipant) *GetRemoteClassCourseResponseBodyResult {
	s.TeachingParticipant = v
	return s
}

type GetRemoteClassCourseResponseBodyResultAttendParticipants struct {
	// example:
	//
	// ding23456
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 组织234
	OrgName *string `json:"orgName,omitempty" xml:"orgName,omitempty"`
	// example:
	//
	// 865306
	ParticipantId *string `json:"participantId,omitempty" xml:"participantId,omitempty"`
	// example:
	//
	// 二年级1班
	ParticipantName *string `json:"participantName,omitempty" xml:"participantName,omitempty"`
}

func (s GetRemoteClassCourseResponseBodyResultAttendParticipants) String() string {
	return tea.Prettify(s)
}

func (s GetRemoteClassCourseResponseBodyResultAttendParticipants) GoString() string {
	return s.String()
}

func (s *GetRemoteClassCourseResponseBodyResultAttendParticipants) SetCorpId(v string) *GetRemoteClassCourseResponseBodyResultAttendParticipants {
	s.CorpId = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResultAttendParticipants) SetOrgName(v string) *GetRemoteClassCourseResponseBodyResultAttendParticipants {
	s.OrgName = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResultAttendParticipants) SetParticipantId(v string) *GetRemoteClassCourseResponseBodyResultAttendParticipants {
	s.ParticipantId = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResultAttendParticipants) SetParticipantName(v string) *GetRemoteClassCourseResponseBodyResultAttendParticipants {
	s.ParticipantName = &v
	return s
}

type GetRemoteClassCourseResponseBodyResultRecordInfos struct {
	// example:
	//
	// 2021-11-17T02:08:45Z
	StartTime *string `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 2021-11-17T04:08:45Z
	StopTime *string `json:"stopTime,omitempty" xml:"stopTime,omitempty"`
	// example:
	//
	// http://oss.xxx.com/xxxx
	Url *string `json:"url,omitempty" xml:"url,omitempty"`
}

func (s GetRemoteClassCourseResponseBodyResultRecordInfos) String() string {
	return tea.Prettify(s)
}

func (s GetRemoteClassCourseResponseBodyResultRecordInfos) GoString() string {
	return s.String()
}

func (s *GetRemoteClassCourseResponseBodyResultRecordInfos) SetStartTime(v string) *GetRemoteClassCourseResponseBodyResultRecordInfos {
	s.StartTime = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResultRecordInfos) SetStopTime(v string) *GetRemoteClassCourseResponseBodyResultRecordInfos {
	s.StopTime = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResultRecordInfos) SetUrl(v string) *GetRemoteClassCourseResponseBodyResultRecordInfos {
	s.Url = &v
	return s
}

type GetRemoteClassCourseResponseBodyResultTeachingParticipant struct {
	// example:
	//
	// ding1234
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 组织123
	OrgName *string `json:"orgName,omitempty" xml:"orgName,omitempty"`
	// example:
	//
	// 881436
	ParticipantId *string `json:"participantId,omitempty" xml:"participantId,omitempty"`
	// example:
	//
	// 一年级1班
	ParticipantName *string `json:"participantName,omitempty" xml:"participantName,omitempty"`
}

func (s GetRemoteClassCourseResponseBodyResultTeachingParticipant) String() string {
	return tea.Prettify(s)
}

func (s GetRemoteClassCourseResponseBodyResultTeachingParticipant) GoString() string {
	return s.String()
}

func (s *GetRemoteClassCourseResponseBodyResultTeachingParticipant) SetCorpId(v string) *GetRemoteClassCourseResponseBodyResultTeachingParticipant {
	s.CorpId = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResultTeachingParticipant) SetOrgName(v string) *GetRemoteClassCourseResponseBodyResultTeachingParticipant {
	s.OrgName = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResultTeachingParticipant) SetParticipantId(v string) *GetRemoteClassCourseResponseBodyResultTeachingParticipant {
	s.ParticipantId = &v
	return s
}

func (s *GetRemoteClassCourseResponseBodyResultTeachingParticipant) SetParticipantName(v string) *GetRemoteClassCourseResponseBodyResultTeachingParticipant {
	s.ParticipantName = &v
	return s
}

type GetRemoteClassCourseResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetRemoteClassCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetRemoteClassCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s GetRemoteClassCourseResponse) GoString() string {
	return s.String()
}

func (s *GetRemoteClassCourseResponse) SetHeaders(v map[string]*string) *GetRemoteClassCourseResponse {
	s.Headers = v
	return s
}

func (s *GetRemoteClassCourseResponse) SetStatusCode(v int32) *GetRemoteClassCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *GetRemoteClassCourseResponse) SetBody(v *GetRemoteClassCourseResponseBody) *GetRemoteClassCourseResponse {
	s.Body = v
	return s
}

type GetShareRoleMembersHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetShareRoleMembersHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetShareRoleMembersHeaders) GoString() string {
	return s.String()
}

func (s *GetShareRoleMembersHeaders) SetCommonHeaders(v map[string]*string) *GetShareRoleMembersHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetShareRoleMembersHeaders) SetXAcsDingtalkAccessToken(v string) *GetShareRoleMembersHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetShareRoleMembersResponseBody struct {
	// This parameter is required.
	Result []*GetShareRoleMembersResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s GetShareRoleMembersResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetShareRoleMembersResponseBody) GoString() string {
	return s.String()
}

func (s *GetShareRoleMembersResponseBody) SetResult(v []*GetShareRoleMembersResponseBodyResult) *GetShareRoleMembersResponseBody {
	s.Result = v
	return s
}

type GetShareRoleMembersResponseBodyResult struct {
	// This parameter is required.
	//
	// example:
	//
	// ding4lj234j3hj43hl312lh
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	MemberUserIdListInTrunkOrg []*string `json:"memberUserIdListInTrunkOrg,omitempty" xml:"memberUserIdListInTrunkOrg,omitempty" type:"Repeated"`
}

func (s GetShareRoleMembersResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetShareRoleMembersResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetShareRoleMembersResponseBodyResult) SetCorpId(v string) *GetShareRoleMembersResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *GetShareRoleMembersResponseBodyResult) SetMemberUserIdListInTrunkOrg(v []*string) *GetShareRoleMembersResponseBodyResult {
	s.MemberUserIdListInTrunkOrg = v
	return s
}

type GetShareRoleMembersResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetShareRoleMembersResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetShareRoleMembersResponse) String() string {
	return tea.Prettify(s)
}

func (s GetShareRoleMembersResponse) GoString() string {
	return s.String()
}

func (s *GetShareRoleMembersResponse) SetHeaders(v map[string]*string) *GetShareRoleMembersResponse {
	s.Headers = v
	return s
}

func (s *GetShareRoleMembersResponse) SetStatusCode(v int32) *GetShareRoleMembersResponse {
	s.StatusCode = &v
	return s
}

func (s *GetShareRoleMembersResponse) SetBody(v *GetShareRoleMembersResponseBody) *GetShareRoleMembersResponse {
	s.Body = v
	return s
}

type GetShareRolesHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetShareRolesHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetShareRolesHeaders) GoString() string {
	return s.String()
}

func (s *GetShareRolesHeaders) SetCommonHeaders(v map[string]*string) *GetShareRolesHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetShareRolesHeaders) SetXAcsDingtalkAccessToken(v string) *GetShareRolesHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetShareRolesResponseBody struct {
	Result []*GetShareRolesResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s GetShareRolesResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetShareRolesResponseBody) GoString() string {
	return s.String()
}

func (s *GetShareRolesResponseBody) SetResult(v []*GetShareRolesResponseBodyResult) *GetShareRolesResponseBody {
	s.Result = v
	return s
}

type GetShareRolesResponseBodyResult struct {
	// example:
	//
	// 123214123
	ShareRoleCode *string `json:"shareRoleCode,omitempty" xml:"shareRoleCode,omitempty"`
	// example:
	//
	// 校长
	ShareRoleName *string `json:"shareRoleName,omitempty" xml:"shareRoleName,omitempty"`
}

func (s GetShareRolesResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s GetShareRolesResponseBodyResult) GoString() string {
	return s.String()
}

func (s *GetShareRolesResponseBodyResult) SetShareRoleCode(v string) *GetShareRolesResponseBodyResult {
	s.ShareRoleCode = &v
	return s
}

func (s *GetShareRolesResponseBodyResult) SetShareRoleName(v string) *GetShareRolesResponseBodyResult {
	s.ShareRoleName = &v
	return s
}

type GetShareRolesResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetShareRolesResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetShareRolesResponse) String() string {
	return tea.Prettify(s)
}

func (s GetShareRolesResponse) GoString() string {
	return s.String()
}

func (s *GetShareRolesResponse) SetHeaders(v map[string]*string) *GetShareRolesResponse {
	s.Headers = v
	return s
}

func (s *GetShareRolesResponse) SetStatusCode(v int32) *GetShareRolesResponse {
	s.StatusCode = &v
	return s
}

func (s *GetShareRolesResponse) SetBody(v *GetShareRolesResponseBody) *GetShareRolesResponse {
	s.Body = v
	return s
}

type GetTaskListHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetTaskListHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetTaskListHeaders) GoString() string {
	return s.String()
}

func (s *GetTaskListHeaders) SetCommonHeaders(v map[string]*string) *GetTaskListHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetTaskListHeaders) SetXAcsDingtalkAccessToken(v string) *GetTaskListHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetTaskListRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// staff234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	PageNumber *int64 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	PageSize *int64 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
	// example:
	//
	// 2023
	TaskYear *int64 `json:"taskYear,omitempty" xml:"taskYear,omitempty"`
}

func (s GetTaskListRequest) String() string {
	return tea.Prettify(s)
}

func (s GetTaskListRequest) GoString() string {
	return s.String()
}

func (s *GetTaskListRequest) SetOperator(v string) *GetTaskListRequest {
	s.Operator = &v
	return s
}

func (s *GetTaskListRequest) SetPageNumber(v int64) *GetTaskListRequest {
	s.PageNumber = &v
	return s
}

func (s *GetTaskListRequest) SetPageSize(v int64) *GetTaskListRequest {
	s.PageSize = &v
	return s
}

func (s *GetTaskListRequest) SetTaskYear(v int64) *GetTaskListRequest {
	s.TaskYear = &v
	return s
}

type GetTaskListResponseBody struct {
	// example:
	//
	// 2
	Count    *int64                             `json:"count,omitempty" xml:"count,omitempty"`
	TaskList []*GetTaskListResponseBodyTaskList `json:"taskList,omitempty" xml:"taskList,omitempty" type:"Repeated"`
}

func (s GetTaskListResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetTaskListResponseBody) GoString() string {
	return s.String()
}

func (s *GetTaskListResponseBody) SetCount(v int64) *GetTaskListResponseBody {
	s.Count = &v
	return s
}

func (s *GetTaskListResponseBody) SetTaskList(v []*GetTaskListResponseBodyTaskList) *GetTaskListResponseBody {
	s.TaskList = v
	return s
}

type GetTaskListResponseBodyTaskList struct {
	// example:
	//
	// 2023希望校区初中
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 4240028
	TaskId *int64 `json:"taskId,omitempty" xml:"taskId,omitempty"`
	// example:
	//
	// 2023
	TaskYear *int64 `json:"taskYear,omitempty" xml:"taskYear,omitempty"`
}

func (s GetTaskListResponseBodyTaskList) String() string {
	return tea.Prettify(s)
}

func (s GetTaskListResponseBodyTaskList) GoString() string {
	return s.String()
}

func (s *GetTaskListResponseBodyTaskList) SetName(v string) *GetTaskListResponseBodyTaskList {
	s.Name = &v
	return s
}

func (s *GetTaskListResponseBodyTaskList) SetTaskId(v int64) *GetTaskListResponseBodyTaskList {
	s.TaskId = &v
	return s
}

func (s *GetTaskListResponseBodyTaskList) SetTaskYear(v int64) *GetTaskListResponseBodyTaskList {
	s.TaskYear = &v
	return s
}

type GetTaskListResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetTaskListResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetTaskListResponse) String() string {
	return tea.Prettify(s)
}

func (s GetTaskListResponse) GoString() string {
	return s.String()
}

func (s *GetTaskListResponse) SetHeaders(v map[string]*string) *GetTaskListResponse {
	s.Headers = v
	return s
}

func (s *GetTaskListResponse) SetStatusCode(v int32) *GetTaskListResponse {
	s.StatusCode = &v
	return s
}

func (s *GetTaskListResponse) SetBody(v *GetTaskListResponseBody) *GetTaskListResponse {
	s.Body = v
	return s
}

type GetTaskStudentListHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s GetTaskStudentListHeaders) String() string {
	return tea.Prettify(s)
}

func (s GetTaskStudentListHeaders) GoString() string {
	return s.String()
}

func (s *GetTaskStudentListHeaders) SetCommonHeaders(v map[string]*string) *GetTaskStudentListHeaders {
	s.CommonHeaders = v
	return s
}

func (s *GetTaskStudentListHeaders) SetXAcsDingtalkAccessToken(v string) *GetTaskStudentListHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type GetTaskStudentListRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// staff234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	PageNumber *int64 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 50
	PageSize *int64 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 4240028
	TaskId *int64 `json:"taskId,omitempty" xml:"taskId,omitempty"`
}

func (s GetTaskStudentListRequest) String() string {
	return tea.Prettify(s)
}

func (s GetTaskStudentListRequest) GoString() string {
	return s.String()
}

func (s *GetTaskStudentListRequest) SetOperator(v string) *GetTaskStudentListRequest {
	s.Operator = &v
	return s
}

func (s *GetTaskStudentListRequest) SetPageNumber(v int64) *GetTaskStudentListRequest {
	s.PageNumber = &v
	return s
}

func (s *GetTaskStudentListRequest) SetPageSize(v int64) *GetTaskStudentListRequest {
	s.PageSize = &v
	return s
}

func (s *GetTaskStudentListRequest) SetTaskId(v int64) *GetTaskStudentListRequest {
	s.TaskId = &v
	return s
}

type GetTaskStudentListResponseBody struct {
	// example:
	//
	// 2000
	Count       *int64                                       `json:"count,omitempty" xml:"count,omitempty"`
	StudentList []*GetTaskStudentListResponseBodyStudentList `json:"studentList,omitempty" xml:"studentList,omitempty" type:"Repeated"`
	// example:
	//
	// 4240028
	TaskId *int64 `json:"taskId,omitempty" xml:"taskId,omitempty"`
}

func (s GetTaskStudentListResponseBody) String() string {
	return tea.Prettify(s)
}

func (s GetTaskStudentListResponseBody) GoString() string {
	return s.String()
}

func (s *GetTaskStudentListResponseBody) SetCount(v int64) *GetTaskStudentListResponseBody {
	s.Count = &v
	return s
}

func (s *GetTaskStudentListResponseBody) SetStudentList(v []*GetTaskStudentListResponseBodyStudentList) *GetTaskStudentListResponseBody {
	s.StudentList = v
	return s
}

func (s *GetTaskStudentListResponseBody) SetTaskId(v int64) *GetTaskStudentListResponseBody {
	s.TaskId = &v
	return s
}

type GetTaskStudentListResponseBodyStudentList struct {
	// example:
	//
	// 张三
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// F
	Sexuality *string `json:"sexuality,omitempty" xml:"sexuality,omitempty"`
	// example:
	//
	// 675656
	StudentId *int64 `json:"studentId,omitempty" xml:"studentId,omitempty"`
}

func (s GetTaskStudentListResponseBodyStudentList) String() string {
	return tea.Prettify(s)
}

func (s GetTaskStudentListResponseBodyStudentList) GoString() string {
	return s.String()
}

func (s *GetTaskStudentListResponseBodyStudentList) SetName(v string) *GetTaskStudentListResponseBodyStudentList {
	s.Name = &v
	return s
}

func (s *GetTaskStudentListResponseBodyStudentList) SetSexuality(v string) *GetTaskStudentListResponseBodyStudentList {
	s.Sexuality = &v
	return s
}

func (s *GetTaskStudentListResponseBodyStudentList) SetStudentId(v int64) *GetTaskStudentListResponseBodyStudentList {
	s.StudentId = &v
	return s
}

type GetTaskStudentListResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *GetTaskStudentListResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s GetTaskStudentListResponse) String() string {
	return tea.Prettify(s)
}

func (s GetTaskStudentListResponse) GoString() string {
	return s.String()
}

func (s *GetTaskStudentListResponse) SetHeaders(v map[string]*string) *GetTaskStudentListResponse {
	s.Headers = v
	return s
}

func (s *GetTaskStudentListResponse) SetStatusCode(v int32) *GetTaskStudentListResponse {
	s.StatusCode = &v
	return s
}

func (s *GetTaskStudentListResponse) SetBody(v *GetTaskStudentListResponseBody) *GetTaskStudentListResponse {
	s.Body = v
	return s
}

type InitCoursesOfClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s InitCoursesOfClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassHeaders) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassHeaders) SetCommonHeaders(v map[string]*string) *InitCoursesOfClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *InitCoursesOfClassHeaders) SetXAcsDingtalkAccessToken(v string) *InitCoursesOfClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type InitCoursesOfClassRequest struct {
	// This parameter is required.
	Courses []*InitCoursesOfClassRequestCourses `json:"courses,omitempty" xml:"courses,omitempty" type:"Repeated"`
	// This parameter is required.
	SectionConfig *InitCoursesOfClassRequestSectionConfig `json:"sectionConfig,omitempty" xml:"sectionConfig,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// manager235
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s InitCoursesOfClassRequest) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequest) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequest) SetCourses(v []*InitCoursesOfClassRequestCourses) *InitCoursesOfClassRequest {
	s.Courses = v
	return s
}

func (s *InitCoursesOfClassRequest) SetSectionConfig(v *InitCoursesOfClassRequestSectionConfig) *InitCoursesOfClassRequest {
	s.SectionConfig = v
	return s
}

func (s *InitCoursesOfClassRequest) SetOpUserId(v string) *InitCoursesOfClassRequest {
	s.OpUserId = &v
	return s
}

type InitCoursesOfClassRequestCourses struct {
	// example:
	//
	// 语文
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// example:
	//
	// 李老师
	CreatorName *string `json:"creatorName,omitempty" xml:"creatorName,omitempty"`
	// This parameter is required.
	DateModel *InitCoursesOfClassRequestCoursesDateModel `json:"dateModel,omitempty" xml:"dateModel,omitempty" type:"Struct"`
	// example:
	//
	// 正心楼1-1
	Location *string `json:"location,omitempty" xml:"location,omitempty"`
	// This parameter is required.
	SectionModel    *InitCoursesOfClassRequestCoursesSectionModel `json:"sectionModel,omitempty" xml:"sectionModel,omitempty" type:"Struct"`
	TeacherStaffIds []*string                                     `json:"teacherStaffIds,omitempty" xml:"teacherStaffIds,omitempty" type:"Repeated"`
}

func (s InitCoursesOfClassRequestCourses) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestCourses) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestCourses) SetCourseName(v string) *InitCoursesOfClassRequestCourses {
	s.CourseName = &v
	return s
}

func (s *InitCoursesOfClassRequestCourses) SetCreatorName(v string) *InitCoursesOfClassRequestCourses {
	s.CreatorName = &v
	return s
}

func (s *InitCoursesOfClassRequestCourses) SetDateModel(v *InitCoursesOfClassRequestCoursesDateModel) *InitCoursesOfClassRequestCourses {
	s.DateModel = v
	return s
}

func (s *InitCoursesOfClassRequestCourses) SetLocation(v string) *InitCoursesOfClassRequestCourses {
	s.Location = &v
	return s
}

func (s *InitCoursesOfClassRequestCourses) SetSectionModel(v *InitCoursesOfClassRequestCoursesSectionModel) *InitCoursesOfClassRequestCourses {
	s.SectionModel = v
	return s
}

func (s *InitCoursesOfClassRequestCourses) SetTeacherStaffIds(v []*string) *InitCoursesOfClassRequestCourses {
	s.TeacherStaffIds = v
	return s
}

type InitCoursesOfClassRequestCoursesDateModel struct {
	// This parameter is required.
	//
	// example:
	//
	// 9
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 11
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2020
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s InitCoursesOfClassRequestCoursesDateModel) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestCoursesDateModel) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestCoursesDateModel) SetDayOfMonth(v int32) *InitCoursesOfClassRequestCoursesDateModel {
	s.DayOfMonth = &v
	return s
}

func (s *InitCoursesOfClassRequestCoursesDateModel) SetMonth(v int32) *InitCoursesOfClassRequestCoursesDateModel {
	s.Month = &v
	return s
}

func (s *InitCoursesOfClassRequestCoursesDateModel) SetYear(v int32) *InitCoursesOfClassRequestCoursesDateModel {
	s.Year = &v
	return s
}

type InitCoursesOfClassRequestCoursesSectionModel struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	SectionIndex *int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 第一节
	SectionName *string `json:"sectionName,omitempty" xml:"sectionName,omitempty"`
}

func (s InitCoursesOfClassRequestCoursesSectionModel) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestCoursesSectionModel) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestCoursesSectionModel) SetSectionIndex(v int32) *InitCoursesOfClassRequestCoursesSectionModel {
	s.SectionIndex = &v
	return s
}

func (s *InitCoursesOfClassRequestCoursesSectionModel) SetSectionName(v string) *InitCoursesOfClassRequestCoursesSectionModel {
	s.SectionName = &v
	return s
}

type InitCoursesOfClassRequestSectionConfig struct {
	// This parameter is required.
	End *InitCoursesOfClassRequestSectionConfigEnd `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	// This parameter is required.
	SectionModels []*InitCoursesOfClassRequestSectionConfigSectionModels `json:"sectionModels,omitempty" xml:"sectionModels,omitempty" type:"Repeated"`
	// This parameter is required.
	Start *InitCoursesOfClassRequestSectionConfigStart `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
}

func (s InitCoursesOfClassRequestSectionConfig) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestSectionConfig) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestSectionConfig) SetEnd(v *InitCoursesOfClassRequestSectionConfigEnd) *InitCoursesOfClassRequestSectionConfig {
	s.End = v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfig) SetSectionModels(v []*InitCoursesOfClassRequestSectionConfigSectionModels) *InitCoursesOfClassRequestSectionConfig {
	s.SectionModels = v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfig) SetStart(v *InitCoursesOfClassRequestSectionConfigStart) *InitCoursesOfClassRequestSectionConfig {
	s.Start = v
	return s
}

type InitCoursesOfClassRequestSectionConfigEnd struct {
	// This parameter is required.
	//
	// example:
	//
	// 9
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 11
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2020
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s InitCoursesOfClassRequestSectionConfigEnd) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestSectionConfigEnd) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestSectionConfigEnd) SetDayOfMonth(v int32) *InitCoursesOfClassRequestSectionConfigEnd {
	s.DayOfMonth = &v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigEnd) SetMonth(v int32) *InitCoursesOfClassRequestSectionConfigEnd {
	s.Month = &v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigEnd) SetYear(v int32) *InitCoursesOfClassRequestSectionConfigEnd {
	s.Year = &v
	return s
}

type InitCoursesOfClassRequestSectionConfigSectionModels struct {
	// This parameter is required.
	End *InitCoursesOfClassRequestSectionConfigSectionModelsEnd `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	SectionIndex *int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// example:
	//
	// COURSE：上课节次 REST：休息节次
	SectionType *string `json:"sectionType,omitempty" xml:"sectionType,omitempty"`
	// This parameter is required.
	Start *InitCoursesOfClassRequestSectionConfigSectionModelsStart `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
}

func (s InitCoursesOfClassRequestSectionConfigSectionModels) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestSectionConfigSectionModels) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestSectionConfigSectionModels) SetEnd(v *InitCoursesOfClassRequestSectionConfigSectionModelsEnd) *InitCoursesOfClassRequestSectionConfigSectionModels {
	s.End = v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigSectionModels) SetSectionIndex(v int32) *InitCoursesOfClassRequestSectionConfigSectionModels {
	s.SectionIndex = &v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigSectionModels) SetSectionType(v string) *InitCoursesOfClassRequestSectionConfigSectionModels {
	s.SectionType = &v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigSectionModels) SetStart(v *InitCoursesOfClassRequestSectionConfigSectionModelsStart) *InitCoursesOfClassRequestSectionConfigSectionModels {
	s.Start = v
	return s
}

type InitCoursesOfClassRequestSectionConfigSectionModelsEnd struct {
	// This parameter is required.
	//
	// example:
	//
	// 10
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 45
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s InitCoursesOfClassRequestSectionConfigSectionModelsEnd) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestSectionConfigSectionModelsEnd) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestSectionConfigSectionModelsEnd) SetHour(v int32) *InitCoursesOfClassRequestSectionConfigSectionModelsEnd {
	s.Hour = &v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigSectionModelsEnd) SetMin(v int32) *InitCoursesOfClassRequestSectionConfigSectionModelsEnd {
	s.Min = &v
	return s
}

type InitCoursesOfClassRequestSectionConfigSectionModelsStart struct {
	// This parameter is required.
	//
	// example:
	//
	// 10
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s InitCoursesOfClassRequestSectionConfigSectionModelsStart) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestSectionConfigSectionModelsStart) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestSectionConfigSectionModelsStart) SetHour(v int32) *InitCoursesOfClassRequestSectionConfigSectionModelsStart {
	s.Hour = &v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigSectionModelsStart) SetMin(v int32) *InitCoursesOfClassRequestSectionConfigSectionModelsStart {
	s.Min = &v
	return s
}

type InitCoursesOfClassRequestSectionConfigStart struct {
	// This parameter is required.
	//
	// example:
	//
	// 9
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 11
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2020
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s InitCoursesOfClassRequestSectionConfigStart) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassRequestSectionConfigStart) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassRequestSectionConfigStart) SetDayOfMonth(v int32) *InitCoursesOfClassRequestSectionConfigStart {
	s.DayOfMonth = &v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigStart) SetMonth(v int32) *InitCoursesOfClassRequestSectionConfigStart {
	s.Month = &v
	return s
}

func (s *InitCoursesOfClassRequestSectionConfigStart) SetYear(v int32) *InitCoursesOfClassRequestSectionConfigStart {
	s.Year = &v
	return s
}

type InitCoursesOfClassResponseBody struct {
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s InitCoursesOfClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassResponseBody) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassResponseBody) SetResult(v bool) *InitCoursesOfClassResponseBody {
	s.Result = &v
	return s
}

type InitCoursesOfClassResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *InitCoursesOfClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s InitCoursesOfClassResponse) String() string {
	return tea.Prettify(s)
}

func (s InitCoursesOfClassResponse) GoString() string {
	return s.String()
}

func (s *InitCoursesOfClassResponse) SetHeaders(v map[string]*string) *InitCoursesOfClassResponse {
	s.Headers = v
	return s
}

func (s *InitCoursesOfClassResponse) SetStatusCode(v int32) *InitCoursesOfClassResponse {
	s.StatusCode = &v
	return s
}

func (s *InitCoursesOfClassResponse) SetBody(v *InitCoursesOfClassResponseBody) *InitCoursesOfClassResponse {
	s.Body = v
	return s
}

type InitDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s InitDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s InitDeviceHeaders) GoString() string {
	return s.String()
}

func (s *InitDeviceHeaders) SetCommonHeaders(v map[string]*string) *InitDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *InitDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *InitDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type InitDeviceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// sdf34DFf2344
	EncryptPubKey *string `json:"encryptPubKey,omitempty" xml:"encryptPubKey,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sdf34DFfffdf2344
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// SN123456
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1231245511
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
	// example:
	//
	// 1.0
	Version *string `json:"version,omitempty" xml:"version,omitempty"`
}

func (s InitDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s InitDeviceRequest) GoString() string {
	return s.String()
}

func (s *InitDeviceRequest) SetEncryptPubKey(v string) *InitDeviceRequest {
	s.EncryptPubKey = &v
	return s
}

func (s *InitDeviceRequest) SetSignature(v string) *InitDeviceRequest {
	s.Signature = &v
	return s
}

func (s *InitDeviceRequest) SetSn(v string) *InitDeviceRequest {
	s.Sn = &v
	return s
}

func (s *InitDeviceRequest) SetTimestamp(v int64) *InitDeviceRequest {
	s.Timestamp = &v
	return s
}

func (s *InitDeviceRequest) SetVersion(v string) *InitDeviceRequest {
	s.Version = &v
	return s
}

type InitDeviceResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// success
	SuccessInfo *string `json:"successInfo,omitempty" xml:"successInfo,omitempty"`
}

func (s InitDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s InitDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *InitDeviceResponseBody) SetSuccessInfo(v string) *InitDeviceResponseBody {
	s.SuccessInfo = &v
	return s
}

type InitDeviceResponse struct {
	Headers    map[string]*string      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *InitDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s InitDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s InitDeviceResponse) GoString() string {
	return s.String()
}

func (s *InitDeviceResponse) SetHeaders(v map[string]*string) *InitDeviceResponse {
	s.Headers = v
	return s
}

func (s *InitDeviceResponse) SetStatusCode(v int32) *InitDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *InitDeviceResponse) SetBody(v *InitDeviceResponseBody) *InitDeviceResponse {
	s.Body = v
	return s
}

type InitVPaasDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s InitVPaasDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s InitVPaasDeviceHeaders) GoString() string {
	return s.String()
}

func (s *InitVPaasDeviceHeaders) SetCommonHeaders(v map[string]*string) *InitVPaasDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *InitVPaasDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *InitVPaasDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type InitVPaasDeviceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// fsdfdsa-41231
	Sn        *string `json:"sn,omitempty" xml:"sn,omitempty"`
	Timestamp *int64  `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// VIDEO_CALL
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s InitVPaasDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s InitVPaasDeviceRequest) GoString() string {
	return s.String()
}

func (s *InitVPaasDeviceRequest) SetSn(v string) *InitVPaasDeviceRequest {
	s.Sn = &v
	return s
}

func (s *InitVPaasDeviceRequest) SetTimestamp(v int64) *InitVPaasDeviceRequest {
	s.Timestamp = &v
	return s
}

func (s *InitVPaasDeviceRequest) SetType(v string) *InitVPaasDeviceRequest {
	s.Type = &v
	return s
}

type InitVPaasDeviceResponseBody struct {
	// example:
	//
	// fewupiehwioghj
	Pspk *string `json:"pspk,omitempty" xml:"pspk,omitempty"`
}

func (s InitVPaasDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s InitVPaasDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *InitVPaasDeviceResponseBody) SetPspk(v string) *InitVPaasDeviceResponseBody {
	s.Pspk = &v
	return s
}

type InitVPaasDeviceResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *InitVPaasDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s InitVPaasDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s InitVPaasDeviceResponse) GoString() string {
	return s.String()
}

func (s *InitVPaasDeviceResponse) SetHeaders(v map[string]*string) *InitVPaasDeviceResponse {
	s.Headers = v
	return s
}

func (s *InitVPaasDeviceResponse) SetStatusCode(v int32) *InitVPaasDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *InitVPaasDeviceResponse) SetBody(v *InitVPaasDeviceResponseBody) *InitVPaasDeviceResponse {
	s.Body = v
	return s
}

type InsertSectionConfigHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s InsertSectionConfigHeaders) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigHeaders) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigHeaders) SetCommonHeaders(v map[string]*string) *InsertSectionConfigHeaders {
	s.CommonHeaders = v
	return s
}

func (s *InsertSectionConfigHeaders) SetXAcsDingtalkAccessToken(v string) *InsertSectionConfigHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type InsertSectionConfigRequest struct {
	End *InsertSectionConfigRequestEnd `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	// example:
	//
	// 2020学年第一学期课表
	ScheduleName  *string                                    `json:"scheduleName,omitempty" xml:"scheduleName,omitempty"`
	SectionModels []*InsertSectionConfigRequestSectionModels `json:"sectionModels,omitempty" xml:"sectionModels,omitempty" type:"Repeated"`
	Start         *InsertSectionConfigRequestStart           `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
	// example:
	//
	// manager235
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s InsertSectionConfigRequest) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigRequest) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigRequest) SetEnd(v *InsertSectionConfigRequestEnd) *InsertSectionConfigRequest {
	s.End = v
	return s
}

func (s *InsertSectionConfigRequest) SetScheduleName(v string) *InsertSectionConfigRequest {
	s.ScheduleName = &v
	return s
}

func (s *InsertSectionConfigRequest) SetSectionModels(v []*InsertSectionConfigRequestSectionModels) *InsertSectionConfigRequest {
	s.SectionModels = v
	return s
}

func (s *InsertSectionConfigRequest) SetStart(v *InsertSectionConfigRequestStart) *InsertSectionConfigRequest {
	s.Start = v
	return s
}

func (s *InsertSectionConfigRequest) SetOpUserId(v string) *InsertSectionConfigRequest {
	s.OpUserId = &v
	return s
}

type InsertSectionConfigRequestEnd struct {
	// example:
	//
	// 1
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// example:
	//
	// 1
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s InsertSectionConfigRequestEnd) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigRequestEnd) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigRequestEnd) SetDayOfMonth(v int32) *InsertSectionConfigRequestEnd {
	s.DayOfMonth = &v
	return s
}

func (s *InsertSectionConfigRequestEnd) SetMonth(v int32) *InsertSectionConfigRequestEnd {
	s.Month = &v
	return s
}

func (s *InsertSectionConfigRequestEnd) SetYear(v int32) *InsertSectionConfigRequestEnd {
	s.Year = &v
	return s
}

type InsertSectionConfigRequestSectionModels struct {
	End *InsertSectionConfigRequestSectionModelsEnd `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	// example:
	//
	// 1
	SectionIndex *int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// example:
	//
	// 语文
	SectionName *string `json:"sectionName,omitempty" xml:"sectionName,omitempty"`
	// example:
	//
	// REST/COURSE
	SectionType *string                                       `json:"sectionType,omitempty" xml:"sectionType,omitempty"`
	Start       *InsertSectionConfigRequestSectionModelsStart `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
}

func (s InsertSectionConfigRequestSectionModels) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigRequestSectionModels) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigRequestSectionModels) SetEnd(v *InsertSectionConfigRequestSectionModelsEnd) *InsertSectionConfigRequestSectionModels {
	s.End = v
	return s
}

func (s *InsertSectionConfigRequestSectionModels) SetSectionIndex(v int32) *InsertSectionConfigRequestSectionModels {
	s.SectionIndex = &v
	return s
}

func (s *InsertSectionConfigRequestSectionModels) SetSectionName(v string) *InsertSectionConfigRequestSectionModels {
	s.SectionName = &v
	return s
}

func (s *InsertSectionConfigRequestSectionModels) SetSectionType(v string) *InsertSectionConfigRequestSectionModels {
	s.SectionType = &v
	return s
}

func (s *InsertSectionConfigRequestSectionModels) SetStart(v *InsertSectionConfigRequestSectionModelsStart) *InsertSectionConfigRequestSectionModels {
	s.Start = v
	return s
}

type InsertSectionConfigRequestSectionModelsEnd struct {
	// example:
	//
	// 10
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// example:
	//
	// 45
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s InsertSectionConfigRequestSectionModelsEnd) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigRequestSectionModelsEnd) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigRequestSectionModelsEnd) SetHour(v int32) *InsertSectionConfigRequestSectionModelsEnd {
	s.Hour = &v
	return s
}

func (s *InsertSectionConfigRequestSectionModelsEnd) SetMin(v int32) *InsertSectionConfigRequestSectionModelsEnd {
	s.Min = &v
	return s
}

type InsertSectionConfigRequestSectionModelsStart struct {
	// example:
	//
	// 10
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// example:
	//
	// 0
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s InsertSectionConfigRequestSectionModelsStart) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigRequestSectionModelsStart) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigRequestSectionModelsStart) SetHour(v int32) *InsertSectionConfigRequestSectionModelsStart {
	s.Hour = &v
	return s
}

func (s *InsertSectionConfigRequestSectionModelsStart) SetMin(v int32) *InsertSectionConfigRequestSectionModelsStart {
	s.Min = &v
	return s
}

type InsertSectionConfigRequestStart struct {
	// example:
	//
	// 1
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// example:
	//
	// 3
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s InsertSectionConfigRequestStart) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigRequestStart) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigRequestStart) SetDayOfMonth(v int32) *InsertSectionConfigRequestStart {
	s.DayOfMonth = &v
	return s
}

func (s *InsertSectionConfigRequestStart) SetMonth(v int32) *InsertSectionConfigRequestStart {
	s.Month = &v
	return s
}

func (s *InsertSectionConfigRequestStart) SetYear(v int32) *InsertSectionConfigRequestStart {
	s.Year = &v
	return s
}

type InsertSectionConfigResponseBody struct {
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s InsertSectionConfigResponseBody) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigResponseBody) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigResponseBody) SetResult(v bool) *InsertSectionConfigResponseBody {
	s.Result = &v
	return s
}

type InsertSectionConfigResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *InsertSectionConfigResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s InsertSectionConfigResponse) String() string {
	return tea.Prettify(s)
}

func (s InsertSectionConfigResponse) GoString() string {
	return s.String()
}

func (s *InsertSectionConfigResponse) SetHeaders(v map[string]*string) *InsertSectionConfigResponse {
	s.Headers = v
	return s
}

func (s *InsertSectionConfigResponse) SetStatusCode(v int32) *InsertSectionConfigResponse {
	s.StatusCode = &v
	return s
}

func (s *InsertSectionConfigResponse) SetBody(v *InsertSectionConfigResponseBody) *InsertSectionConfigResponse {
	s.Body = v
	return s
}

type InvalidCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s InvalidCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s InvalidCourseHeaders) GoString() string {
	return s.String()
}

func (s *InvalidCourseHeaders) SetCommonHeaders(v map[string]*string) *InvalidCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *InvalidCourseHeaders) SetXAcsDingtalkAccessToken(v string) *InvalidCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type InvalidCourseRequest struct {
	// example:
	//
	// classId_xxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// ding_xxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// courseId_xxx
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
}

func (s InvalidCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s InvalidCourseRequest) GoString() string {
	return s.String()
}

func (s *InvalidCourseRequest) SetClassId(v string) *InvalidCourseRequest {
	s.ClassId = &v
	return s
}

func (s *InvalidCourseRequest) SetCorpId(v string) *InvalidCourseRequest {
	s.CorpId = &v
	return s
}

func (s *InvalidCourseRequest) SetIsvCode(v string) *InvalidCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *InvalidCourseRequest) SetIsvCourseId(v string) *InvalidCourseRequest {
	s.IsvCourseId = &v
	return s
}

type InvalidCourseResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s InvalidCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s InvalidCourseResponseBody) GoString() string {
	return s.String()
}

func (s *InvalidCourseResponseBody) SetResult(v bool) *InvalidCourseResponseBody {
	s.Result = &v
	return s
}

func (s *InvalidCourseResponseBody) SetSuccess(v bool) *InvalidCourseResponseBody {
	s.Success = &v
	return s
}

type InvalidCourseResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *InvalidCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s InvalidCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s InvalidCourseResponse) GoString() string {
	return s.String()
}

func (s *InvalidCourseResponse) SetHeaders(v map[string]*string) *InvalidCourseResponse {
	s.Headers = v
	return s
}

func (s *InvalidCourseResponse) SetStatusCode(v int32) *InvalidCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *InvalidCourseResponse) SetBody(v *InvalidCourseResponseBody) *InvalidCourseResponse {
	s.Body = v
	return s
}

type InvalidKitHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s InvalidKitHeaders) String() string {
	return tea.Prettify(s)
}

func (s InvalidKitHeaders) GoString() string {
	return s.String()
}

func (s *InvalidKitHeaders) SetCommonHeaders(v map[string]*string) *InvalidKitHeaders {
	s.CommonHeaders = v
	return s
}

func (s *InvalidKitHeaders) SetXAcsDingtalkAccessToken(v string) *InvalidKitHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type InvalidKitRequest struct {
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course
	IsvProductScene *string `json:"isvProductScene,omitempty" xml:"isvProductScene,omitempty"`
	// example:
	//
	// staffxxx
	OpenUserId *string `json:"openUserId,omitempty" xml:"openUserId,omitempty"`
}

func (s InvalidKitRequest) String() string {
	return tea.Prettify(s)
}

func (s InvalidKitRequest) GoString() string {
	return s.String()
}

func (s *InvalidKitRequest) SetCorpId(v string) *InvalidKitRequest {
	s.CorpId = &v
	return s
}

func (s *InvalidKitRequest) SetIsvCode(v string) *InvalidKitRequest {
	s.IsvCode = &v
	return s
}

func (s *InvalidKitRequest) SetIsvProductScene(v string) *InvalidKitRequest {
	s.IsvProductScene = &v
	return s
}

func (s *InvalidKitRequest) SetOpenUserId(v string) *InvalidKitRequest {
	s.OpenUserId = &v
	return s
}

type InvalidKitResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s InvalidKitResponseBody) String() string {
	return tea.Prettify(s)
}

func (s InvalidKitResponseBody) GoString() string {
	return s.String()
}

func (s *InvalidKitResponseBody) SetResult(v bool) *InvalidKitResponseBody {
	s.Result = &v
	return s
}

func (s *InvalidKitResponseBody) SetSuccess(v bool) *InvalidKitResponseBody {
	s.Success = &v
	return s
}

type InvalidKitResponse struct {
	Headers    map[string]*string      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *InvalidKitResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s InvalidKitResponse) String() string {
	return tea.Prettify(s)
}

func (s InvalidKitResponse) GoString() string {
	return s.String()
}

func (s *InvalidKitResponse) SetHeaders(v map[string]*string) *InvalidKitResponse {
	s.Headers = v
	return s
}

func (s *InvalidKitResponse) SetStatusCode(v int32) *InvalidKitResponse {
	s.StatusCode = &v
	return s
}

func (s *InvalidKitResponse) SetBody(v *InvalidKitResponseBody) *InvalidKitResponse {
	s.Body = v
	return s
}

type InvalidStudentClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s InvalidStudentClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s InvalidStudentClassHeaders) GoString() string {
	return s.String()
}

func (s *InvalidStudentClassHeaders) SetCommonHeaders(v map[string]*string) *InvalidStudentClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *InvalidStudentClassHeaders) SetXAcsDingtalkAccessToken(v string) *InvalidStudentClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type InvalidStudentClassRequest struct {
	// example:
	//
	// classxxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 1
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode        *string   `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	StudentUserIds []*string `json:"studentUserIds,omitempty" xml:"studentUserIds,omitempty" type:"Repeated"`
}

func (s InvalidStudentClassRequest) String() string {
	return tea.Prettify(s)
}

func (s InvalidStudentClassRequest) GoString() string {
	return s.String()
}

func (s *InvalidStudentClassRequest) SetClassId(v string) *InvalidStudentClassRequest {
	s.ClassId = &v
	return s
}

func (s *InvalidStudentClassRequest) SetClassType(v int32) *InvalidStudentClassRequest {
	s.ClassType = &v
	return s
}

func (s *InvalidStudentClassRequest) SetCorpId(v string) *InvalidStudentClassRequest {
	s.CorpId = &v
	return s
}

func (s *InvalidStudentClassRequest) SetIsvCode(v string) *InvalidStudentClassRequest {
	s.IsvCode = &v
	return s
}

func (s *InvalidStudentClassRequest) SetStudentUserIds(v []*string) *InvalidStudentClassRequest {
	s.StudentUserIds = v
	return s
}

type InvalidStudentClassResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s InvalidStudentClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s InvalidStudentClassResponseBody) GoString() string {
	return s.String()
}

func (s *InvalidStudentClassResponseBody) SetResult(v bool) *InvalidStudentClassResponseBody {
	s.Result = &v
	return s
}

func (s *InvalidStudentClassResponseBody) SetSuccess(v bool) *InvalidStudentClassResponseBody {
	s.Success = &v
	return s
}

type InvalidStudentClassResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *InvalidStudentClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s InvalidStudentClassResponse) String() string {
	return tea.Prettify(s)
}

func (s InvalidStudentClassResponse) GoString() string {
	return s.String()
}

func (s *InvalidStudentClassResponse) SetHeaders(v map[string]*string) *InvalidStudentClassResponse {
	s.Headers = v
	return s
}

func (s *InvalidStudentClassResponse) SetStatusCode(v int32) *InvalidStudentClassResponse {
	s.StatusCode = &v
	return s
}

func (s *InvalidStudentClassResponse) SetBody(v *InvalidStudentClassResponseBody) *InvalidStudentClassResponse {
	s.Body = v
	return s
}

type InvalidTeacherCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s InvalidTeacherCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s InvalidTeacherCourseHeaders) GoString() string {
	return s.String()
}

func (s *InvalidTeacherCourseHeaders) SetCommonHeaders(v map[string]*string) *InvalidTeacherCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *InvalidTeacherCourseHeaders) SetXAcsDingtalkAccessToken(v string) *InvalidTeacherCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type InvalidTeacherCourseRequest struct {
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode                *string   `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	NeedDeleteCourseIdList []*string `json:"needDeleteCourseIdList,omitempty" xml:"needDeleteCourseIdList,omitempty" type:"Repeated"`
	// example:
	//
	// staffxxx
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s InvalidTeacherCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s InvalidTeacherCourseRequest) GoString() string {
	return s.String()
}

func (s *InvalidTeacherCourseRequest) SetCorpId(v string) *InvalidTeacherCourseRequest {
	s.CorpId = &v
	return s
}

func (s *InvalidTeacherCourseRequest) SetIsvCode(v string) *InvalidTeacherCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *InvalidTeacherCourseRequest) SetNeedDeleteCourseIdList(v []*string) *InvalidTeacherCourseRequest {
	s.NeedDeleteCourseIdList = v
	return s
}

func (s *InvalidTeacherCourseRequest) SetTeacherUserId(v string) *InvalidTeacherCourseRequest {
	s.TeacherUserId = &v
	return s
}

type InvalidTeacherCourseResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s InvalidTeacherCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s InvalidTeacherCourseResponseBody) GoString() string {
	return s.String()
}

func (s *InvalidTeacherCourseResponseBody) SetResult(v bool) *InvalidTeacherCourseResponseBody {
	s.Result = &v
	return s
}

func (s *InvalidTeacherCourseResponseBody) SetSuccess(v bool) *InvalidTeacherCourseResponseBody {
	s.Success = &v
	return s
}

type InvalidTeacherCourseResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *InvalidTeacherCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s InvalidTeacherCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s InvalidTeacherCourseResponse) GoString() string {
	return s.String()
}

func (s *InvalidTeacherCourseResponse) SetHeaders(v map[string]*string) *InvalidTeacherCourseResponse {
	s.Headers = v
	return s
}

func (s *InvalidTeacherCourseResponse) SetStatusCode(v int32) *InvalidTeacherCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *InvalidTeacherCourseResponse) SetBody(v *InvalidTeacherCourseResponseBody) *InvalidTeacherCourseResponse {
	s.Body = v
	return s
}

type IsYuwenCertifiedTeacherHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s IsYuwenCertifiedTeacherHeaders) String() string {
	return tea.Prettify(s)
}

func (s IsYuwenCertifiedTeacherHeaders) GoString() string {
	return s.String()
}

func (s *IsYuwenCertifiedTeacherHeaders) SetCommonHeaders(v map[string]*string) *IsYuwenCertifiedTeacherHeaders {
	s.CommonHeaders = v
	return s
}

func (s *IsYuwenCertifiedTeacherHeaders) SetXAcsDingtalkAccessToken(v string) *IsYuwenCertifiedTeacherHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type IsYuwenCertifiedTeacherRequest struct {
	// This parameter is required.
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s IsYuwenCertifiedTeacherRequest) String() string {
	return tea.Prettify(s)
}

func (s IsYuwenCertifiedTeacherRequest) GoString() string {
	return s.String()
}

func (s *IsYuwenCertifiedTeacherRequest) SetBizCode(v string) *IsYuwenCertifiedTeacherRequest {
	s.BizCode = &v
	return s
}

func (s *IsYuwenCertifiedTeacherRequest) SetUserId(v string) *IsYuwenCertifiedTeacherRequest {
	s.UserId = &v
	return s
}

type IsYuwenCertifiedTeacherResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s IsYuwenCertifiedTeacherResponseBody) String() string {
	return tea.Prettify(s)
}

func (s IsYuwenCertifiedTeacherResponseBody) GoString() string {
	return s.String()
}

func (s *IsYuwenCertifiedTeacherResponseBody) SetResult(v bool) *IsYuwenCertifiedTeacherResponseBody {
	s.Result = &v
	return s
}

func (s *IsYuwenCertifiedTeacherResponseBody) SetSuccess(v bool) *IsYuwenCertifiedTeacherResponseBody {
	s.Success = &v
	return s
}

type IsYuwenCertifiedTeacherResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *IsYuwenCertifiedTeacherResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s IsYuwenCertifiedTeacherResponse) String() string {
	return tea.Prettify(s)
}

func (s IsYuwenCertifiedTeacherResponse) GoString() string {
	return s.String()
}

func (s *IsYuwenCertifiedTeacherResponse) SetHeaders(v map[string]*string) *IsYuwenCertifiedTeacherResponse {
	s.Headers = v
	return s
}

func (s *IsYuwenCertifiedTeacherResponse) SetStatusCode(v int32) *IsYuwenCertifiedTeacherResponse {
	s.StatusCode = &v
	return s
}

func (s *IsYuwenCertifiedTeacherResponse) SetBody(v *IsYuwenCertifiedTeacherResponseBody) *IsYuwenCertifiedTeacherResponse {
	s.Body = v
	return s
}

type IsvDataWriteHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s IsvDataWriteHeaders) String() string {
	return tea.Prettify(s)
}

func (s IsvDataWriteHeaders) GoString() string {
	return s.String()
}

func (s *IsvDataWriteHeaders) SetCommonHeaders(v map[string]*string) *IsvDataWriteHeaders {
	s.CommonHeaders = v
	return s
}

func (s *IsvDataWriteHeaders) SetXAcsDingtalkAccessToken(v string) *IsvDataWriteHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type IsvDataWriteRequest struct {
	// example:
	//
	// tb_test01
	ObjectCode   *string                              `json:"objectCode,omitempty" xml:"objectCode,omitempty"`
	RowValueList [][]*IsvDataWriteRequestRowValueList `json:"rowValueList,omitempty" xml:"rowValueList,omitempty" type:"Repeated"`
}

func (s IsvDataWriteRequest) String() string {
	return tea.Prettify(s)
}

func (s IsvDataWriteRequest) GoString() string {
	return s.String()
}

func (s *IsvDataWriteRequest) SetObjectCode(v string) *IsvDataWriteRequest {
	s.ObjectCode = &v
	return s
}

func (s *IsvDataWriteRequest) SetRowValueList(v [][]*IsvDataWriteRequestRowValueList) *IsvDataWriteRequest {
	s.RowValueList = v
	return s
}

type IsvDataWriteRequestRowValueList struct {
	// example:
	//
	// id
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 1
	Value *string `json:"value,omitempty" xml:"value,omitempty"`
}

func (s IsvDataWriteRequestRowValueList) String() string {
	return tea.Prettify(s)
}

func (s IsvDataWriteRequestRowValueList) GoString() string {
	return s.String()
}

func (s *IsvDataWriteRequestRowValueList) SetName(v string) *IsvDataWriteRequestRowValueList {
	s.Name = &v
	return s
}

func (s *IsvDataWriteRequestRowValueList) SetValue(v string) *IsvDataWriteRequestRowValueList {
	s.Value = &v
	return s
}

type IsvDataWriteResponseBody struct {
	Result  *IsvDataWriteResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                           `json:"success,omitempty" xml:"success,omitempty"`
}

func (s IsvDataWriteResponseBody) String() string {
	return tea.Prettify(s)
}

func (s IsvDataWriteResponseBody) GoString() string {
	return s.String()
}

func (s *IsvDataWriteResponseBody) SetResult(v *IsvDataWriteResponseBodyResult) *IsvDataWriteResponseBody {
	s.Result = v
	return s
}

func (s *IsvDataWriteResponseBody) SetSuccess(v bool) *IsvDataWriteResponseBody {
	s.Success = &v
	return s
}

type IsvDataWriteResponseBodyResult struct {
	NeedRetry *bool `json:"needRetry,omitempty" xml:"needRetry,omitempty"`
	Success   *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s IsvDataWriteResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s IsvDataWriteResponseBodyResult) GoString() string {
	return s.String()
}

func (s *IsvDataWriteResponseBodyResult) SetNeedRetry(v bool) *IsvDataWriteResponseBodyResult {
	s.NeedRetry = &v
	return s
}

func (s *IsvDataWriteResponseBodyResult) SetSuccess(v bool) *IsvDataWriteResponseBodyResult {
	s.Success = &v
	return s
}

type IsvDataWriteResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *IsvDataWriteResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s IsvDataWriteResponse) String() string {
	return tea.Prettify(s)
}

func (s IsvDataWriteResponse) GoString() string {
	return s.String()
}

func (s *IsvDataWriteResponse) SetHeaders(v map[string]*string) *IsvDataWriteResponse {
	s.Headers = v
	return s
}

func (s *IsvDataWriteResponse) SetStatusCode(v int32) *IsvDataWriteResponse {
	s.StatusCode = &v
	return s
}

func (s *IsvDataWriteResponse) SetBody(v *IsvDataWriteResponseBody) *IsvDataWriteResponse {
	s.Body = v
	return s
}

type IsvMetadataQueryHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s IsvMetadataQueryHeaders) String() string {
	return tea.Prettify(s)
}

func (s IsvMetadataQueryHeaders) GoString() string {
	return s.String()
}

func (s *IsvMetadataQueryHeaders) SetCommonHeaders(v map[string]*string) *IsvMetadataQueryHeaders {
	s.CommonHeaders = v
	return s
}

func (s *IsvMetadataQueryHeaders) SetXAcsDingtalkAccessToken(v string) *IsvMetadataQueryHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type IsvMetadataQueryRequest struct {
	// example:
	//
	// abc
	ObjectCode *string `json:"objectCode,omitempty" xml:"objectCode,omitempty"`
}

func (s IsvMetadataQueryRequest) String() string {
	return tea.Prettify(s)
}

func (s IsvMetadataQueryRequest) GoString() string {
	return s.String()
}

func (s *IsvMetadataQueryRequest) SetObjectCode(v string) *IsvMetadataQueryRequest {
	s.ObjectCode = &v
	return s
}

type IsvMetadataQueryResponseBody struct {
	Result  *IsvMetadataQueryResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                               `json:"success,omitempty" xml:"success,omitempty"`
}

func (s IsvMetadataQueryResponseBody) String() string {
	return tea.Prettify(s)
}

func (s IsvMetadataQueryResponseBody) GoString() string {
	return s.String()
}

func (s *IsvMetadataQueryResponseBody) SetResult(v *IsvMetadataQueryResponseBodyResult) *IsvMetadataQueryResponseBody {
	s.Result = v
	return s
}

func (s *IsvMetadataQueryResponseBody) SetSuccess(v bool) *IsvMetadataQueryResponseBody {
	s.Success = &v
	return s
}

type IsvMetadataQueryResponseBodyResult struct {
	Fields []*IsvMetadataQueryResponseBodyResultFields `json:"fields,omitempty" xml:"fields,omitempty" type:"Repeated"`
	// example:
	//
	// tb_test01
	TableCode  *string `json:"tableCode,omitempty" xml:"tableCode,omitempty"`
	TableExist *bool   `json:"tableExist,omitempty" xml:"tableExist,omitempty"`
}

func (s IsvMetadataQueryResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s IsvMetadataQueryResponseBodyResult) GoString() string {
	return s.String()
}

func (s *IsvMetadataQueryResponseBodyResult) SetFields(v []*IsvMetadataQueryResponseBodyResultFields) *IsvMetadataQueryResponseBodyResult {
	s.Fields = v
	return s
}

func (s *IsvMetadataQueryResponseBodyResult) SetTableCode(v string) *IsvMetadataQueryResponseBodyResult {
	s.TableCode = &v
	return s
}

func (s *IsvMetadataQueryResponseBodyResult) SetTableExist(v bool) *IsvMetadataQueryResponseBodyResult {
	s.TableExist = &v
	return s
}

type IsvMetadataQueryResponseBodyResultFields struct {
	// example:
	//
	// 该字段为id主键
	Description *string `json:"description,omitempty" xml:"description,omitempty"`
	// example:
	//
	// id
	FieldKey *string `json:"fieldKey,omitempty" xml:"fieldKey,omitempty"`
	// example:
	//
	// id主键
	FieldName *string `json:"fieldName,omitempty" xml:"fieldName,omitempty"`
	// example:
	//
	// varchar
	FieldType  *string `json:"fieldType,omitempty" xml:"fieldType,omitempty"`
	PrimaryKey *bool   `json:"primaryKey,omitempty" xml:"primaryKey,omitempty"`
	Required   *bool   `json:"required,omitempty" xml:"required,omitempty"`
}

func (s IsvMetadataQueryResponseBodyResultFields) String() string {
	return tea.Prettify(s)
}

func (s IsvMetadataQueryResponseBodyResultFields) GoString() string {
	return s.String()
}

func (s *IsvMetadataQueryResponseBodyResultFields) SetDescription(v string) *IsvMetadataQueryResponseBodyResultFields {
	s.Description = &v
	return s
}

func (s *IsvMetadataQueryResponseBodyResultFields) SetFieldKey(v string) *IsvMetadataQueryResponseBodyResultFields {
	s.FieldKey = &v
	return s
}

func (s *IsvMetadataQueryResponseBodyResultFields) SetFieldName(v string) *IsvMetadataQueryResponseBodyResultFields {
	s.FieldName = &v
	return s
}

func (s *IsvMetadataQueryResponseBodyResultFields) SetFieldType(v string) *IsvMetadataQueryResponseBodyResultFields {
	s.FieldType = &v
	return s
}

func (s *IsvMetadataQueryResponseBodyResultFields) SetPrimaryKey(v bool) *IsvMetadataQueryResponseBodyResultFields {
	s.PrimaryKey = &v
	return s
}

func (s *IsvMetadataQueryResponseBodyResultFields) SetRequired(v bool) *IsvMetadataQueryResponseBodyResultFields {
	s.Required = &v
	return s
}

type IsvMetadataQueryResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *IsvMetadataQueryResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s IsvMetadataQueryResponse) String() string {
	return tea.Prettify(s)
}

func (s IsvMetadataQueryResponse) GoString() string {
	return s.String()
}

func (s *IsvMetadataQueryResponse) SetHeaders(v map[string]*string) *IsvMetadataQueryResponse {
	s.Headers = v
	return s
}

func (s *IsvMetadataQueryResponse) SetStatusCode(v int32) *IsvMetadataQueryResponse {
	s.StatusCode = &v
	return s
}

func (s *IsvMetadataQueryResponse) SetBody(v *IsvMetadataQueryResponseBody) *IsvMetadataQueryResponse {
	s.Body = v
	return s
}

type ListCollegeContactDeptTypeConfigHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ListCollegeContactDeptTypeConfigHeaders) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactDeptTypeConfigHeaders) GoString() string {
	return s.String()
}

func (s *ListCollegeContactDeptTypeConfigHeaders) SetCommonHeaders(v map[string]*string) *ListCollegeContactDeptTypeConfigHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ListCollegeContactDeptTypeConfigHeaders) SetXAcsDingtalkAccessToken(v string) *ListCollegeContactDeptTypeConfigHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ListCollegeContactDeptTypeConfigRequest struct {
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
}

func (s ListCollegeContactDeptTypeConfigRequest) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactDeptTypeConfigRequest) GoString() string {
	return s.String()
}

func (s *ListCollegeContactDeptTypeConfigRequest) SetLanguage(v string) *ListCollegeContactDeptTypeConfigRequest {
	s.Language = &v
	return s
}

type ListCollegeContactDeptTypeConfigResponseBody struct {
	Result  []*ListCollegeContactDeptTypeConfigResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                                 `json:"success,omitempty" xml:"success,omitempty"`
}

func (s ListCollegeContactDeptTypeConfigResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactDeptTypeConfigResponseBody) GoString() string {
	return s.String()
}

func (s *ListCollegeContactDeptTypeConfigResponseBody) SetResult(v []*ListCollegeContactDeptTypeConfigResponseBodyResult) *ListCollegeContactDeptTypeConfigResponseBody {
	s.Result = v
	return s
}

func (s *ListCollegeContactDeptTypeConfigResponseBody) SetSuccess(v bool) *ListCollegeContactDeptTypeConfigResponseBody {
	s.Success = &v
	return s
}

type ListCollegeContactDeptTypeConfigResponseBodyResult struct {
	// example:
	//
	// contact_class_dept
	DeptType *string `json:"deptType,omitempty" xml:"deptType,omitempty"`
	// example:
	//
	// 班级
	Name    *string `json:"name,omitempty" xml:"name,omitempty"`
	UserDef *bool   `json:"userDef,omitempty" xml:"userDef,omitempty"`
}

func (s ListCollegeContactDeptTypeConfigResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactDeptTypeConfigResponseBodyResult) GoString() string {
	return s.String()
}

func (s *ListCollegeContactDeptTypeConfigResponseBodyResult) SetDeptType(v string) *ListCollegeContactDeptTypeConfigResponseBodyResult {
	s.DeptType = &v
	return s
}

func (s *ListCollegeContactDeptTypeConfigResponseBodyResult) SetName(v string) *ListCollegeContactDeptTypeConfigResponseBodyResult {
	s.Name = &v
	return s
}

func (s *ListCollegeContactDeptTypeConfigResponseBodyResult) SetUserDef(v bool) *ListCollegeContactDeptTypeConfigResponseBodyResult {
	s.UserDef = &v
	return s
}

type ListCollegeContactDeptTypeConfigResponse struct {
	Headers    map[string]*string                            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ListCollegeContactDeptTypeConfigResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ListCollegeContactDeptTypeConfigResponse) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactDeptTypeConfigResponse) GoString() string {
	return s.String()
}

func (s *ListCollegeContactDeptTypeConfigResponse) SetHeaders(v map[string]*string) *ListCollegeContactDeptTypeConfigResponse {
	s.Headers = v
	return s
}

func (s *ListCollegeContactDeptTypeConfigResponse) SetStatusCode(v int32) *ListCollegeContactDeptTypeConfigResponse {
	s.StatusCode = &v
	return s
}

func (s *ListCollegeContactDeptTypeConfigResponse) SetBody(v *ListCollegeContactDeptTypeConfigResponseBody) *ListCollegeContactDeptTypeConfigResponse {
	s.Body = v
	return s
}

type ListCollegeContactSceneStrusHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ListCollegeContactSceneStrusHeaders) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSceneStrusHeaders) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSceneStrusHeaders) SetCommonHeaders(v map[string]*string) *ListCollegeContactSceneStrusHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ListCollegeContactSceneStrusHeaders) SetXAcsDingtalkAccessToken(v string) *ListCollegeContactSceneStrusHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ListCollegeContactSceneStrusRequest struct {
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
}

func (s ListCollegeContactSceneStrusRequest) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSceneStrusRequest) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSceneStrusRequest) SetLanguage(v string) *ListCollegeContactSceneStrusRequest {
	s.Language = &v
	return s
}

type ListCollegeContactSceneStrusResponseBody struct {
	Result  []*ListCollegeContactSceneStrusResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                             `json:"success,omitempty" xml:"success,omitempty"`
}

func (s ListCollegeContactSceneStrusResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSceneStrusResponseBody) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSceneStrusResponseBody) SetResult(v []*ListCollegeContactSceneStrusResponseBodyResult) *ListCollegeContactSceneStrusResponseBody {
	s.Result = v
	return s
}

func (s *ListCollegeContactSceneStrusResponseBody) SetSuccess(v bool) *ListCollegeContactSceneStrusResponseBody {
	s.Success = &v
	return s
}

type ListCollegeContactSceneStrusResponseBodyResult struct {
	Enable           *bool `json:"enable,omitempty" xml:"enable,omitempty"`
	HasStruFixedDept *bool `json:"hasStruFixedDept,omitempty" xml:"hasStruFixedDept,omitempty"`
	// example:
	//
	// 这是科研架构简介
	StruBrief *string `json:"struBrief,omitempty" xml:"struBrief,omitempty"`
	// example:
	//
	// 20
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
	// example:
	//
	// 科研架构
	StruName *string `json:"struName,omitempty" xml:"struName,omitempty"`
	// example:
	//
	// stru_research_dept
	StruType *string `json:"struType,omitempty" xml:"struType,omitempty"`
	// example:
	//
	// 20
	StudentDeptId *int64 `json:"studentDeptId,omitempty" xml:"studentDeptId,omitempty"`
	// example:
	//
	// 20
	TeacherDeptId *int64 `json:"teacherDeptId,omitempty" xml:"teacherDeptId,omitempty"`
}

func (s ListCollegeContactSceneStrusResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSceneStrusResponseBodyResult) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSceneStrusResponseBodyResult) SetEnable(v bool) *ListCollegeContactSceneStrusResponseBodyResult {
	s.Enable = &v
	return s
}

func (s *ListCollegeContactSceneStrusResponseBodyResult) SetHasStruFixedDept(v bool) *ListCollegeContactSceneStrusResponseBodyResult {
	s.HasStruFixedDept = &v
	return s
}

func (s *ListCollegeContactSceneStrusResponseBodyResult) SetStruBrief(v string) *ListCollegeContactSceneStrusResponseBodyResult {
	s.StruBrief = &v
	return s
}

func (s *ListCollegeContactSceneStrusResponseBodyResult) SetStruId(v int64) *ListCollegeContactSceneStrusResponseBodyResult {
	s.StruId = &v
	return s
}

func (s *ListCollegeContactSceneStrusResponseBodyResult) SetStruName(v string) *ListCollegeContactSceneStrusResponseBodyResult {
	s.StruName = &v
	return s
}

func (s *ListCollegeContactSceneStrusResponseBodyResult) SetStruType(v string) *ListCollegeContactSceneStrusResponseBodyResult {
	s.StruType = &v
	return s
}

func (s *ListCollegeContactSceneStrusResponseBodyResult) SetStudentDeptId(v int64) *ListCollegeContactSceneStrusResponseBodyResult {
	s.StudentDeptId = &v
	return s
}

func (s *ListCollegeContactSceneStrusResponseBodyResult) SetTeacherDeptId(v int64) *ListCollegeContactSceneStrusResponseBodyResult {
	s.TeacherDeptId = &v
	return s
}

type ListCollegeContactSceneStrusResponse struct {
	Headers    map[string]*string                        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ListCollegeContactSceneStrusResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ListCollegeContactSceneStrusResponse) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSceneStrusResponse) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSceneStrusResponse) SetHeaders(v map[string]*string) *ListCollegeContactSceneStrusResponse {
	s.Headers = v
	return s
}

func (s *ListCollegeContactSceneStrusResponse) SetStatusCode(v int32) *ListCollegeContactSceneStrusResponse {
	s.StatusCode = &v
	return s
}

func (s *ListCollegeContactSceneStrusResponse) SetBody(v *ListCollegeContactSceneStrusResponseBody) *ListCollegeContactSceneStrusResponse {
	s.Body = v
	return s
}

type ListCollegeContactSubDeptsHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ListCollegeContactSubDeptsHeaders) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSubDeptsHeaders) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSubDeptsHeaders) SetCommonHeaders(v map[string]*string) *ListCollegeContactSubDeptsHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ListCollegeContactSubDeptsHeaders) SetXAcsDingtalkAccessToken(v string) *ListCollegeContactSubDeptsHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ListCollegeContactSubDeptsRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 200
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
}

func (s ListCollegeContactSubDeptsRequest) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSubDeptsRequest) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSubDeptsRequest) SetDeptId(v int64) *ListCollegeContactSubDeptsRequest {
	s.DeptId = &v
	return s
}

func (s *ListCollegeContactSubDeptsRequest) SetLanguage(v string) *ListCollegeContactSubDeptsRequest {
	s.Language = &v
	return s
}

type ListCollegeContactSubDeptsResponseBody struct {
	Result  []*ListCollegeContactSubDeptsResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                           `json:"success,omitempty" xml:"success,omitempty"`
}

func (s ListCollegeContactSubDeptsResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSubDeptsResponseBody) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSubDeptsResponseBody) SetResult(v []*ListCollegeContactSubDeptsResponseBodyResult) *ListCollegeContactSubDeptsResponseBody {
	s.Result = v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBody) SetSuccess(v bool) *ListCollegeContactSubDeptsResponseBody {
	s.Success = &v
	return s
}

type ListCollegeContactSubDeptsResponseBodyResult struct {
	AutoAddUser     *bool `json:"autoAddUser,omitempty" xml:"autoAddUser,omitempty"`
	CreateDeptGroup *bool `json:"createDeptGroup,omitempty" xml:"createDeptGroup,omitempty"`
	// example:
	//
	// dept456
	DeptCode *string `json:"deptCode,omitempty" xml:"deptCode,omitempty"`
	// example:
	//
	// 456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// contact_class_dept
	DeptType *string `json:"deptType,omitempty" xml:"deptType,omitempty"`
	// example:
	//
	// {}
	Extension    *string `json:"extension,omitempty" xml:"extension,omitempty"`
	FromUnionOrg *bool   `json:"fromUnionOrg,omitempty" xml:"fromUnionOrg,omitempty"`
	// example:
	//
	// 软件工程
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 200
	ParentId *int64 `json:"parentId,omitempty" xml:"parentId,omitempty"`
	// example:
	//
	// 软件工程标识
	SourceIdentifier *string `json:"sourceIdentifier,omitempty" xml:"sourceIdentifier,omitempty"`
	// example:
	//
	// 200
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
	// example:
	//
	// campus
	Tags *string `json:"tags,omitempty" xml:"tags,omitempty"`
}

func (s ListCollegeContactSubDeptsResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSubDeptsResponseBodyResult) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetAutoAddUser(v bool) *ListCollegeContactSubDeptsResponseBodyResult {
	s.AutoAddUser = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetCreateDeptGroup(v bool) *ListCollegeContactSubDeptsResponseBodyResult {
	s.CreateDeptGroup = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetDeptCode(v string) *ListCollegeContactSubDeptsResponseBodyResult {
	s.DeptCode = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetDeptId(v int64) *ListCollegeContactSubDeptsResponseBodyResult {
	s.DeptId = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetDeptType(v string) *ListCollegeContactSubDeptsResponseBodyResult {
	s.DeptType = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetExtension(v string) *ListCollegeContactSubDeptsResponseBodyResult {
	s.Extension = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetFromUnionOrg(v bool) *ListCollegeContactSubDeptsResponseBodyResult {
	s.FromUnionOrg = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetName(v string) *ListCollegeContactSubDeptsResponseBodyResult {
	s.Name = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetParentId(v int64) *ListCollegeContactSubDeptsResponseBodyResult {
	s.ParentId = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetSourceIdentifier(v string) *ListCollegeContactSubDeptsResponseBodyResult {
	s.SourceIdentifier = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetStruId(v int64) *ListCollegeContactSubDeptsResponseBodyResult {
	s.StruId = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponseBodyResult) SetTags(v string) *ListCollegeContactSubDeptsResponseBodyResult {
	s.Tags = &v
	return s
}

type ListCollegeContactSubDeptsResponse struct {
	Headers    map[string]*string                      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ListCollegeContactSubDeptsResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ListCollegeContactSubDeptsResponse) String() string {
	return tea.Prettify(s)
}

func (s ListCollegeContactSubDeptsResponse) GoString() string {
	return s.String()
}

func (s *ListCollegeContactSubDeptsResponse) SetHeaders(v map[string]*string) *ListCollegeContactSubDeptsResponse {
	s.Headers = v
	return s
}

func (s *ListCollegeContactSubDeptsResponse) SetStatusCode(v int32) *ListCollegeContactSubDeptsResponse {
	s.StatusCode = &v
	return s
}

func (s *ListCollegeContactSubDeptsResponse) SetBody(v *ListCollegeContactSubDeptsResponseBody) *ListCollegeContactSubDeptsResponse {
	s.Body = v
	return s
}

type ListOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ListOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s ListOrderHeaders) GoString() string {
	return s.String()
}

func (s *ListOrderHeaders) SetCommonHeaders(v map[string]*string) *ListOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ListOrderHeaders) SetXAcsDingtalkAccessToken(v string) *ListOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ListOrderRequest struct {
	// example:
	//
	// 1647503420000
	CreateTimeEnd *int64 `json:"createTimeEnd,omitempty" xml:"createTimeEnd,omitempty"`
	// example:
	//
	// 1647503420000
	CreateTimeStart *int64 `json:"createTimeStart,omitempty" xml:"createTimeStart,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// SM123124124
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// example:
	//
	// 2022312312333
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	PageNumber *int64 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 200
	PageSize *int64 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
	// example:
	//
	// 1
	Scene *int64 `json:"scene,omitempty" xml:"scene,omitempty"`
	// example:
	//
	// 20
	Status *int64 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// 202221312333
	TradeNo *string `json:"tradeNo,omitempty" xml:"tradeNo,omitempty"`
	// example:
	//
	// 123123123
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s ListOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s ListOrderRequest) GoString() string {
	return s.String()
}

func (s *ListOrderRequest) SetCreateTimeEnd(v int64) *ListOrderRequest {
	s.CreateTimeEnd = &v
	return s
}

func (s *ListOrderRequest) SetCreateTimeStart(v int64) *ListOrderRequest {
	s.CreateTimeStart = &v
	return s
}

func (s *ListOrderRequest) SetMerchantId(v string) *ListOrderRequest {
	s.MerchantId = &v
	return s
}

func (s *ListOrderRequest) SetOrderNo(v string) *ListOrderRequest {
	s.OrderNo = &v
	return s
}

func (s *ListOrderRequest) SetPageNumber(v int64) *ListOrderRequest {
	s.PageNumber = &v
	return s
}

func (s *ListOrderRequest) SetPageSize(v int64) *ListOrderRequest {
	s.PageSize = &v
	return s
}

func (s *ListOrderRequest) SetScene(v int64) *ListOrderRequest {
	s.Scene = &v
	return s
}

func (s *ListOrderRequest) SetStatus(v int64) *ListOrderRequest {
	s.Status = &v
	return s
}

func (s *ListOrderRequest) SetTradeNo(v string) *ListOrderRequest {
	s.TradeNo = &v
	return s
}

func (s *ListOrderRequest) SetUserId(v string) *ListOrderRequest {
	s.UserId = &v
	return s
}

type ListOrderResponseBody struct {
	// This parameter is required.
	List  []*ListOrderResponseBodyList `json:"list,omitempty" xml:"list,omitempty" type:"Repeated"`
	Total *int64                       `json:"total,omitempty" xml:"total,omitempty"`
}

func (s ListOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ListOrderResponseBody) GoString() string {
	return s.String()
}

func (s *ListOrderResponseBody) SetList(v []*ListOrderResponseBodyList) *ListOrderResponseBody {
	s.List = v
	return s
}

func (s *ListOrderResponseBody) SetTotal(v int64) *ListOrderResponseBody {
	s.Total = &v
	return s
}

type ListOrderResponseBodyList struct {
	// This parameter is required.
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// This parameter is required.
	BuyerId *string `json:"buyerId,omitempty" xml:"buyerId,omitempty"`
	// This parameter is required.
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	CreateTime *int64 `json:"createTime,omitempty" xml:"createTime,omitempty"`
	// This parameter is required.
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// This parameter is required.
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// This parameter is required.
	PayTime  *int64  `json:"payTime,omitempty" xml:"payTime,omitempty"`
	RefundNo *string `json:"refundNo,omitempty" xml:"refundNo,omitempty"`
	// This parameter is required.
	Scene *int64 `json:"scene,omitempty" xml:"scene,omitempty"`
	// This parameter is required.
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// This parameter is required.
	Status *int64 `json:"status,omitempty" xml:"status,omitempty"`
	// This parameter is required.
	TradeNo *string `json:"tradeNo,omitempty" xml:"tradeNo,omitempty"`
	// This parameter is required.
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s ListOrderResponseBodyList) String() string {
	return tea.Prettify(s)
}

func (s ListOrderResponseBodyList) GoString() string {
	return s.String()
}

func (s *ListOrderResponseBodyList) SetActualAmount(v int64) *ListOrderResponseBodyList {
	s.ActualAmount = &v
	return s
}

func (s *ListOrderResponseBodyList) SetBuyerId(v string) *ListOrderResponseBodyList {
	s.BuyerId = &v
	return s
}

func (s *ListOrderResponseBodyList) SetCorpId(v string) *ListOrderResponseBodyList {
	s.CorpId = &v
	return s
}

func (s *ListOrderResponseBodyList) SetCreateTime(v int64) *ListOrderResponseBodyList {
	s.CreateTime = &v
	return s
}

func (s *ListOrderResponseBodyList) SetEndTime(v int64) *ListOrderResponseBodyList {
	s.EndTime = &v
	return s
}

func (s *ListOrderResponseBodyList) SetOrderNo(v string) *ListOrderResponseBodyList {
	s.OrderNo = &v
	return s
}

func (s *ListOrderResponseBodyList) SetPayTime(v int64) *ListOrderResponseBodyList {
	s.PayTime = &v
	return s
}

func (s *ListOrderResponseBodyList) SetRefundNo(v string) *ListOrderResponseBodyList {
	s.RefundNo = &v
	return s
}

func (s *ListOrderResponseBodyList) SetScene(v int64) *ListOrderResponseBodyList {
	s.Scene = &v
	return s
}

func (s *ListOrderResponseBodyList) SetStartTime(v int64) *ListOrderResponseBodyList {
	s.StartTime = &v
	return s
}

func (s *ListOrderResponseBodyList) SetStatus(v int64) *ListOrderResponseBodyList {
	s.Status = &v
	return s
}

func (s *ListOrderResponseBodyList) SetTradeNo(v string) *ListOrderResponseBodyList {
	s.TradeNo = &v
	return s
}

func (s *ListOrderResponseBodyList) SetUserId(v string) *ListOrderResponseBodyList {
	s.UserId = &v
	return s
}

type ListOrderResponse struct {
	Headers    map[string]*string     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ListOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ListOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s ListOrderResponse) GoString() string {
	return s.String()
}

func (s *ListOrderResponse) SetHeaders(v map[string]*string) *ListOrderResponse {
	s.Headers = v
	return s
}

func (s *ListOrderResponse) SetStatusCode(v int32) *ListOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *ListOrderResponse) SetBody(v *ListOrderResponseBody) *ListOrderResponse {
	s.Body = v
	return s
}

type MoveStudentHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s MoveStudentHeaders) String() string {
	return tea.Prettify(s)
}

func (s MoveStudentHeaders) GoString() string {
	return s.String()
}

func (s *MoveStudentHeaders) SetCommonHeaders(v map[string]*string) *MoveStudentHeaders {
	s.CommonHeaders = v
	return s
}

func (s *MoveStudentHeaders) SetXAcsDingtalkAccessToken(v string) *MoveStudentHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type MoveStudentRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2000
	OriginClassId *int64 `json:"originClassId,omitempty" xml:"originClassId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2001
	TargetClassId *int64 `json:"targetClassId,omitempty" xml:"targetClassId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1000
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s MoveStudentRequest) String() string {
	return tea.Prettify(s)
}

func (s MoveStudentRequest) GoString() string {
	return s.String()
}

func (s *MoveStudentRequest) SetOperator(v string) *MoveStudentRequest {
	s.Operator = &v
	return s
}

func (s *MoveStudentRequest) SetOriginClassId(v int64) *MoveStudentRequest {
	s.OriginClassId = &v
	return s
}

func (s *MoveStudentRequest) SetTargetClassId(v int64) *MoveStudentRequest {
	s.TargetClassId = &v
	return s
}

func (s *MoveStudentRequest) SetUserId(v string) *MoveStudentRequest {
	s.UserId = &v
	return s
}

type MoveStudentResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s MoveStudentResponseBody) String() string {
	return tea.Prettify(s)
}

func (s MoveStudentResponseBody) GoString() string {
	return s.String()
}

func (s *MoveStudentResponseBody) SetSuccess(v bool) *MoveStudentResponseBody {
	s.Success = &v
	return s
}

type MoveStudentResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *MoveStudentResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s MoveStudentResponse) String() string {
	return tea.Prettify(s)
}

func (s MoveStudentResponse) GoString() string {
	return s.String()
}

func (s *MoveStudentResponse) SetHeaders(v map[string]*string) *MoveStudentResponse {
	s.Headers = v
	return s
}

func (s *MoveStudentResponse) SetStatusCode(v int32) *MoveStudentResponse {
	s.StatusCode = &v
	return s
}

func (s *MoveStudentResponse) SetBody(v *MoveStudentResponseBody) *MoveStudentResponse {
	s.Body = v
	return s
}

type OpenKitHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s OpenKitHeaders) String() string {
	return tea.Prettify(s)
}

func (s OpenKitHeaders) GoString() string {
	return s.String()
}

func (s *OpenKitHeaders) SetCommonHeaders(v map[string]*string) *OpenKitHeaders {
	s.CommonHeaders = v
	return s
}

func (s *OpenKitHeaders) SetXAcsDingtalkAccessToken(v string) *OpenKitHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type OpenKitRequest struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course
	IsvProductScene *string `json:"isvProductScene,omitempty" xml:"isvProductScene,omitempty"`
	// example:
	//
	// 0
	OpenEndTime *int64 `json:"openEndTime,omitempty" xml:"openEndTime,omitempty"`
	// example:
	//
	// 0
	OpenStartTime *int64 `json:"openStartTime,omitempty" xml:"openStartTime,omitempty"`
	// example:
	//
	// staffxxx
	OpenUserId *string `json:"openUserId,omitempty" xml:"openUserId,omitempty"`
}

func (s OpenKitRequest) String() string {
	return tea.Prettify(s)
}

func (s OpenKitRequest) GoString() string {
	return s.String()
}

func (s *OpenKitRequest) SetAttributes(v string) *OpenKitRequest {
	s.Attributes = &v
	return s
}

func (s *OpenKitRequest) SetCorpId(v string) *OpenKitRequest {
	s.CorpId = &v
	return s
}

func (s *OpenKitRequest) SetIsvCode(v string) *OpenKitRequest {
	s.IsvCode = &v
	return s
}

func (s *OpenKitRequest) SetIsvProductScene(v string) *OpenKitRequest {
	s.IsvProductScene = &v
	return s
}

func (s *OpenKitRequest) SetOpenEndTime(v int64) *OpenKitRequest {
	s.OpenEndTime = &v
	return s
}

func (s *OpenKitRequest) SetOpenStartTime(v int64) *OpenKitRequest {
	s.OpenStartTime = &v
	return s
}

func (s *OpenKitRequest) SetOpenUserId(v string) *OpenKitRequest {
	s.OpenUserId = &v
	return s
}

type OpenKitResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s OpenKitResponseBody) String() string {
	return tea.Prettify(s)
}

func (s OpenKitResponseBody) GoString() string {
	return s.String()
}

func (s *OpenKitResponseBody) SetResult(v bool) *OpenKitResponseBody {
	s.Result = &v
	return s
}

func (s *OpenKitResponseBody) SetSuccess(v bool) *OpenKitResponseBody {
	s.Success = &v
	return s
}

type OpenKitResponse struct {
	Headers    map[string]*string   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *OpenKitResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s OpenKitResponse) String() string {
	return tea.Prettify(s)
}

func (s OpenKitResponse) GoString() string {
	return s.String()
}

func (s *OpenKitResponse) SetHeaders(v map[string]*string) *OpenKitResponse {
	s.Headers = v
	return s
}

func (s *OpenKitResponse) SetStatusCode(v int32) *OpenKitResponse {
	s.StatusCode = &v
	return s
}

func (s *OpenKitResponse) SetBody(v *OpenKitResponseBody) *OpenKitResponse {
	s.Body = v
	return s
}

type OrderInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s OrderInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s OrderInfoHeaders) GoString() string {
	return s.String()
}

func (s *OrderInfoHeaders) SetCommonHeaders(v map[string]*string) *OrderInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *OrderInfoHeaders) SetXAcsDingtalkAccessToken(v string) *OrderInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type OrderInfoRequest struct {
	// example:
	//
	// 80930501630545566xx
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
}

func (s OrderInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s OrderInfoRequest) GoString() string {
	return s.String()
}

func (s *OrderInfoRequest) SetOrderNo(v string) *OrderInfoRequest {
	s.OrderNo = &v
	return s
}

type OrderInfoResponseBody struct {
	Result  *OrderInfoResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                        `json:"success,omitempty" xml:"success,omitempty"`
}

func (s OrderInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s OrderInfoResponseBody) GoString() string {
	return s.String()
}

func (s *OrderInfoResponseBody) SetResult(v *OrderInfoResponseBodyResult) *OrderInfoResponseBody {
	s.Result = v
	return s
}

func (s *OrderInfoResponseBody) SetSuccess(v bool) *OrderInfoResponseBody {
	s.Success = &v
	return s
}

type OrderInfoResponseBodyResult struct {
	// example:
	//
	// xxx店铺
	Address  *string                                `json:"address,omitempty" xml:"address,omitempty"`
	ItemList []*OrderInfoResponseBodyResultItemList `json:"itemList,omitempty" xml:"itemList,omitempty" type:"Repeated"`
	// example:
	//
	// 808324521
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// example:
	//
	// 7245
	ReceiverPhoneSuffix *string `json:"receiverPhoneSuffix,omitempty" xml:"receiverPhoneSuffix,omitempty"`
	// example:
	//
	// 商家名称
	ShopName *string `json:"shopName,omitempty" xml:"shopName,omitempty"`
	UserId   *int64  `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s OrderInfoResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s OrderInfoResponseBodyResult) GoString() string {
	return s.String()
}

func (s *OrderInfoResponseBodyResult) SetAddress(v string) *OrderInfoResponseBodyResult {
	s.Address = &v
	return s
}

func (s *OrderInfoResponseBodyResult) SetItemList(v []*OrderInfoResponseBodyResultItemList) *OrderInfoResponseBodyResult {
	s.ItemList = v
	return s
}

func (s *OrderInfoResponseBodyResult) SetOrderNo(v string) *OrderInfoResponseBodyResult {
	s.OrderNo = &v
	return s
}

func (s *OrderInfoResponseBodyResult) SetReceiverPhoneSuffix(v string) *OrderInfoResponseBodyResult {
	s.ReceiverPhoneSuffix = &v
	return s
}

func (s *OrderInfoResponseBodyResult) SetShopName(v string) *OrderInfoResponseBodyResult {
	s.ShopName = &v
	return s
}

func (s *OrderInfoResponseBodyResult) SetUserId(v int64) *OrderInfoResponseBodyResult {
	s.UserId = &v
	return s
}

type OrderInfoResponseBodyResultItemList struct {
	// This parameter is required.
	//
	// example:
	//
	// 商品名称
	ItemName *string `json:"itemName,omitempty" xml:"itemName,omitempty"`
	// example:
	//
	// 2
	ItemNum *string `json:"itemNum,omitempty" xml:"itemNum,omitempty"`
}

func (s OrderInfoResponseBodyResultItemList) String() string {
	return tea.Prettify(s)
}

func (s OrderInfoResponseBodyResultItemList) GoString() string {
	return s.String()
}

func (s *OrderInfoResponseBodyResultItemList) SetItemName(v string) *OrderInfoResponseBodyResultItemList {
	s.ItemName = &v
	return s
}

func (s *OrderInfoResponseBodyResultItemList) SetItemNum(v string) *OrderInfoResponseBodyResultItemList {
	s.ItemNum = &v
	return s
}

type OrderInfoResponse struct {
	Headers    map[string]*string     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *OrderInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s OrderInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s OrderInfoResponse) GoString() string {
	return s.String()
}

func (s *OrderInfoResponse) SetHeaders(v map[string]*string) *OrderInfoResponse {
	s.Headers = v
	return s
}

func (s *OrderInfoResponse) SetStatusCode(v int32) *OrderInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *OrderInfoResponse) SetBody(v *OrderInfoResponseBody) *OrderInfoResponse {
	s.Body = v
	return s
}

type PageQueryClassCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s PageQueryClassCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s PageQueryClassCourseHeaders) GoString() string {
	return s.String()
}

func (s *PageQueryClassCourseHeaders) SetCommonHeaders(v map[string]*string) *PageQueryClassCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *PageQueryClassCourseHeaders) SetXAcsDingtalkAccessToken(v string) *PageQueryClassCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type PageQueryClassCourseRequest struct {
	// example:
	//
	// classId_xxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// ding_xxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 0
	EndCourseDate *int64 `json:"endCourseDate,omitempty" xml:"endCourseDate,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// 0
	PageNumber *int32 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// example:
	//
	// 20
	PageSize *int32 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
	// example:
	//
	// 0
	StartCourseDate *int64 `json:"startCourseDate,omitempty" xml:"startCourseDate,omitempty"`
}

func (s PageQueryClassCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s PageQueryClassCourseRequest) GoString() string {
	return s.String()
}

func (s *PageQueryClassCourseRequest) SetClassId(v string) *PageQueryClassCourseRequest {
	s.ClassId = &v
	return s
}

func (s *PageQueryClassCourseRequest) SetCorpId(v string) *PageQueryClassCourseRequest {
	s.CorpId = &v
	return s
}

func (s *PageQueryClassCourseRequest) SetEndCourseDate(v int64) *PageQueryClassCourseRequest {
	s.EndCourseDate = &v
	return s
}

func (s *PageQueryClassCourseRequest) SetIsvCode(v string) *PageQueryClassCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *PageQueryClassCourseRequest) SetPageNumber(v int32) *PageQueryClassCourseRequest {
	s.PageNumber = &v
	return s
}

func (s *PageQueryClassCourseRequest) SetPageSize(v int32) *PageQueryClassCourseRequest {
	s.PageSize = &v
	return s
}

func (s *PageQueryClassCourseRequest) SetStartCourseDate(v int64) *PageQueryClassCourseRequest {
	s.StartCourseDate = &v
	return s
}

type PageQueryClassCourseResponseBody struct {
	Result  []*PageQueryClassCourseResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                     `json:"success,omitempty" xml:"success,omitempty"`
}

func (s PageQueryClassCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s PageQueryClassCourseResponseBody) GoString() string {
	return s.String()
}

func (s *PageQueryClassCourseResponseBody) SetResult(v []*PageQueryClassCourseResponseBodyResult) *PageQueryClassCourseResponseBody {
	s.Result = v
	return s
}

func (s *PageQueryClassCourseResponseBody) SetSuccess(v bool) *PageQueryClassCourseResponseBody {
	s.Success = &v
	return s
}

type PageQueryClassCourseResponseBodyResult struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// classId_xxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// room_xxx
	ClassRoomId *string `json:"classRoomId,omitempty" xml:"classRoomId,omitempty"`
	// example:
	//
	// 音乐教室
	ClassRoomName *string `json:"classRoomName,omitempty" xml:"classRoomName,omitempty"`
	// example:
	//
	// 0
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// ding_xxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// code_xxx
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// 2024-11-21 00:00:00
	CourseDate *string `json:"courseDate,omitempty" xml:"courseDate,omitempty"`
	// example:
	//
	// 语文
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// example:
	//
	// 1
	CourseWeek *int32 `json:"courseWeek,omitempty" xml:"courseWeek,omitempty"`
	// example:
	//
	// 2024-11-21 00:00:00
	EndTime *string `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// courseId
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
	// example:
	//
	// 备注
	Memo *string `json:"memo,omitempty" xml:"memo,omitempty"`
	// example:
	//
	// 2024
	SchoolYear *string `json:"schoolYear,omitempty" xml:"schoolYear,omitempty"`
	// example:
	//
	// 1
	Semester *int32 `json:"semester,omitempty" xml:"semester,omitempty"`
	// example:
	//
	// 2024-11-21 00:00:00
	StartTime *string `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 1
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// 1
	TeachWeek *int32 `json:"teachWeek,omitempty" xml:"teachWeek,omitempty"`
	// example:
	//
	// 第一节
	TimeslotName *string `json:"timeslotName,omitempty" xml:"timeslotName,omitempty"`
	// example:
	//
	// 1
	TimeslotNum *int32 `json:"timeslotNum,omitempty" xml:"timeslotNum,omitempty"`
	// example:
	//
	// 1
	Type *int32 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s PageQueryClassCourseResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s PageQueryClassCourseResponseBodyResult) GoString() string {
	return s.String()
}

func (s *PageQueryClassCourseResponseBodyResult) SetAttributes(v string) *PageQueryClassCourseResponseBodyResult {
	s.Attributes = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetClassId(v string) *PageQueryClassCourseResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetClassName(v string) *PageQueryClassCourseResponseBodyResult {
	s.ClassName = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetClassRoomId(v string) *PageQueryClassCourseResponseBodyResult {
	s.ClassRoomId = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetClassRoomName(v string) *PageQueryClassCourseResponseBodyResult {
	s.ClassRoomName = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetClassType(v int32) *PageQueryClassCourseResponseBodyResult {
	s.ClassType = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetCorpId(v string) *PageQueryClassCourseResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetCourseCode(v string) *PageQueryClassCourseResponseBodyResult {
	s.CourseCode = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetCourseDate(v string) *PageQueryClassCourseResponseBodyResult {
	s.CourseDate = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetCourseName(v string) *PageQueryClassCourseResponseBodyResult {
	s.CourseName = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetCourseWeek(v int32) *PageQueryClassCourseResponseBodyResult {
	s.CourseWeek = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetEndTime(v string) *PageQueryClassCourseResponseBodyResult {
	s.EndTime = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetIsvCode(v string) *PageQueryClassCourseResponseBodyResult {
	s.IsvCode = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetIsvCourseId(v string) *PageQueryClassCourseResponseBodyResult {
	s.IsvCourseId = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetMemo(v string) *PageQueryClassCourseResponseBodyResult {
	s.Memo = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetSchoolYear(v string) *PageQueryClassCourseResponseBodyResult {
	s.SchoolYear = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetSemester(v int32) *PageQueryClassCourseResponseBodyResult {
	s.Semester = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetStartTime(v string) *PageQueryClassCourseResponseBodyResult {
	s.StartTime = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetStatus(v int32) *PageQueryClassCourseResponseBodyResult {
	s.Status = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetTeachWeek(v int32) *PageQueryClassCourseResponseBodyResult {
	s.TeachWeek = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetTimeslotName(v string) *PageQueryClassCourseResponseBodyResult {
	s.TimeslotName = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetTimeslotNum(v int32) *PageQueryClassCourseResponseBodyResult {
	s.TimeslotNum = &v
	return s
}

func (s *PageQueryClassCourseResponseBodyResult) SetType(v int32) *PageQueryClassCourseResponseBodyResult {
	s.Type = &v
	return s
}

type PageQueryClassCourseResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *PageQueryClassCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s PageQueryClassCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s PageQueryClassCourseResponse) GoString() string {
	return s.String()
}

func (s *PageQueryClassCourseResponse) SetHeaders(v map[string]*string) *PageQueryClassCourseResponse {
	s.Headers = v
	return s
}

func (s *PageQueryClassCourseResponse) SetStatusCode(v int32) *PageQueryClassCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *PageQueryClassCourseResponse) SetBody(v *PageQueryClassCourseResponseBody) *PageQueryClassCourseResponse {
	s.Body = v
	return s
}

type PageQueryDevicesHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s PageQueryDevicesHeaders) String() string {
	return tea.Prettify(s)
}

func (s PageQueryDevicesHeaders) GoString() string {
	return s.String()
}

func (s *PageQueryDevicesHeaders) SetCommonHeaders(v map[string]*string) *PageQueryDevicesHeaders {
	s.CommonHeaders = v
	return s
}

func (s *PageQueryDevicesHeaders) SetXAcsDingtalkAccessToken(v string) *PageQueryDevicesHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type PageQueryDevicesRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 10
	MaxResults *int64 `json:"maxResults,omitempty" xml:"maxResults,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	NextToken *string `json:"nextToken,omitempty" xml:"nextToken,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// VIDEO_CALL
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s PageQueryDevicesRequest) String() string {
	return tea.Prettify(s)
}

func (s PageQueryDevicesRequest) GoString() string {
	return s.String()
}

func (s *PageQueryDevicesRequest) SetMaxResults(v int64) *PageQueryDevicesRequest {
	s.MaxResults = &v
	return s
}

func (s *PageQueryDevicesRequest) SetNextToken(v string) *PageQueryDevicesRequest {
	s.NextToken = &v
	return s
}

func (s *PageQueryDevicesRequest) SetType(v string) *PageQueryDevicesRequest {
	s.Type = &v
	return s
}

type PageQueryDevicesResponseBody struct {
	List []*PageQueryDevicesResponseBodyList `json:"list,omitempty" xml:"list,omitempty" type:"Repeated"`
	// example:
	//
	// 2
	NextToken *string `json:"nextToken,omitempty" xml:"nextToken,omitempty"`
	// example:
	//
	// 1300
	TotalCount *int64 `json:"totalCount,omitempty" xml:"totalCount,omitempty"`
}

func (s PageQueryDevicesResponseBody) String() string {
	return tea.Prettify(s)
}

func (s PageQueryDevicesResponseBody) GoString() string {
	return s.String()
}

func (s *PageQueryDevicesResponseBody) SetList(v []*PageQueryDevicesResponseBodyList) *PageQueryDevicesResponseBody {
	s.List = v
	return s
}

func (s *PageQueryDevicesResponseBody) SetNextToken(v string) *PageQueryDevicesResponseBody {
	s.NextToken = &v
	return s
}

func (s *PageQueryDevicesResponseBody) SetTotalCount(v int64) *PageQueryDevicesResponseBody {
	s.TotalCount = &v
	return s
}

type PageQueryDevicesResponseBodyList struct {
	// example:
	//
	// 1696753792000
	GmtExpiry *int64 `json:"gmtExpiry,omitempty" xml:"gmtExpiry,omitempty"`
	// example:
	//
	// model1
	Model *string `json:"model,omitempty" xml:"model,omitempty"`
	// example:
	//
	// 三年级1班班牌
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// fadf-8008
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// example:
	//
	// VIDEO_CALL
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s PageQueryDevicesResponseBodyList) String() string {
	return tea.Prettify(s)
}

func (s PageQueryDevicesResponseBodyList) GoString() string {
	return s.String()
}

func (s *PageQueryDevicesResponseBodyList) SetGmtExpiry(v int64) *PageQueryDevicesResponseBodyList {
	s.GmtExpiry = &v
	return s
}

func (s *PageQueryDevicesResponseBodyList) SetModel(v string) *PageQueryDevicesResponseBodyList {
	s.Model = &v
	return s
}

func (s *PageQueryDevicesResponseBodyList) SetName(v string) *PageQueryDevicesResponseBodyList {
	s.Name = &v
	return s
}

func (s *PageQueryDevicesResponseBodyList) SetSn(v string) *PageQueryDevicesResponseBodyList {
	s.Sn = &v
	return s
}

func (s *PageQueryDevicesResponseBodyList) SetType(v string) *PageQueryDevicesResponseBodyList {
	s.Type = &v
	return s
}

type PageQueryDevicesResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *PageQueryDevicesResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s PageQueryDevicesResponse) String() string {
	return tea.Prettify(s)
}

func (s PageQueryDevicesResponse) GoString() string {
	return s.String()
}

func (s *PageQueryDevicesResponse) SetHeaders(v map[string]*string) *PageQueryDevicesResponse {
	s.Headers = v
	return s
}

func (s *PageQueryDevicesResponse) SetStatusCode(v int32) *PageQueryDevicesResponse {
	s.StatusCode = &v
	return s
}

func (s *PageQueryDevicesResponse) SetBody(v *PageQueryDevicesResponseBody) *PageQueryDevicesResponse {
	s.Body = v
	return s
}

type PageQueryKitOpenRecordHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s PageQueryKitOpenRecordHeaders) String() string {
	return tea.Prettify(s)
}

func (s PageQueryKitOpenRecordHeaders) GoString() string {
	return s.String()
}

func (s *PageQueryKitOpenRecordHeaders) SetCommonHeaders(v map[string]*string) *PageQueryKitOpenRecordHeaders {
	s.CommonHeaders = v
	return s
}

func (s *PageQueryKitOpenRecordHeaders) SetXAcsDingtalkAccessToken(v string) *PageQueryKitOpenRecordHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type PageQueryKitOpenRecordRequest struct {
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course
	IsvProductScene *string `json:"isvProductScene,omitempty" xml:"isvProductScene,omitempty"`
	// example:
	//
	// 1
	PageNumber *int32 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// example:
	//
	// 1
	PageSize *int32 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
}

func (s PageQueryKitOpenRecordRequest) String() string {
	return tea.Prettify(s)
}

func (s PageQueryKitOpenRecordRequest) GoString() string {
	return s.String()
}

func (s *PageQueryKitOpenRecordRequest) SetIsvCode(v string) *PageQueryKitOpenRecordRequest {
	s.IsvCode = &v
	return s
}

func (s *PageQueryKitOpenRecordRequest) SetIsvProductScene(v string) *PageQueryKitOpenRecordRequest {
	s.IsvProductScene = &v
	return s
}

func (s *PageQueryKitOpenRecordRequest) SetPageNumber(v int32) *PageQueryKitOpenRecordRequest {
	s.PageNumber = &v
	return s
}

func (s *PageQueryKitOpenRecordRequest) SetPageSize(v int32) *PageQueryKitOpenRecordRequest {
	s.PageSize = &v
	return s
}

type PageQueryKitOpenRecordResponseBody struct {
	Result  []*PageQueryKitOpenRecordResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                       `json:"success,omitempty" xml:"success,omitempty"`
}

func (s PageQueryKitOpenRecordResponseBody) String() string {
	return tea.Prettify(s)
}

func (s PageQueryKitOpenRecordResponseBody) GoString() string {
	return s.String()
}

func (s *PageQueryKitOpenRecordResponseBody) SetResult(v []*PageQueryKitOpenRecordResponseBodyResult) *PageQueryKitOpenRecordResponseBody {
	s.Result = v
	return s
}

func (s *PageQueryKitOpenRecordResponseBody) SetSuccess(v bool) *PageQueryKitOpenRecordResponseBody {
	s.Success = &v
	return s
}

type PageQueryKitOpenRecordResponseBodyResult struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course
	IsvProductScene *string `json:"isvProductScene,omitempty" xml:"isvProductScene,omitempty"`
	// example:
	//
	// 2024-08-20 00:00:00
	OpenEndTime *string `json:"openEndTime,omitempty" xml:"openEndTime,omitempty"`
	// example:
	//
	// 2024-01-20 00:00:00
	OpenStartTime *string `json:"openStartTime,omitempty" xml:"openStartTime,omitempty"`
	// example:
	//
	// staffxxx
	OpenUserId *string `json:"openUserId,omitempty" xml:"openUserId,omitempty"`
}

func (s PageQueryKitOpenRecordResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s PageQueryKitOpenRecordResponseBodyResult) GoString() string {
	return s.String()
}

func (s *PageQueryKitOpenRecordResponseBodyResult) SetAttributes(v string) *PageQueryKitOpenRecordResponseBodyResult {
	s.Attributes = &v
	return s
}

func (s *PageQueryKitOpenRecordResponseBodyResult) SetCorpId(v string) *PageQueryKitOpenRecordResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *PageQueryKitOpenRecordResponseBodyResult) SetIsvCode(v string) *PageQueryKitOpenRecordResponseBodyResult {
	s.IsvCode = &v
	return s
}

func (s *PageQueryKitOpenRecordResponseBodyResult) SetIsvProductScene(v string) *PageQueryKitOpenRecordResponseBodyResult {
	s.IsvProductScene = &v
	return s
}

func (s *PageQueryKitOpenRecordResponseBodyResult) SetOpenEndTime(v string) *PageQueryKitOpenRecordResponseBodyResult {
	s.OpenEndTime = &v
	return s
}

func (s *PageQueryKitOpenRecordResponseBodyResult) SetOpenStartTime(v string) *PageQueryKitOpenRecordResponseBodyResult {
	s.OpenStartTime = &v
	return s
}

func (s *PageQueryKitOpenRecordResponseBodyResult) SetOpenUserId(v string) *PageQueryKitOpenRecordResponseBodyResult {
	s.OpenUserId = &v
	return s
}

type PageQueryKitOpenRecordResponse struct {
	Headers    map[string]*string                  `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                              `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *PageQueryKitOpenRecordResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s PageQueryKitOpenRecordResponse) String() string {
	return tea.Prettify(s)
}

func (s PageQueryKitOpenRecordResponse) GoString() string {
	return s.String()
}

func (s *PageQueryKitOpenRecordResponse) SetHeaders(v map[string]*string) *PageQueryKitOpenRecordResponse {
	s.Headers = v
	return s
}

func (s *PageQueryKitOpenRecordResponse) SetStatusCode(v int32) *PageQueryKitOpenRecordResponse {
	s.StatusCode = &v
	return s
}

func (s *PageQueryKitOpenRecordResponse) SetBody(v *PageQueryKitOpenRecordResponseBody) *PageQueryKitOpenRecordResponse {
	s.Body = v
	return s
}

type PayOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s PayOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s PayOrderHeaders) GoString() string {
	return s.String()
}

func (s *PayOrderHeaders) SetCommonHeaders(v map[string]*string) *PayOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *PayOrderHeaders) SetXAcsDingtalkAccessToken(v string) *PayOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type PayOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn123
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// example:
	//
	// KSwZiSL1O7DiUNwjV168j3cP9ktp4bJTi5OQxAXre26KyBXza7+gCl/g1d0K3n3+9JhMqc2fUjBiENcAELw3Jb5xO/zslOeV4qFoMQfzW51+sdL/SSZCYvXEMhu9P6FAPhGZQ3vu6gr3oxUAXPIpWNb+sIfzR9epumoOXYeofH8=
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// example:
	//
	// 1644413947909
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
	// example:
	//
	// 1.0
	Version *string `json:"version,omitempty" xml:"version,omitempty"`
}

func (s PayOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s PayOrderRequest) GoString() string {
	return s.String()
}

func (s *PayOrderRequest) SetFaceId(v string) *PayOrderRequest {
	s.FaceId = &v
	return s
}

func (s *PayOrderRequest) SetOrderNo(v string) *PayOrderRequest {
	s.OrderNo = &v
	return s
}

func (s *PayOrderRequest) SetSignature(v string) *PayOrderRequest {
	s.Signature = &v
	return s
}

func (s *PayOrderRequest) SetSn(v string) *PayOrderRequest {
	s.Sn = &v
	return s
}

func (s *PayOrderRequest) SetTimestamp(v int64) *PayOrderRequest {
	s.Timestamp = &v
	return s
}

func (s *PayOrderRequest) SetUserId(v string) *PayOrderRequest {
	s.UserId = &v
	return s
}

func (s *PayOrderRequest) SetVersion(v string) *PayOrderRequest {
	s.Version = &v
	return s
}

type PayOrderResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s PayOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s PayOrderResponseBody) GoString() string {
	return s.String()
}

func (s *PayOrderResponseBody) SetSuccess(v bool) *PayOrderResponseBody {
	s.Success = &v
	return s
}

type PayOrderResponse struct {
	Headers    map[string]*string    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *PayOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s PayOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s PayOrderResponse) GoString() string {
	return s.String()
}

func (s *PayOrderResponse) SetHeaders(v map[string]*string) *PayOrderResponse {
	s.Headers = v
	return s
}

func (s *PayOrderResponse) SetStatusCode(v int32) *PayOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *PayOrderResponse) SetBody(v *PayOrderResponseBody) *PayOrderResponse {
	s.Body = v
	return s
}

type PollingConfirmStatusHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s PollingConfirmStatusHeaders) String() string {
	return tea.Prettify(s)
}

func (s PollingConfirmStatusHeaders) GoString() string {
	return s.String()
}

func (s *PollingConfirmStatusHeaders) SetCommonHeaders(v map[string]*string) *PollingConfirmStatusHeaders {
	s.CommonHeaders = v
	return s
}

func (s *PollingConfirmStatusHeaders) SetXAcsDingtalkAccessToken(v string) *PollingConfirmStatusHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type PollingConfirmStatusRequest struct {
	// example:
	//
	// testCourseCode
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// testExt
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// example:
	//
	// DDIsv
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// 1
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s PollingConfirmStatusRequest) String() string {
	return tea.Prettify(s)
}

func (s PollingConfirmStatusRequest) GoString() string {
	return s.String()
}

func (s *PollingConfirmStatusRequest) SetCourseCode(v string) *PollingConfirmStatusRequest {
	s.CourseCode = &v
	return s
}

func (s *PollingConfirmStatusRequest) SetExt(v string) *PollingConfirmStatusRequest {
	s.Ext = &v
	return s
}

func (s *PollingConfirmStatusRequest) SetIsvCode(v string) *PollingConfirmStatusRequest {
	s.IsvCode = &v
	return s
}

func (s *PollingConfirmStatusRequest) SetOpUserId(v string) *PollingConfirmStatusRequest {
	s.OpUserId = &v
	return s
}

type PollingConfirmStatusResponseBody struct {
	// This parameter is required.
	UniversityPollingCourseStatusResponse *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse `json:"universityPollingCourseStatusResponse,omitempty" xml:"universityPollingCourseStatusResponse,omitempty" type:"Struct"`
}

func (s PollingConfirmStatusResponseBody) String() string {
	return tea.Prettify(s)
}

func (s PollingConfirmStatusResponseBody) GoString() string {
	return s.String()
}

func (s *PollingConfirmStatusResponseBody) SetUniversityPollingCourseStatusResponse(v *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse) *PollingConfirmStatusResponseBody {
	s.UniversityPollingCourseStatusResponse = v
	return s
}

type PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	ConfirmStatus *bool `json:"confirmStatus,omitempty" xml:"confirmStatus,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// testCourseCode
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// This parameter is required.
	LivePlayInfoList []*PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList `json:"livePlayInfoList,omitempty" xml:"livePlayInfoList,omitempty" type:"Repeated"`
}

func (s PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse) String() string {
	return tea.Prettify(s)
}

func (s PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse) GoString() string {
	return s.String()
}

func (s *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse) SetConfirmStatus(v bool) *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse {
	s.ConfirmStatus = &v
	return s
}

func (s *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse) SetCourseCode(v string) *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse {
	s.CourseCode = &v
	return s
}

func (s *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse) SetLivePlayInfoList(v []*PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList) *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponse {
	s.LivePlayInfoList = v
	return s
}

type PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList struct {
	// This parameter is required.
	//
	// example:
	//
	// testUrl
	LiveInputUrl *string `json:"liveInputUrl,omitempty" xml:"liveInputUrl,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// testUrl
	LiveOutputUrl *string `json:"liveOutputUrl,omitempty" xml:"liveOutputUrl,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0
	LiveType *int64 `json:"liveType,omitempty" xml:"liveType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// testUrl
	ReplayUrl *string `json:"replayUrl,omitempty" xml:"replayUrl,omitempty"`
}

func (s PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList) String() string {
	return tea.Prettify(s)
}

func (s PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList) GoString() string {
	return s.String()
}

func (s *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList) SetLiveInputUrl(v string) *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList {
	s.LiveInputUrl = &v
	return s
}

func (s *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList) SetLiveOutputUrl(v string) *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList {
	s.LiveOutputUrl = &v
	return s
}

func (s *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList) SetLiveType(v int64) *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList {
	s.LiveType = &v
	return s
}

func (s *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList) SetReplayUrl(v string) *PollingConfirmStatusResponseBodyUniversityPollingCourseStatusResponseLivePlayInfoList {
	s.ReplayUrl = &v
	return s
}

type PollingConfirmStatusResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *PollingConfirmStatusResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s PollingConfirmStatusResponse) String() string {
	return tea.Prettify(s)
}

func (s PollingConfirmStatusResponse) GoString() string {
	return s.String()
}

func (s *PollingConfirmStatusResponse) SetHeaders(v map[string]*string) *PollingConfirmStatusResponse {
	s.Headers = v
	return s
}

func (s *PollingConfirmStatusResponse) SetStatusCode(v int32) *PollingConfirmStatusResponse {
	s.StatusCode = &v
	return s
}

func (s *PollingConfirmStatusResponse) SetBody(v *PollingConfirmStatusResponseBody) *PollingConfirmStatusResponse {
	s.Body = v
	return s
}

type PreDialHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s PreDialHeaders) String() string {
	return tea.Prettify(s)
}

func (s PreDialHeaders) GoString() string {
	return s.String()
}

func (s *PreDialHeaders) SetCommonHeaders(v map[string]*string) *PreDialHeaders {
	s.CommonHeaders = v
	return s
}

func (s *PreDialHeaders) SetXAcsDingtalkAccessToken(v string) *PreDialHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type PreDialRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 00003213130
	CallerUserId *string `json:"callerUserId,omitempty" xml:"callerUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 312000030213120
	ReceiverUserId *string `json:"receiverUserId,omitempty" xml:"receiverUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// fdaf-2132
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// VIDEO_CALL
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s PreDialRequest) String() string {
	return tea.Prettify(s)
}

func (s PreDialRequest) GoString() string {
	return s.String()
}

func (s *PreDialRequest) SetCallerUserId(v string) *PreDialRequest {
	s.CallerUserId = &v
	return s
}

func (s *PreDialRequest) SetReceiverUserId(v string) *PreDialRequest {
	s.ReceiverUserId = &v
	return s
}

func (s *PreDialRequest) SetSn(v string) *PreDialRequest {
	s.Sn = &v
	return s
}

func (s *PreDialRequest) SetType(v string) *PreDialRequest {
	s.Type = &v
	return s
}

type PreDialResponseBody struct {
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s PreDialResponseBody) String() string {
	return tea.Prettify(s)
}

func (s PreDialResponseBody) GoString() string {
	return s.String()
}

func (s *PreDialResponseBody) SetResult(v bool) *PreDialResponseBody {
	s.Result = &v
	return s
}

type PreDialResponse struct {
	Headers    map[string]*string   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *PreDialResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s PreDialResponse) String() string {
	return tea.Prettify(s)
}

func (s PreDialResponse) GoString() string {
	return s.String()
}

func (s *PreDialResponse) SetHeaders(v map[string]*string) *PreDialResponse {
	s.Headers = v
	return s
}

func (s *PreDialResponse) SetStatusCode(v int32) *PreDialResponse {
	s.StatusCode = &v
	return s
}

func (s *PreDialResponse) SetBody(v *PreDialResponseBody) *PreDialResponse {
	s.Body = v
	return s
}

type ProvidePointHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ProvidePointHeaders) String() string {
	return tea.Prettify(s)
}

func (s ProvidePointHeaders) GoString() string {
	return s.String()
}

func (s *ProvidePointHeaders) SetCommonHeaders(v map[string]*string) *ProvidePointHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ProvidePointHeaders) SetXAcsDingtalkAccessToken(v string) *ProvidePointHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ProvidePointRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// action01
	ActionCode *string `json:"actionCode,omitempty" xml:"actionCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// biz01
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// personal
	PointType *string `json:"pointType,omitempty" xml:"pointType,omitempty"`
}

func (s ProvidePointRequest) String() string {
	return tea.Prettify(s)
}

func (s ProvidePointRequest) GoString() string {
	return s.String()
}

func (s *ProvidePointRequest) SetActionCode(v string) *ProvidePointRequest {
	s.ActionCode = &v
	return s
}

func (s *ProvidePointRequest) SetBizId(v string) *ProvidePointRequest {
	s.BizId = &v
	return s
}

func (s *ProvidePointRequest) SetPointType(v string) *ProvidePointRequest {
	s.PointType = &v
	return s
}

type ProvidePointResponseBody struct {
	Result  *ProvidePointResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                           `json:"success,omitempty" xml:"success,omitempty"`
}

func (s ProvidePointResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ProvidePointResponseBody) GoString() string {
	return s.String()
}

func (s *ProvidePointResponseBody) SetResult(v *ProvidePointResponseBodyResult) *ProvidePointResponseBody {
	s.Result = v
	return s
}

func (s *ProvidePointResponseBody) SetSuccess(v bool) *ProvidePointResponseBody {
	s.Success = &v
	return s
}

type ProvidePointResponseBodyResult struct {
	AvailableQuota *int64 `json:"availableQuota,omitempty" xml:"availableQuota,omitempty"`
	ProvideNum     *int64 `json:"provideNum,omitempty" xml:"provideNum,omitempty"`
	ProvideSuccess *bool  `json:"provideSuccess,omitempty" xml:"provideSuccess,omitempty"`
}

func (s ProvidePointResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s ProvidePointResponseBodyResult) GoString() string {
	return s.String()
}

func (s *ProvidePointResponseBodyResult) SetAvailableQuota(v int64) *ProvidePointResponseBodyResult {
	s.AvailableQuota = &v
	return s
}

func (s *ProvidePointResponseBodyResult) SetProvideNum(v int64) *ProvidePointResponseBodyResult {
	s.ProvideNum = &v
	return s
}

func (s *ProvidePointResponseBodyResult) SetProvideSuccess(v bool) *ProvidePointResponseBodyResult {
	s.ProvideSuccess = &v
	return s
}

type ProvidePointResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ProvidePointResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ProvidePointResponse) String() string {
	return tea.Prettify(s)
}

func (s ProvidePointResponse) GoString() string {
	return s.String()
}

func (s *ProvidePointResponse) SetHeaders(v map[string]*string) *ProvidePointResponse {
	s.Headers = v
	return s
}

func (s *ProvidePointResponse) SetStatusCode(v int32) *ProvidePointResponse {
	s.StatusCode = &v
	return s
}

func (s *ProvidePointResponse) SetBody(v *ProvidePointResponseBody) *ProvidePointResponse {
	s.Body = v
	return s
}

type PublishSchoolReportHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s PublishSchoolReportHeaders) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportHeaders) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportHeaders) SetCommonHeaders(v map[string]*string) *PublishSchoolReportHeaders {
	s.CommonHeaders = v
	return s
}

func (s *PublishSchoolReportHeaders) SetXAcsDingtalkAccessToken(v string) *PublishSchoolReportHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type PublishSchoolReportRequest struct {
	// This parameter is required.
	BizCode          *string                                       `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	ClassDetailItems []*PublishSchoolReportRequestClassDetailItems `json:"classDetailItems,omitempty" xml:"classDetailItems,omitempty" type:"Repeated"`
	// This parameter is required.
	ExamClass *string `json:"examClass,omitempty" xml:"examClass,omitempty"`
	// This parameter is required.
	ExamTitle *string `json:"examTitle,omitempty" xml:"examTitle,omitempty"`
	// This parameter is required.
	Identifier *string `json:"identifier,omitempty" xml:"identifier,omitempty"`
	// This parameter is required.
	PublishScope *string `json:"publishScope,omitempty" xml:"publishScope,omitempty"`
	// This parameter is required.
	ScoreType *string `json:"scoreType,omitempty" xml:"scoreType,omitempty"`
	// This parameter is required.
	Share *bool `json:"share,omitempty" xml:"share,omitempty"`
	// This parameter is required.
	ShowRank *bool `json:"showRank,omitempty" xml:"showRank,omitempty"`
	// This parameter is required.
	ShowStatisticsScore *bool `json:"showStatisticsScore,omitempty" xml:"showStatisticsScore,omitempty"`
	// This parameter is required.
	SubScoreType *string `json:"subScoreType,omitempty" xml:"subScoreType,omitempty"`
	// This parameter is required.
	SubjectList []*PublishSchoolReportRequestSubjectList `json:"subjectList,omitempty" xml:"subjectList,omitempty" type:"Repeated"`
	// This parameter is required.
	Subjects *string `json:"subjects,omitempty" xml:"subjects,omitempty"`
	// This parameter is required.
	TeacherId *string `json:"teacherId,omitempty" xml:"teacherId,omitempty"`
	// This parameter is required.
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
}

func (s PublishSchoolReportRequest) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportRequest) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportRequest) SetBizCode(v string) *PublishSchoolReportRequest {
	s.BizCode = &v
	return s
}

func (s *PublishSchoolReportRequest) SetClassDetailItems(v []*PublishSchoolReportRequestClassDetailItems) *PublishSchoolReportRequest {
	s.ClassDetailItems = v
	return s
}

func (s *PublishSchoolReportRequest) SetExamClass(v string) *PublishSchoolReportRequest {
	s.ExamClass = &v
	return s
}

func (s *PublishSchoolReportRequest) SetExamTitle(v string) *PublishSchoolReportRequest {
	s.ExamTitle = &v
	return s
}

func (s *PublishSchoolReportRequest) SetIdentifier(v string) *PublishSchoolReportRequest {
	s.Identifier = &v
	return s
}

func (s *PublishSchoolReportRequest) SetPublishScope(v string) *PublishSchoolReportRequest {
	s.PublishScope = &v
	return s
}

func (s *PublishSchoolReportRequest) SetScoreType(v string) *PublishSchoolReportRequest {
	s.ScoreType = &v
	return s
}

func (s *PublishSchoolReportRequest) SetShare(v bool) *PublishSchoolReportRequest {
	s.Share = &v
	return s
}

func (s *PublishSchoolReportRequest) SetShowRank(v bool) *PublishSchoolReportRequest {
	s.ShowRank = &v
	return s
}

func (s *PublishSchoolReportRequest) SetShowStatisticsScore(v bool) *PublishSchoolReportRequest {
	s.ShowStatisticsScore = &v
	return s
}

func (s *PublishSchoolReportRequest) SetSubScoreType(v string) *PublishSchoolReportRequest {
	s.SubScoreType = &v
	return s
}

func (s *PublishSchoolReportRequest) SetSubjectList(v []*PublishSchoolReportRequestSubjectList) *PublishSchoolReportRequest {
	s.SubjectList = v
	return s
}

func (s *PublishSchoolReportRequest) SetSubjects(v string) *PublishSchoolReportRequest {
	s.Subjects = &v
	return s
}

func (s *PublishSchoolReportRequest) SetTeacherId(v string) *PublishSchoolReportRequest {
	s.TeacherId = &v
	return s
}

func (s *PublishSchoolReportRequest) SetTeacherName(v string) *PublishSchoolReportRequest {
	s.TeacherName = &v
	return s
}

type PublishSchoolReportRequestClassDetailItems struct {
	ClassId           *string                                                        `json:"classId,omitempty" xml:"classId,omitempty"`
	ClassName         *string                                                        `json:"className,omitempty" xml:"className,omitempty"`
	StudentDetailList []*PublishSchoolReportRequestClassDetailItemsStudentDetailList `json:"studentDetailList,omitempty" xml:"studentDetailList,omitempty" type:"Repeated"`
}

func (s PublishSchoolReportRequestClassDetailItems) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportRequestClassDetailItems) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportRequestClassDetailItems) SetClassId(v string) *PublishSchoolReportRequestClassDetailItems {
	s.ClassId = &v
	return s
}

func (s *PublishSchoolReportRequestClassDetailItems) SetClassName(v string) *PublishSchoolReportRequestClassDetailItems {
	s.ClassName = &v
	return s
}

func (s *PublishSchoolReportRequestClassDetailItems) SetStudentDetailList(v []*PublishSchoolReportRequestClassDetailItemsStudentDetailList) *PublishSchoolReportRequestClassDetailItems {
	s.StudentDetailList = v
	return s
}

type PublishSchoolReportRequestClassDetailItemsStudentDetailList struct {
	StudentId   *string                                                                   `json:"studentId,omitempty" xml:"studentId,omitempty"`
	StudentName *string                                                                   `json:"studentName,omitempty" xml:"studentName,omitempty"`
	SubjectList []*PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList `json:"subjectList,omitempty" xml:"subjectList,omitempty" type:"Repeated"`
}

func (s PublishSchoolReportRequestClassDetailItemsStudentDetailList) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportRequestClassDetailItemsStudentDetailList) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportRequestClassDetailItemsStudentDetailList) SetStudentId(v string) *PublishSchoolReportRequestClassDetailItemsStudentDetailList {
	s.StudentId = &v
	return s
}

func (s *PublishSchoolReportRequestClassDetailItemsStudentDetailList) SetStudentName(v string) *PublishSchoolReportRequestClassDetailItemsStudentDetailList {
	s.StudentName = &v
	return s
}

func (s *PublishSchoolReportRequestClassDetailItemsStudentDetailList) SetSubjectList(v []*PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList) *PublishSchoolReportRequestClassDetailItemsStudentDetailList {
	s.SubjectList = v
	return s
}

type PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList struct {
	GradeRank  *int64   `json:"gradeRank,omitempty" xml:"gradeRank,omitempty"`
	LevelScore *string  `json:"levelScore,omitempty" xml:"levelScore,omitempty"`
	Name       *string  `json:"name,omitempty" xml:"name,omitempty"`
	Score      *float64 `json:"score,omitempty" xml:"score,omitempty"`
}

func (s PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList) SetGradeRank(v int64) *PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList {
	s.GradeRank = &v
	return s
}

func (s *PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList) SetLevelScore(v string) *PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList {
	s.LevelScore = &v
	return s
}

func (s *PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList) SetName(v string) *PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList {
	s.Name = &v
	return s
}

func (s *PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList) SetScore(v float64) *PublishSchoolReportRequestClassDetailItemsStudentDetailListSubjectList {
	s.Score = &v
	return s
}

type PublishSchoolReportRequestSubjectList struct {
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
}

func (s PublishSchoolReportRequestSubjectList) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportRequestSubjectList) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportRequestSubjectList) SetName(v string) *PublishSchoolReportRequestSubjectList {
	s.Name = &v
	return s
}

type PublishSchoolReportResponseBody struct {
	Result  *PublishSchoolReportResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s PublishSchoolReportResponseBody) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportResponseBody) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportResponseBody) SetResult(v *PublishSchoolReportResponseBodyResult) *PublishSchoolReportResponseBody {
	s.Result = v
	return s
}

func (s *PublishSchoolReportResponseBody) SetSuccess(v bool) *PublishSchoolReportResponseBody {
	s.Success = &v
	return s
}

type PublishSchoolReportResponseBodyResult struct {
	SchoolReportId *int64 `json:"schoolReportId,omitempty" xml:"schoolReportId,omitempty"`
}

func (s PublishSchoolReportResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportResponseBodyResult) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportResponseBodyResult) SetSchoolReportId(v int64) *PublishSchoolReportResponseBodyResult {
	s.SchoolReportId = &v
	return s
}

type PublishSchoolReportResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *PublishSchoolReportResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s PublishSchoolReportResponse) String() string {
	return tea.Prettify(s)
}

func (s PublishSchoolReportResponse) GoString() string {
	return s.String()
}

func (s *PublishSchoolReportResponse) SetHeaders(v map[string]*string) *PublishSchoolReportResponse {
	s.Headers = v
	return s
}

func (s *PublishSchoolReportResponse) SetStatusCode(v int32) *PublishSchoolReportResponse {
	s.StatusCode = &v
	return s
}

func (s *PublishSchoolReportResponse) SetBody(v *PublishSchoolReportResponseBody) *PublishSchoolReportResponse {
	s.Body = v
	return s
}

type PushClassGroupCardHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s PushClassGroupCardHeaders) String() string {
	return tea.Prettify(s)
}

func (s PushClassGroupCardHeaders) GoString() string {
	return s.String()
}

func (s *PushClassGroupCardHeaders) SetCommonHeaders(v map[string]*string) *PushClassGroupCardHeaders {
	s.CommonHeaders = v
	return s
}

func (s *PushClassGroupCardHeaders) SetXAcsDingtalkAccessToken(v string) *PushClassGroupCardHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type PushClassGroupCardRequest struct {
	// This parameter is required.
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	ClassId         *int64                            `json:"classId,omitempty" xml:"classId,omitempty"`
	GroupTypeList   []*string                         `json:"groupTypeList,omitempty" xml:"groupTypeList,omitempty" type:"Repeated"`
	PrivateCardData map[string]map[string]interface{} `json:"privateCardData,omitempty" xml:"privateCardData,omitempty"`
	// This parameter is required.
	PublicCardData map[string]*string `json:"publicCardData,omitempty" xml:"publicCardData,omitempty"`
	// This parameter is required.
	SenderUserId *string `json:"senderUserId,omitempty" xml:"senderUserId,omitempty"`
	// This parameter is required.
	StudentUserIds []*string `json:"studentUserIds,omitempty" xml:"studentUserIds,omitempty" type:"Repeated"`
}

func (s PushClassGroupCardRequest) String() string {
	return tea.Prettify(s)
}

func (s PushClassGroupCardRequest) GoString() string {
	return s.String()
}

func (s *PushClassGroupCardRequest) SetBizCode(v string) *PushClassGroupCardRequest {
	s.BizCode = &v
	return s
}

func (s *PushClassGroupCardRequest) SetClassId(v int64) *PushClassGroupCardRequest {
	s.ClassId = &v
	return s
}

func (s *PushClassGroupCardRequest) SetGroupTypeList(v []*string) *PushClassGroupCardRequest {
	s.GroupTypeList = v
	return s
}

func (s *PushClassGroupCardRequest) SetPrivateCardData(v map[string]map[string]interface{}) *PushClassGroupCardRequest {
	s.PrivateCardData = v
	return s
}

func (s *PushClassGroupCardRequest) SetPublicCardData(v map[string]*string) *PushClassGroupCardRequest {
	s.PublicCardData = v
	return s
}

func (s *PushClassGroupCardRequest) SetSenderUserId(v string) *PushClassGroupCardRequest {
	s.SenderUserId = &v
	return s
}

func (s *PushClassGroupCardRequest) SetStudentUserIds(v []*string) *PushClassGroupCardRequest {
	s.StudentUserIds = v
	return s
}

type PushClassGroupCardResponseBody struct {
	Result  *string `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool   `json:"success,omitempty" xml:"success,omitempty"`
}

func (s PushClassGroupCardResponseBody) String() string {
	return tea.Prettify(s)
}

func (s PushClassGroupCardResponseBody) GoString() string {
	return s.String()
}

func (s *PushClassGroupCardResponseBody) SetResult(v string) *PushClassGroupCardResponseBody {
	s.Result = &v
	return s
}

func (s *PushClassGroupCardResponseBody) SetSuccess(v bool) *PushClassGroupCardResponseBody {
	s.Success = &v
	return s
}

type PushClassGroupCardResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *PushClassGroupCardResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s PushClassGroupCardResponse) String() string {
	return tea.Prettify(s)
}

func (s PushClassGroupCardResponse) GoString() string {
	return s.String()
}

func (s *PushClassGroupCardResponse) SetHeaders(v map[string]*string) *PushClassGroupCardResponse {
	s.Headers = v
	return s
}

func (s *PushClassGroupCardResponse) SetStatusCode(v int32) *PushClassGroupCardResponse {
	s.StatusCode = &v
	return s
}

func (s *PushClassGroupCardResponse) SetBody(v *PushClassGroupCardResponseBody) *PushClassGroupCardResponse {
	s.Body = v
	return s
}

type QueryHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryHeaders) GoString() string {
	return s.String()
}

func (s *QueryHeaders) SetCommonHeaders(v map[string]*string) *QueryHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryHeaders) SetXAcsDingtalkAccessToken(v string) *QueryHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryResponseBody struct {
	Result  []*QueryResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                      `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryResponseBody) GoString() string {
	return s.String()
}

func (s *QueryResponseBody) SetResult(v []*QueryResponseBodyResult) *QueryResponseBody {
	s.Result = v
	return s
}

func (s *QueryResponseBody) SetSuccess(v bool) *QueryResponseBody {
	s.Success = &v
	return s
}

type QueryResponseBodyResult struct {
	Name      *string `json:"name,omitempty" xml:"name,omitempty"`
	OwnerCode *string `json:"ownerCode,omitempty" xml:"ownerCode,omitempty"`
}

func (s QueryResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryResponseBodyResult) SetName(v string) *QueryResponseBodyResult {
	s.Name = &v
	return s
}

func (s *QueryResponseBodyResult) SetOwnerCode(v string) *QueryResponseBodyResult {
	s.OwnerCode = &v
	return s
}

type QueryResponse struct {
	Headers    map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32             `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryResponse) GoString() string {
	return s.String()
}

func (s *QueryResponse) SetHeaders(v map[string]*string) *QueryResponse {
	s.Headers = v
	return s
}

func (s *QueryResponse) SetStatusCode(v int32) *QueryResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryResponse) SetBody(v *QueryResponseBody) *QueryResponse {
	s.Body = v
	return s
}

type QueryAllSubjectsFromClassScheduleHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryAllSubjectsFromClassScheduleHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryAllSubjectsFromClassScheduleHeaders) GoString() string {
	return s.String()
}

func (s *QueryAllSubjectsFromClassScheduleHeaders) SetCommonHeaders(v map[string]*string) *QueryAllSubjectsFromClassScheduleHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleHeaders) SetXAcsDingtalkAccessToken(v string) *QueryAllSubjectsFromClassScheduleHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryAllSubjectsFromClassScheduleRequest struct {
	ClassIds []*int64 `json:"classIds,omitempty" xml:"classIds,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 34524523543
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	// example:
	//
	// KINDERGARTEN
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
}

func (s QueryAllSubjectsFromClassScheduleRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryAllSubjectsFromClassScheduleRequest) GoString() string {
	return s.String()
}

func (s *QueryAllSubjectsFromClassScheduleRequest) SetClassIds(v []*int64) *QueryAllSubjectsFromClassScheduleRequest {
	s.ClassIds = v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleRequest) SetOpUserId(v string) *QueryAllSubjectsFromClassScheduleRequest {
	s.OpUserId = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleRequest) SetPeriodCode(v string) *QueryAllSubjectsFromClassScheduleRequest {
	s.PeriodCode = &v
	return s
}

type QueryAllSubjectsFromClassScheduleShrinkRequest struct {
	ClassIdsShrink *string `json:"classIds,omitempty" xml:"classIds,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 34524523543
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	// example:
	//
	// KINDERGARTEN
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
}

func (s QueryAllSubjectsFromClassScheduleShrinkRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryAllSubjectsFromClassScheduleShrinkRequest) GoString() string {
	return s.String()
}

func (s *QueryAllSubjectsFromClassScheduleShrinkRequest) SetClassIdsShrink(v string) *QueryAllSubjectsFromClassScheduleShrinkRequest {
	s.ClassIdsShrink = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleShrinkRequest) SetOpUserId(v string) *QueryAllSubjectsFromClassScheduleShrinkRequest {
	s.OpUserId = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleShrinkRequest) SetPeriodCode(v string) *QueryAllSubjectsFromClassScheduleShrinkRequest {
	s.PeriodCode = &v
	return s
}

type QueryAllSubjectsFromClassScheduleResponseBody struct {
	Result []*QueryAllSubjectsFromClassScheduleResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s QueryAllSubjectsFromClassScheduleResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryAllSubjectsFromClassScheduleResponseBody) GoString() string {
	return s.String()
}

func (s *QueryAllSubjectsFromClassScheduleResponseBody) SetResult(v []*QueryAllSubjectsFromClassScheduleResponseBodyResult) *QueryAllSubjectsFromClassScheduleResponseBody {
	s.Result = v
	return s
}

type QueryAllSubjectsFromClassScheduleResponseBodyResult struct {
	// example:
	//
	// 创建者orgId
	CreatorOrgId *int64                                                  `json:"creatorOrgId,omitempty" xml:"creatorOrgId,omitempty"`
	Ext          *QueryAllSubjectsFromClassScheduleResponseBodyResultExt `json:"ext,omitempty" xml:"ext,omitempty" type:"Struct"`
	// example:
	//
	// HIGH_SCHOOL
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
	// example:
	//
	// cn_yuwen
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
	// example:
	//
	// 语文
	SubjectName *string `json:"subjectName,omitempty" xml:"subjectName,omitempty"`
}

func (s QueryAllSubjectsFromClassScheduleResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryAllSubjectsFromClassScheduleResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResult) SetCreatorOrgId(v int64) *QueryAllSubjectsFromClassScheduleResponseBodyResult {
	s.CreatorOrgId = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResult) SetExt(v *QueryAllSubjectsFromClassScheduleResponseBodyResultExt) *QueryAllSubjectsFromClassScheduleResponseBodyResult {
	s.Ext = v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResult) SetPeriodCode(v string) *QueryAllSubjectsFromClassScheduleResponseBodyResult {
	s.PeriodCode = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResult) SetSubjectCode(v string) *QueryAllSubjectsFromClassScheduleResponseBodyResult {
	s.SubjectCode = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResult) SetSubjectName(v string) *QueryAllSubjectsFromClassScheduleResponseBodyResult {
	s.SubjectName = &v
	return s
}

type QueryAllSubjectsFromClassScheduleResponseBodyResultExt struct {
	// example:
	//
	// #000000
	BackgroundColor *string `json:"backgroundColor,omitempty" xml:"backgroundColor,omitempty"`
	// example:
	//
	// 2345
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// #000000
	FontColor   *string                                                              `json:"fontColor,omitempty" xml:"fontColor,omitempty"`
	TeacherList []*QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList `json:"teacherList,omitempty" xml:"teacherList,omitempty" type:"Repeated"`
}

func (s QueryAllSubjectsFromClassScheduleResponseBodyResultExt) String() string {
	return tea.Prettify(s)
}

func (s QueryAllSubjectsFromClassScheduleResponseBodyResultExt) GoString() string {
	return s.String()
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResultExt) SetBackgroundColor(v string) *QueryAllSubjectsFromClassScheduleResponseBodyResultExt {
	s.BackgroundColor = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResultExt) SetClassId(v int64) *QueryAllSubjectsFromClassScheduleResponseBodyResultExt {
	s.ClassId = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResultExt) SetFontColor(v string) *QueryAllSubjectsFromClassScheduleResponseBodyResultExt {
	s.FontColor = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResultExt) SetTeacherList(v []*QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList) *QueryAllSubjectsFromClassScheduleResponseBodyResultExt {
	s.TeacherList = v
	return s
}

type QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList struct {
	// This parameter is required.
	//
	// example:
	//
	// url
	Avator *string `json:"avator,omitempty" xml:"avator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 李老师
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 5824343
	Uid *int64 `json:"uid,omitempty" xml:"uid,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2534523452
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList) String() string {
	return tea.Prettify(s)
}

func (s QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList) GoString() string {
	return s.String()
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList) SetAvator(v string) *QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList {
	s.Avator = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList) SetName(v string) *QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList {
	s.Name = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList) SetUid(v int64) *QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList {
	s.Uid = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList) SetUserId(v string) *QueryAllSubjectsFromClassScheduleResponseBodyResultExtTeacherList {
	s.UserId = &v
	return s
}

type QueryAllSubjectsFromClassScheduleResponse struct {
	Headers    map[string]*string                             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryAllSubjectsFromClassScheduleResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryAllSubjectsFromClassScheduleResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryAllSubjectsFromClassScheduleResponse) GoString() string {
	return s.String()
}

func (s *QueryAllSubjectsFromClassScheduleResponse) SetHeaders(v map[string]*string) *QueryAllSubjectsFromClassScheduleResponse {
	s.Headers = v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponse) SetStatusCode(v int32) *QueryAllSubjectsFromClassScheduleResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryAllSubjectsFromClassScheduleResponse) SetBody(v *QueryAllSubjectsFromClassScheduleResponseBody) *QueryAllSubjectsFromClassScheduleResponse {
	s.Body = v
	return s
}

type QueryClassScheduleHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryClassScheduleHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleHeaders) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleHeaders) SetCommonHeaders(v map[string]*string) *QueryClassScheduleHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryClassScheduleHeaders) SetXAcsDingtalkAccessToken(v string) *QueryClassScheduleHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryClassScheduleRequest struct {
	// This parameter is required.
	SectionIndexList []*int64 `json:"sectionIndexList,omitempty" xml:"sectionIndexList,omitempty" type:"Repeated"`
	// This parameter is required.
	SubscriberIds []*string `json:"subscriberIds,omitempty" xml:"subscriberIds,omitempty" type:"Repeated"`
	// example:
	//
	// 168454674745
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234623456
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	// example:
	//
	// 168454674745
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// USER
	SubscriberType *string `json:"subscriberType,omitempty" xml:"subscriberType,omitempty"`
}

func (s QueryClassScheduleRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleRequest) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleRequest) SetSectionIndexList(v []*int64) *QueryClassScheduleRequest {
	s.SectionIndexList = v
	return s
}

func (s *QueryClassScheduleRequest) SetSubscriberIds(v []*string) *QueryClassScheduleRequest {
	s.SubscriberIds = v
	return s
}

func (s *QueryClassScheduleRequest) SetEndTime(v int64) *QueryClassScheduleRequest {
	s.EndTime = &v
	return s
}

func (s *QueryClassScheduleRequest) SetOpUserId(v string) *QueryClassScheduleRequest {
	s.OpUserId = &v
	return s
}

func (s *QueryClassScheduleRequest) SetStartTime(v int64) *QueryClassScheduleRequest {
	s.StartTime = &v
	return s
}

func (s *QueryClassScheduleRequest) SetSubscriberType(v string) *QueryClassScheduleRequest {
	s.SubscriberType = &v
	return s
}

type QueryClassScheduleResponseBody struct {
	Config     *QueryClassScheduleResponseBodyConfig       `json:"config,omitempty" xml:"config,omitempty" type:"Struct"`
	CourseDTOS []*QueryClassScheduleResponseBodyCourseDTOS `json:"courseDTOS,omitempty" xml:"courseDTOS,omitempty" type:"Repeated"`
}

func (s QueryClassScheduleResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBody) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBody) SetConfig(v *QueryClassScheduleResponseBodyConfig) *QueryClassScheduleResponseBody {
	s.Config = v
	return s
}

func (s *QueryClassScheduleResponseBody) SetCourseDTOS(v []*QueryClassScheduleResponseBodyCourseDTOS) *QueryClassScheduleResponseBody {
	s.CourseDTOS = v
	return s
}

type QueryClassScheduleResponseBodyConfig struct {
	End           *QueryClassScheduleResponseBodyConfigEnd             `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	SectionModels []*QueryClassScheduleResponseBodyConfigSectionModels `json:"sectionModels,omitempty" xml:"sectionModels,omitempty" type:"Repeated"`
	Start         *QueryClassScheduleResponseBodyConfigStart           `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
}

func (s QueryClassScheduleResponseBodyConfig) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyConfig) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyConfig) SetEnd(v *QueryClassScheduleResponseBodyConfigEnd) *QueryClassScheduleResponseBodyConfig {
	s.End = v
	return s
}

func (s *QueryClassScheduleResponseBodyConfig) SetSectionModels(v []*QueryClassScheduleResponseBodyConfigSectionModels) *QueryClassScheduleResponseBodyConfig {
	s.SectionModels = v
	return s
}

func (s *QueryClassScheduleResponseBodyConfig) SetStart(v *QueryClassScheduleResponseBodyConfigStart) *QueryClassScheduleResponseBodyConfig {
	s.Start = v
	return s
}

type QueryClassScheduleResponseBodyConfigEnd struct {
	// example:
	//
	// 1
	DayOfMonth *int64 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// example:
	//
	// 2
	Month *int64 `json:"month,omitempty" xml:"month,omitempty"`
	// example:
	//
	// 2020
	Year *int64 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s QueryClassScheduleResponseBodyConfigEnd) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyConfigEnd) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyConfigEnd) SetDayOfMonth(v int64) *QueryClassScheduleResponseBodyConfigEnd {
	s.DayOfMonth = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigEnd) SetMonth(v int64) *QueryClassScheduleResponseBodyConfigEnd {
	s.Month = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigEnd) SetYear(v int64) *QueryClassScheduleResponseBodyConfigEnd {
	s.Year = &v
	return s
}

type QueryClassScheduleResponseBodyConfigSectionModels struct {
	End *QueryClassScheduleResponseBodyConfigSectionModelsEnd `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	// example:
	//
	// 1
	SectionIndex *int64 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// example:
	//
	// 第一节
	SectionName *string `json:"sectionName,omitempty" xml:"sectionName,omitempty"`
	// example:
	//
	// COURSE
	SectionType *string                                                 `json:"sectionType,omitempty" xml:"sectionType,omitempty"`
	Start       *QueryClassScheduleResponseBodyConfigSectionModelsStart `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
}

func (s QueryClassScheduleResponseBodyConfigSectionModels) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyConfigSectionModels) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyConfigSectionModels) SetEnd(v *QueryClassScheduleResponseBodyConfigSectionModelsEnd) *QueryClassScheduleResponseBodyConfigSectionModels {
	s.End = v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigSectionModels) SetSectionIndex(v int64) *QueryClassScheduleResponseBodyConfigSectionModels {
	s.SectionIndex = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigSectionModels) SetSectionName(v string) *QueryClassScheduleResponseBodyConfigSectionModels {
	s.SectionName = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigSectionModels) SetSectionType(v string) *QueryClassScheduleResponseBodyConfigSectionModels {
	s.SectionType = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigSectionModels) SetStart(v *QueryClassScheduleResponseBodyConfigSectionModelsStart) *QueryClassScheduleResponseBodyConfigSectionModels {
	s.Start = v
	return s
}

type QueryClassScheduleResponseBodyConfigSectionModelsEnd struct {
	// example:
	//
	// 10
	Hour *int64 `json:"hour,omitempty" xml:"hour,omitempty"`
	// example:
	//
	// 45
	Min *int64 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s QueryClassScheduleResponseBodyConfigSectionModelsEnd) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyConfigSectionModelsEnd) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyConfigSectionModelsEnd) SetHour(v int64) *QueryClassScheduleResponseBodyConfigSectionModelsEnd {
	s.Hour = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigSectionModelsEnd) SetMin(v int64) *QueryClassScheduleResponseBodyConfigSectionModelsEnd {
	s.Min = &v
	return s
}

type QueryClassScheduleResponseBodyConfigSectionModelsStart struct {
	// example:
	//
	// 10
	Hour *int64 `json:"hour,omitempty" xml:"hour,omitempty"`
	// example:
	//
	// 0
	Min *int64 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s QueryClassScheduleResponseBodyConfigSectionModelsStart) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyConfigSectionModelsStart) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyConfigSectionModelsStart) SetHour(v int64) *QueryClassScheduleResponseBodyConfigSectionModelsStart {
	s.Hour = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigSectionModelsStart) SetMin(v int64) *QueryClassScheduleResponseBodyConfigSectionModelsStart {
	s.Min = &v
	return s
}

type QueryClassScheduleResponseBodyConfigStart struct {
	// example:
	//
	// 1
	DayOfMonth *int64 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// example:
	//
	// 1
	Month *int64 `json:"month,omitempty" xml:"month,omitempty"`
	// example:
	//
	// 2020
	Year *int64 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s QueryClassScheduleResponseBodyConfigStart) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyConfigStart) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyConfigStart) SetDayOfMonth(v int64) *QueryClassScheduleResponseBodyConfigStart {
	s.DayOfMonth = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigStart) SetMonth(v int64) *QueryClassScheduleResponseBodyConfigStart {
	s.Month = &v
	return s
}

func (s *QueryClassScheduleResponseBodyConfigStart) SetYear(v int64) *QueryClassScheduleResponseBodyConfigStart {
	s.Year = &v
	return s
}

type QueryClassScheduleResponseBodyCourseDTOS struct {
	// example:
	//
	// 2345
	ClassId    *int64                                                `json:"classId,omitempty" xml:"classId,omitempty"`
	Classrooms []*QueryClassScheduleResponseBodyCourseDTOSClassrooms `json:"classrooms,omitempty" xml:"classrooms,omitempty" type:"Repeated"`
	// example:
	//
	// cn_yuwen
	Code *string `json:"code,omitempty" xml:"code,omitempty"`
	// example:
	//
	// Ekk24352534
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// example:
	//
	// ruu
	CoverUrl *string `json:"coverUrl,omitempty" xml:"coverUrl,omitempty"`
	// example:
	//
	// ding32534536235
	CreatorCorpId *string `json:"creatorCorpId,omitempty" xml:"creatorCorpId,omitempty"`
	// example:
	//
	// 234525235
	CreatorUserId *string `json:"creatorUserId,omitempty" xml:"creatorUserId,omitempty"`
	// example:
	//
	// 行政老师A
	CreatorUserName *string                                                  `json:"creatorUserName,omitempty" xml:"creatorUserName,omitempty"`
	EduUserModels   []*QueryClassScheduleResponseBodyCourseDTOSEduUserModels `json:"eduUserModels,omitempty" xml:"eduUserModels,omitempty" type:"Repeated"`
	EndTime         *int64                                                   `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// example:
	//
	// ext
	ExtInfo *string `json:"extInfo,omitempty" xml:"extInfo,omitempty"`
	// example:
	//
	// 这是语文
	Introduce *string `json:"introduce,omitempty" xml:"introduce,omitempty"`
	// example:
	//
	// 语文
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 2
	SectionIndex *int64 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// example:
	//
	// 语文
	SectionName *string `json:"sectionName,omitempty" xml:"sectionName,omitempty"`
	StartTime   *int64  `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 0
	Status *int64 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// cn_yuwen
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
	// example:
	//
	// ding32534536235
	TeacherCorpId *string `json:"teacherCorpId,omitempty" xml:"teacherCorpId,omitempty"`
	// example:
	//
	// 25354252543
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
	// example:
	//
	// 李老师
	TeacherUserName *string `json:"teacherUserName,omitempty" xml:"teacherUserName,omitempty"`
}

func (s QueryClassScheduleResponseBodyCourseDTOS) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyCourseDTOS) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetClassId(v int64) *QueryClassScheduleResponseBodyCourseDTOS {
	s.ClassId = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetClassrooms(v []*QueryClassScheduleResponseBodyCourseDTOSClassrooms) *QueryClassScheduleResponseBodyCourseDTOS {
	s.Classrooms = v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetCode(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.Code = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetCourseGroupCode(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.CourseGroupCode = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetCoverUrl(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.CoverUrl = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetCreatorCorpId(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.CreatorCorpId = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetCreatorUserId(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.CreatorUserId = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetCreatorUserName(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.CreatorUserName = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetEduUserModels(v []*QueryClassScheduleResponseBodyCourseDTOSEduUserModels) *QueryClassScheduleResponseBodyCourseDTOS {
	s.EduUserModels = v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetEndTime(v int64) *QueryClassScheduleResponseBodyCourseDTOS {
	s.EndTime = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetExtInfo(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.ExtInfo = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetIntroduce(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.Introduce = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetName(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.Name = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetSectionIndex(v int64) *QueryClassScheduleResponseBodyCourseDTOS {
	s.SectionIndex = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetSectionName(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.SectionName = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetStartTime(v int64) *QueryClassScheduleResponseBodyCourseDTOS {
	s.StartTime = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetStatus(v int64) *QueryClassScheduleResponseBodyCourseDTOS {
	s.Status = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetSubjectCode(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.SubjectCode = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetTeacherCorpId(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.TeacherCorpId = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetTeacherUserId(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.TeacherUserId = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOS) SetTeacherUserName(v string) *QueryClassScheduleResponseBodyCourseDTOS {
	s.TeacherUserName = &v
	return s
}

type QueryClassScheduleResponseBodyCourseDTOSClassrooms struct {
	InteractInfo *string `json:"interactInfo,omitempty" xml:"interactInfo,omitempty"`
	TargetId     *string `json:"targetId,omitempty" xml:"targetId,omitempty"`
}

func (s QueryClassScheduleResponseBodyCourseDTOSClassrooms) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyCourseDTOSClassrooms) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyCourseDTOSClassrooms) SetInteractInfo(v string) *QueryClassScheduleResponseBodyCourseDTOSClassrooms {
	s.InteractInfo = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOSClassrooms) SetTargetId(v string) *QueryClassScheduleResponseBodyCourseDTOSClassrooms {
	s.TargetId = &v
	return s
}

type QueryClassScheduleResponseBodyCourseDTOSEduUserModels struct {
	Name   *string `json:"name,omitempty" xml:"name,omitempty"`
	Uid    *int64  `json:"uid,omitempty" xml:"uid,omitempty"`
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s QueryClassScheduleResponseBodyCourseDTOSEduUserModels) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponseBodyCourseDTOSEduUserModels) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponseBodyCourseDTOSEduUserModels) SetName(v string) *QueryClassScheduleResponseBodyCourseDTOSEduUserModels {
	s.Name = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOSEduUserModels) SetUid(v int64) *QueryClassScheduleResponseBodyCourseDTOSEduUserModels {
	s.Uid = &v
	return s
}

func (s *QueryClassScheduleResponseBodyCourseDTOSEduUserModels) SetUserId(v string) *QueryClassScheduleResponseBodyCourseDTOSEduUserModels {
	s.UserId = &v
	return s
}

type QueryClassScheduleResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryClassScheduleResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryClassScheduleResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleResponse) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleResponse) SetHeaders(v map[string]*string) *QueryClassScheduleResponse {
	s.Headers = v
	return s
}

func (s *QueryClassScheduleResponse) SetStatusCode(v int32) *QueryClassScheduleResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryClassScheduleResponse) SetBody(v *QueryClassScheduleResponseBody) *QueryClassScheduleResponse {
	s.Body = v
	return s
}

type QueryClassScheduleByTimeSchoolHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryClassScheduleByTimeSchoolHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleByTimeSchoolHeaders) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleByTimeSchoolHeaders) SetCommonHeaders(v map[string]*string) *QueryClassScheduleByTimeSchoolHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryClassScheduleByTimeSchoolHeaders) SetXAcsDingtalkAccessToken(v string) *QueryClassScheduleByTimeSchoolHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryClassScheduleByTimeSchoolRequest struct {
	// This parameter is required.
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// This parameter is required.
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	// This parameter is required.
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
}

func (s QueryClassScheduleByTimeSchoolRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleByTimeSchoolRequest) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleByTimeSchoolRequest) SetEndTime(v int64) *QueryClassScheduleByTimeSchoolRequest {
	s.EndTime = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolRequest) SetOpUserId(v string) *QueryClassScheduleByTimeSchoolRequest {
	s.OpUserId = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolRequest) SetStartTime(v int64) *QueryClassScheduleByTimeSchoolRequest {
	s.StartTime = &v
	return s
}

type QueryClassScheduleByTimeSchoolResponseBody struct {
	Result []*QueryClassScheduleByTimeSchoolResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s QueryClassScheduleByTimeSchoolResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleByTimeSchoolResponseBody) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleByTimeSchoolResponseBody) SetResult(v []*QueryClassScheduleByTimeSchoolResponseBodyResult) *QueryClassScheduleByTimeSchoolResponseBody {
	s.Result = v
	return s
}

type QueryClassScheduleByTimeSchoolResponseBodyResult struct {
	// example:
	//
	// cn_yuwen_12341
	BizKey *string `json:"bizKey,omitempty" xml:"bizKey,omitempty"`
	// example:
	//
	// 2345
	ClassId    *int64                                                        `json:"classId,omitempty" xml:"classId,omitempty"`
	Classrooms []*QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms `json:"classrooms,omitempty" xml:"classrooms,omitempty" type:"Repeated"`
	// example:
	//
	// EKK243
	Code *string `json:"code,omitempty" xml:"code,omitempty"`
	// example:
	//
	// Ek1234
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// example:
	//
	// url
	CoverUrl *string `json:"coverUrl,omitempty" xml:"coverUrl,omitempty"`
	// example:
	//
	// Ekk512345
	CreatorCorpId *string `json:"creatorCorpId,omitempty" xml:"creatorCorpId,omitempty"`
	// example:
	//
	// 5234523452
	CreatorUserId *string `json:"creatorUserId,omitempty" xml:"creatorUserId,omitempty"`
	// example:
	//
	// 行政老师A
	CreatorUserName *string                                                          `json:"creatorUserName,omitempty" xml:"creatorUserName,omitempty"`
	EduUserModels   []*QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels `json:"eduUserModels,omitempty" xml:"eduUserModels,omitempty" type:"Repeated"`
	// example:
	//
	// 1682399879
	EndTime *int64  `json:"endTime,omitempty" xml:"endTime,omitempty"`
	ExtInfo *string `json:"extInfo,omitempty" xml:"extInfo,omitempty"`
	// example:
	//
	// 这是语文
	Introduce *string `json:"introduce,omitempty" xml:"introduce,omitempty"`
	// example:
	//
	// 语文
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 1
	SectionIndex *int64 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// example:
	//
	// 第一节
	SectionName *string `json:"sectionName,omitempty" xml:"sectionName,omitempty"`
	// example:
	//
	// 1682397879
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	Status    *int64 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// cn_yuwen
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
	// example:
	//
	// ding253453
	TeacherCorpId *string `json:"teacherCorpId,omitempty" xml:"teacherCorpId,omitempty"`
	// example:
	//
	// 25234534552345
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
	// example:
	//
	// 李老师
	TeacherUserName *string `json:"teacherUserName,omitempty" xml:"teacherUserName,omitempty"`
}

func (s QueryClassScheduleByTimeSchoolResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleByTimeSchoolResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetBizKey(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.BizKey = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetClassId(v int64) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetClassrooms(v []*QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.Classrooms = v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetCode(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.Code = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetCourseGroupCode(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.CourseGroupCode = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetCoverUrl(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.CoverUrl = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetCreatorCorpId(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.CreatorCorpId = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetCreatorUserId(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.CreatorUserId = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetCreatorUserName(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.CreatorUserName = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetEduUserModels(v []*QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.EduUserModels = v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetEndTime(v int64) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.EndTime = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetExtInfo(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.ExtInfo = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetIntroduce(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.Introduce = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetName(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.Name = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetSectionIndex(v int64) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.SectionIndex = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetSectionName(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.SectionName = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetStartTime(v int64) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.StartTime = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetStatus(v int64) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.Status = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetSubjectCode(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.SubjectCode = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetTeacherCorpId(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.TeacherCorpId = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetTeacherUserId(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.TeacherUserId = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResult) SetTeacherUserName(v string) *QueryClassScheduleByTimeSchoolResponseBodyResult {
	s.TeacherUserName = &v
	return s
}

type QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms struct {
	InteractInfo *string `json:"interactInfo,omitempty" xml:"interactInfo,omitempty"`
	TargetId     *string `json:"targetId,omitempty" xml:"targetId,omitempty"`
}

func (s QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms) SetInteractInfo(v string) *QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms {
	s.InteractInfo = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms) SetTargetId(v string) *QueryClassScheduleByTimeSchoolResponseBodyResultClassrooms {
	s.TargetId = &v
	return s
}

type QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels struct {
	Name   *string `json:"name,omitempty" xml:"name,omitempty"`
	Uid    *int64  `json:"uid,omitempty" xml:"uid,omitempty"`
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels) SetName(v string) *QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels {
	s.Name = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels) SetUid(v int64) *QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels {
	s.Uid = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels) SetUserId(v string) *QueryClassScheduleByTimeSchoolResponseBodyResultEduUserModels {
	s.UserId = &v
	return s
}

type QueryClassScheduleByTimeSchoolResponse struct {
	Headers    map[string]*string                          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryClassScheduleByTimeSchoolResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryClassScheduleByTimeSchoolResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleByTimeSchoolResponse) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleByTimeSchoolResponse) SetHeaders(v map[string]*string) *QueryClassScheduleByTimeSchoolResponse {
	s.Headers = v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponse) SetStatusCode(v int32) *QueryClassScheduleByTimeSchoolResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryClassScheduleByTimeSchoolResponse) SetBody(v *QueryClassScheduleByTimeSchoolResponseBody) *QueryClassScheduleByTimeSchoolResponse {
	s.Body = v
	return s
}

type QueryClassScheduleConfigHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryClassScheduleConfigHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigHeaders) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigHeaders) SetCommonHeaders(v map[string]*string) *QueryClassScheduleConfigHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryClassScheduleConfigHeaders) SetXAcsDingtalkAccessToken(v string) *QueryClassScheduleConfigHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryClassScheduleConfigRequest struct {
	ClassIds []*int64 `json:"classIds,omitempty" xml:"classIds,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 2534522534
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s QueryClassScheduleConfigRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigRequest) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigRequest) SetClassIds(v []*int64) *QueryClassScheduleConfigRequest {
	s.ClassIds = v
	return s
}

func (s *QueryClassScheduleConfigRequest) SetOpUserId(v string) *QueryClassScheduleConfigRequest {
	s.OpUserId = &v
	return s
}

type QueryClassScheduleConfigShrinkRequest struct {
	ClassIdsShrink *string `json:"classIds,omitempty" xml:"classIds,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2534522534
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s QueryClassScheduleConfigShrinkRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigShrinkRequest) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigShrinkRequest) SetClassIdsShrink(v string) *QueryClassScheduleConfigShrinkRequest {
	s.ClassIdsShrink = &v
	return s
}

func (s *QueryClassScheduleConfigShrinkRequest) SetOpUserId(v string) *QueryClassScheduleConfigShrinkRequest {
	s.OpUserId = &v
	return s
}

type QueryClassScheduleConfigResponseBody struct {
	Result []*QueryClassScheduleConfigResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s QueryClassScheduleConfigResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigResponseBody) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigResponseBody) SetResult(v []*QueryClassScheduleConfigResponseBodyResult) *QueryClassScheduleConfigResponseBody {
	s.Result = v
	return s
}

type QueryClassScheduleConfigResponseBodyResult struct {
	// example:
	//
	// 2345
	ClassId       *int64                                                     `json:"classId,omitempty" xml:"classId,omitempty"`
	End           *QueryClassScheduleConfigResponseBodyResultEnd             `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	SectionModels []*QueryClassScheduleConfigResponseBodyResultSectionModels `json:"sectionModels,omitempty" xml:"sectionModels,omitempty" type:"Repeated"`
	Start         *QueryClassScheduleConfigResponseBodyResultStart           `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
}

func (s QueryClassScheduleConfigResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigResponseBodyResult) SetClassId(v int64) *QueryClassScheduleConfigResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResult) SetEnd(v *QueryClassScheduleConfigResponseBodyResultEnd) *QueryClassScheduleConfigResponseBodyResult {
	s.End = v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResult) SetSectionModels(v []*QueryClassScheduleConfigResponseBodyResultSectionModels) *QueryClassScheduleConfigResponseBodyResult {
	s.SectionModels = v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResult) SetStart(v *QueryClassScheduleConfigResponseBodyResultStart) *QueryClassScheduleConfigResponseBodyResult {
	s.Start = v
	return s
}

type QueryClassScheduleConfigResponseBodyResultEnd struct {
	// example:
	//
	// 30
	DayOfMonth *int64 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// example:
	//
	// 1
	Month *int64 `json:"month,omitempty" xml:"month,omitempty"`
	// example:
	//
	// 2020
	Year *int64 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s QueryClassScheduleConfigResponseBodyResultEnd) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigResponseBodyResultEnd) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigResponseBodyResultEnd) SetDayOfMonth(v int64) *QueryClassScheduleConfigResponseBodyResultEnd {
	s.DayOfMonth = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultEnd) SetMonth(v int64) *QueryClassScheduleConfigResponseBodyResultEnd {
	s.Month = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultEnd) SetYear(v int64) *QueryClassScheduleConfigResponseBodyResultEnd {
	s.Year = &v
	return s
}

type QueryClassScheduleConfigResponseBodyResultSectionModels struct {
	End *QueryClassScheduleConfigResponseBodyResultSectionModelsEnd `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	// example:
	//
	// 1
	SectionIndex *int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// example:
	//
	// 第一节
	SectionName *string                                                       `json:"sectionName,omitempty" xml:"sectionName,omitempty"`
	SectionType *string                                                       `json:"sectionType,omitempty" xml:"sectionType,omitempty"`
	Start       *QueryClassScheduleConfigResponseBodyResultSectionModelsStart `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
}

func (s QueryClassScheduleConfigResponseBodyResultSectionModels) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigResponseBodyResultSectionModels) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModels) SetEnd(v *QueryClassScheduleConfigResponseBodyResultSectionModelsEnd) *QueryClassScheduleConfigResponseBodyResultSectionModels {
	s.End = v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModels) SetSectionIndex(v int32) *QueryClassScheduleConfigResponseBodyResultSectionModels {
	s.SectionIndex = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModels) SetSectionName(v string) *QueryClassScheduleConfigResponseBodyResultSectionModels {
	s.SectionName = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModels) SetSectionType(v string) *QueryClassScheduleConfigResponseBodyResultSectionModels {
	s.SectionType = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModels) SetStart(v *QueryClassScheduleConfigResponseBodyResultSectionModelsStart) *QueryClassScheduleConfigResponseBodyResultSectionModels {
	s.Start = v
	return s
}

type QueryClassScheduleConfigResponseBodyResultSectionModelsEnd struct {
	// example:
	//
	// 10
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// example:
	//
	// 45
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s QueryClassScheduleConfigResponseBodyResultSectionModelsEnd) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigResponseBodyResultSectionModelsEnd) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModelsEnd) SetHour(v int32) *QueryClassScheduleConfigResponseBodyResultSectionModelsEnd {
	s.Hour = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModelsEnd) SetMin(v int32) *QueryClassScheduleConfigResponseBodyResultSectionModelsEnd {
	s.Min = &v
	return s
}

type QueryClassScheduleConfigResponseBodyResultSectionModelsStart struct {
	// example:
	//
	// 10
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// example:
	//
	// 0
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s QueryClassScheduleConfigResponseBodyResultSectionModelsStart) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigResponseBodyResultSectionModelsStart) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModelsStart) SetHour(v int32) *QueryClassScheduleConfigResponseBodyResultSectionModelsStart {
	s.Hour = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultSectionModelsStart) SetMin(v int32) *QueryClassScheduleConfigResponseBodyResultSectionModelsStart {
	s.Min = &v
	return s
}

type QueryClassScheduleConfigResponseBodyResultStart struct {
	// example:
	//
	// 1
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// example:
	//
	// 2
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// example:
	//
	// 2020
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s QueryClassScheduleConfigResponseBodyResultStart) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigResponseBodyResultStart) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigResponseBodyResultStart) SetDayOfMonth(v int32) *QueryClassScheduleConfigResponseBodyResultStart {
	s.DayOfMonth = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultStart) SetMonth(v int32) *QueryClassScheduleConfigResponseBodyResultStart {
	s.Month = &v
	return s
}

func (s *QueryClassScheduleConfigResponseBodyResultStart) SetYear(v int32) *QueryClassScheduleConfigResponseBodyResultStart {
	s.Year = &v
	return s
}

type QueryClassScheduleConfigResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryClassScheduleConfigResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryClassScheduleConfigResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryClassScheduleConfigResponse) GoString() string {
	return s.String()
}

func (s *QueryClassScheduleConfigResponse) SetHeaders(v map[string]*string) *QueryClassScheduleConfigResponse {
	s.Headers = v
	return s
}

func (s *QueryClassScheduleConfigResponse) SetStatusCode(v int32) *QueryClassScheduleConfigResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryClassScheduleConfigResponse) SetBody(v *QueryClassScheduleConfigResponseBody) *QueryClassScheduleConfigResponse {
	s.Body = v
	return s
}

type QueryCollegeContactUserDetailHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryCollegeContactUserDetailHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailHeaders) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailHeaders) SetCommonHeaders(v map[string]*string) *QueryCollegeContactUserDetailHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryCollegeContactUserDetailHeaders) SetXAcsDingtalkAccessToken(v string) *QueryCollegeContactUserDetailHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryCollegeContactUserDetailRequest struct {
	// example:
	//
	// 12122294
	JobNumber *string `json:"jobNumber,omitempty" xml:"jobNumber,omitempty"`
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
	// example:
	//
	// zhangsan666
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
}

func (s QueryCollegeContactUserDetailRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailRequest) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailRequest) SetJobNumber(v string) *QueryCollegeContactUserDetailRequest {
	s.JobNumber = &v
	return s
}

func (s *QueryCollegeContactUserDetailRequest) SetLanguage(v string) *QueryCollegeContactUserDetailRequest {
	s.Language = &v
	return s
}

func (s *QueryCollegeContactUserDetailRequest) SetUserid(v string) *QueryCollegeContactUserDetailRequest {
	s.Userid = &v
	return s
}

type QueryCollegeContactUserDetailResponseBody struct {
	Result  *QueryCollegeContactUserDetailResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                            `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBody) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBody) SetResult(v *QueryCollegeContactUserDetailResponseBodyResult) *QueryCollegeContactUserDetailResponseBody {
	s.Result = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBody) SetSuccess(v bool) *QueryCollegeContactUserDetailResponseBody {
	s.Success = &v
	return s
}

type QueryCollegeContactUserDetailResponseBodyResult struct {
	Active *bool `json:"active,omitempty" xml:"active,omitempty"`
	Admin  *bool `json:"admin,omitempty" xml:"admin,omitempty"`
	// example:
	//
	// xxxxxx
	Avatar          *string                                                           `json:"avatar,omitempty" xml:"avatar,omitempty"`
	Boss            *bool                                                             `json:"boss,omitempty" xml:"boss,omitempty"`
	DeptIdList      []*int64                                                          `json:"deptIdList,omitempty" xml:"deptIdList,omitempty" type:"Repeated"`
	DeptOrderList   []*QueryCollegeContactUserDetailResponseBodyResultDeptOrderList   `json:"deptOrderList,omitempty" xml:"deptOrderList,omitempty" type:"Repeated"`
	DeptPositionSet []*QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet `json:"deptPositionSet,omitempty" xml:"deptPositionSet,omitempty" type:"Repeated"`
	DeptTypeSet     []*QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet     `json:"deptTypeSet,omitempty" xml:"deptTypeSet,omitempty" type:"Repeated"`
	// example:
	//
	// test@xxx.com
	Email *string `json:"email,omitempty" xml:"email,omitempty"`
	// example:
	//
	// college_student
	EmpType                *string `json:"empType,omitempty" xml:"empType,omitempty"`
	ExclusiveAccount       *bool   `json:"exclusiveAccount,omitempty" xml:"exclusiveAccount,omitempty"`
	ExclusiveAccountCorpId *string `json:"exclusiveAccountCorpId,omitempty" xml:"exclusiveAccountCorpId,omitempty"`
	// example:
	//
	// 组织名称
	ExclusiveAccountCorpName *string `json:"exclusiveAccountCorpName,omitempty" xml:"exclusiveAccountCorpName,omitempty"`
	// example:
	//
	// dingtalk
	ExclusiveAccountType *string `json:"exclusiveAccountType,omitempty" xml:"exclusiveAccountType,omitempty"`
	// example:
	//
	// {"学号":"12122294","在校状态":"新生","学生类别":"本科生","考生号":"999888"}
	Extension  *string `json:"extension,omitempty" xml:"extension,omitempty"`
	HideMobile *bool   `json:"hideMobile,omitempty" xml:"hideMobile,omitempty"`
	// example:
	//
	// 1597573616828
	HiredDate *int64 `json:"hiredDate,omitempty" xml:"hiredDate,omitempty"`
	// example:
	//
	// 12122294
	JobNumber    *string                                                        `json:"jobNumber,omitempty" xml:"jobNumber,omitempty"`
	LeaderInDept []*QueryCollegeContactUserDetailResponseBodyResultLeaderInDept `json:"leaderInDept,omitempty" xml:"leaderInDept,omitempty" type:"Repeated"`
	// example:
	//
	// 12122294
	LoginId *string `json:"loginId,omitempty" xml:"loginId,omitempty"`
	// example:
	//
	// studentNo
	LoginType *string `json:"loginType,omitempty" xml:"loginType,omitempty"`
	// example:
	//
	// 123456
	MainDeptId *int64 `json:"mainDeptId,omitempty" xml:"mainDeptId,omitempty"`
	// example:
	//
	// 111111
	ManagerUserid *string `json:"managerUserid,omitempty" xml:"managerUserid,omitempty"`
	// example:
	//
	// 188****4567
	Mobile *string `json:"mobile,omitempty" xml:"mobile,omitempty"`
	// example:
	//
	// 张三
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// test@xxx.com
	OrgEmail *string `json:"orgEmail,omitempty" xml:"orgEmail,omitempty"`
	// example:
	//
	// profession
	OrgEmailType *string `json:"orgEmailType,omitempty" xml:"orgEmailType,omitempty"`
	RealAuthed   *bool   `json:"realAuthed,omitempty" xml:"realAuthed,omitempty"`
	// example:
	//
	// 这是一个备注
	Remark   *string                                                    `json:"remark,omitempty" xml:"remark,omitempty"`
	RoleList []*QueryCollegeContactUserDetailResponseBodyResultRoleList `json:"roleList,omitempty" xml:"roleList,omitempty" type:"Repeated"`
	Senior   *bool                                                      `json:"senior,omitempty" xml:"senior,omitempty"`
	// example:
	//
	// 86
	StateCode *string `json:"stateCode,omitempty" xml:"stateCode,omitempty"`
	// example:
	//
	// 010-86123456-2345
	Telephone *string `json:"telephone,omitempty" xml:"telephone,omitempty"`
	// example:
	//
	// 学工处处长
	Title       *string                                                     `json:"title,omitempty" xml:"title,omitempty"`
	UnionEmpExt *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt `json:"unionEmpExt,omitempty" xml:"unionEmpExt,omitempty" type:"Struct"`
	// example:
	//
	// z21HjQliSzpw0YWCNxmii6u2Os62cZ62iSZ
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
	// example:
	//
	// zhangsan666
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetActive(v bool) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Active = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetAdmin(v bool) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Admin = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetAvatar(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Avatar = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetBoss(v bool) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Boss = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetDeptIdList(v []*int64) *QueryCollegeContactUserDetailResponseBodyResult {
	s.DeptIdList = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetDeptOrderList(v []*QueryCollegeContactUserDetailResponseBodyResultDeptOrderList) *QueryCollegeContactUserDetailResponseBodyResult {
	s.DeptOrderList = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetDeptPositionSet(v []*QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet) *QueryCollegeContactUserDetailResponseBodyResult {
	s.DeptPositionSet = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetDeptTypeSet(v []*QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet) *QueryCollegeContactUserDetailResponseBodyResult {
	s.DeptTypeSet = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetEmail(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Email = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetEmpType(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.EmpType = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetExclusiveAccount(v bool) *QueryCollegeContactUserDetailResponseBodyResult {
	s.ExclusiveAccount = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetExclusiveAccountCorpId(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.ExclusiveAccountCorpId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetExclusiveAccountCorpName(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.ExclusiveAccountCorpName = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetExclusiveAccountType(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.ExclusiveAccountType = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetExtension(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Extension = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetHideMobile(v bool) *QueryCollegeContactUserDetailResponseBodyResult {
	s.HideMobile = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetHiredDate(v int64) *QueryCollegeContactUserDetailResponseBodyResult {
	s.HiredDate = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetJobNumber(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.JobNumber = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetLeaderInDept(v []*QueryCollegeContactUserDetailResponseBodyResultLeaderInDept) *QueryCollegeContactUserDetailResponseBodyResult {
	s.LeaderInDept = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetLoginId(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.LoginId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetLoginType(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.LoginType = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetMainDeptId(v int64) *QueryCollegeContactUserDetailResponseBodyResult {
	s.MainDeptId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetManagerUserid(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.ManagerUserid = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetMobile(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Mobile = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetName(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Name = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetOrgEmail(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.OrgEmail = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetOrgEmailType(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.OrgEmailType = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetRealAuthed(v bool) *QueryCollegeContactUserDetailResponseBodyResult {
	s.RealAuthed = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetRemark(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Remark = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetRoleList(v []*QueryCollegeContactUserDetailResponseBodyResultRoleList) *QueryCollegeContactUserDetailResponseBodyResult {
	s.RoleList = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetSenior(v bool) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Senior = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetStateCode(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.StateCode = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetTelephone(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Telephone = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetTitle(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Title = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetUnionEmpExt(v *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt) *QueryCollegeContactUserDetailResponseBodyResult {
	s.UnionEmpExt = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetUnionId(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.UnionId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetUserid(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.Userid = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResult) SetWorkPlace(v string) *QueryCollegeContactUserDetailResponseBodyResult {
	s.WorkPlace = &v
	return s
}

type QueryCollegeContactUserDetailResponseBodyResultDeptOrderList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 1
	Order *int32 `json:"order,omitempty" xml:"order,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBodyResultDeptOrderList) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBodyResultDeptOrderList) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptOrderList) SetDeptId(v int64) *QueryCollegeContactUserDetailResponseBodyResultDeptOrderList {
	s.DeptId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptOrderList) SetOrder(v int32) *QueryCollegeContactUserDetailResponseBodyResultDeptOrderList {
	s.Order = &v
	return s
}

type QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	IsMain *bool  `json:"isMain,omitempty" xml:"isMain,omitempty"`
	// example:
	//
	// 001
	ManagerUserId *string `json:"managerUserId,omitempty" xml:"managerUserId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet) SetDeptId(v int64) *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet {
	s.DeptId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet) SetIsMain(v bool) *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet {
	s.IsMain = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet) SetManagerUserId(v string) *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet {
	s.ManagerUserId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet) SetTitle(v string) *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet {
	s.Title = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet) SetWorkPlace(v string) *QueryCollegeContactUserDetailResponseBodyResultDeptPositionSet {
	s.WorkPlace = &v
	return s
}

type QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 土木202班
	DeptName *string `json:"deptName,omitempty" xml:"deptName,omitempty"`
	// example:
	//
	// stru_standard_dept
	DeptStructType *string `json:"deptStructType,omitempty" xml:"deptStructType,omitempty"`
	// example:
	//
	// contact_class_dept
	DeptType *string `json:"deptType,omitempty" xml:"deptType,omitempty"`
	// example:
	//
	// 10000
	StructDeptId *int64 `json:"structDeptId,omitempty" xml:"structDeptId,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet) SetDeptId(v int64) *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet {
	s.DeptId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet) SetDeptName(v string) *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet {
	s.DeptName = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet) SetDeptStructType(v string) *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet {
	s.DeptStructType = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet) SetDeptType(v string) *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet {
	s.DeptType = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet) SetStructDeptId(v int64) *QueryCollegeContactUserDetailResponseBodyResultDeptTypeSet {
	s.StructDeptId = &v
	return s
}

type QueryCollegeContactUserDetailResponseBodyResultLeaderInDept struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	Leader *bool  `json:"leader,omitempty" xml:"leader,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBodyResultLeaderInDept) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBodyResultLeaderInDept) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBodyResultLeaderInDept) SetDeptId(v int64) *QueryCollegeContactUserDetailResponseBodyResultLeaderInDept {
	s.DeptId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultLeaderInDept) SetLeader(v bool) *QueryCollegeContactUserDetailResponseBodyResultLeaderInDept {
	s.Leader = &v
	return s
}

type QueryCollegeContactUserDetailResponseBodyResultRoleList struct {
	// example:
	//
	// 职务
	GroupName *string `json:"groupName,omitempty" xml:"groupName,omitempty"`
	// example:
	//
	// 100
	Id *int64 `json:"id,omitempty" xml:"id,omitempty"`
	// example:
	//
	// 宿舍长
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBodyResultRoleList) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBodyResultRoleList) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBodyResultRoleList) SetGroupName(v string) *QueryCollegeContactUserDetailResponseBodyResultRoleList {
	s.GroupName = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultRoleList) SetId(v int64) *QueryCollegeContactUserDetailResponseBodyResultRoleList {
	s.Id = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultRoleList) SetName(v string) *QueryCollegeContactUserDetailResponseBodyResultRoleList {
	s.Name = &v
	return s
}

type QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt struct {
	// example:
	//
	// dingxxx
	CorpId          *string                                                                      `json:"corpId,omitempty" xml:"corpId,omitempty"`
	UnionEmpMapList []*QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList `json:"unionEmpMapList,omitempty" xml:"unionEmpMapList,omitempty" type:"Repeated"`
	// example:
	//
	// 500
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt) SetCorpId(v string) *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt {
	s.CorpId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt) SetUnionEmpMapList(v []*QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList) *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt {
	s.UnionEmpMapList = v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt) SetUserid(v string) *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExt {
	s.Userid = &v
	return s
}

type QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList struct {
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 5000
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
}

func (s QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList) SetCorpId(v string) *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList {
	s.CorpId = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList) SetUserid(v string) *QueryCollegeContactUserDetailResponseBodyResultUnionEmpExtUnionEmpMapList {
	s.Userid = &v
	return s
}

type QueryCollegeContactUserDetailResponse struct {
	Headers    map[string]*string                         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryCollegeContactUserDetailResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryCollegeContactUserDetailResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryCollegeContactUserDetailResponse) GoString() string {
	return s.String()
}

func (s *QueryCollegeContactUserDetailResponse) SetHeaders(v map[string]*string) *QueryCollegeContactUserDetailResponse {
	s.Headers = v
	return s
}

func (s *QueryCollegeContactUserDetailResponse) SetStatusCode(v int32) *QueryCollegeContactUserDetailResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryCollegeContactUserDetailResponse) SetBody(v *QueryCollegeContactUserDetailResponseBody) *QueryCollegeContactUserDetailResponse {
	s.Body = v
	return s
}

type QueryDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceHeaders) GoString() string {
	return s.String()
}

func (s *QueryDeviceHeaders) SetCommonHeaders(v map[string]*string) *QueryDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *QueryDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryDeviceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// fadf-8008
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
}

func (s QueryDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceRequest) GoString() string {
	return s.String()
}

func (s *QueryDeviceRequest) SetSn(v string) *QueryDeviceRequest {
	s.Sn = &v
	return s
}

type QueryDeviceResponseBody struct {
	// example:
	//
	// 1680227019000
	GmtExpiry *int64 `json:"gmtExpiry,omitempty" xml:"gmtExpiry,omitempty"`
	// example:
	//
	// model1
	Model *string `json:"model,omitempty" xml:"model,omitempty"`
	// example:
	//
	// 三年级1班班牌
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// fada-8008
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// example:
	//
	// VIDEO_CALL
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s QueryDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *QueryDeviceResponseBody) SetGmtExpiry(v int64) *QueryDeviceResponseBody {
	s.GmtExpiry = &v
	return s
}

func (s *QueryDeviceResponseBody) SetModel(v string) *QueryDeviceResponseBody {
	s.Model = &v
	return s
}

func (s *QueryDeviceResponseBody) SetName(v string) *QueryDeviceResponseBody {
	s.Name = &v
	return s
}

func (s *QueryDeviceResponseBody) SetSn(v string) *QueryDeviceResponseBody {
	s.Sn = &v
	return s
}

func (s *QueryDeviceResponseBody) SetType(v string) *QueryDeviceResponseBody {
	s.Type = &v
	return s
}

type QueryDeviceResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceResponse) GoString() string {
	return s.String()
}

func (s *QueryDeviceResponse) SetHeaders(v map[string]*string) *QueryDeviceResponse {
	s.Headers = v
	return s
}

func (s *QueryDeviceResponse) SetStatusCode(v int32) *QueryDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryDeviceResponse) SetBody(v *QueryDeviceResponseBody) *QueryDeviceResponse {
	s.Body = v
	return s
}

type QueryDeviceListByCorpIdHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryDeviceListByCorpIdHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceListByCorpIdHeaders) GoString() string {
	return s.String()
}

func (s *QueryDeviceListByCorpIdHeaders) SetCommonHeaders(v map[string]*string) *QueryDeviceListByCorpIdHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryDeviceListByCorpIdHeaders) SetXAcsDingtalkAccessToken(v string) *QueryDeviceListByCorpIdHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryDeviceListByCorpIdRequest struct {
	// This parameter is required.
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	PageNumber *int32 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// This parameter is required.
	PageSize *int32 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
}

func (s QueryDeviceListByCorpIdRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceListByCorpIdRequest) GoString() string {
	return s.String()
}

func (s *QueryDeviceListByCorpIdRequest) SetOperator(v string) *QueryDeviceListByCorpIdRequest {
	s.Operator = &v
	return s
}

func (s *QueryDeviceListByCorpIdRequest) SetPageNumber(v int32) *QueryDeviceListByCorpIdRequest {
	s.PageNumber = &v
	return s
}

func (s *QueryDeviceListByCorpIdRequest) SetPageSize(v int32) *QueryDeviceListByCorpIdRequest {
	s.PageSize = &v
	return s
}

type QueryDeviceListByCorpIdResponseBody struct {
	// This parameter is required.
	Result  *QueryDeviceListByCorpIdResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                      `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryDeviceListByCorpIdResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceListByCorpIdResponseBody) GoString() string {
	return s.String()
}

func (s *QueryDeviceListByCorpIdResponseBody) SetResult(v *QueryDeviceListByCorpIdResponseBodyResult) *QueryDeviceListByCorpIdResponseBody {
	s.Result = v
	return s
}

func (s *QueryDeviceListByCorpIdResponseBody) SetSuccess(v bool) *QueryDeviceListByCorpIdResponseBody {
	s.Success = &v
	return s
}

type QueryDeviceListByCorpIdResponseBodyResult struct {
	// This parameter is required.
	HasMore *bool `json:"hasMore,omitempty" xml:"hasMore,omitempty"`
	// This parameter is required.
	List []*QueryDeviceListByCorpIdResponseBodyResultList `json:"list,omitempty" xml:"list,omitempty" type:"Repeated"`
}

func (s QueryDeviceListByCorpIdResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceListByCorpIdResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryDeviceListByCorpIdResponseBodyResult) SetHasMore(v bool) *QueryDeviceListByCorpIdResponseBodyResult {
	s.HasMore = &v
	return s
}

func (s *QueryDeviceListByCorpIdResponseBodyResult) SetList(v []*QueryDeviceListByCorpIdResponseBodyResultList) *QueryDeviceListByCorpIdResponseBodyResult {
	s.List = v
	return s
}

type QueryDeviceListByCorpIdResponseBodyResultList struct {
	// This parameter is required.
	AppStatus *int32 `json:"appStatus,omitempty" xml:"appStatus,omitempty"`
	// This parameter is required.
	DeviceCode *string `json:"deviceCode,omitempty" xml:"deviceCode,omitempty"`
	// This parameter is required.
	DeviceName *string `json:"deviceName,omitempty" xml:"deviceName,omitempty"`
}

func (s QueryDeviceListByCorpIdResponseBodyResultList) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceListByCorpIdResponseBodyResultList) GoString() string {
	return s.String()
}

func (s *QueryDeviceListByCorpIdResponseBodyResultList) SetAppStatus(v int32) *QueryDeviceListByCorpIdResponseBodyResultList {
	s.AppStatus = &v
	return s
}

func (s *QueryDeviceListByCorpIdResponseBodyResultList) SetDeviceCode(v string) *QueryDeviceListByCorpIdResponseBodyResultList {
	s.DeviceCode = &v
	return s
}

func (s *QueryDeviceListByCorpIdResponseBodyResultList) SetDeviceName(v string) *QueryDeviceListByCorpIdResponseBodyResultList {
	s.DeviceName = &v
	return s
}

type QueryDeviceListByCorpIdResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryDeviceListByCorpIdResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryDeviceListByCorpIdResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryDeviceListByCorpIdResponse) GoString() string {
	return s.String()
}

func (s *QueryDeviceListByCorpIdResponse) SetHeaders(v map[string]*string) *QueryDeviceListByCorpIdResponse {
	s.Headers = v
	return s
}

func (s *QueryDeviceListByCorpIdResponse) SetStatusCode(v int32) *QueryDeviceListByCorpIdResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryDeviceListByCorpIdResponse) SetBody(v *QueryDeviceListByCorpIdResponseBody) *QueryDeviceListByCorpIdResponse {
	s.Body = v
	return s
}

type QueryEduAssetSpacesHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryEduAssetSpacesHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryEduAssetSpacesHeaders) GoString() string {
	return s.String()
}

func (s *QueryEduAssetSpacesHeaders) SetCommonHeaders(v map[string]*string) *QueryEduAssetSpacesHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryEduAssetSpacesHeaders) SetXAcsDingtalkAccessToken(v string) *QueryEduAssetSpacesHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryEduAssetSpacesRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// soke
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// example:
	//
	// 10
	MaxResults *int32 `json:"maxResults,omitempty" xml:"maxResults,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 20110
	NextToken *int64 `json:"nextToken,omitempty" xml:"nextToken,omitempty"`
}

func (s QueryEduAssetSpacesRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryEduAssetSpacesRequest) GoString() string {
	return s.String()
}

func (s *QueryEduAssetSpacesRequest) SetBizCode(v string) *QueryEduAssetSpacesRequest {
	s.BizCode = &v
	return s
}

func (s *QueryEduAssetSpacesRequest) SetMaxResults(v int32) *QueryEduAssetSpacesRequest {
	s.MaxResults = &v
	return s
}

func (s *QueryEduAssetSpacesRequest) SetNextToken(v int64) *QueryEduAssetSpacesRequest {
	s.NextToken = &v
	return s
}

type QueryEduAssetSpacesResponseBody struct {
	HasMore *bool `json:"hasMore,omitempty" xml:"hasMore,omitempty"`
	// This parameter is required.
	NextToken *string                                  `json:"nextToken,omitempty" xml:"nextToken,omitempty"`
	Spaces    []*QueryEduAssetSpacesResponseBodySpaces `json:"spaces,omitempty" xml:"spaces,omitempty" type:"Repeated"`
}

func (s QueryEduAssetSpacesResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryEduAssetSpacesResponseBody) GoString() string {
	return s.String()
}

func (s *QueryEduAssetSpacesResponseBody) SetHasMore(v bool) *QueryEduAssetSpacesResponseBody {
	s.HasMore = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBody) SetNextToken(v string) *QueryEduAssetSpacesResponseBody {
	s.NextToken = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBody) SetSpaces(v []*QueryEduAssetSpacesResponseBodySpaces) *QueryEduAssetSpacesResponseBody {
	s.Spaces = v
	return s
}

type QueryEduAssetSpacesResponseBodySpaces struct {
	// This parameter is required.
	CreateTimeMillis *int64 `json:"createTimeMillis,omitempty" xml:"createTimeMillis,omitempty"`
	// This parameter is required.
	ModifyTimeMillis *int64 `json:"modifyTimeMillis,omitempty" xml:"modifyTimeMillis,omitempty"`
	// This parameter is required.
	PermissionMode *string `json:"permissionMode,omitempty" xml:"permissionMode,omitempty"`
	// This parameter is required.
	Quota *int64 `json:"quota,omitempty" xml:"quota,omitempty"`
	// This parameter is required.
	SpaceId *string `json:"spaceId,omitempty" xml:"spaceId,omitempty"`
	// This parameter is required.
	SpaceName *string `json:"spaceName,omitempty" xml:"spaceName,omitempty"`
	// This parameter is required.
	SpaceType *string `json:"spaceType,omitempty" xml:"spaceType,omitempty"`
	// This parameter is required.
	UsedQuota *int64 `json:"usedQuota,omitempty" xml:"usedQuota,omitempty"`
}

func (s QueryEduAssetSpacesResponseBodySpaces) String() string {
	return tea.Prettify(s)
}

func (s QueryEduAssetSpacesResponseBodySpaces) GoString() string {
	return s.String()
}

func (s *QueryEduAssetSpacesResponseBodySpaces) SetCreateTimeMillis(v int64) *QueryEduAssetSpacesResponseBodySpaces {
	s.CreateTimeMillis = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBodySpaces) SetModifyTimeMillis(v int64) *QueryEduAssetSpacesResponseBodySpaces {
	s.ModifyTimeMillis = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBodySpaces) SetPermissionMode(v string) *QueryEduAssetSpacesResponseBodySpaces {
	s.PermissionMode = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBodySpaces) SetQuota(v int64) *QueryEduAssetSpacesResponseBodySpaces {
	s.Quota = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBodySpaces) SetSpaceId(v string) *QueryEduAssetSpacesResponseBodySpaces {
	s.SpaceId = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBodySpaces) SetSpaceName(v string) *QueryEduAssetSpacesResponseBodySpaces {
	s.SpaceName = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBodySpaces) SetSpaceType(v string) *QueryEduAssetSpacesResponseBodySpaces {
	s.SpaceType = &v
	return s
}

func (s *QueryEduAssetSpacesResponseBodySpaces) SetUsedQuota(v int64) *QueryEduAssetSpacesResponseBodySpaces {
	s.UsedQuota = &v
	return s
}

type QueryEduAssetSpacesResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryEduAssetSpacesResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryEduAssetSpacesResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryEduAssetSpacesResponse) GoString() string {
	return s.String()
}

func (s *QueryEduAssetSpacesResponse) SetHeaders(v map[string]*string) *QueryEduAssetSpacesResponse {
	s.Headers = v
	return s
}

func (s *QueryEduAssetSpacesResponse) SetStatusCode(v int32) *QueryEduAssetSpacesResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryEduAssetSpacesResponse) SetBody(v *QueryEduAssetSpacesResponseBody) *QueryEduAssetSpacesResponse {
	s.Body = v
	return s
}

type QueryGroupIdHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryGroupIdHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryGroupIdHeaders) GoString() string {
	return s.String()
}

func (s *QueryGroupIdHeaders) SetCommonHeaders(v map[string]*string) *QueryGroupIdHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryGroupIdHeaders) SetXAcsDingtalkAccessToken(v string) *QueryGroupIdHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryGroupIdRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// sn123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
}

func (s QueryGroupIdRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryGroupIdRequest) GoString() string {
	return s.String()
}

func (s *QueryGroupIdRequest) SetSn(v string) *QueryGroupIdRequest {
	s.Sn = &v
	return s
}

type QueryGroupIdResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// dingding123
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// NTK300001
	GroupId *string `json:"groupId,omitempty" xml:"groupId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 200001
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 某某商户
	MerchantName *string `json:"merchantName,omitempty" xml:"merchantName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 阿里云教育
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 100001
	Pid *string `json:"pid,omitempty" xml:"pid,omitempty"`
}

func (s QueryGroupIdResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryGroupIdResponseBody) GoString() string {
	return s.String()
}

func (s *QueryGroupIdResponseBody) SetCorpId(v string) *QueryGroupIdResponseBody {
	s.CorpId = &v
	return s
}

func (s *QueryGroupIdResponseBody) SetGroupId(v string) *QueryGroupIdResponseBody {
	s.GroupId = &v
	return s
}

func (s *QueryGroupIdResponseBody) SetMerchantId(v string) *QueryGroupIdResponseBody {
	s.MerchantId = &v
	return s
}

func (s *QueryGroupIdResponseBody) SetMerchantName(v string) *QueryGroupIdResponseBody {
	s.MerchantName = &v
	return s
}

func (s *QueryGroupIdResponseBody) SetName(v string) *QueryGroupIdResponseBody {
	s.Name = &v
	return s
}

func (s *QueryGroupIdResponseBody) SetPid(v string) *QueryGroupIdResponseBody {
	s.Pid = &v
	return s
}

type QueryGroupIdResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryGroupIdResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryGroupIdResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryGroupIdResponse) GoString() string {
	return s.String()
}

func (s *QueryGroupIdResponse) SetHeaders(v map[string]*string) *QueryGroupIdResponse {
	s.Headers = v
	return s
}

func (s *QueryGroupIdResponse) SetStatusCode(v int32) *QueryGroupIdResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryGroupIdResponse) SetBody(v *QueryGroupIdResponseBody) *QueryGroupIdResponse {
	s.Body = v
	return s
}

type QueryKitOpenRecordHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryKitOpenRecordHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryKitOpenRecordHeaders) GoString() string {
	return s.String()
}

func (s *QueryKitOpenRecordHeaders) SetCommonHeaders(v map[string]*string) *QueryKitOpenRecordHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryKitOpenRecordHeaders) SetXAcsDingtalkAccessToken(v string) *QueryKitOpenRecordHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryKitOpenRecordRequest struct {
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course
	IsvProductScene *string `json:"isvProductScene,omitempty" xml:"isvProductScene,omitempty"`
}

func (s QueryKitOpenRecordRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryKitOpenRecordRequest) GoString() string {
	return s.String()
}

func (s *QueryKitOpenRecordRequest) SetCorpId(v string) *QueryKitOpenRecordRequest {
	s.CorpId = &v
	return s
}

func (s *QueryKitOpenRecordRequest) SetIsvCode(v string) *QueryKitOpenRecordRequest {
	s.IsvCode = &v
	return s
}

func (s *QueryKitOpenRecordRequest) SetIsvProductScene(v string) *QueryKitOpenRecordRequest {
	s.IsvProductScene = &v
	return s
}

type QueryKitOpenRecordResponseBody struct {
	Result  *QueryKitOpenRecordResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                 `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryKitOpenRecordResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryKitOpenRecordResponseBody) GoString() string {
	return s.String()
}

func (s *QueryKitOpenRecordResponseBody) SetResult(v *QueryKitOpenRecordResponseBodyResult) *QueryKitOpenRecordResponseBody {
	s.Result = v
	return s
}

func (s *QueryKitOpenRecordResponseBody) SetSuccess(v bool) *QueryKitOpenRecordResponseBody {
	s.Success = &v
	return s
}

type QueryKitOpenRecordResponseBodyResult struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course
	IsvProductScene *string `json:"isvProductScene,omitempty" xml:"isvProductScene,omitempty"`
	// example:
	//
	// 2025-01-20 00:00:00
	OpenEndTime *string `json:"openEndTime,omitempty" xml:"openEndTime,omitempty"`
	// example:
	//
	// 2024-01-20 00:00:00
	OpenStartTime *string `json:"openStartTime,omitempty" xml:"openStartTime,omitempty"`
	// example:
	//
	// staffxxx
	OpenUserId *string `json:"openUserId,omitempty" xml:"openUserId,omitempty"`
}

func (s QueryKitOpenRecordResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryKitOpenRecordResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryKitOpenRecordResponseBodyResult) SetAttributes(v string) *QueryKitOpenRecordResponseBodyResult {
	s.Attributes = &v
	return s
}

func (s *QueryKitOpenRecordResponseBodyResult) SetCorpId(v string) *QueryKitOpenRecordResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *QueryKitOpenRecordResponseBodyResult) SetIsvCode(v string) *QueryKitOpenRecordResponseBodyResult {
	s.IsvCode = &v
	return s
}

func (s *QueryKitOpenRecordResponseBodyResult) SetIsvProductScene(v string) *QueryKitOpenRecordResponseBodyResult {
	s.IsvProductScene = &v
	return s
}

func (s *QueryKitOpenRecordResponseBodyResult) SetOpenEndTime(v string) *QueryKitOpenRecordResponseBodyResult {
	s.OpenEndTime = &v
	return s
}

func (s *QueryKitOpenRecordResponseBodyResult) SetOpenStartTime(v string) *QueryKitOpenRecordResponseBodyResult {
	s.OpenStartTime = &v
	return s
}

func (s *QueryKitOpenRecordResponseBodyResult) SetOpenUserId(v string) *QueryKitOpenRecordResponseBodyResult {
	s.OpenUserId = &v
	return s
}

type QueryKitOpenRecordResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryKitOpenRecordResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryKitOpenRecordResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryKitOpenRecordResponse) GoString() string {
	return s.String()
}

func (s *QueryKitOpenRecordResponse) SetHeaders(v map[string]*string) *QueryKitOpenRecordResponse {
	s.Headers = v
	return s
}

func (s *QueryKitOpenRecordResponse) SetStatusCode(v int32) *QueryKitOpenRecordResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryKitOpenRecordResponse) SetBody(v *QueryKitOpenRecordResponseBody) *QueryKitOpenRecordResponse {
	s.Body = v
	return s
}

type QueryModelResultByTaskIdHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryModelResultByTaskIdHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryModelResultByTaskIdHeaders) GoString() string {
	return s.String()
}

func (s *QueryModelResultByTaskIdHeaders) SetCommonHeaders(v map[string]*string) *QueryModelResultByTaskIdHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryModelResultByTaskIdHeaders) SetXAcsDingtalkAccessToken(v string) *QueryModelResultByTaskIdHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryModelResultByTaskIdRequest struct {
	// This parameter is required.
	TaskId *string `json:"taskId,omitempty" xml:"taskId,omitempty"`
}

func (s QueryModelResultByTaskIdRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryModelResultByTaskIdRequest) GoString() string {
	return s.String()
}

func (s *QueryModelResultByTaskIdRequest) SetTaskId(v string) *QueryModelResultByTaskIdRequest {
	s.TaskId = &v
	return s
}

type QueryModelResultByTaskIdResponseBody struct {
	Result  *QueryModelResultByTaskIdResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                       `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryModelResultByTaskIdResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryModelResultByTaskIdResponseBody) GoString() string {
	return s.String()
}

func (s *QueryModelResultByTaskIdResponseBody) SetResult(v *QueryModelResultByTaskIdResponseBodyResult) *QueryModelResultByTaskIdResponseBody {
	s.Result = v
	return s
}

func (s *QueryModelResultByTaskIdResponseBody) SetSuccess(v bool) *QueryModelResultByTaskIdResponseBody {
	s.Success = &v
	return s
}

type QueryModelResultByTaskIdResponseBodyResult struct {
	RequestId *string                `json:"requestId,omitempty" xml:"requestId,omitempty"`
	Result    map[string]interface{} `json:"result,omitempty" xml:"result,omitempty"`
}

func (s QueryModelResultByTaskIdResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryModelResultByTaskIdResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryModelResultByTaskIdResponseBodyResult) SetRequestId(v string) *QueryModelResultByTaskIdResponseBodyResult {
	s.RequestId = &v
	return s
}

func (s *QueryModelResultByTaskIdResponseBodyResult) SetResult(v map[string]interface{}) *QueryModelResultByTaskIdResponseBodyResult {
	s.Result = v
	return s
}

type QueryModelResultByTaskIdResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryModelResultByTaskIdResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryModelResultByTaskIdResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryModelResultByTaskIdResponse) GoString() string {
	return s.String()
}

func (s *QueryModelResultByTaskIdResponse) SetHeaders(v map[string]*string) *QueryModelResultByTaskIdResponse {
	s.Headers = v
	return s
}

func (s *QueryModelResultByTaskIdResponse) SetStatusCode(v int32) *QueryModelResultByTaskIdResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryModelResultByTaskIdResponse) SetBody(v *QueryModelResultByTaskIdResponseBody) *QueryModelResultByTaskIdResponse {
	s.Body = v
	return s
}

type QueryOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryOrderHeaders) GoString() string {
	return s.String()
}

func (s *QueryOrderHeaders) SetCommonHeaders(v map[string]*string) *QueryOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryOrderHeaders) SetXAcsDingtalkAccessToken(v string) *QueryOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123400
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// CM00001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// WWrhziOLF/XuRd3IyKwLkLeSFgKnUfeg2yLEVD9Bw+8
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
}

func (s QueryOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryOrderRequest) GoString() string {
	return s.String()
}

func (s *QueryOrderRequest) SetAlipayAppId(v string) *QueryOrderRequest {
	s.AlipayAppId = &v
	return s
}

func (s *QueryOrderRequest) SetMerchantId(v string) *QueryOrderRequest {
	s.MerchantId = &v
	return s
}

func (s *QueryOrderRequest) SetOrderNo(v string) *QueryOrderRequest {
	s.OrderNo = &v
	return s
}

func (s *QueryOrderRequest) SetSignature(v string) *QueryOrderRequest {
	s.Signature = &v
	return s
}

type QueryOrderResponseBody struct {
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// example:
	//
	// 123400
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// example:
	//
	// 2022-11-04T17:15Z
	CloseTime *string `json:"closeTime,omitempty" xml:"closeTime,omitempty"`
	// example:
	//
	// 1672973971107
	CloseTimestamp *int64 `json:"closeTimestamp,omitempty" xml:"closeTimestamp,omitempty"`
	// example:
	//
	// 2022-11-04T17:15Z
	CreateTime *string `json:"createTime,omitempty" xml:"createTime,omitempty"`
	// example:
	//
	// 1672973971107
	CreateTimestamp *int64 `json:"createTimestamp,omitempty" xml:"createTimestamp,omitempty"`
	LabelAmount     *int64 `json:"labelAmount,omitempty" xml:"labelAmount,omitempty"`
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// example:
	//
	// M20000100
	MerchantMergeOrderNo *string `json:"merchantMergeOrderNo,omitempty" xml:"merchantMergeOrderNo,omitempty"`
	// example:
	//
	// M20000100
	MerchantOrderNo *string `json:"merchantOrderNo,omitempty" xml:"merchantOrderNo,omitempty"`
	// example:
	//
	// CM0001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// example:
	//
	// 1
	OrderType *string `json:"orderType,omitempty" xml:"orderType,omitempty"`
	// example:
	//
	// fagweefdsdgfa
	OuterUserId *string `json:"outerUserId,omitempty" xml:"outerUserId,omitempty"`
	// example:
	//
	// 138***
	PayLogonId *string `json:"payLogonId,omitempty" xml:"payLogonId,omitempty"`
	PayStatus  *int32  `json:"payStatus,omitempty" xml:"payStatus,omitempty"`
	// example:
	//
	// 2022-11-04T17:15Z
	PayTime *string `json:"payTime,omitempty" xml:"payTime,omitempty"`
	// example:
	//
	// 1672973971107
	PayTimestamp *int64 `json:"payTimestamp,omitempty" xml:"payTimestamp,omitempty"`
	// example:
	//
	// 1
	PayType      *string `json:"payType,omitempty" xml:"payType,omitempty"`
	RefundAmount *int64  `json:"refundAmount,omitempty" xml:"refundAmount,omitempty"`
	RefundStatus *int32  `json:"refundStatus,omitempty" xml:"refundStatus,omitempty"`
	// example:
	//
	// 2022-11-04T17:15Z
	RefundTime *string `json:"refundTime,omitempty" xml:"refundTime,omitempty"`
	// example:
	//
	// 1672973971107
	RefundTimestamp *int64 `json:"refundTimestamp,omitempty" xml:"refundTimestamp,omitempty"`
	// example:
	//
	// 教育产品
	Subject *string `json:"subject,omitempty" xml:"subject,omitempty"`
	// example:
	//
	// 2022080311111
	TradeNo *string `json:"tradeNo,omitempty" xml:"tradeNo,omitempty"`
}

func (s QueryOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryOrderResponseBody) GoString() string {
	return s.String()
}

func (s *QueryOrderResponseBody) SetActualAmount(v int64) *QueryOrderResponseBody {
	s.ActualAmount = &v
	return s
}

func (s *QueryOrderResponseBody) SetAlipayAppId(v string) *QueryOrderResponseBody {
	s.AlipayAppId = &v
	return s
}

func (s *QueryOrderResponseBody) SetCloseTime(v string) *QueryOrderResponseBody {
	s.CloseTime = &v
	return s
}

func (s *QueryOrderResponseBody) SetCloseTimestamp(v int64) *QueryOrderResponseBody {
	s.CloseTimestamp = &v
	return s
}

func (s *QueryOrderResponseBody) SetCreateTime(v string) *QueryOrderResponseBody {
	s.CreateTime = &v
	return s
}

func (s *QueryOrderResponseBody) SetCreateTimestamp(v int64) *QueryOrderResponseBody {
	s.CreateTimestamp = &v
	return s
}

func (s *QueryOrderResponseBody) SetLabelAmount(v int64) *QueryOrderResponseBody {
	s.LabelAmount = &v
	return s
}

func (s *QueryOrderResponseBody) SetMerchantId(v string) *QueryOrderResponseBody {
	s.MerchantId = &v
	return s
}

func (s *QueryOrderResponseBody) SetMerchantMergeOrderNo(v string) *QueryOrderResponseBody {
	s.MerchantMergeOrderNo = &v
	return s
}

func (s *QueryOrderResponseBody) SetMerchantOrderNo(v string) *QueryOrderResponseBody {
	s.MerchantOrderNo = &v
	return s
}

func (s *QueryOrderResponseBody) SetOrderNo(v string) *QueryOrderResponseBody {
	s.OrderNo = &v
	return s
}

func (s *QueryOrderResponseBody) SetOrderType(v string) *QueryOrderResponseBody {
	s.OrderType = &v
	return s
}

func (s *QueryOrderResponseBody) SetOuterUserId(v string) *QueryOrderResponseBody {
	s.OuterUserId = &v
	return s
}

func (s *QueryOrderResponseBody) SetPayLogonId(v string) *QueryOrderResponseBody {
	s.PayLogonId = &v
	return s
}

func (s *QueryOrderResponseBody) SetPayStatus(v int32) *QueryOrderResponseBody {
	s.PayStatus = &v
	return s
}

func (s *QueryOrderResponseBody) SetPayTime(v string) *QueryOrderResponseBody {
	s.PayTime = &v
	return s
}

func (s *QueryOrderResponseBody) SetPayTimestamp(v int64) *QueryOrderResponseBody {
	s.PayTimestamp = &v
	return s
}

func (s *QueryOrderResponseBody) SetPayType(v string) *QueryOrderResponseBody {
	s.PayType = &v
	return s
}

func (s *QueryOrderResponseBody) SetRefundAmount(v int64) *QueryOrderResponseBody {
	s.RefundAmount = &v
	return s
}

func (s *QueryOrderResponseBody) SetRefundStatus(v int32) *QueryOrderResponseBody {
	s.RefundStatus = &v
	return s
}

func (s *QueryOrderResponseBody) SetRefundTime(v string) *QueryOrderResponseBody {
	s.RefundTime = &v
	return s
}

func (s *QueryOrderResponseBody) SetRefundTimestamp(v int64) *QueryOrderResponseBody {
	s.RefundTimestamp = &v
	return s
}

func (s *QueryOrderResponseBody) SetSubject(v string) *QueryOrderResponseBody {
	s.Subject = &v
	return s
}

func (s *QueryOrderResponseBody) SetTradeNo(v string) *QueryOrderResponseBody {
	s.TradeNo = &v
	return s
}

type QueryOrderResponse struct {
	Headers    map[string]*string      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryOrderResponse) GoString() string {
	return s.String()
}

func (s *QueryOrderResponse) SetHeaders(v map[string]*string) *QueryOrderResponse {
	s.Headers = v
	return s
}

func (s *QueryOrderResponse) SetStatusCode(v int32) *QueryOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryOrderResponse) SetBody(v *QueryOrderResponseBody) *QueryOrderResponse {
	s.Body = v
	return s
}

type QueryOrgRelationListHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryOrgRelationListHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgRelationListHeaders) GoString() string {
	return s.String()
}

func (s *QueryOrgRelationListHeaders) SetCommonHeaders(v map[string]*string) *QueryOrgRelationListHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryOrgRelationListHeaders) SetXAcsDingtalkAccessToken(v string) *QueryOrgRelationListHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryOrgRelationListRequest struct {
	// This parameter is required.
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
}

func (s QueryOrgRelationListRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgRelationListRequest) GoString() string {
	return s.String()
}

func (s *QueryOrgRelationListRequest) SetOperator(v string) *QueryOrgRelationListRequest {
	s.Operator = &v
	return s
}

type QueryOrgRelationListResponseBody struct {
	// This parameter is required.
	Result  []*QueryOrgRelationListResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	Success *bool                                     `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryOrgRelationListResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgRelationListResponseBody) GoString() string {
	return s.String()
}

func (s *QueryOrgRelationListResponseBody) SetResult(v []*QueryOrgRelationListResponseBodyResult) *QueryOrgRelationListResponseBody {
	s.Result = v
	return s
}

func (s *QueryOrgRelationListResponseBody) SetSuccess(v bool) *QueryOrgRelationListResponseBody {
	s.Success = &v
	return s
}

type QueryOrgRelationListResponseBodyResult struct {
	// This parameter is required.
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	DeviceCount *int32 `json:"deviceCount,omitempty" xml:"deviceCount,omitempty"`
	// This parameter is required.
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
}

func (s QueryOrgRelationListResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgRelationListResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryOrgRelationListResponseBodyResult) SetCorpId(v string) *QueryOrgRelationListResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *QueryOrgRelationListResponseBodyResult) SetDeviceCount(v int32) *QueryOrgRelationListResponseBodyResult {
	s.DeviceCount = &v
	return s
}

func (s *QueryOrgRelationListResponseBodyResult) SetName(v string) *QueryOrgRelationListResponseBodyResult {
	s.Name = &v
	return s
}

type QueryOrgRelationListResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryOrgRelationListResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryOrgRelationListResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgRelationListResponse) GoString() string {
	return s.String()
}

func (s *QueryOrgRelationListResponse) SetHeaders(v map[string]*string) *QueryOrgRelationListResponse {
	s.Headers = v
	return s
}

func (s *QueryOrgRelationListResponse) SetStatusCode(v int32) *QueryOrgRelationListResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryOrgRelationListResponse) SetBody(v *QueryOrgRelationListResponseBody) *QueryOrgRelationListResponse {
	s.Body = v
	return s
}

type QueryOrgSecretKeyHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryOrgSecretKeyHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgSecretKeyHeaders) GoString() string {
	return s.String()
}

func (s *QueryOrgSecretKeyHeaders) SetCommonHeaders(v map[string]*string) *QueryOrgSecretKeyHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryOrgSecretKeyHeaders) SetXAcsDingtalkAccessToken(v string) *QueryOrgSecretKeyHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryOrgSecretKeyRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// DDISV
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s QueryOrgSecretKeyRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgSecretKeyRequest) GoString() string {
	return s.String()
}

func (s *QueryOrgSecretKeyRequest) SetIsvCode(v string) *QueryOrgSecretKeyRequest {
	s.IsvCode = &v
	return s
}

func (s *QueryOrgSecretKeyRequest) SetOpUserId(v string) *QueryOrgSecretKeyRequest {
	s.OpUserId = &v
	return s
}

type QueryOrgSecretKeyResponseBody struct {
	// This parameter is required.
	UniversitySecretKeyInfo *QueryOrgSecretKeyResponseBodyUniversitySecretKeyInfo `json:"universitySecretKeyInfo,omitempty" xml:"universitySecretKeyInfo,omitempty" type:"Struct"`
}

func (s QueryOrgSecretKeyResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgSecretKeyResponseBody) GoString() string {
	return s.String()
}

func (s *QueryOrgSecretKeyResponseBody) SetUniversitySecretKeyInfo(v *QueryOrgSecretKeyResponseBodyUniversitySecretKeyInfo) *QueryOrgSecretKeyResponseBody {
	s.UniversitySecretKeyInfo = v
	return s
}

type QueryOrgSecretKeyResponseBodyUniversitySecretKeyInfo struct {
	// This parameter is required.
	//
	// example:
	//
	// ghiufhk123
	SecretKey *string `json:"secretKey,omitempty" xml:"secretKey,omitempty"`
}

func (s QueryOrgSecretKeyResponseBodyUniversitySecretKeyInfo) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgSecretKeyResponseBodyUniversitySecretKeyInfo) GoString() string {
	return s.String()
}

func (s *QueryOrgSecretKeyResponseBodyUniversitySecretKeyInfo) SetSecretKey(v string) *QueryOrgSecretKeyResponseBodyUniversitySecretKeyInfo {
	s.SecretKey = &v
	return s
}

type QueryOrgSecretKeyResponse struct {
	Headers    map[string]*string             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryOrgSecretKeyResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryOrgSecretKeyResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgSecretKeyResponse) GoString() string {
	return s.String()
}

func (s *QueryOrgSecretKeyResponse) SetHeaders(v map[string]*string) *QueryOrgSecretKeyResponse {
	s.Headers = v
	return s
}

func (s *QueryOrgSecretKeyResponse) SetStatusCode(v int32) *QueryOrgSecretKeyResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryOrgSecretKeyResponse) SetBody(v *QueryOrgSecretKeyResponseBody) *QueryOrgSecretKeyResponse {
	s.Body = v
	return s
}

type QueryOrgTypeHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryOrgTypeHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgTypeHeaders) GoString() string {
	return s.String()
}

func (s *QueryOrgTypeHeaders) SetCommonHeaders(v map[string]*string) *QueryOrgTypeHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryOrgTypeHeaders) SetXAcsDingtalkAccessToken(v string) *QueryOrgTypeHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryOrgTypeResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// 1, "省级教育厅";2, "市级教育局";3, "区县教育局";4, "中心校";5, "普通学校"
	OrgType *int64 `json:"orgType,omitempty" xml:"orgType,omitempty"`
}

func (s QueryOrgTypeResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgTypeResponseBody) GoString() string {
	return s.String()
}

func (s *QueryOrgTypeResponseBody) SetOrgType(v int64) *QueryOrgTypeResponseBody {
	s.OrgType = &v
	return s
}

type QueryOrgTypeResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryOrgTypeResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryOrgTypeResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryOrgTypeResponse) GoString() string {
	return s.String()
}

func (s *QueryOrgTypeResponse) SetHeaders(v map[string]*string) *QueryOrgTypeResponse {
	s.Headers = v
	return s
}

func (s *QueryOrgTypeResponse) SetStatusCode(v int32) *QueryOrgTypeResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryOrgTypeResponse) SetBody(v *QueryOrgTypeResponseBody) *QueryOrgTypeResponse {
	s.Body = v
	return s
}

type QueryPayResultHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryPayResultHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryPayResultHeaders) GoString() string {
	return s.String()
}

func (s *QueryPayResultHeaders) SetCommonHeaders(v map[string]*string) *QueryPayResultHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryPayResultHeaders) SetXAcsDingtalkAccessToken(v string) *QueryPayResultHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryPayResultRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 12312333
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 202201240001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// example:
	//
	// KSwZiSL1O7DiUNwjV168j3cP9ktp4bJTi5OQxAXre26KyBXza7+gCl/g1d0K3n3+9JhMqc2fUjBiENcAELw3Jb5xO/zslOeV4qFoMQfzW51+sdL/SSZCYvXEMhu9P6FAPhGZQ3vu6gr3oxUAXPIpWNb+sIfzR9epumoOXYeofH8=
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn1234
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// example:
	//
	// 1644413947909
	Timestamp *int64 `json:"timestamp,omitempty" xml:"timestamp,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 20200231
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
	// example:
	//
	// 1.0
	Version *string `json:"version,omitempty" xml:"version,omitempty"`
}

func (s QueryPayResultRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryPayResultRequest) GoString() string {
	return s.String()
}

func (s *QueryPayResultRequest) SetFaceId(v string) *QueryPayResultRequest {
	s.FaceId = &v
	return s
}

func (s *QueryPayResultRequest) SetOrderNo(v string) *QueryPayResultRequest {
	s.OrderNo = &v
	return s
}

func (s *QueryPayResultRequest) SetSignature(v string) *QueryPayResultRequest {
	s.Signature = &v
	return s
}

func (s *QueryPayResultRequest) SetSn(v string) *QueryPayResultRequest {
	s.Sn = &v
	return s
}

func (s *QueryPayResultRequest) SetTimestamp(v int64) *QueryPayResultRequest {
	s.Timestamp = &v
	return s
}

func (s *QueryPayResultRequest) SetUserId(v string) *QueryPayResultRequest {
	s.UserId = &v
	return s
}

func (s *QueryPayResultRequest) SetVersion(v string) *QueryPayResultRequest {
	s.Version = &v
	return s
}

type QueryPayResultResponseBody struct {
	// example:
	//
	// 状态，取值：10：待支付，11：关单，20：支付成功
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
}

func (s QueryPayResultResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryPayResultResponseBody) GoString() string {
	return s.String()
}

func (s *QueryPayResultResponseBody) SetStatus(v int32) *QueryPayResultResponseBody {
	s.Status = &v
	return s
}

type QueryPayResultResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryPayResultResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryPayResultResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryPayResultResponse) GoString() string {
	return s.String()
}

func (s *QueryPayResultResponse) SetHeaders(v map[string]*string) *QueryPayResultResponse {
	s.Headers = v
	return s
}

func (s *QueryPayResultResponse) SetStatusCode(v int32) *QueryPayResultResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryPayResultResponse) SetBody(v *QueryPayResultResponseBody) *QueryPayResultResponse {
	s.Body = v
	return s
}

type QueryPhysicalClassroomHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryPhysicalClassroomHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryPhysicalClassroomHeaders) GoString() string {
	return s.String()
}

func (s *QueryPhysicalClassroomHeaders) SetCommonHeaders(v map[string]*string) *QueryPhysicalClassroomHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryPhysicalClassroomHeaders) SetXAcsDingtalkAccessToken(v string) *QueryPhysicalClassroomHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryPhysicalClassroomRequest struct {
	// This parameter is required.
	ClassroomId *int64 `json:"classroomId,omitempty" xml:"classroomId,omitempty"`
	// This parameter is required.
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s QueryPhysicalClassroomRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryPhysicalClassroomRequest) GoString() string {
	return s.String()
}

func (s *QueryPhysicalClassroomRequest) SetClassroomId(v int64) *QueryPhysicalClassroomRequest {
	s.ClassroomId = &v
	return s
}

func (s *QueryPhysicalClassroomRequest) SetOpUserId(v string) *QueryPhysicalClassroomRequest {
	s.OpUserId = &v
	return s
}

type QueryPhysicalClassroomResponseBody struct {
	// This parameter is required.
	Result *QueryPhysicalClassroomResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryPhysicalClassroomResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryPhysicalClassroomResponseBody) GoString() string {
	return s.String()
}

func (s *QueryPhysicalClassroomResponseBody) SetResult(v *QueryPhysicalClassroomResponseBodyResult) *QueryPhysicalClassroomResponseBody {
	s.Result = v
	return s
}

func (s *QueryPhysicalClassroomResponseBody) SetSuccess(v bool) *QueryPhysicalClassroomResponseBody {
	s.Success = &v
	return s
}

type QueryPhysicalClassroomResponseBodyResult struct {
	// example:
	//
	// 主楼
	ClassroomBuilding *string `json:"classroomBuilding,omitempty" xml:"classroomBuilding,omitempty"`
	// example:
	//
	// 主校区
	ClassroomCampus *string `json:"classroomCampus,omitempty" xml:"classroomCampus,omitempty"`
	// example:
	//
	// 3层
	ClassroomFloor *string `json:"classroomFloor,omitempty" xml:"classroomFloor,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10001
	ClassroomId *int64 `json:"classroomId,omitempty" xml:"classroomId,omitempty"`
	// example:
	//
	// 实验教室
	ClassroomName *string `json:"classroomName,omitempty" xml:"classroomName,omitempty"`
	// example:
	//
	// 301
	ClassroomNumber *string `json:"classroomNumber,omitempty" xml:"classroomNumber,omitempty"`
	// example:
	//
	// Y
	DirectBroadcast *string `json:"directBroadcast,omitempty" xml:"directBroadcast,omitempty"`
}

func (s QueryPhysicalClassroomResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryPhysicalClassroomResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryPhysicalClassroomResponseBodyResult) SetClassroomBuilding(v string) *QueryPhysicalClassroomResponseBodyResult {
	s.ClassroomBuilding = &v
	return s
}

func (s *QueryPhysicalClassroomResponseBodyResult) SetClassroomCampus(v string) *QueryPhysicalClassroomResponseBodyResult {
	s.ClassroomCampus = &v
	return s
}

func (s *QueryPhysicalClassroomResponseBodyResult) SetClassroomFloor(v string) *QueryPhysicalClassroomResponseBodyResult {
	s.ClassroomFloor = &v
	return s
}

func (s *QueryPhysicalClassroomResponseBodyResult) SetClassroomId(v int64) *QueryPhysicalClassroomResponseBodyResult {
	s.ClassroomId = &v
	return s
}

func (s *QueryPhysicalClassroomResponseBodyResult) SetClassroomName(v string) *QueryPhysicalClassroomResponseBodyResult {
	s.ClassroomName = &v
	return s
}

func (s *QueryPhysicalClassroomResponseBodyResult) SetClassroomNumber(v string) *QueryPhysicalClassroomResponseBodyResult {
	s.ClassroomNumber = &v
	return s
}

func (s *QueryPhysicalClassroomResponseBodyResult) SetDirectBroadcast(v string) *QueryPhysicalClassroomResponseBodyResult {
	s.DirectBroadcast = &v
	return s
}

type QueryPhysicalClassroomResponse struct {
	Headers    map[string]*string                  `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                              `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryPhysicalClassroomResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryPhysicalClassroomResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryPhysicalClassroomResponse) GoString() string {
	return s.String()
}

func (s *QueryPhysicalClassroomResponse) SetHeaders(v map[string]*string) *QueryPhysicalClassroomResponse {
	s.Headers = v
	return s
}

func (s *QueryPhysicalClassroomResponse) SetStatusCode(v int32) *QueryPhysicalClassroomResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryPhysicalClassroomResponse) SetBody(v *QueryPhysicalClassroomResponseBody) *QueryPhysicalClassroomResponse {
	s.Body = v
	return s
}

type QueryPurchaseInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryPurchaseInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryPurchaseInfoHeaders) GoString() string {
	return s.String()
}

func (s *QueryPurchaseInfoHeaders) SetCommonHeaders(v map[string]*string) *QueryPurchaseInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryPurchaseInfoHeaders) SetXAcsDingtalkAccessToken(v string) *QueryPurchaseInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryPurchaseInfoRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 300001
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1代表视频通话
	Scene *int32 `json:"scene,omitempty" xml:"scene,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 20001
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s QueryPurchaseInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryPurchaseInfoRequest) GoString() string {
	return s.String()
}

func (s *QueryPurchaseInfoRequest) SetMerchantId(v string) *QueryPurchaseInfoRequest {
	s.MerchantId = &v
	return s
}

func (s *QueryPurchaseInfoRequest) SetScene(v int32) *QueryPurchaseInfoRequest {
	s.Scene = &v
	return s
}

func (s *QueryPurchaseInfoRequest) SetSn(v string) *QueryPurchaseInfoRequest {
	s.Sn = &v
	return s
}

func (s *QueryPurchaseInfoRequest) SetUserId(v string) *QueryPurchaseInfoRequest {
	s.UserId = &v
	return s
}

type QueryPurchaseInfoResponseBody struct {
	// example:
	//
	// dingding123
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 300001
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 小明
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1视频通话
	Scene *int32 `json:"scene,omitempty" xml:"scene,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10、已订购；11、未订购（包含已过期）；12、取消
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 200001
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s QueryPurchaseInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryPurchaseInfoResponseBody) GoString() string {
	return s.String()
}

func (s *QueryPurchaseInfoResponseBody) SetCorpId(v string) *QueryPurchaseInfoResponseBody {
	s.CorpId = &v
	return s
}

func (s *QueryPurchaseInfoResponseBody) SetMerchantId(v string) *QueryPurchaseInfoResponseBody {
	s.MerchantId = &v
	return s
}

func (s *QueryPurchaseInfoResponseBody) SetName(v string) *QueryPurchaseInfoResponseBody {
	s.Name = &v
	return s
}

func (s *QueryPurchaseInfoResponseBody) SetScene(v int32) *QueryPurchaseInfoResponseBody {
	s.Scene = &v
	return s
}

func (s *QueryPurchaseInfoResponseBody) SetStatus(v int32) *QueryPurchaseInfoResponseBody {
	s.Status = &v
	return s
}

func (s *QueryPurchaseInfoResponseBody) SetUserId(v string) *QueryPurchaseInfoResponseBody {
	s.UserId = &v
	return s
}

type QueryPurchaseInfoResponse struct {
	Headers    map[string]*string             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryPurchaseInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryPurchaseInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryPurchaseInfoResponse) GoString() string {
	return s.String()
}

func (s *QueryPurchaseInfoResponse) SetHeaders(v map[string]*string) *QueryPurchaseInfoResponse {
	s.Headers = v
	return s
}

func (s *QueryPurchaseInfoResponse) SetStatusCode(v int32) *QueryPurchaseInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryPurchaseInfoResponse) SetBody(v *QueryPurchaseInfoResponseBody) *QueryPurchaseInfoResponse {
	s.Body = v
	return s
}

type QueryRemoteClassCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryRemoteClassCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryRemoteClassCourseHeaders) GoString() string {
	return s.String()
}

func (s *QueryRemoteClassCourseHeaders) SetCommonHeaders(v map[string]*string) *QueryRemoteClassCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryRemoteClassCourseHeaders) SetXAcsDingtalkAccessToken(v string) *QueryRemoteClassCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryRemoteClassCourseRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1635436800000
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manager1234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1634832000000
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
}

func (s QueryRemoteClassCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryRemoteClassCourseRequest) GoString() string {
	return s.String()
}

func (s *QueryRemoteClassCourseRequest) SetEndTime(v int64) *QueryRemoteClassCourseRequest {
	s.EndTime = &v
	return s
}

func (s *QueryRemoteClassCourseRequest) SetOperator(v string) *QueryRemoteClassCourseRequest {
	s.Operator = &v
	return s
}

func (s *QueryRemoteClassCourseRequest) SetStartTime(v int64) *QueryRemoteClassCourseRequest {
	s.StartTime = &v
	return s
}

type QueryRemoteClassCourseResponseBody struct {
	Result []*QueryRemoteClassCourseResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
	// This parameter is required.
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryRemoteClassCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryRemoteClassCourseResponseBody) GoString() string {
	return s.String()
}

func (s *QueryRemoteClassCourseResponseBody) SetResult(v []*QueryRemoteClassCourseResponseBodyResult) *QueryRemoteClassCourseResponseBody {
	s.Result = v
	return s
}

func (s *QueryRemoteClassCourseResponseBody) SetSuccess(v bool) *QueryRemoteClassCourseResponseBody {
	s.Success = &v
	return s
}

type QueryRemoteClassCourseResponseBodyResult struct {
	AttendParticipants  []*QueryRemoteClassCourseResponseBodyResultAttendParticipants `json:"attendParticipants,omitempty" xml:"attendParticipants,omitempty" type:"Repeated"`
	CanEdit             *bool                                                         `json:"canEdit,omitempty" xml:"canEdit,omitempty"`
	CourseCode          *string                                                       `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	CourseName          *string                                                       `json:"courseName,omitempty" xml:"courseName,omitempty"`
	CourseWays          []*string                                                     `json:"courseWays,omitempty" xml:"courseWays,omitempty" type:"Repeated"`
	EndTime             *int64                                                        `json:"endTime,omitempty" xml:"endTime,omitempty"`
	StartTime           *int64                                                        `json:"startTime,omitempty" xml:"startTime,omitempty"`
	Status              *int32                                                        `json:"status,omitempty" xml:"status,omitempty"`
	TeachingParticipant *QueryRemoteClassCourseResponseBodyResultTeachingParticipant  `json:"teachingParticipant,omitempty" xml:"teachingParticipant,omitempty" type:"Struct"`
}

func (s QueryRemoteClassCourseResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryRemoteClassCourseResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetAttendParticipants(v []*QueryRemoteClassCourseResponseBodyResultAttendParticipants) *QueryRemoteClassCourseResponseBodyResult {
	s.AttendParticipants = v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetCanEdit(v bool) *QueryRemoteClassCourseResponseBodyResult {
	s.CanEdit = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetCourseCode(v string) *QueryRemoteClassCourseResponseBodyResult {
	s.CourseCode = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetCourseName(v string) *QueryRemoteClassCourseResponseBodyResult {
	s.CourseName = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetCourseWays(v []*string) *QueryRemoteClassCourseResponseBodyResult {
	s.CourseWays = v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetEndTime(v int64) *QueryRemoteClassCourseResponseBodyResult {
	s.EndTime = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetStartTime(v int64) *QueryRemoteClassCourseResponseBodyResult {
	s.StartTime = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetStatus(v int32) *QueryRemoteClassCourseResponseBodyResult {
	s.Status = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResult) SetTeachingParticipant(v *QueryRemoteClassCourseResponseBodyResultTeachingParticipant) *QueryRemoteClassCourseResponseBodyResult {
	s.TeachingParticipant = v
	return s
}

type QueryRemoteClassCourseResponseBodyResultAttendParticipants struct {
	CorpId          *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	OrgName         *string `json:"orgName,omitempty" xml:"orgName,omitempty"`
	ParticipantId   *string `json:"participantId,omitempty" xml:"participantId,omitempty"`
	ParticipantName *string `json:"participantName,omitempty" xml:"participantName,omitempty"`
}

func (s QueryRemoteClassCourseResponseBodyResultAttendParticipants) String() string {
	return tea.Prettify(s)
}

func (s QueryRemoteClassCourseResponseBodyResultAttendParticipants) GoString() string {
	return s.String()
}

func (s *QueryRemoteClassCourseResponseBodyResultAttendParticipants) SetCorpId(v string) *QueryRemoteClassCourseResponseBodyResultAttendParticipants {
	s.CorpId = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResultAttendParticipants) SetOrgName(v string) *QueryRemoteClassCourseResponseBodyResultAttendParticipants {
	s.OrgName = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResultAttendParticipants) SetParticipantId(v string) *QueryRemoteClassCourseResponseBodyResultAttendParticipants {
	s.ParticipantId = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResultAttendParticipants) SetParticipantName(v string) *QueryRemoteClassCourseResponseBodyResultAttendParticipants {
	s.ParticipantName = &v
	return s
}

type QueryRemoteClassCourseResponseBodyResultTeachingParticipant struct {
	CorpId          *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	OrgName         *string `json:"orgName,omitempty" xml:"orgName,omitempty"`
	ParticipantId   *string `json:"participantId,omitempty" xml:"participantId,omitempty"`
	ParticipantName *string `json:"participantName,omitempty" xml:"participantName,omitempty"`
}

func (s QueryRemoteClassCourseResponseBodyResultTeachingParticipant) String() string {
	return tea.Prettify(s)
}

func (s QueryRemoteClassCourseResponseBodyResultTeachingParticipant) GoString() string {
	return s.String()
}

func (s *QueryRemoteClassCourseResponseBodyResultTeachingParticipant) SetCorpId(v string) *QueryRemoteClassCourseResponseBodyResultTeachingParticipant {
	s.CorpId = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResultTeachingParticipant) SetOrgName(v string) *QueryRemoteClassCourseResponseBodyResultTeachingParticipant {
	s.OrgName = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResultTeachingParticipant) SetParticipantId(v string) *QueryRemoteClassCourseResponseBodyResultTeachingParticipant {
	s.ParticipantId = &v
	return s
}

func (s *QueryRemoteClassCourseResponseBodyResultTeachingParticipant) SetParticipantName(v string) *QueryRemoteClassCourseResponseBodyResultTeachingParticipant {
	s.ParticipantName = &v
	return s
}

type QueryRemoteClassCourseResponse struct {
	Headers    map[string]*string                  `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                              `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryRemoteClassCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryRemoteClassCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryRemoteClassCourseResponse) GoString() string {
	return s.String()
}

func (s *QueryRemoteClassCourseResponse) SetHeaders(v map[string]*string) *QueryRemoteClassCourseResponse {
	s.Headers = v
	return s
}

func (s *QueryRemoteClassCourseResponse) SetStatusCode(v int32) *QueryRemoteClassCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryRemoteClassCourseResponse) SetBody(v *QueryRemoteClassCourseResponseBody) *QueryRemoteClassCourseResponse {
	s.Body = v
	return s
}

type QuerySchoolUserFaceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QuerySchoolUserFaceHeaders) String() string {
	return tea.Prettify(s)
}

func (s QuerySchoolUserFaceHeaders) GoString() string {
	return s.String()
}

func (s *QuerySchoolUserFaceHeaders) SetCommonHeaders(v map[string]*string) *QuerySchoolUserFaceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QuerySchoolUserFaceHeaders) SetXAcsDingtalkAccessToken(v string) *QuerySchoolUserFaceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QuerySchoolUserFaceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 从0开始
	PageNumber *int32 `json:"pageNumber,omitempty" xml:"pageNumber,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 大于0小于200
	PageSize *int32 `json:"pageSize,omitempty" xml:"pageSize,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1全量模式，2增量模式
	Type *int32 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s QuerySchoolUserFaceRequest) String() string {
	return tea.Prettify(s)
}

func (s QuerySchoolUserFaceRequest) GoString() string {
	return s.String()
}

func (s *QuerySchoolUserFaceRequest) SetPageNumber(v int32) *QuerySchoolUserFaceRequest {
	s.PageNumber = &v
	return s
}

func (s *QuerySchoolUserFaceRequest) SetPageSize(v int32) *QuerySchoolUserFaceRequest {
	s.PageSize = &v
	return s
}

func (s *QuerySchoolUserFaceRequest) SetSn(v string) *QuerySchoolUserFaceRequest {
	s.Sn = &v
	return s
}

func (s *QuerySchoolUserFaceRequest) SetType(v int32) *QuerySchoolUserFaceRequest {
	s.Type = &v
	return s
}

type QuerySchoolUserFaceResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// dingding123
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// true/false
	HasMore *bool `json:"hasMore,omitempty" xml:"hasMore,omitempty"`
	// This parameter is required.
	UserFaceList []*QuerySchoolUserFaceResponseBodyUserFaceList `json:"userFaceList,omitempty" xml:"userFaceList,omitempty" type:"Repeated"`
}

func (s QuerySchoolUserFaceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QuerySchoolUserFaceResponseBody) GoString() string {
	return s.String()
}

func (s *QuerySchoolUserFaceResponseBody) SetCorpId(v string) *QuerySchoolUserFaceResponseBody {
	s.CorpId = &v
	return s
}

func (s *QuerySchoolUserFaceResponseBody) SetHasMore(v bool) *QuerySchoolUserFaceResponseBody {
	s.HasMore = &v
	return s
}

func (s *QuerySchoolUserFaceResponseBody) SetUserFaceList(v []*QuerySchoolUserFaceResponseBodyUserFaceList) *QuerySchoolUserFaceResponseBody {
	s.UserFaceList = v
	return s
}

type QuerySchoolUserFaceResponseBodyUserFaceList struct {
	// This parameter is required.
	//
	// example:
	//
	// 200001
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 小明
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1有效；0无效
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 30001
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s QuerySchoolUserFaceResponseBodyUserFaceList) String() string {
	return tea.Prettify(s)
}

func (s QuerySchoolUserFaceResponseBodyUserFaceList) GoString() string {
	return s.String()
}

func (s *QuerySchoolUserFaceResponseBodyUserFaceList) SetFaceId(v string) *QuerySchoolUserFaceResponseBodyUserFaceList {
	s.FaceId = &v
	return s
}

func (s *QuerySchoolUserFaceResponseBodyUserFaceList) SetName(v string) *QuerySchoolUserFaceResponseBodyUserFaceList {
	s.Name = &v
	return s
}

func (s *QuerySchoolUserFaceResponseBodyUserFaceList) SetStatus(v int32) *QuerySchoolUserFaceResponseBodyUserFaceList {
	s.Status = &v
	return s
}

func (s *QuerySchoolUserFaceResponseBodyUserFaceList) SetUserId(v string) *QuerySchoolUserFaceResponseBodyUserFaceList {
	s.UserId = &v
	return s
}

type QuerySchoolUserFaceResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QuerySchoolUserFaceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QuerySchoolUserFaceResponse) String() string {
	return tea.Prettify(s)
}

func (s QuerySchoolUserFaceResponse) GoString() string {
	return s.String()
}

func (s *QuerySchoolUserFaceResponse) SetHeaders(v map[string]*string) *QuerySchoolUserFaceResponse {
	s.Headers = v
	return s
}

func (s *QuerySchoolUserFaceResponse) SetStatusCode(v int32) *QuerySchoolUserFaceResponse {
	s.StatusCode = &v
	return s
}

func (s *QuerySchoolUserFaceResponse) SetBody(v *QuerySchoolUserFaceResponseBody) *QuerySchoolUserFaceResponse {
	s.Body = v
	return s
}

type QuerySnsOrderHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QuerySnsOrderHeaders) String() string {
	return tea.Prettify(s)
}

func (s QuerySnsOrderHeaders) GoString() string {
	return s.String()
}

func (s *QuerySnsOrderHeaders) SetCommonHeaders(v map[string]*string) *QuerySnsOrderHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QuerySnsOrderHeaders) SetXAcsDingtalkAccessToken(v string) *QuerySnsOrderHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QuerySnsOrderRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123400
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// CM00001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// WWrhziOLF/XuRd3IyKwLkLeSFgKnUfeg2yLEVD9Bw+8
	Signature *string `json:"signature,omitempty" xml:"signature,omitempty"`
}

func (s QuerySnsOrderRequest) String() string {
	return tea.Prettify(s)
}

func (s QuerySnsOrderRequest) GoString() string {
	return s.String()
}

func (s *QuerySnsOrderRequest) SetAlipayAppId(v string) *QuerySnsOrderRequest {
	s.AlipayAppId = &v
	return s
}

func (s *QuerySnsOrderRequest) SetMerchantId(v string) *QuerySnsOrderRequest {
	s.MerchantId = &v
	return s
}

func (s *QuerySnsOrderRequest) SetOrderNo(v string) *QuerySnsOrderRequest {
	s.OrderNo = &v
	return s
}

func (s *QuerySnsOrderRequest) SetSignature(v string) *QuerySnsOrderRequest {
	s.Signature = &v
	return s
}

type QuerySnsOrderResponseBody struct {
	ActualAmount *int64 `json:"actualAmount,omitempty" xml:"actualAmount,omitempty"`
	// example:
	//
	// 123400
	AlipayAppId *string `json:"alipayAppId,omitempty" xml:"alipayAppId,omitempty"`
	// example:
	//
	// 2022-11-04T17:15Z
	CloseTime *string `json:"closeTime,omitempty" xml:"closeTime,omitempty"`
	// example:
	//
	// 1672973971107
	CloseTimestamp *int64 `json:"closeTimestamp,omitempty" xml:"closeTimestamp,omitempty"`
	// example:
	//
	// 2022-11-04T17:15Z
	CreateTime *string `json:"createTime,omitempty" xml:"createTime,omitempty"`
	// example:
	//
	// 1672973971107
	CreateTimestamp *int64 `json:"createTimestamp,omitempty" xml:"createTimestamp,omitempty"`
	LabelAmount     *int64 `json:"labelAmount,omitempty" xml:"labelAmount,omitempty"`
	// example:
	//
	// 10000
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// example:
	//
	// M20000100
	MerchantMergeOrderNo *string `json:"merchantMergeOrderNo,omitempty" xml:"merchantMergeOrderNo,omitempty"`
	// example:
	//
	// M20000100
	MerchantOrderNo *string `json:"merchantOrderNo,omitempty" xml:"merchantOrderNo,omitempty"`
	// example:
	//
	// CM0001
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// example:
	//
	// 1
	OrderType   *string `json:"orderType,omitempty" xml:"orderType,omitempty"`
	OuterUserId *string `json:"outerUserId,omitempty" xml:"outerUserId,omitempty"`
	// example:
	//
	// 138***
	PayLogonId *string `json:"payLogonId,omitempty" xml:"payLogonId,omitempty"`
	PayStatus  *int32  `json:"payStatus,omitempty" xml:"payStatus,omitempty"`
	// example:
	//
	// 2022-11-04T17:15Z
	PayTime *string `json:"payTime,omitempty" xml:"payTime,omitempty"`
	// example:
	//
	// 1672973971107
	PayTimestamp *int64 `json:"payTimestamp,omitempty" xml:"payTimestamp,omitempty"`
	// example:
	//
	// 1
	PayType      *string `json:"payType,omitempty" xml:"payType,omitempty"`
	RefundAmount *int64  `json:"refundAmount,omitempty" xml:"refundAmount,omitempty"`
	RefundStatus *int32  `json:"refundStatus,omitempty" xml:"refundStatus,omitempty"`
	RefundTime   *string `json:"refundTime,omitempty" xml:"refundTime,omitempty"`
	// example:
	//
	// 1672973971107
	RefundTimestamp *int64 `json:"refundTimestamp,omitempty" xml:"refundTimestamp,omitempty"`
	// example:
	//
	// 教育产品
	Subject *string `json:"subject,omitempty" xml:"subject,omitempty"`
	// example:
	//
	// 2022080311111
	TradeNo *string `json:"tradeNo,omitempty" xml:"tradeNo,omitempty"`
}

func (s QuerySnsOrderResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QuerySnsOrderResponseBody) GoString() string {
	return s.String()
}

func (s *QuerySnsOrderResponseBody) SetActualAmount(v int64) *QuerySnsOrderResponseBody {
	s.ActualAmount = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetAlipayAppId(v string) *QuerySnsOrderResponseBody {
	s.AlipayAppId = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetCloseTime(v string) *QuerySnsOrderResponseBody {
	s.CloseTime = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetCloseTimestamp(v int64) *QuerySnsOrderResponseBody {
	s.CloseTimestamp = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetCreateTime(v string) *QuerySnsOrderResponseBody {
	s.CreateTime = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetCreateTimestamp(v int64) *QuerySnsOrderResponseBody {
	s.CreateTimestamp = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetLabelAmount(v int64) *QuerySnsOrderResponseBody {
	s.LabelAmount = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetMerchantId(v string) *QuerySnsOrderResponseBody {
	s.MerchantId = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetMerchantMergeOrderNo(v string) *QuerySnsOrderResponseBody {
	s.MerchantMergeOrderNo = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetMerchantOrderNo(v string) *QuerySnsOrderResponseBody {
	s.MerchantOrderNo = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetOrderNo(v string) *QuerySnsOrderResponseBody {
	s.OrderNo = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetOrderType(v string) *QuerySnsOrderResponseBody {
	s.OrderType = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetOuterUserId(v string) *QuerySnsOrderResponseBody {
	s.OuterUserId = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetPayLogonId(v string) *QuerySnsOrderResponseBody {
	s.PayLogonId = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetPayStatus(v int32) *QuerySnsOrderResponseBody {
	s.PayStatus = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetPayTime(v string) *QuerySnsOrderResponseBody {
	s.PayTime = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetPayTimestamp(v int64) *QuerySnsOrderResponseBody {
	s.PayTimestamp = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetPayType(v string) *QuerySnsOrderResponseBody {
	s.PayType = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetRefundAmount(v int64) *QuerySnsOrderResponseBody {
	s.RefundAmount = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetRefundStatus(v int32) *QuerySnsOrderResponseBody {
	s.RefundStatus = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetRefundTime(v string) *QuerySnsOrderResponseBody {
	s.RefundTime = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetRefundTimestamp(v int64) *QuerySnsOrderResponseBody {
	s.RefundTimestamp = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetSubject(v string) *QuerySnsOrderResponseBody {
	s.Subject = &v
	return s
}

func (s *QuerySnsOrderResponseBody) SetTradeNo(v string) *QuerySnsOrderResponseBody {
	s.TradeNo = &v
	return s
}

type QuerySnsOrderResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QuerySnsOrderResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QuerySnsOrderResponse) String() string {
	return tea.Prettify(s)
}

func (s QuerySnsOrderResponse) GoString() string {
	return s.String()
}

func (s *QuerySnsOrderResponse) SetHeaders(v map[string]*string) *QuerySnsOrderResponse {
	s.Headers = v
	return s
}

func (s *QuerySnsOrderResponse) SetStatusCode(v int32) *QuerySnsOrderResponse {
	s.StatusCode = &v
	return s
}

func (s *QuerySnsOrderResponse) SetBody(v *QuerySnsOrderResponseBody) *QuerySnsOrderResponse {
	s.Body = v
	return s
}

type QueryStatisticsDataHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryStatisticsDataHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryStatisticsDataHeaders) GoString() string {
	return s.String()
}

func (s *QueryStatisticsDataHeaders) SetCommonHeaders(v map[string]*string) *QueryStatisticsDataHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryStatisticsDataHeaders) SetXAcsDingtalkAccessToken(v string) *QueryStatisticsDataHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryStatisticsDataRequest struct {
	// This parameter is required.
	SectionIndexList []*int64 `json:"sectionIndexList,omitempty" xml:"sectionIndexList,omitempty" type:"Repeated"`
	// This parameter is required.
	TeacherUserIds []*string `json:"teacherUserIds,omitempty" xml:"teacherUserIds,omitempty" type:"Repeated"`
	EndTime        *int64    `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// This parameter is required.
	OpUserId  *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	StartTime *int64  `json:"startTime,omitempty" xml:"startTime,omitempty"`
}

func (s QueryStatisticsDataRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryStatisticsDataRequest) GoString() string {
	return s.String()
}

func (s *QueryStatisticsDataRequest) SetSectionIndexList(v []*int64) *QueryStatisticsDataRequest {
	s.SectionIndexList = v
	return s
}

func (s *QueryStatisticsDataRequest) SetTeacherUserIds(v []*string) *QueryStatisticsDataRequest {
	s.TeacherUserIds = v
	return s
}

func (s *QueryStatisticsDataRequest) SetEndTime(v int64) *QueryStatisticsDataRequest {
	s.EndTime = &v
	return s
}

func (s *QueryStatisticsDataRequest) SetOpUserId(v string) *QueryStatisticsDataRequest {
	s.OpUserId = &v
	return s
}

func (s *QueryStatisticsDataRequest) SetStartTime(v int64) *QueryStatisticsDataRequest {
	s.StartTime = &v
	return s
}

type QueryStatisticsDataResponseBody struct {
	Result []*QueryStatisticsDataResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s QueryStatisticsDataResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryStatisticsDataResponseBody) GoString() string {
	return s.String()
}

func (s *QueryStatisticsDataResponseBody) SetResult(v []*QueryStatisticsDataResponseBodyResult) *QueryStatisticsDataResponseBody {
	s.Result = v
	return s
}

type QueryStatisticsDataResponseBodyResult struct {
	// example:
	//
	// 2345
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 6
	CourseCount *int64 `json:"courseCount,omitempty" xml:"courseCount,omitempty"`
	// example:
	//
	// 9
	CourseHours *float32 `json:"courseHours,omitempty" xml:"courseHours,omitempty"`
	// example:
	//
	// cn_shuxue
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
	// example:
	//
	// 语文
	SubjectName *int64 `json:"subjectName,omitempty" xml:"subjectName,omitempty"`
	// example:
	//
	// 2352345345
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
	// example:
	//
	// 李老师
	UserName *string `json:"userName,omitempty" xml:"userName,omitempty"`
}

func (s QueryStatisticsDataResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryStatisticsDataResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryStatisticsDataResponseBodyResult) SetClassId(v int64) *QueryStatisticsDataResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *QueryStatisticsDataResponseBodyResult) SetCourseCount(v int64) *QueryStatisticsDataResponseBodyResult {
	s.CourseCount = &v
	return s
}

func (s *QueryStatisticsDataResponseBodyResult) SetCourseHours(v float32) *QueryStatisticsDataResponseBodyResult {
	s.CourseHours = &v
	return s
}

func (s *QueryStatisticsDataResponseBodyResult) SetSubjectCode(v string) *QueryStatisticsDataResponseBodyResult {
	s.SubjectCode = &v
	return s
}

func (s *QueryStatisticsDataResponseBodyResult) SetSubjectName(v int64) *QueryStatisticsDataResponseBodyResult {
	s.SubjectName = &v
	return s
}

func (s *QueryStatisticsDataResponseBodyResult) SetUserId(v string) *QueryStatisticsDataResponseBodyResult {
	s.UserId = &v
	return s
}

func (s *QueryStatisticsDataResponseBodyResult) SetUserName(v string) *QueryStatisticsDataResponseBodyResult {
	s.UserName = &v
	return s
}

type QueryStatisticsDataResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryStatisticsDataResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryStatisticsDataResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryStatisticsDataResponse) GoString() string {
	return s.String()
}

func (s *QueryStatisticsDataResponse) SetHeaders(v map[string]*string) *QueryStatisticsDataResponse {
	s.Headers = v
	return s
}

func (s *QueryStatisticsDataResponse) SetStatusCode(v int32) *QueryStatisticsDataResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryStatisticsDataResponse) SetBody(v *QueryStatisticsDataResponseBody) *QueryStatisticsDataResponse {
	s.Body = v
	return s
}

type QueryStudentClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryStudentClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryStudentClassHeaders) GoString() string {
	return s.String()
}

func (s *QueryStudentClassHeaders) SetCommonHeaders(v map[string]*string) *QueryStudentClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryStudentClassHeaders) SetXAcsDingtalkAccessToken(v string) *QueryStudentClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryStudentClassRequest struct {
	// example:
	//
	// classIdxxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 1
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode        *string   `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	StudentUserIds []*string `json:"studentUserIds,omitempty" xml:"studentUserIds,omitempty" type:"Repeated"`
}

func (s QueryStudentClassRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryStudentClassRequest) GoString() string {
	return s.String()
}

func (s *QueryStudentClassRequest) SetClassId(v string) *QueryStudentClassRequest {
	s.ClassId = &v
	return s
}

func (s *QueryStudentClassRequest) SetClassType(v int32) *QueryStudentClassRequest {
	s.ClassType = &v
	return s
}

func (s *QueryStudentClassRequest) SetCorpId(v string) *QueryStudentClassRequest {
	s.CorpId = &v
	return s
}

func (s *QueryStudentClassRequest) SetIsvCode(v string) *QueryStudentClassRequest {
	s.IsvCode = &v
	return s
}

func (s *QueryStudentClassRequest) SetStudentUserIds(v []*string) *QueryStudentClassRequest {
	s.StudentUserIds = v
	return s
}

type QueryStudentClassResponseBody struct {
	Result  *QueryStudentClassResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryStudentClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryStudentClassResponseBody) GoString() string {
	return s.String()
}

func (s *QueryStudentClassResponseBody) SetResult(v *QueryStudentClassResponseBodyResult) *QueryStudentClassResponseBody {
	s.Result = v
	return s
}

func (s *QueryStudentClassResponseBody) SetSuccess(v bool) *QueryStudentClassResponseBody {
	s.Success = &v
	return s
}

type QueryStudentClassResponseBodyResult struct {
	// example:
	//
	// classIdxxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 1
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode     *string                                           `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	StudentList []*QueryStudentClassResponseBodyResultStudentList `json:"studentList,omitempty" xml:"studentList,omitempty" type:"Repeated"`
}

func (s QueryStudentClassResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryStudentClassResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryStudentClassResponseBodyResult) SetClassId(v string) *QueryStudentClassResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *QueryStudentClassResponseBodyResult) SetClassType(v int32) *QueryStudentClassResponseBodyResult {
	s.ClassType = &v
	return s
}

func (s *QueryStudentClassResponseBodyResult) SetCorpId(v string) *QueryStudentClassResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *QueryStudentClassResponseBodyResult) SetIsvCode(v string) *QueryStudentClassResponseBodyResult {
	s.IsvCode = &v
	return s
}

func (s *QueryStudentClassResponseBodyResult) SetStudentList(v []*QueryStudentClassResponseBodyResultStudentList) *QueryStudentClassResponseBodyResult {
	s.StudentList = v
	return s
}

type QueryStudentClassResponseBodyResultStudentList struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// 小明
	StudentName *string `json:"studentName,omitempty" xml:"studentName,omitempty"`
	// example:
	//
	// studentxxx
	StudentUserId *string `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
}

func (s QueryStudentClassResponseBodyResultStudentList) String() string {
	return tea.Prettify(s)
}

func (s QueryStudentClassResponseBodyResultStudentList) GoString() string {
	return s.String()
}

func (s *QueryStudentClassResponseBodyResultStudentList) SetAttributes(v string) *QueryStudentClassResponseBodyResultStudentList {
	s.Attributes = &v
	return s
}

func (s *QueryStudentClassResponseBodyResultStudentList) SetStudentName(v string) *QueryStudentClassResponseBodyResultStudentList {
	s.StudentName = &v
	return s
}

func (s *QueryStudentClassResponseBodyResultStudentList) SetStudentUserId(v string) *QueryStudentClassResponseBodyResultStudentList {
	s.StudentUserId = &v
	return s
}

type QueryStudentClassResponse struct {
	Headers    map[string]*string             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryStudentClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryStudentClassResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryStudentClassResponse) GoString() string {
	return s.String()
}

func (s *QueryStudentClassResponse) SetHeaders(v map[string]*string) *QueryStudentClassResponse {
	s.Headers = v
	return s
}

func (s *QueryStudentClassResponse) SetStatusCode(v int32) *QueryStudentClassResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryStudentClassResponse) SetBody(v *QueryStudentClassResponseBody) *QueryStudentClassResponse {
	s.Body = v
	return s
}

type QuerySubjectTeachersHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QuerySubjectTeachersHeaders) String() string {
	return tea.Prettify(s)
}

func (s QuerySubjectTeachersHeaders) GoString() string {
	return s.String()
}

func (s *QuerySubjectTeachersHeaders) SetCommonHeaders(v map[string]*string) *QuerySubjectTeachersHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QuerySubjectTeachersHeaders) SetXAcsDingtalkAccessToken(v string) *QuerySubjectTeachersHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QuerySubjectTeachersRequest struct {
	ClassIds []*int64 `json:"classIds,omitempty" xml:"classIds,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 行政老师A
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// cn_yuwen
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
}

func (s QuerySubjectTeachersRequest) String() string {
	return tea.Prettify(s)
}

func (s QuerySubjectTeachersRequest) GoString() string {
	return s.String()
}

func (s *QuerySubjectTeachersRequest) SetClassIds(v []*int64) *QuerySubjectTeachersRequest {
	s.ClassIds = v
	return s
}

func (s *QuerySubjectTeachersRequest) SetOpUserId(v string) *QuerySubjectTeachersRequest {
	s.OpUserId = &v
	return s
}

func (s *QuerySubjectTeachersRequest) SetSubjectCode(v string) *QuerySubjectTeachersRequest {
	s.SubjectCode = &v
	return s
}

type QuerySubjectTeachersResponseBody struct {
	Result []*QuerySubjectTeachersResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s QuerySubjectTeachersResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QuerySubjectTeachersResponseBody) GoString() string {
	return s.String()
}

func (s *QuerySubjectTeachersResponseBody) SetResult(v []*QuerySubjectTeachersResponseBodyResult) *QuerySubjectTeachersResponseBody {
	s.Result = v
	return s
}

type QuerySubjectTeachersResponseBodyResult struct {
	// example:
	//
	// 3333333
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// dingding142523424
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// kindergarten
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
	// example:
	//
	// cn_yuwen
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
	// example:
	//
	// 语文
	SubjectName *string `json:"subjectName,omitempty" xml:"subjectName,omitempty"`
	// example:
	//
	// 李老师
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// example:
	//
	// 50142345134
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s QuerySubjectTeachersResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QuerySubjectTeachersResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QuerySubjectTeachersResponseBodyResult) SetClassId(v int64) *QuerySubjectTeachersResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *QuerySubjectTeachersResponseBodyResult) SetCorpId(v string) *QuerySubjectTeachersResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *QuerySubjectTeachersResponseBodyResult) SetPeriodCode(v string) *QuerySubjectTeachersResponseBodyResult {
	s.PeriodCode = &v
	return s
}

func (s *QuerySubjectTeachersResponseBodyResult) SetSubjectCode(v string) *QuerySubjectTeachersResponseBodyResult {
	s.SubjectCode = &v
	return s
}

func (s *QuerySubjectTeachersResponseBodyResult) SetSubjectName(v string) *QuerySubjectTeachersResponseBodyResult {
	s.SubjectName = &v
	return s
}

func (s *QuerySubjectTeachersResponseBodyResult) SetTeacherName(v string) *QuerySubjectTeachersResponseBodyResult {
	s.TeacherName = &v
	return s
}

func (s *QuerySubjectTeachersResponseBodyResult) SetTeacherUserId(v string) *QuerySubjectTeachersResponseBodyResult {
	s.TeacherUserId = &v
	return s
}

type QuerySubjectTeachersResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QuerySubjectTeachersResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QuerySubjectTeachersResponse) String() string {
	return tea.Prettify(s)
}

func (s QuerySubjectTeachersResponse) GoString() string {
	return s.String()
}

func (s *QuerySubjectTeachersResponse) SetHeaders(v map[string]*string) *QuerySubjectTeachersResponse {
	s.Headers = v
	return s
}

func (s *QuerySubjectTeachersResponse) SetStatusCode(v int32) *QuerySubjectTeachersResponse {
	s.StatusCode = &v
	return s
}

func (s *QuerySubjectTeachersResponse) SetBody(v *QuerySubjectTeachersResponseBody) *QuerySubjectTeachersResponse {
	s.Body = v
	return s
}

type QueryTeachSubjectsHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryTeachSubjectsHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryTeachSubjectsHeaders) GoString() string {
	return s.String()
}

func (s *QueryTeachSubjectsHeaders) SetCommonHeaders(v map[string]*string) *QueryTeachSubjectsHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryTeachSubjectsHeaders) SetXAcsDingtalkAccessToken(v string) *QueryTeachSubjectsHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryTeachSubjectsRequest struct {
	ClassIds []*int64 `json:"classIds,omitempty" xml:"classIds,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 24275037451244334
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s QueryTeachSubjectsRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryTeachSubjectsRequest) GoString() string {
	return s.String()
}

func (s *QueryTeachSubjectsRequest) SetClassIds(v []*int64) *QueryTeachSubjectsRequest {
	s.ClassIds = v
	return s
}

func (s *QueryTeachSubjectsRequest) SetOpUserId(v string) *QueryTeachSubjectsRequest {
	s.OpUserId = &v
	return s
}

type QueryTeachSubjectsResponseBody struct {
	Result []*QueryTeachSubjectsResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Repeated"`
}

func (s QueryTeachSubjectsResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryTeachSubjectsResponseBody) GoString() string {
	return s.String()
}

func (s *QueryTeachSubjectsResponseBody) SetResult(v []*QueryTeachSubjectsResponseBodyResult) *QueryTeachSubjectsResponseBody {
	s.Result = v
	return s
}

type QueryTeachSubjectsResponseBodyResult struct {
	// example:
	//
	// 333333
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// dingding142523424
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// kindergarten
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
	// example:
	//
	// cn_yuwen
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
	// example:
	//
	// 语文
	SubjectName *string `json:"subjectName,omitempty" xml:"subjectName,omitempty"`
	// example:
	//
	// 李老师
	TeacherName *string `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	// example:
	//
	// 50142345134
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s QueryTeachSubjectsResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryTeachSubjectsResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryTeachSubjectsResponseBodyResult) SetClassId(v int64) *QueryTeachSubjectsResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *QueryTeachSubjectsResponseBodyResult) SetCorpId(v string) *QueryTeachSubjectsResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *QueryTeachSubjectsResponseBodyResult) SetPeriodCode(v string) *QueryTeachSubjectsResponseBodyResult {
	s.PeriodCode = &v
	return s
}

func (s *QueryTeachSubjectsResponseBodyResult) SetSubjectCode(v string) *QueryTeachSubjectsResponseBodyResult {
	s.SubjectCode = &v
	return s
}

func (s *QueryTeachSubjectsResponseBodyResult) SetSubjectName(v string) *QueryTeachSubjectsResponseBodyResult {
	s.SubjectName = &v
	return s
}

func (s *QueryTeachSubjectsResponseBodyResult) SetTeacherName(v string) *QueryTeachSubjectsResponseBodyResult {
	s.TeacherName = &v
	return s
}

func (s *QueryTeachSubjectsResponseBodyResult) SetTeacherUserId(v string) *QueryTeachSubjectsResponseBodyResult {
	s.TeacherUserId = &v
	return s
}

type QueryTeachSubjectsResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryTeachSubjectsResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryTeachSubjectsResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryTeachSubjectsResponse) GoString() string {
	return s.String()
}

func (s *QueryTeachSubjectsResponse) SetHeaders(v map[string]*string) *QueryTeachSubjectsResponse {
	s.Headers = v
	return s
}

func (s *QueryTeachSubjectsResponse) SetStatusCode(v int32) *QueryTeachSubjectsResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryTeachSubjectsResponse) SetBody(v *QueryTeachSubjectsResponseBody) *QueryTeachSubjectsResponse {
	s.Body = v
	return s
}

type QueryTeacherCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryTeacherCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryTeacherCourseHeaders) GoString() string {
	return s.String()
}

func (s *QueryTeacherCourseHeaders) SetCommonHeaders(v map[string]*string) *QueryTeacherCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryTeacherCourseHeaders) SetXAcsDingtalkAccessToken(v string) *QueryTeacherCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryTeacherCourseRequest struct {
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode         *string   `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	IsvCourseIdList []*string `json:"isvCourseIdList,omitempty" xml:"isvCourseIdList,omitempty" type:"Repeated"`
	// example:
	//
	// staffxxx
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s QueryTeacherCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryTeacherCourseRequest) GoString() string {
	return s.String()
}

func (s *QueryTeacherCourseRequest) SetCorpId(v string) *QueryTeacherCourseRequest {
	s.CorpId = &v
	return s
}

func (s *QueryTeacherCourseRequest) SetIsvCode(v string) *QueryTeacherCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *QueryTeacherCourseRequest) SetIsvCourseIdList(v []*string) *QueryTeacherCourseRequest {
	s.IsvCourseIdList = v
	return s
}

func (s *QueryTeacherCourseRequest) SetTeacherUserId(v string) *QueryTeacherCourseRequest {
	s.TeacherUserId = &v
	return s
}

type QueryTeacherCourseResponseBody struct {
	Result  *QueryTeacherCourseResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                 `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryTeacherCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryTeacherCourseResponseBody) GoString() string {
	return s.String()
}

func (s *QueryTeacherCourseResponseBody) SetResult(v *QueryTeacherCourseResponseBodyResult) *QueryTeacherCourseResponseBody {
	s.Result = v
	return s
}

func (s *QueryTeacherCourseResponseBody) SetSuccess(v bool) *QueryTeacherCourseResponseBody {
	s.Success = &v
	return s
}

type QueryTeacherCourseResponseBodyResult struct {
	CorpId                      *string                                                            `json:"corpId,omitempty" xml:"corpId,omitempty"`
	IsvCode                     *string                                                            `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	TeacherCourseDetailItemList []*QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList `json:"teacherCourseDetailItemList,omitempty" xml:"teacherCourseDetailItemList,omitempty" type:"Repeated"`
	TeacherName                 *string                                                            `json:"teacherName,omitempty" xml:"teacherName,omitempty"`
	TeacherUserId               *string                                                            `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s QueryTeacherCourseResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryTeacherCourseResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryTeacherCourseResponseBodyResult) SetCorpId(v string) *QueryTeacherCourseResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *QueryTeacherCourseResponseBodyResult) SetIsvCode(v string) *QueryTeacherCourseResponseBodyResult {
	s.IsvCode = &v
	return s
}

func (s *QueryTeacherCourseResponseBodyResult) SetTeacherCourseDetailItemList(v []*QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList) *QueryTeacherCourseResponseBodyResult {
	s.TeacherCourseDetailItemList = v
	return s
}

func (s *QueryTeacherCourseResponseBodyResult) SetTeacherName(v string) *QueryTeacherCourseResponseBodyResult {
	s.TeacherName = &v
	return s
}

func (s *QueryTeacherCourseResponseBodyResult) SetTeacherUserId(v string) *QueryTeacherCourseResponseBodyResult {
	s.TeacherUserId = &v
	return s
}

type QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList struct {
	Attributes  *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
}

func (s QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList) String() string {
	return tea.Prettify(s)
}

func (s QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList) GoString() string {
	return s.String()
}

func (s *QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList) SetAttributes(v string) *QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList {
	s.Attributes = &v
	return s
}

func (s *QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList) SetIsvCourseId(v string) *QueryTeacherCourseResponseBodyResultTeacherCourseDetailItemList {
	s.IsvCourseId = &v
	return s
}

type QueryTeacherCourseResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryTeacherCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryTeacherCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryTeacherCourseResponse) GoString() string {
	return s.String()
}

func (s *QueryTeacherCourseResponse) SetHeaders(v map[string]*string) *QueryTeacherCourseResponse {
	s.Headers = v
	return s
}

func (s *QueryTeacherCourseResponse) SetStatusCode(v int32) *QueryTeacherCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryTeacherCourseResponse) SetBody(v *QueryTeacherCourseResponseBody) *QueryTeacherCourseResponse {
	s.Body = v
	return s
}

type QueryTransferCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryTransferCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryTransferCourseHeaders) GoString() string {
	return s.String()
}

func (s *QueryTransferCourseHeaders) SetCommonHeaders(v map[string]*string) *QueryTransferCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryTransferCourseHeaders) SetXAcsDingtalkAccessToken(v string) *QueryTransferCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryTransferCourseRequest struct {
	// example:
	//
	// dingxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// recordId
	IsvRecordId *string `json:"isvRecordId,omitempty" xml:"isvRecordId,omitempty"`
}

func (s QueryTransferCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryTransferCourseRequest) GoString() string {
	return s.String()
}

func (s *QueryTransferCourseRequest) SetCorpId(v string) *QueryTransferCourseRequest {
	s.CorpId = &v
	return s
}

func (s *QueryTransferCourseRequest) SetIsvCode(v string) *QueryTransferCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *QueryTransferCourseRequest) SetIsvRecordId(v string) *QueryTransferCourseRequest {
	s.IsvRecordId = &v
	return s
}

type QueryTransferCourseResponseBody struct {
	Result  *QueryTransferCourseResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                  `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryTransferCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryTransferCourseResponseBody) GoString() string {
	return s.String()
}

func (s *QueryTransferCourseResponseBody) SetResult(v *QueryTransferCourseResponseBodyResult) *QueryTransferCourseResponseBody {
	s.Result = v
	return s
}

func (s *QueryTransferCourseResponseBody) SetSuccess(v bool) *QueryTransferCourseResponseBody {
	s.Success = &v
	return s
}

type QueryTransferCourseResponseBodyResult struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// classIdx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// ding_xxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// record_xxx
	IsvRecordId *string `json:"isvRecordId,omitempty" xml:"isvRecordId,omitempty"`
	// example:
	//
	// srcCode
	SrcCourseCode *string `json:"srcCourseCode,omitempty" xml:"srcCourseCode,omitempty"`
	// example:
	//
	// 0
	SrcCourseDate *int64 `json:"srcCourseDate,omitempty" xml:"srcCourseDate,omitempty"`
	// example:
	//
	// srcName
	SrcCourseName *string `json:"srcCourseName,omitempty" xml:"srcCourseName,omitempty"`
	// example:
	//
	// srcId
	SrcIsvCourseId *string `json:"srcIsvCourseId,omitempty" xml:"srcIsvCourseId,omitempty"`
	// example:
	//
	// 第一节
	SrcTimeslotName *string `json:"srcTimeslotName,omitempty" xml:"srcTimeslotName,omitempty"`
	// example:
	//
	// 1
	SrcTimeslotNum *int32 `json:"srcTimeslotNum,omitempty" xml:"srcTimeslotNum,omitempty"`
	// example:
	//
	// tarCode
	TarCourseCode *string `json:"tarCourseCode,omitempty" xml:"tarCourseCode,omitempty"`
	// example:
	//
	// 0
	TarCourseDate *int64 `json:"tarCourseDate,omitempty" xml:"tarCourseDate,omitempty"`
	// example:
	//
	// tarName
	TarCourseName *string `json:"tarCourseName,omitempty" xml:"tarCourseName,omitempty"`
	// example:
	//
	// tarId
	TarIsvCourseId *string `json:"tarIsvCourseId,omitempty" xml:"tarIsvCourseId,omitempty"`
	// example:
	//
	// 第一节
	TarTimeslotName *string `json:"tarTimeslotName,omitempty" xml:"tarTimeslotName,omitempty"`
	// example:
	//
	// 1
	TarTimeslotNum *int32 `json:"tarTimeslotNum,omitempty" xml:"tarTimeslotNum,omitempty"`
}

func (s QueryTransferCourseResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryTransferCourseResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryTransferCourseResponseBodyResult) SetAttributes(v string) *QueryTransferCourseResponseBodyResult {
	s.Attributes = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetClassId(v string) *QueryTransferCourseResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetClassName(v string) *QueryTransferCourseResponseBodyResult {
	s.ClassName = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetCorpId(v string) *QueryTransferCourseResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetIsvCode(v string) *QueryTransferCourseResponseBodyResult {
	s.IsvCode = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetIsvRecordId(v string) *QueryTransferCourseResponseBodyResult {
	s.IsvRecordId = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetSrcCourseCode(v string) *QueryTransferCourseResponseBodyResult {
	s.SrcCourseCode = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetSrcCourseDate(v int64) *QueryTransferCourseResponseBodyResult {
	s.SrcCourseDate = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetSrcCourseName(v string) *QueryTransferCourseResponseBodyResult {
	s.SrcCourseName = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetSrcIsvCourseId(v string) *QueryTransferCourseResponseBodyResult {
	s.SrcIsvCourseId = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetSrcTimeslotName(v string) *QueryTransferCourseResponseBodyResult {
	s.SrcTimeslotName = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetSrcTimeslotNum(v int32) *QueryTransferCourseResponseBodyResult {
	s.SrcTimeslotNum = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetTarCourseCode(v string) *QueryTransferCourseResponseBodyResult {
	s.TarCourseCode = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetTarCourseDate(v int64) *QueryTransferCourseResponseBodyResult {
	s.TarCourseDate = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetTarCourseName(v string) *QueryTransferCourseResponseBodyResult {
	s.TarCourseName = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetTarIsvCourseId(v string) *QueryTransferCourseResponseBodyResult {
	s.TarIsvCourseId = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetTarTimeslotName(v string) *QueryTransferCourseResponseBodyResult {
	s.TarTimeslotName = &v
	return s
}

func (s *QueryTransferCourseResponseBodyResult) SetTarTimeslotNum(v int32) *QueryTransferCourseResponseBodyResult {
	s.TarTimeslotNum = &v
	return s
}

type QueryTransferCourseResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryTransferCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryTransferCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryTransferCourseResponse) GoString() string {
	return s.String()
}

func (s *QueryTransferCourseResponse) SetHeaders(v map[string]*string) *QueryTransferCourseResponse {
	s.Headers = v
	return s
}

func (s *QueryTransferCourseResponse) SetStatusCode(v int32) *QueryTransferCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryTransferCourseResponse) SetBody(v *QueryTransferCourseResponseBody) *QueryTransferCourseResponse {
	s.Body = v
	return s
}

type QueryUniversityCourseGroupHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryUniversityCourseGroupHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryUniversityCourseGroupHeaders) GoString() string {
	return s.String()
}

func (s *QueryUniversityCourseGroupHeaders) SetCommonHeaders(v map[string]*string) *QueryUniversityCourseGroupHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryUniversityCourseGroupHeaders) SetXAcsDingtalkAccessToken(v string) *QueryUniversityCourseGroupHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryUniversityCourseGroupRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// GS10001
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s QueryUniversityCourseGroupRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryUniversityCourseGroupRequest) GoString() string {
	return s.String()
}

func (s *QueryUniversityCourseGroupRequest) SetCourseGroupCode(v string) *QueryUniversityCourseGroupRequest {
	s.CourseGroupCode = &v
	return s
}

func (s *QueryUniversityCourseGroupRequest) SetOpUserId(v string) *QueryUniversityCourseGroupRequest {
	s.OpUserId = &v
	return s
}

type QueryUniversityCourseGroupResponseBody struct {
	UniversityCourseGroupInfo *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo `json:"universityCourseGroupInfo,omitempty" xml:"universityCourseGroupInfo,omitempty" type:"Struct"`
}

func (s QueryUniversityCourseGroupResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryUniversityCourseGroupResponseBody) GoString() string {
	return s.String()
}

func (s *QueryUniversityCourseGroupResponseBody) SetUniversityCourseGroupInfo(v *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) *QueryUniversityCourseGroupResponseBody {
	s.UniversityCourseGroupInfo = v
	return s
}

type QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo struct {
	// This parameter is required.
	//
	// example:
	//
	// GS1001
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 高数
	CourseGroupIntroduce *string `json:"courseGroupIntroduce,omitempty" xml:"courseGroupIntroduce,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 高数_李老师
	CourseGroupName *string `json:"courseGroupName,omitempty" xml:"courseGroupName,omitempty"`
	// This parameter is required.
	CourserGroupItemModels []*QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels `json:"courserGroupItemModels,omitempty" xml:"courserGroupItemModels,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// GZ1001
	IsvCourseGroupCode *string `json:"isvCourseGroupCode,omitempty" xml:"isvCourseGroupCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// university
	PeriodCode *string `json:"periodCode,omitempty" xml:"periodCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021-2022
	SchoolYear *string `json:"schoolYear,omitempty" xml:"schoolYear,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Semester *int32 `json:"semester,omitempty" xml:"semester,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 高等数学
	SubjectName *string `json:"subjectName,omitempty" xml:"subjectName,omitempty"`
}

func (s QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) String() string {
	return tea.Prettify(s)
}

func (s QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) GoString() string {
	return s.String()
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetCourseGroupCode(v string) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.CourseGroupCode = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetCourseGroupIntroduce(v string) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.CourseGroupIntroduce = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetCourseGroupName(v string) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.CourseGroupName = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetCourserGroupItemModels(v []*QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.CourserGroupItemModels = v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetIsvCourseGroupCode(v string) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.IsvCourseGroupCode = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetPeriodCode(v string) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.PeriodCode = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetSchoolYear(v string) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.SchoolYear = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetSemester(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.Semester = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo) SetSubjectName(v string) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfo {
	s.SubjectName = &v
	return s
}

type QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels struct {
	// This parameter is required.
	//
	// example:
	//
	// 1、单周；2、双周；3、全周
	ClassPeriodType *int32 `json:"classPeriodType,omitempty" xml:"classPeriodType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10001
	ClassroomId *int64 `json:"classroomId,omitempty" xml:"classroomId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1:音视频直播；2:线下课程；4:音视频及线下
	CourseType *int32 `json:"courseType,omitempty" xml:"courseType,omitempty"`
	// This parameter is required.
	CourserGroupItemEndDate *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate `json:"courserGroupItemEndDate,omitempty" xml:"courserGroupItemEndDate,omitempty" type:"Struct"`
	// This parameter is required.
	CourserGroupItemStartDate *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate `json:"courserGroupItemStartDate,omitempty" xml:"courserGroupItemStartDate,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 7
	DayOfWeek *int32 `json:"dayOfWeek,omitempty" xml:"dayOfWeek,omitempty"`
	// This parameter is required.
	SectionIndex []*int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty" type:"Repeated"`
}

func (s QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) String() string {
	return tea.Prettify(s)
}

func (s QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) GoString() string {
	return s.String()
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) SetClassPeriodType(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels {
	s.ClassPeriodType = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) SetClassroomId(v int64) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels {
	s.ClassroomId = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) SetCourseType(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels {
	s.CourseType = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) SetCourserGroupItemEndDate(v *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels {
	s.CourserGroupItemEndDate = v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) SetCourserGroupItemStartDate(v *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels {
	s.CourserGroupItemStartDate = v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) SetDayOfWeek(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels {
	s.DayOfWeek = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels) SetSectionIndex(v []*int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModels {
	s.SectionIndex = v
	return s
}

type QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 31
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate) String() string {
	return tea.Prettify(s)
}

func (s QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate) GoString() string {
	return s.String()
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate) SetDayOfMonth(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate {
	s.DayOfMonth = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate) SetMonth(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate {
	s.Month = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate) SetYear(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemEndDate {
	s.Year = &v
	return s
}

type QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate) String() string {
	return tea.Prettify(s)
}

func (s QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate) GoString() string {
	return s.String()
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate) SetDayOfMonth(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate {
	s.DayOfMonth = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate) SetMonth(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate {
	s.Month = &v
	return s
}

func (s *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate) SetYear(v int32) *QueryUniversityCourseGroupResponseBodyUniversityCourseGroupInfoCourserGroupItemModelsCourserGroupItemStartDate {
	s.Year = &v
	return s
}

type QueryUniversityCourseGroupResponse struct {
	Headers    map[string]*string                      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryUniversityCourseGroupResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryUniversityCourseGroupResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryUniversityCourseGroupResponse) GoString() string {
	return s.String()
}

func (s *QueryUniversityCourseGroupResponse) SetHeaders(v map[string]*string) *QueryUniversityCourseGroupResponse {
	s.Headers = v
	return s
}

func (s *QueryUniversityCourseGroupResponse) SetStatusCode(v int32) *QueryUniversityCourseGroupResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryUniversityCourseGroupResponse) SetBody(v *QueryUniversityCourseGroupResponseBody) *QueryUniversityCourseGroupResponse {
	s.Body = v
	return s
}

type QueryUserFaceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryUserFaceHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryUserFaceHeaders) GoString() string {
	return s.String()
}

func (s *QueryUserFaceHeaders) SetCommonHeaders(v map[string]*string) *QueryUserFaceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryUserFaceHeaders) SetXAcsDingtalkAccessToken(v string) *QueryUserFaceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryUserFaceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 30001
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
}

func (s QueryUserFaceRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryUserFaceRequest) GoString() string {
	return s.String()
}

func (s *QueryUserFaceRequest) SetFaceId(v string) *QueryUserFaceRequest {
	s.FaceId = &v
	return s
}

func (s *QueryUserFaceRequest) SetSn(v string) *QueryUserFaceRequest {
	s.Sn = &v
	return s
}

type QueryUserFaceResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// dingding123
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 30001
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 小明
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 40001
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s QueryUserFaceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryUserFaceResponseBody) GoString() string {
	return s.String()
}

func (s *QueryUserFaceResponseBody) SetCorpId(v string) *QueryUserFaceResponseBody {
	s.CorpId = &v
	return s
}

func (s *QueryUserFaceResponseBody) SetFaceId(v string) *QueryUserFaceResponseBody {
	s.FaceId = &v
	return s
}

func (s *QueryUserFaceResponseBody) SetName(v string) *QueryUserFaceResponseBody {
	s.Name = &v
	return s
}

func (s *QueryUserFaceResponseBody) SetUserId(v string) *QueryUserFaceResponseBody {
	s.UserId = &v
	return s
}

type QueryUserFaceResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryUserFaceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryUserFaceResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryUserFaceResponse) GoString() string {
	return s.String()
}

func (s *QueryUserFaceResponse) SetHeaders(v map[string]*string) *QueryUserFaceResponse {
	s.Headers = v
	return s
}

func (s *QueryUserFaceResponse) SetStatusCode(v int32) *QueryUserFaceResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryUserFaceResponse) SetBody(v *QueryUserFaceResponseBody) *QueryUserFaceResponse {
	s.Body = v
	return s
}

type QueryUserPayInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryUserPayInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryUserPayInfoHeaders) GoString() string {
	return s.String()
}

func (s *QueryUserPayInfoHeaders) SetCommonHeaders(v map[string]*string) *QueryUserPayInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryUserPayInfoHeaders) SetXAcsDingtalkAccessToken(v string) *QueryUserPayInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryUserPayInfoRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123
	FaceId *string `json:"faceId,omitempty" xml:"faceId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s QueryUserPayInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryUserPayInfoRequest) GoString() string {
	return s.String()
}

func (s *QueryUserPayInfoRequest) SetFaceId(v string) *QueryUserPayInfoRequest {
	s.FaceId = &v
	return s
}

func (s *QueryUserPayInfoRequest) SetSn(v string) *QueryUserPayInfoRequest {
	s.Sn = &v
	return s
}

func (s *QueryUserPayInfoRequest) SetUserId(v string) *QueryUserPayInfoRequest {
	s.UserId = &v
	return s
}

type QueryUserPayInfoResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// 123
	SignNo *string `json:"signNo,omitempty" xml:"signNo,omitempty"`
}

func (s QueryUserPayInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryUserPayInfoResponseBody) GoString() string {
	return s.String()
}

func (s *QueryUserPayInfoResponseBody) SetSignNo(v string) *QueryUserPayInfoResponseBody {
	s.SignNo = &v
	return s
}

type QueryUserPayInfoResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryUserPayInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryUserPayInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryUserPayInfoResponse) GoString() string {
	return s.String()
}

func (s *QueryUserPayInfoResponse) SetHeaders(v map[string]*string) *QueryUserPayInfoResponse {
	s.Headers = v
	return s
}

func (s *QueryUserPayInfoResponse) SetStatusCode(v int32) *QueryUserPayInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryUserPayInfoResponse) SetBody(v *QueryUserPayInfoResponseBody) *QueryUserPayInfoResponse {
	s.Body = v
	return s
}

type RemoveDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s RemoveDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s RemoveDeviceHeaders) GoString() string {
	return s.String()
}

func (s *RemoveDeviceHeaders) SetCommonHeaders(v map[string]*string) *RemoveDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *RemoveDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *RemoveDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type RemoveDeviceRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123
	MerchantId *string `json:"merchantId,omitempty" xml:"merchantId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// SN123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
}

func (s RemoveDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s RemoveDeviceRequest) GoString() string {
	return s.String()
}

func (s *RemoveDeviceRequest) SetMerchantId(v string) *RemoveDeviceRequest {
	s.MerchantId = &v
	return s
}

func (s *RemoveDeviceRequest) SetSn(v string) *RemoveDeviceRequest {
	s.Sn = &v
	return s
}

type RemoveDeviceResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *string `json:"success,omitempty" xml:"success,omitempty"`
}

func (s RemoveDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s RemoveDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *RemoveDeviceResponseBody) SetSuccess(v string) *RemoveDeviceResponseBody {
	s.Success = &v
	return s
}

type RemoveDeviceResponse struct {
	Headers    map[string]*string        `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                    `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *RemoveDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s RemoveDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s RemoveDeviceResponse) GoString() string {
	return s.String()
}

func (s *RemoveDeviceResponse) SetHeaders(v map[string]*string) *RemoveDeviceResponse {
	s.Headers = v
	return s
}

func (s *RemoveDeviceResponse) SetStatusCode(v int32) *RemoveDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *RemoveDeviceResponse) SetBody(v *RemoveDeviceResponseBody) *RemoveDeviceResponse {
	s.Body = v
	return s
}

type ReportDeviceLogHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ReportDeviceLogHeaders) String() string {
	return tea.Prettify(s)
}

func (s ReportDeviceLogHeaders) GoString() string {
	return s.String()
}

func (s *ReportDeviceLogHeaders) SetCommonHeaders(v map[string]*string) *ReportDeviceLogHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ReportDeviceLogHeaders) SetXAcsDingtalkAccessToken(v string) *ReportDeviceLogHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ReportDeviceLogRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// xdfsf20001
	MediaId *string `json:"mediaId,omitempty" xml:"mediaId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// file：普通文件
	Type *string `json:"type,omitempty" xml:"type,omitempty"`
}

func (s ReportDeviceLogRequest) String() string {
	return tea.Prettify(s)
}

func (s ReportDeviceLogRequest) GoString() string {
	return s.String()
}

func (s *ReportDeviceLogRequest) SetMediaId(v string) *ReportDeviceLogRequest {
	s.MediaId = &v
	return s
}

func (s *ReportDeviceLogRequest) SetSn(v string) *ReportDeviceLogRequest {
	s.Sn = &v
	return s
}

func (s *ReportDeviceLogRequest) SetType(v string) *ReportDeviceLogRequest {
	s.Type = &v
	return s
}

type ReportDeviceLogResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// 失败false，成功true。
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s ReportDeviceLogResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ReportDeviceLogResponseBody) GoString() string {
	return s.String()
}

func (s *ReportDeviceLogResponseBody) SetSuccess(v bool) *ReportDeviceLogResponseBody {
	s.Success = &v
	return s
}

type ReportDeviceLogResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ReportDeviceLogResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ReportDeviceLogResponse) String() string {
	return tea.Prettify(s)
}

func (s ReportDeviceLogResponse) GoString() string {
	return s.String()
}

func (s *ReportDeviceLogResponse) SetHeaders(v map[string]*string) *ReportDeviceLogResponse {
	s.Headers = v
	return s
}

func (s *ReportDeviceLogResponse) SetStatusCode(v int32) *ReportDeviceLogResponse {
	s.StatusCode = &v
	return s
}

func (s *ReportDeviceLogResponse) SetBody(v *ReportDeviceLogResponseBody) *ReportDeviceLogResponse {
	s.Body = v
	return s
}

type ReportDeviceUseLogHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ReportDeviceUseLogHeaders) String() string {
	return tea.Prettify(s)
}

func (s ReportDeviceUseLogHeaders) GoString() string {
	return s.String()
}

func (s *ReportDeviceUseLogHeaders) SetCommonHeaders(v map[string]*string) *ReportDeviceUseLogHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ReportDeviceUseLogHeaders) SetXAcsDingtalkAccessToken(v string) *ReportDeviceUseLogHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ReportDeviceUseLogRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	Action *string `json:"action,omitempty" xml:"action,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123123
	OrderNo *string `json:"orderNo,omitempty" xml:"orderNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// sn123
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 312323321111
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s ReportDeviceUseLogRequest) String() string {
	return tea.Prettify(s)
}

func (s ReportDeviceUseLogRequest) GoString() string {
	return s.String()
}

func (s *ReportDeviceUseLogRequest) SetAction(v string) *ReportDeviceUseLogRequest {
	s.Action = &v
	return s
}

func (s *ReportDeviceUseLogRequest) SetOrderNo(v string) *ReportDeviceUseLogRequest {
	s.OrderNo = &v
	return s
}

func (s *ReportDeviceUseLogRequest) SetSn(v string) *ReportDeviceUseLogRequest {
	s.Sn = &v
	return s
}

func (s *ReportDeviceUseLogRequest) SetUserId(v string) *ReportDeviceUseLogRequest {
	s.UserId = &v
	return s
}

type ReportDeviceUseLogResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s ReportDeviceUseLogResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ReportDeviceUseLogResponseBody) GoString() string {
	return s.String()
}

func (s *ReportDeviceUseLogResponseBody) SetSuccess(v bool) *ReportDeviceUseLogResponseBody {
	s.Success = &v
	return s
}

type ReportDeviceUseLogResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ReportDeviceUseLogResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ReportDeviceUseLogResponse) String() string {
	return tea.Prettify(s)
}

func (s ReportDeviceUseLogResponse) GoString() string {
	return s.String()
}

func (s *ReportDeviceUseLogResponse) SetHeaders(v map[string]*string) *ReportDeviceUseLogResponse {
	s.Headers = v
	return s
}

func (s *ReportDeviceUseLogResponse) SetStatusCode(v int32) *ReportDeviceUseLogResponse {
	s.StatusCode = &v
	return s
}

func (s *ReportDeviceUseLogResponse) SetBody(v *ReportDeviceUseLogResponseBody) *ReportDeviceUseLogResponse {
	s.Body = v
	return s
}

type RollbackDeductPointHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s RollbackDeductPointHeaders) String() string {
	return tea.Prettify(s)
}

func (s RollbackDeductPointHeaders) GoString() string {
	return s.String()
}

func (s *RollbackDeductPointHeaders) SetCommonHeaders(v map[string]*string) *RollbackDeductPointHeaders {
	s.CommonHeaders = v
	return s
}

func (s *RollbackDeductPointHeaders) SetXAcsDingtalkAccessToken(v string) *RollbackDeductPointHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type RollbackDeductPointRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// biz01
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// personal
	PointType *string `json:"pointType,omitempty" xml:"pointType,omitempty"`
}

func (s RollbackDeductPointRequest) String() string {
	return tea.Prettify(s)
}

func (s RollbackDeductPointRequest) GoString() string {
	return s.String()
}

func (s *RollbackDeductPointRequest) SetBizId(v string) *RollbackDeductPointRequest {
	s.BizId = &v
	return s
}

func (s *RollbackDeductPointRequest) SetPointType(v string) *RollbackDeductPointRequest {
	s.PointType = &v
	return s
}

type RollbackDeductPointResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s RollbackDeductPointResponseBody) String() string {
	return tea.Prettify(s)
}

func (s RollbackDeductPointResponseBody) GoString() string {
	return s.String()
}

func (s *RollbackDeductPointResponseBody) SetResult(v bool) *RollbackDeductPointResponseBody {
	s.Result = &v
	return s
}

func (s *RollbackDeductPointResponseBody) SetSuccess(v bool) *RollbackDeductPointResponseBody {
	s.Success = &v
	return s
}

type RollbackDeductPointResponse struct {
	Headers    map[string]*string               `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                           `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *RollbackDeductPointResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s RollbackDeductPointResponse) String() string {
	return tea.Prettify(s)
}

func (s RollbackDeductPointResponse) GoString() string {
	return s.String()
}

func (s *RollbackDeductPointResponse) SetHeaders(v map[string]*string) *RollbackDeductPointResponse {
	s.Headers = v
	return s
}

func (s *RollbackDeductPointResponse) SetStatusCode(v int32) *RollbackDeductPointResponse {
	s.StatusCode = &v
	return s
}

func (s *RollbackDeductPointResponse) SetBody(v *RollbackDeductPointResponseBody) *RollbackDeductPointResponse {
	s.Body = v
	return s
}

type SaveClassLearningDataHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SaveClassLearningDataHeaders) String() string {
	return tea.Prettify(s)
}

func (s SaveClassLearningDataHeaders) GoString() string {
	return s.String()
}

func (s *SaveClassLearningDataHeaders) SetCommonHeaders(v map[string]*string) *SaveClassLearningDataHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SaveClassLearningDataHeaders) SetXAcsDingtalkAccessToken(v string) *SaveClassLearningDataHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SaveClassLearningDataRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	AssignNum *int32 `json:"assignNum,omitempty" xml:"assignNum,omitempty"`
	// This parameter is required.
	AssignStudentUserIds []*string `json:"assignStudentUserIds,omitempty" xml:"assignStudentUserIds,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// HOMEWORK
	BizType *string `json:"bizType,omitempty" xml:"bizType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// dingxxxxxxxxxxxxxxxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// .jpeg
	FileSuffix *string `json:"fileSuffix,omitempty" xml:"fileSuffix,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1672502400000
	GeneratedTime *int64 `json:"generatedTime,omitempty" xml:"generatedTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	QuestionNum *int32 `json:"questionNum,omitempty" xml:"questionNum,omitempty"`
	// example:
	//
	// 1
	QuestionPictureNum *int32 `json:"questionPictureNum,omitempty" xml:"questionPictureNum,omitempty"`
	// example:
	//
	// 1
	StandardAnswerPictureNum *int32 `json:"standardAnswerPictureNum,omitempty" xml:"standardAnswerPictureNum,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// shuxue
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0123456
	TeacherUserId *string `json:"teacherUserId,omitempty" xml:"teacherUserId,omitempty"`
}

func (s SaveClassLearningDataRequest) String() string {
	return tea.Prettify(s)
}

func (s SaveClassLearningDataRequest) GoString() string {
	return s.String()
}

func (s *SaveClassLearningDataRequest) SetAssignNum(v int32) *SaveClassLearningDataRequest {
	s.AssignNum = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetAssignStudentUserIds(v []*string) *SaveClassLearningDataRequest {
	s.AssignStudentUserIds = v
	return s
}

func (s *SaveClassLearningDataRequest) SetBizId(v string) *SaveClassLearningDataRequest {
	s.BizId = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetBizType(v string) *SaveClassLearningDataRequest {
	s.BizType = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetCorpId(v string) *SaveClassLearningDataRequest {
	s.CorpId = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetDeptId(v int64) *SaveClassLearningDataRequest {
	s.DeptId = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetFileSuffix(v string) *SaveClassLearningDataRequest {
	s.FileSuffix = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetGeneratedTime(v int64) *SaveClassLearningDataRequest {
	s.GeneratedTime = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetQuestionNum(v int32) *SaveClassLearningDataRequest {
	s.QuestionNum = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetQuestionPictureNum(v int32) *SaveClassLearningDataRequest {
	s.QuestionPictureNum = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetStandardAnswerPictureNum(v int32) *SaveClassLearningDataRequest {
	s.StandardAnswerPictureNum = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetSubjectCode(v string) *SaveClassLearningDataRequest {
	s.SubjectCode = &v
	return s
}

func (s *SaveClassLearningDataRequest) SetTeacherUserId(v string) *SaveClassLearningDataRequest {
	s.TeacherUserId = &v
	return s
}

type SaveClassLearningDataResponseBody struct {
	Result  *SaveClassLearningDataResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                    `json:"success,omitempty" xml:"success,omitempty"`
}

func (s SaveClassLearningDataResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SaveClassLearningDataResponseBody) GoString() string {
	return s.String()
}

func (s *SaveClassLearningDataResponseBody) SetResult(v *SaveClassLearningDataResponseBodyResult) *SaveClassLearningDataResponseBody {
	s.Result = v
	return s
}

func (s *SaveClassLearningDataResponseBody) SetSuccess(v bool) *SaveClassLearningDataResponseBody {
	s.Success = &v
	return s
}

type SaveClassLearningDataResponseBodyResult struct {
	QuestionUploadUrlList       []*string `json:"questionUploadUrlList,omitempty" xml:"questionUploadUrlList,omitempty" type:"Repeated"`
	StandardAnswerUploadUrlList []*string `json:"standardAnswerUploadUrlList,omitempty" xml:"standardAnswerUploadUrlList,omitempty" type:"Repeated"`
}

func (s SaveClassLearningDataResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s SaveClassLearningDataResponseBodyResult) GoString() string {
	return s.String()
}

func (s *SaveClassLearningDataResponseBodyResult) SetQuestionUploadUrlList(v []*string) *SaveClassLearningDataResponseBodyResult {
	s.QuestionUploadUrlList = v
	return s
}

func (s *SaveClassLearningDataResponseBodyResult) SetStandardAnswerUploadUrlList(v []*string) *SaveClassLearningDataResponseBodyResult {
	s.StandardAnswerUploadUrlList = v
	return s
}

type SaveClassLearningDataResponse struct {
	Headers    map[string]*string                 `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                             `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SaveClassLearningDataResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SaveClassLearningDataResponse) String() string {
	return tea.Prettify(s)
}

func (s SaveClassLearningDataResponse) GoString() string {
	return s.String()
}

func (s *SaveClassLearningDataResponse) SetHeaders(v map[string]*string) *SaveClassLearningDataResponse {
	s.Headers = v
	return s
}

func (s *SaveClassLearningDataResponse) SetStatusCode(v int32) *SaveClassLearningDataResponse {
	s.StatusCode = &v
	return s
}

func (s *SaveClassLearningDataResponse) SetBody(v *SaveClassLearningDataResponseBody) *SaveClassLearningDataResponse {
	s.Body = v
	return s
}

type SaveStudentLearningDataHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SaveStudentLearningDataHeaders) String() string {
	return tea.Prettify(s)
}

func (s SaveStudentLearningDataHeaders) GoString() string {
	return s.String()
}

func (s *SaveStudentLearningDataHeaders) SetCommonHeaders(v map[string]*string) *SaveStudentLearningDataHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SaveStudentLearningDataHeaders) SetXAcsDingtalkAccessToken(v string) *SaveStudentLearningDataHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SaveStudentLearningDataRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	AssignNum *int32 `json:"assignNum,omitempty" xml:"assignNum,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// HOMEWORK
	BizType *string `json:"bizType,omitempty" xml:"bizType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// dingxxxxxxxxxxxxxxxxxxxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	CorrectNum *int32 `json:"correctNum,omitempty" xml:"correctNum,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// .jpeg
	FileSuffix *string `json:"fileSuffix,omitempty" xml:"fileSuffix,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1672502400000
	GeneratedTime *int64 `json:"generatedTime,omitempty" xml:"generatedTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	QuestionNum *int32 `json:"questionNum,omitempty" xml:"questionNum,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0123456
	StudentUserId *string `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// shuxue
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	SubmitNum      *int32                                          `json:"submitNum,omitempty" xml:"submitNum,omitempty"`
	WrongQuestions []*SaveStudentLearningDataRequestWrongQuestions `json:"wrongQuestions,omitempty" xml:"wrongQuestions,omitempty" type:"Repeated"`
}

func (s SaveStudentLearningDataRequest) String() string {
	return tea.Prettify(s)
}

func (s SaveStudentLearningDataRequest) GoString() string {
	return s.String()
}

func (s *SaveStudentLearningDataRequest) SetAssignNum(v int32) *SaveStudentLearningDataRequest {
	s.AssignNum = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetBizId(v string) *SaveStudentLearningDataRequest {
	s.BizId = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetBizType(v string) *SaveStudentLearningDataRequest {
	s.BizType = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetCorpId(v string) *SaveStudentLearningDataRequest {
	s.CorpId = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetCorrectNum(v int32) *SaveStudentLearningDataRequest {
	s.CorrectNum = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetDeptId(v int64) *SaveStudentLearningDataRequest {
	s.DeptId = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetFileSuffix(v string) *SaveStudentLearningDataRequest {
	s.FileSuffix = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetGeneratedTime(v int64) *SaveStudentLearningDataRequest {
	s.GeneratedTime = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetQuestionNum(v int32) *SaveStudentLearningDataRequest {
	s.QuestionNum = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetStudentUserId(v string) *SaveStudentLearningDataRequest {
	s.StudentUserId = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetSubjectCode(v string) *SaveStudentLearningDataRequest {
	s.SubjectCode = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetSubmitNum(v int32) *SaveStudentLearningDataRequest {
	s.SubmitNum = &v
	return s
}

func (s *SaveStudentLearningDataRequest) SetWrongQuestions(v []*SaveStudentLearningDataRequestWrongQuestions) *SaveStudentLearningDataRequest {
	s.WrongQuestions = v
	return s
}

type SaveStudentLearningDataRequestWrongQuestions struct {
	KnowledgePoints []*string `json:"knowledgePoints,omitempty" xml:"knowledgePoints,omitempty" type:"Repeated"`
	// example:
	//
	// 1
	QuestionNo *string `json:"questionNo,omitempty" xml:"questionNo,omitempty"`
	// example:
	//
	// 1
	QuestionPictureNum *int32 `json:"questionPictureNum,omitempty" xml:"questionPictureNum,omitempty"`
	// example:
	//
	// 1
	StandardAnswerPictureNum *int32 `json:"standardAnswerPictureNum,omitempty" xml:"standardAnswerPictureNum,omitempty"`
	// example:
	//
	// 1
	UserAnswerPictureNum *int32 `json:"userAnswerPictureNum,omitempty" xml:"userAnswerPictureNum,omitempty"`
}

func (s SaveStudentLearningDataRequestWrongQuestions) String() string {
	return tea.Prettify(s)
}

func (s SaveStudentLearningDataRequestWrongQuestions) GoString() string {
	return s.String()
}

func (s *SaveStudentLearningDataRequestWrongQuestions) SetKnowledgePoints(v []*string) *SaveStudentLearningDataRequestWrongQuestions {
	s.KnowledgePoints = v
	return s
}

func (s *SaveStudentLearningDataRequestWrongQuestions) SetQuestionNo(v string) *SaveStudentLearningDataRequestWrongQuestions {
	s.QuestionNo = &v
	return s
}

func (s *SaveStudentLearningDataRequestWrongQuestions) SetQuestionPictureNum(v int32) *SaveStudentLearningDataRequestWrongQuestions {
	s.QuestionPictureNum = &v
	return s
}

func (s *SaveStudentLearningDataRequestWrongQuestions) SetStandardAnswerPictureNum(v int32) *SaveStudentLearningDataRequestWrongQuestions {
	s.StandardAnswerPictureNum = &v
	return s
}

func (s *SaveStudentLearningDataRequestWrongQuestions) SetUserAnswerPictureNum(v int32) *SaveStudentLearningDataRequestWrongQuestions {
	s.UserAnswerPictureNum = &v
	return s
}

type SaveStudentLearningDataResponseBody struct {
	Result  *SaveStudentLearningDataResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                      `json:"success,omitempty" xml:"success,omitempty"`
}

func (s SaveStudentLearningDataResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SaveStudentLearningDataResponseBody) GoString() string {
	return s.String()
}

func (s *SaveStudentLearningDataResponseBody) SetResult(v *SaveStudentLearningDataResponseBodyResult) *SaveStudentLearningDataResponseBody {
	s.Result = v
	return s
}

func (s *SaveStudentLearningDataResponseBody) SetSuccess(v bool) *SaveStudentLearningDataResponseBody {
	s.Success = &v
	return s
}

type SaveStudentLearningDataResponseBodyResult struct {
	SaveSuccess    *bool                                                      `json:"saveSuccess,omitempty" xml:"saveSuccess,omitempty"`
	WrongQuestions []*SaveStudentLearningDataResponseBodyResultWrongQuestions `json:"wrongQuestions,omitempty" xml:"wrongQuestions,omitempty" type:"Repeated"`
}

func (s SaveStudentLearningDataResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s SaveStudentLearningDataResponseBodyResult) GoString() string {
	return s.String()
}

func (s *SaveStudentLearningDataResponseBodyResult) SetSaveSuccess(v bool) *SaveStudentLearningDataResponseBodyResult {
	s.SaveSuccess = &v
	return s
}

func (s *SaveStudentLearningDataResponseBodyResult) SetWrongQuestions(v []*SaveStudentLearningDataResponseBodyResultWrongQuestions) *SaveStudentLearningDataResponseBodyResult {
	s.WrongQuestions = v
	return s
}

type SaveStudentLearningDataResponseBodyResultWrongQuestions struct {
	// example:
	//
	// 1
	QuestionNo                  *string   `json:"questionNo,omitempty" xml:"questionNo,omitempty"`
	QuestionUploadUrlList       []*string `json:"questionUploadUrlList,omitempty" xml:"questionUploadUrlList,omitempty" type:"Repeated"`
	StandardAnswerUploadUrlList []*string `json:"standardAnswerUploadUrlList,omitempty" xml:"standardAnswerUploadUrlList,omitempty" type:"Repeated"`
	UserAnswerUploadUrlList     []*string `json:"userAnswerUploadUrlList,omitempty" xml:"userAnswerUploadUrlList,omitempty" type:"Repeated"`
}

func (s SaveStudentLearningDataResponseBodyResultWrongQuestions) String() string {
	return tea.Prettify(s)
}

func (s SaveStudentLearningDataResponseBodyResultWrongQuestions) GoString() string {
	return s.String()
}

func (s *SaveStudentLearningDataResponseBodyResultWrongQuestions) SetQuestionNo(v string) *SaveStudentLearningDataResponseBodyResultWrongQuestions {
	s.QuestionNo = &v
	return s
}

func (s *SaveStudentLearningDataResponseBodyResultWrongQuestions) SetQuestionUploadUrlList(v []*string) *SaveStudentLearningDataResponseBodyResultWrongQuestions {
	s.QuestionUploadUrlList = v
	return s
}

func (s *SaveStudentLearningDataResponseBodyResultWrongQuestions) SetStandardAnswerUploadUrlList(v []*string) *SaveStudentLearningDataResponseBodyResultWrongQuestions {
	s.StandardAnswerUploadUrlList = v
	return s
}

func (s *SaveStudentLearningDataResponseBodyResultWrongQuestions) SetUserAnswerUploadUrlList(v []*string) *SaveStudentLearningDataResponseBodyResultWrongQuestions {
	s.UserAnswerUploadUrlList = v
	return s
}

type SaveStudentLearningDataResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SaveStudentLearningDataResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SaveStudentLearningDataResponse) String() string {
	return tea.Prettify(s)
}

func (s SaveStudentLearningDataResponse) GoString() string {
	return s.String()
}

func (s *SaveStudentLearningDataResponse) SetHeaders(v map[string]*string) *SaveStudentLearningDataResponse {
	s.Headers = v
	return s
}

func (s *SaveStudentLearningDataResponse) SetStatusCode(v int32) *SaveStudentLearningDataResponse {
	s.StatusCode = &v
	return s
}

func (s *SaveStudentLearningDataResponse) SetBody(v *SaveStudentLearningDataResponseBody) *SaveStudentLearningDataResponse {
	s.Body = v
	return s
}

type SchoolReportDetailReadedHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SchoolReportDetailReadedHeaders) String() string {
	return tea.Prettify(s)
}

func (s SchoolReportDetailReadedHeaders) GoString() string {
	return s.String()
}

func (s *SchoolReportDetailReadedHeaders) SetCommonHeaders(v map[string]*string) *SchoolReportDetailReadedHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SchoolReportDetailReadedHeaders) SetXAcsDingtalkAccessToken(v string) *SchoolReportDetailReadedHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SchoolReportDetailReadedRequest struct {
	// This parameter is required.
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	SchoolReportId *int64 `json:"schoolReportId,omitempty" xml:"schoolReportId,omitempty"`
	// This parameter is required.
	StudentIds []*string `json:"studentIds,omitempty" xml:"studentIds,omitempty" type:"Repeated"`
	// This parameter is required.
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s SchoolReportDetailReadedRequest) String() string {
	return tea.Prettify(s)
}

func (s SchoolReportDetailReadedRequest) GoString() string {
	return s.String()
}

func (s *SchoolReportDetailReadedRequest) SetBizCode(v string) *SchoolReportDetailReadedRequest {
	s.BizCode = &v
	return s
}

func (s *SchoolReportDetailReadedRequest) SetSchoolReportId(v int64) *SchoolReportDetailReadedRequest {
	s.SchoolReportId = &v
	return s
}

func (s *SchoolReportDetailReadedRequest) SetStudentIds(v []*string) *SchoolReportDetailReadedRequest {
	s.StudentIds = v
	return s
}

func (s *SchoolReportDetailReadedRequest) SetUserId(v string) *SchoolReportDetailReadedRequest {
	s.UserId = &v
	return s
}

type SchoolReportDetailReadedResponseBody struct {
	Result  *SchoolReportDetailReadedResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                                       `json:"success,omitempty" xml:"success,omitempty"`
}

func (s SchoolReportDetailReadedResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SchoolReportDetailReadedResponseBody) GoString() string {
	return s.String()
}

func (s *SchoolReportDetailReadedResponseBody) SetResult(v *SchoolReportDetailReadedResponseBodyResult) *SchoolReportDetailReadedResponseBody {
	s.Result = v
	return s
}

func (s *SchoolReportDetailReadedResponseBody) SetSuccess(v bool) *SchoolReportDetailReadedResponseBody {
	s.Success = &v
	return s
}

type SchoolReportDetailReadedResponseBodyResult struct {
	SchoolReportDetailId []*string `json:"schoolReportDetailId,omitempty" xml:"schoolReportDetailId,omitempty" type:"Repeated"`
}

func (s SchoolReportDetailReadedResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s SchoolReportDetailReadedResponseBodyResult) GoString() string {
	return s.String()
}

func (s *SchoolReportDetailReadedResponseBodyResult) SetSchoolReportDetailId(v []*string) *SchoolReportDetailReadedResponseBodyResult {
	s.SchoolReportDetailId = v
	return s
}

type SchoolReportDetailReadedResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SchoolReportDetailReadedResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SchoolReportDetailReadedResponse) String() string {
	return tea.Prettify(s)
}

func (s SchoolReportDetailReadedResponse) GoString() string {
	return s.String()
}

func (s *SchoolReportDetailReadedResponse) SetHeaders(v map[string]*string) *SchoolReportDetailReadedResponse {
	s.Headers = v
	return s
}

func (s *SchoolReportDetailReadedResponse) SetStatusCode(v int32) *SchoolReportDetailReadedResponse {
	s.StatusCode = &v
	return s
}

func (s *SchoolReportDetailReadedResponse) SetBody(v *SchoolReportDetailReadedResponseBody) *SchoolReportDetailReadedResponse {
	s.Body = v
	return s
}

type SearchTeachersHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SearchTeachersHeaders) String() string {
	return tea.Prettify(s)
}

func (s SearchTeachersHeaders) GoString() string {
	return s.String()
}

func (s *SearchTeachersHeaders) SetCommonHeaders(v map[string]*string) *SearchTeachersHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SearchTeachersHeaders) SetXAcsDingtalkAccessToken(v string) *SearchTeachersHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SearchTeachersRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 李
	NameKeyword *string `json:"nameKeyword,omitempty" xml:"nameKeyword,omitempty"`
}

func (s SearchTeachersRequest) String() string {
	return tea.Prettify(s)
}

func (s SearchTeachersRequest) GoString() string {
	return s.String()
}

func (s *SearchTeachersRequest) SetNameKeyword(v string) *SearchTeachersRequest {
	s.NameKeyword = &v
	return s
}

type SearchTeachersResponseBody struct {
	// This parameter is required.
	Users []*SearchTeachersResponseBodyUsers `json:"users,omitempty" xml:"users,omitempty" type:"Repeated"`
}

func (s SearchTeachersResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SearchTeachersResponseBody) GoString() string {
	return s.String()
}

func (s *SearchTeachersResponseBody) SetUsers(v []*SearchTeachersResponseBodyUsers) *SearchTeachersResponseBody {
	s.Users = v
	return s
}

type SearchTeachersResponseBodyUsers struct {
	// This parameter is required.
	//
	// example:
	//
	// 123
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 紫金港校区-小学-二年级2019级-二年级8班
	DeptName *string `json:"deptName,omitempty" xml:"deptName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 李老师
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 12345678
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s SearchTeachersResponseBodyUsers) String() string {
	return tea.Prettify(s)
}

func (s SearchTeachersResponseBodyUsers) GoString() string {
	return s.String()
}

func (s *SearchTeachersResponseBodyUsers) SetClassId(v int64) *SearchTeachersResponseBodyUsers {
	s.ClassId = &v
	return s
}

func (s *SearchTeachersResponseBodyUsers) SetDeptName(v string) *SearchTeachersResponseBodyUsers {
	s.DeptName = &v
	return s
}

func (s *SearchTeachersResponseBodyUsers) SetName(v string) *SearchTeachersResponseBodyUsers {
	s.Name = &v
	return s
}

func (s *SearchTeachersResponseBodyUsers) SetUserId(v string) *SearchTeachersResponseBodyUsers {
	s.UserId = &v
	return s
}

type SearchTeachersResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SearchTeachersResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SearchTeachersResponse) String() string {
	return tea.Prettify(s)
}

func (s SearchTeachersResponse) GoString() string {
	return s.String()
}

func (s *SearchTeachersResponse) SetHeaders(v map[string]*string) *SearchTeachersResponse {
	s.Headers = v
	return s
}

func (s *SearchTeachersResponse) SetStatusCode(v int32) *SearchTeachersResponse {
	s.StatusCode = &v
	return s
}

func (s *SearchTeachersResponse) SetBody(v *SearchTeachersResponseBody) *SearchTeachersResponse {
	s.Body = v
	return s
}

type SendAiCardHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SendAiCardHeaders) String() string {
	return tea.Prettify(s)
}

func (s SendAiCardHeaders) GoString() string {
	return s.String()
}

func (s *SendAiCardHeaders) SetCommonHeaders(v map[string]*string) *SendAiCardHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SendAiCardHeaders) SetXAcsDingtalkAccessToken(v string) *SendAiCardHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SendAiCardRequest struct {
	// example:
	//
	// aaa_event
	ActionType *string `json:"actionType,omitempty" xml:"actionType,omitempty"`
	BizData    *string `json:"bizData,omitempty" xml:"bizData,omitempty"`
	// example:
	//
	// AI_MANAGER_PRINCIPAL
	CardChannel *string `json:"cardChannel,omitempty" xml:"cardChannel,omitempty"`
	// example:
	//
	// ding23423
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// 234234234
	Identifier *string `json:"identifier,omitempty" xml:"identifier,omitempty"`
	// example:
	//
	// XIWO
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
}

func (s SendAiCardRequest) String() string {
	return tea.Prettify(s)
}

func (s SendAiCardRequest) GoString() string {
	return s.String()
}

func (s *SendAiCardRequest) SetActionType(v string) *SendAiCardRequest {
	s.ActionType = &v
	return s
}

func (s *SendAiCardRequest) SetBizData(v string) *SendAiCardRequest {
	s.BizData = &v
	return s
}

func (s *SendAiCardRequest) SetCardChannel(v string) *SendAiCardRequest {
	s.CardChannel = &v
	return s
}

func (s *SendAiCardRequest) SetCorpId(v string) *SendAiCardRequest {
	s.CorpId = &v
	return s
}

func (s *SendAiCardRequest) SetIdentifier(v string) *SendAiCardRequest {
	s.Identifier = &v
	return s
}

func (s *SendAiCardRequest) SetIsvCode(v string) *SendAiCardRequest {
	s.IsvCode = &v
	return s
}

type SendAiCardResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s SendAiCardResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SendAiCardResponseBody) GoString() string {
	return s.String()
}

func (s *SendAiCardResponseBody) SetResult(v bool) *SendAiCardResponseBody {
	s.Result = &v
	return s
}

func (s *SendAiCardResponseBody) SetSuccess(v bool) *SendAiCardResponseBody {
	s.Success = &v
	return s
}

type SendAiCardResponse struct {
	Headers    map[string]*string      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SendAiCardResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SendAiCardResponse) String() string {
	return tea.Prettify(s)
}

func (s SendAiCardResponse) GoString() string {
	return s.String()
}

func (s *SendAiCardResponse) SetHeaders(v map[string]*string) *SendAiCardResponse {
	s.Headers = v
	return s
}

func (s *SendAiCardResponse) SetStatusCode(v int32) *SendAiCardResponse {
	s.StatusCode = &v
	return s
}

func (s *SendAiCardResponse) SetBody(v *SendAiCardResponseBody) *SendAiCardResponse {
	s.Body = v
	return s
}

type SendCollegeAiAssistantMsgHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SendCollegeAiAssistantMsgHeaders) String() string {
	return tea.Prettify(s)
}

func (s SendCollegeAiAssistantMsgHeaders) GoString() string {
	return s.String()
}

func (s *SendCollegeAiAssistantMsgHeaders) SetCommonHeaders(v map[string]*string) *SendCollegeAiAssistantMsgHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SendCollegeAiAssistantMsgHeaders) SetXAcsDingtalkAccessToken(v string) *SendCollegeAiAssistantMsgHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SendCollegeAiAssistantMsgRequest struct {
	// This parameter is required.
	Content *string `json:"content,omitempty" xml:"content,omitempty"`
	// This parameter is required.
	ContentType        *string `json:"contentType,omitempty" xml:"contentType,omitempty"`
	OpenConversationId *string `json:"openConversationId,omitempty" xml:"openConversationId,omitempty"`
	// This parameter is required.
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
}

func (s SendCollegeAiAssistantMsgRequest) String() string {
	return tea.Prettify(s)
}

func (s SendCollegeAiAssistantMsgRequest) GoString() string {
	return s.String()
}

func (s *SendCollegeAiAssistantMsgRequest) SetContent(v string) *SendCollegeAiAssistantMsgRequest {
	s.Content = &v
	return s
}

func (s *SendCollegeAiAssistantMsgRequest) SetContentType(v string) *SendCollegeAiAssistantMsgRequest {
	s.ContentType = &v
	return s
}

func (s *SendCollegeAiAssistantMsgRequest) SetOpenConversationId(v string) *SendCollegeAiAssistantMsgRequest {
	s.OpenConversationId = &v
	return s
}

func (s *SendCollegeAiAssistantMsgRequest) SetUnionId(v string) *SendCollegeAiAssistantMsgRequest {
	s.UnionId = &v
	return s
}

type SendCollegeAiAssistantMsgResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s SendCollegeAiAssistantMsgResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SendCollegeAiAssistantMsgResponseBody) GoString() string {
	return s.String()
}

func (s *SendCollegeAiAssistantMsgResponseBody) SetSuccess(v bool) *SendCollegeAiAssistantMsgResponseBody {
	s.Success = &v
	return s
}

type SendCollegeAiAssistantMsgResponse struct {
	Headers    map[string]*string                     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SendCollegeAiAssistantMsgResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SendCollegeAiAssistantMsgResponse) String() string {
	return tea.Prettify(s)
}

func (s SendCollegeAiAssistantMsgResponse) GoString() string {
	return s.String()
}

func (s *SendCollegeAiAssistantMsgResponse) SetHeaders(v map[string]*string) *SendCollegeAiAssistantMsgResponse {
	s.Headers = v
	return s
}

func (s *SendCollegeAiAssistantMsgResponse) SetStatusCode(v int32) *SendCollegeAiAssistantMsgResponse {
	s.StatusCode = &v
	return s
}

func (s *SendCollegeAiAssistantMsgResponse) SetBody(v *SendCollegeAiAssistantMsgResponseBody) *SendCollegeAiAssistantMsgResponse {
	s.Body = v
	return s
}

type SendFileMessageHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SendFileMessageHeaders) String() string {
	return tea.Prettify(s)
}

func (s SendFileMessageHeaders) GoString() string {
	return s.String()
}

func (s *SendFileMessageHeaders) SetCommonHeaders(v map[string]*string) *SendFileMessageHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SendFileMessageHeaders) SetXAcsDingtalkAccessToken(v string) *SendFileMessageHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SendFileMessageRequest struct {
	// This parameter is required.
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	Extension *string `json:"extension,omitempty" xml:"extension,omitempty"`
	// This parameter is required.
	FileName *string `json:"fileName,omitempty" xml:"fileName,omitempty"`
	// This parameter is required.
	FileSize *int64 `json:"fileSize,omitempty" xml:"fileSize,omitempty"`
	// This parameter is required.
	FileUrl  *string `json:"fileUrl,omitempty" xml:"fileUrl,omitempty"`
	SendType *string `json:"sendType,omitempty" xml:"sendType,omitempty"`
}

func (s SendFileMessageRequest) String() string {
	return tea.Prettify(s)
}

func (s SendFileMessageRequest) GoString() string {
	return s.String()
}

func (s *SendFileMessageRequest) SetBizId(v string) *SendFileMessageRequest {
	s.BizId = &v
	return s
}

func (s *SendFileMessageRequest) SetExtension(v string) *SendFileMessageRequest {
	s.Extension = &v
	return s
}

func (s *SendFileMessageRequest) SetFileName(v string) *SendFileMessageRequest {
	s.FileName = &v
	return s
}

func (s *SendFileMessageRequest) SetFileSize(v int64) *SendFileMessageRequest {
	s.FileSize = &v
	return s
}

func (s *SendFileMessageRequest) SetFileUrl(v string) *SendFileMessageRequest {
	s.FileUrl = &v
	return s
}

func (s *SendFileMessageRequest) SetSendType(v string) *SendFileMessageRequest {
	s.SendType = &v
	return s
}

type SendFileMessageResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s SendFileMessageResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SendFileMessageResponseBody) GoString() string {
	return s.String()
}

func (s *SendFileMessageResponseBody) SetResult(v bool) *SendFileMessageResponseBody {
	s.Result = &v
	return s
}

func (s *SendFileMessageResponseBody) SetSuccess(v bool) *SendFileMessageResponseBody {
	s.Success = &v
	return s
}

type SendFileMessageResponse struct {
	Headers    map[string]*string           `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                       `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SendFileMessageResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SendFileMessageResponse) String() string {
	return tea.Prettify(s)
}

func (s SendFileMessageResponse) GoString() string {
	return s.String()
}

func (s *SendFileMessageResponse) SetHeaders(v map[string]*string) *SendFileMessageResponse {
	s.Headers = v
	return s
}

func (s *SendFileMessageResponse) SetStatusCode(v int32) *SendFileMessageResponse {
	s.StatusCode = &v
	return s
}

func (s *SendFileMessageResponse) SetBody(v *SendFileMessageResponseBody) *SendFileMessageResponse {
	s.Body = v
	return s
}

type SendMessageHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SendMessageHeaders) String() string {
	return tea.Prettify(s)
}

func (s SendMessageHeaders) GoString() string {
	return s.String()
}

func (s *SendMessageHeaders) SetCommonHeaders(v map[string]*string) *SendMessageHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SendMessageHeaders) SetXAcsDingtalkAccessToken(v string) *SendMessageHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SendMessageRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 123123123123
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123456
	FromUserId *string `json:"fromUserId,omitempty" xml:"fromUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// SN123456
	Sn *string `json:"sn,omitempty" xml:"sn,omitempty"`
	// This parameter is required.
	ToUserIdList []*string `json:"toUserIdList,omitempty" xml:"toUserIdList,omitempty" type:"Repeated"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	Type *int64 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s SendMessageRequest) String() string {
	return tea.Prettify(s)
}

func (s SendMessageRequest) GoString() string {
	return s.String()
}

func (s *SendMessageRequest) SetBizId(v string) *SendMessageRequest {
	s.BizId = &v
	return s
}

func (s *SendMessageRequest) SetFromUserId(v string) *SendMessageRequest {
	s.FromUserId = &v
	return s
}

func (s *SendMessageRequest) SetSn(v string) *SendMessageRequest {
	s.Sn = &v
	return s
}

func (s *SendMessageRequest) SetToUserIdList(v []*string) *SendMessageRequest {
	s.ToUserIdList = v
	return s
}

func (s *SendMessageRequest) SetType(v int64) *SendMessageRequest {
	s.Type = &v
	return s
}

type SendMessageResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// success
	SuccessInfo *string `json:"successInfo,omitempty" xml:"successInfo,omitempty"`
}

func (s SendMessageResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SendMessageResponseBody) GoString() string {
	return s.String()
}

func (s *SendMessageResponseBody) SetSuccessInfo(v string) *SendMessageResponseBody {
	s.SuccessInfo = &v
	return s
}

type SendMessageResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SendMessageResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SendMessageResponse) String() string {
	return tea.Prettify(s)
}

func (s SendMessageResponse) GoString() string {
	return s.String()
}

func (s *SendMessageResponse) SetHeaders(v map[string]*string) *SendMessageResponse {
	s.Headers = v
	return s
}

func (s *SendMessageResponse) SetStatusCode(v int32) *SendMessageResponse {
	s.StatusCode = &v
	return s
}

func (s *SendMessageResponse) SetBody(v *SendMessageResponseBody) *SendMessageResponse {
	s.Body = v
	return s
}

type SendPrintOrderNoticeMsgHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SendPrintOrderNoticeMsgHeaders) String() string {
	return tea.Prettify(s)
}

func (s SendPrintOrderNoticeMsgHeaders) GoString() string {
	return s.String()
}

func (s *SendPrintOrderNoticeMsgHeaders) SetCommonHeaders(v map[string]*string) *SendPrintOrderNoticeMsgHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SendPrintOrderNoticeMsgHeaders) SetXAcsDingtalkAccessToken(v string) *SendPrintOrderNoticeMsgHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SendPrintOrderNoticeMsgRequest struct {
	// This parameter is required.
	CreateOrderTime     *string `json:"createOrderTime,omitempty" xml:"createOrderTime,omitempty"`
	DeliveryCompanyName *string `json:"deliveryCompanyName,omitempty" xml:"deliveryCompanyName,omitempty"`
	DeliveryNumber      *string `json:"deliveryNumber,omitempty" xml:"deliveryNumber,omitempty"`
	DeliveryTime        *string `json:"deliveryTime,omitempty" xml:"deliveryTime,omitempty"`
	PaymentTime         *string `json:"paymentTime,omitempty" xml:"paymentTime,omitempty"`
	// This parameter is required.
	Price *string `json:"price,omitempty" xml:"price,omitempty"`
	// This parameter is required.
	SceneCode *string `json:"sceneCode,omitempty" xml:"sceneCode,omitempty"`
}

func (s SendPrintOrderNoticeMsgRequest) String() string {
	return tea.Prettify(s)
}

func (s SendPrintOrderNoticeMsgRequest) GoString() string {
	return s.String()
}

func (s *SendPrintOrderNoticeMsgRequest) SetCreateOrderTime(v string) *SendPrintOrderNoticeMsgRequest {
	s.CreateOrderTime = &v
	return s
}

func (s *SendPrintOrderNoticeMsgRequest) SetDeliveryCompanyName(v string) *SendPrintOrderNoticeMsgRequest {
	s.DeliveryCompanyName = &v
	return s
}

func (s *SendPrintOrderNoticeMsgRequest) SetDeliveryNumber(v string) *SendPrintOrderNoticeMsgRequest {
	s.DeliveryNumber = &v
	return s
}

func (s *SendPrintOrderNoticeMsgRequest) SetDeliveryTime(v string) *SendPrintOrderNoticeMsgRequest {
	s.DeliveryTime = &v
	return s
}

func (s *SendPrintOrderNoticeMsgRequest) SetPaymentTime(v string) *SendPrintOrderNoticeMsgRequest {
	s.PaymentTime = &v
	return s
}

func (s *SendPrintOrderNoticeMsgRequest) SetPrice(v string) *SendPrintOrderNoticeMsgRequest {
	s.Price = &v
	return s
}

func (s *SendPrintOrderNoticeMsgRequest) SetSceneCode(v string) *SendPrintOrderNoticeMsgRequest {
	s.SceneCode = &v
	return s
}

type SendPrintOrderNoticeMsgResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s SendPrintOrderNoticeMsgResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SendPrintOrderNoticeMsgResponseBody) GoString() string {
	return s.String()
}

func (s *SendPrintOrderNoticeMsgResponseBody) SetResult(v bool) *SendPrintOrderNoticeMsgResponseBody {
	s.Result = &v
	return s
}

func (s *SendPrintOrderNoticeMsgResponseBody) SetSuccess(v bool) *SendPrintOrderNoticeMsgResponseBody {
	s.Success = &v
	return s
}

type SendPrintOrderNoticeMsgResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SendPrintOrderNoticeMsgResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SendPrintOrderNoticeMsgResponse) String() string {
	return tea.Prettify(s)
}

func (s SendPrintOrderNoticeMsgResponse) GoString() string {
	return s.String()
}

func (s *SendPrintOrderNoticeMsgResponse) SetHeaders(v map[string]*string) *SendPrintOrderNoticeMsgResponse {
	s.Headers = v
	return s
}

func (s *SendPrintOrderNoticeMsgResponse) SetStatusCode(v int32) *SendPrintOrderNoticeMsgResponse {
	s.StatusCode = &v
	return s
}

func (s *SendPrintOrderNoticeMsgResponse) SetBody(v *SendPrintOrderNoticeMsgResponseBody) *SendPrintOrderNoticeMsgResponse {
	s.Body = v
	return s
}

type StartCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s StartCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s StartCourseHeaders) GoString() string {
	return s.String()
}

func (s *StartCourseHeaders) SetCommonHeaders(v map[string]*string) *StartCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *StartCourseHeaders) SetXAcsDingtalkAccessToken(v string) *StartCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type StartCourseRequest struct {
	// example:
	//
	// testCourseCode
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// extData
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// example:
	//
	// DDIsv
	IsvCode          *string                               `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	LivePlayInfoList []*StartCourseRequestLivePlayInfoList `json:"livePlayInfoList,omitempty" xml:"livePlayInfoList,omitempty" type:"Repeated"`
	// example:
	//
	// 1
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s StartCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s StartCourseRequest) GoString() string {
	return s.String()
}

func (s *StartCourseRequest) SetCourseCode(v string) *StartCourseRequest {
	s.CourseCode = &v
	return s
}

func (s *StartCourseRequest) SetExt(v string) *StartCourseRequest {
	s.Ext = &v
	return s
}

func (s *StartCourseRequest) SetIsvCode(v string) *StartCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *StartCourseRequest) SetLivePlayInfoList(v []*StartCourseRequestLivePlayInfoList) *StartCourseRequest {
	s.LivePlayInfoList = v
	return s
}

func (s *StartCourseRequest) SetOpUserId(v string) *StartCourseRequest {
	s.OpUserId = &v
	return s
}

type StartCourseRequestLivePlayInfoList struct {
	// example:
	//
	// testUrl
	LiveInputUrl *string `json:"liveInputUrl,omitempty" xml:"liveInputUrl,omitempty"`
	// example:
	//
	// testUrl
	LiveOutputFlvUrl *string `json:"liveOutputFlvUrl,omitempty" xml:"liveOutputFlvUrl,omitempty"`
	// example:
	//
	// testUrl
	LiveOutputHlsUrl *string `json:"liveOutputHlsUrl,omitempty" xml:"liveOutputHlsUrl,omitempty"`
	// example:
	//
	// 1
	LiveType *int32 `json:"liveType,omitempty" xml:"liveType,omitempty"`
	// example:
	//
	// testUrl
	ReplayUrl *string `json:"replayUrl,omitempty" xml:"replayUrl,omitempty"`
}

func (s StartCourseRequestLivePlayInfoList) String() string {
	return tea.Prettify(s)
}

func (s StartCourseRequestLivePlayInfoList) GoString() string {
	return s.String()
}

func (s *StartCourseRequestLivePlayInfoList) SetLiveInputUrl(v string) *StartCourseRequestLivePlayInfoList {
	s.LiveInputUrl = &v
	return s
}

func (s *StartCourseRequestLivePlayInfoList) SetLiveOutputFlvUrl(v string) *StartCourseRequestLivePlayInfoList {
	s.LiveOutputFlvUrl = &v
	return s
}

func (s *StartCourseRequestLivePlayInfoList) SetLiveOutputHlsUrl(v string) *StartCourseRequestLivePlayInfoList {
	s.LiveOutputHlsUrl = &v
	return s
}

func (s *StartCourseRequestLivePlayInfoList) SetLiveType(v int32) *StartCourseRequestLivePlayInfoList {
	s.LiveType = &v
	return s
}

func (s *StartCourseRequestLivePlayInfoList) SetReplayUrl(v string) *StartCourseRequestLivePlayInfoList {
	s.ReplayUrl = &v
	return s
}

type StartCourseResponseBody struct {
	// This parameter is required.
	UniversityCourseCommonResponse *StartCourseResponseBodyUniversityCourseCommonResponse `json:"universityCourseCommonResponse,omitempty" xml:"universityCourseCommonResponse,omitempty" type:"Struct"`
}

func (s StartCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s StartCourseResponseBody) GoString() string {
	return s.String()
}

func (s *StartCourseResponseBody) SetUniversityCourseCommonResponse(v *StartCourseResponseBodyUniversityCourseCommonResponse) *StartCourseResponseBody {
	s.UniversityCourseCommonResponse = v
	return s
}

type StartCourseResponseBodyUniversityCourseCommonResponse struct {
	// This parameter is required.
	//
	// example:
	//
	// testCourseCode
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s StartCourseResponseBodyUniversityCourseCommonResponse) String() string {
	return tea.Prettify(s)
}

func (s StartCourseResponseBodyUniversityCourseCommonResponse) GoString() string {
	return s.String()
}

func (s *StartCourseResponseBodyUniversityCourseCommonResponse) SetCourseCode(v string) *StartCourseResponseBodyUniversityCourseCommonResponse {
	s.CourseCode = &v
	return s
}

func (s *StartCourseResponseBodyUniversityCourseCommonResponse) SetSuccess(v bool) *StartCourseResponseBodyUniversityCourseCommonResponse {
	s.Success = &v
	return s
}

type StartCourseResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *StartCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s StartCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s StartCourseResponse) GoString() string {
	return s.String()
}

func (s *StartCourseResponse) SetHeaders(v map[string]*string) *StartCourseResponse {
	s.Headers = v
	return s
}

func (s *StartCourseResponse) SetStatusCode(v int32) *StartCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *StartCourseResponse) SetBody(v *StartCourseResponseBody) *StartCourseResponse {
	s.Body = v
	return s
}

type StartCoursePrepareHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s StartCoursePrepareHeaders) String() string {
	return tea.Prettify(s)
}

func (s StartCoursePrepareHeaders) GoString() string {
	return s.String()
}

func (s *StartCoursePrepareHeaders) SetCommonHeaders(v map[string]*string) *StartCoursePrepareHeaders {
	s.CommonHeaders = v
	return s
}

func (s *StartCoursePrepareHeaders) SetXAcsDingtalkAccessToken(v string) *StartCoursePrepareHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type StartCoursePrepareRequest struct {
	// example:
	//
	// 2021-11-16
	CourseDate *string `json:"courseDate,omitempty" xml:"courseDate,omitempty"`
	// example:
	//
	// course1
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// example:
	//
	// device1
	DeviceId *string `json:"deviceId,omitempty" xml:"deviceId,omitempty"`
	// example:
	//
	// extNumber
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// example:
	//
	// DDISV
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// ""
	LiveCoverImage *string  `json:"liveCoverImage,omitempty" xml:"liveCoverImage,omitempty"`
	SectionIndex   []*int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty" type:"Repeated"`
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s StartCoursePrepareRequest) String() string {
	return tea.Prettify(s)
}

func (s StartCoursePrepareRequest) GoString() string {
	return s.String()
}

func (s *StartCoursePrepareRequest) SetCourseDate(v string) *StartCoursePrepareRequest {
	s.CourseDate = &v
	return s
}

func (s *StartCoursePrepareRequest) SetCourseGroupCode(v string) *StartCoursePrepareRequest {
	s.CourseGroupCode = &v
	return s
}

func (s *StartCoursePrepareRequest) SetDeviceId(v string) *StartCoursePrepareRequest {
	s.DeviceId = &v
	return s
}

func (s *StartCoursePrepareRequest) SetExt(v string) *StartCoursePrepareRequest {
	s.Ext = &v
	return s
}

func (s *StartCoursePrepareRequest) SetIsvCode(v string) *StartCoursePrepareRequest {
	s.IsvCode = &v
	return s
}

func (s *StartCoursePrepareRequest) SetLiveCoverImage(v string) *StartCoursePrepareRequest {
	s.LiveCoverImage = &v
	return s
}

func (s *StartCoursePrepareRequest) SetSectionIndex(v []*int32) *StartCoursePrepareRequest {
	s.SectionIndex = v
	return s
}

func (s *StartCoursePrepareRequest) SetOpUserId(v string) *StartCoursePrepareRequest {
	s.OpUserId = &v
	return s
}

type StartCoursePrepareResponseBody struct {
	// This parameter is required.
	UniversityCourseCommonResponse *StartCoursePrepareResponseBodyUniversityCourseCommonResponse `json:"universityCourseCommonResponse,omitempty" xml:"universityCourseCommonResponse,omitempty" type:"Struct"`
}

func (s StartCoursePrepareResponseBody) String() string {
	return tea.Prettify(s)
}

func (s StartCoursePrepareResponseBody) GoString() string {
	return s.String()
}

func (s *StartCoursePrepareResponseBody) SetUniversityCourseCommonResponse(v *StartCoursePrepareResponseBodyUniversityCourseCommonResponse) *StartCoursePrepareResponseBody {
	s.UniversityCourseCommonResponse = v
	return s
}

type StartCoursePrepareResponseBodyUniversityCourseCommonResponse struct {
	// This parameter is required.
	//
	// example:
	//
	// testCourseCode
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// true
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s StartCoursePrepareResponseBodyUniversityCourseCommonResponse) String() string {
	return tea.Prettify(s)
}

func (s StartCoursePrepareResponseBodyUniversityCourseCommonResponse) GoString() string {
	return s.String()
}

func (s *StartCoursePrepareResponseBodyUniversityCourseCommonResponse) SetCourseCode(v string) *StartCoursePrepareResponseBodyUniversityCourseCommonResponse {
	s.CourseCode = &v
	return s
}

func (s *StartCoursePrepareResponseBodyUniversityCourseCommonResponse) SetSuccess(v bool) *StartCoursePrepareResponseBodyUniversityCourseCommonResponse {
	s.Success = &v
	return s
}

type StartCoursePrepareResponse struct {
	Headers    map[string]*string              `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                          `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *StartCoursePrepareResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s StartCoursePrepareResponse) String() string {
	return tea.Prettify(s)
}

func (s StartCoursePrepareResponse) GoString() string {
	return s.String()
}

func (s *StartCoursePrepareResponse) SetHeaders(v map[string]*string) *StartCoursePrepareResponse {
	s.Headers = v
	return s
}

func (s *StartCoursePrepareResponse) SetStatusCode(v int32) *StartCoursePrepareResponse {
	s.StatusCode = &v
	return s
}

func (s *StartCoursePrepareResponse) SetBody(v *StartCoursePrepareResponseBody) *StartCoursePrepareResponse {
	s.Body = v
	return s
}

type SubmitAiSportDataHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SubmitAiSportDataHeaders) String() string {
	return tea.Prettify(s)
}

func (s SubmitAiSportDataHeaders) GoString() string {
	return s.String()
}

func (s *SubmitAiSportDataHeaders) SetCommonHeaders(v map[string]*string) *SubmitAiSportDataHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SubmitAiSportDataHeaders) SetXAcsDingtalkAccessToken(v string) *SubmitAiSportDataHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SubmitAiSportDataRequest struct {
	Data        map[string]*string `json:"data,omitempty" xml:"data,omitempty"`
	DataType    *string            `json:"dataType,omitempty" xml:"dataType,omitempty"`
	OperateType *string            `json:"operateType,omitempty" xml:"operateType,omitempty"`
}

func (s SubmitAiSportDataRequest) String() string {
	return tea.Prettify(s)
}

func (s SubmitAiSportDataRequest) GoString() string {
	return s.String()
}

func (s *SubmitAiSportDataRequest) SetData(v map[string]*string) *SubmitAiSportDataRequest {
	s.Data = v
	return s
}

func (s *SubmitAiSportDataRequest) SetDataType(v string) *SubmitAiSportDataRequest {
	s.DataType = &v
	return s
}

func (s *SubmitAiSportDataRequest) SetOperateType(v string) *SubmitAiSportDataRequest {
	s.OperateType = &v
	return s
}

type SubmitAiSportDataResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s SubmitAiSportDataResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SubmitAiSportDataResponseBody) GoString() string {
	return s.String()
}

func (s *SubmitAiSportDataResponseBody) SetSuccess(v bool) *SubmitAiSportDataResponseBody {
	s.Success = &v
	return s
}

type SubmitAiSportDataResponse struct {
	Headers    map[string]*string             `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                         `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SubmitAiSportDataResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SubmitAiSportDataResponse) String() string {
	return tea.Prettify(s)
}

func (s SubmitAiSportDataResponse) GoString() string {
	return s.String()
}

func (s *SubmitAiSportDataResponse) SetHeaders(v map[string]*string) *SubmitAiSportDataResponse {
	s.Headers = v
	return s
}

func (s *SubmitAiSportDataResponse) SetStatusCode(v int32) *SubmitAiSportDataResponse {
	s.StatusCode = &v
	return s
}

func (s *SubmitAiSportDataResponse) SetBody(v *SubmitAiSportDataResponseBody) *SubmitAiSportDataResponse {
	s.Body = v
	return s
}

type SubscribeUniversityCourseGroupHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s SubscribeUniversityCourseGroupHeaders) String() string {
	return tea.Prettify(s)
}

func (s SubscribeUniversityCourseGroupHeaders) GoString() string {
	return s.String()
}

func (s *SubscribeUniversityCourseGroupHeaders) SetCommonHeaders(v map[string]*string) *SubscribeUniversityCourseGroupHeaders {
	s.CommonHeaders = v
	return s
}

func (s *SubscribeUniversityCourseGroupHeaders) SetXAcsDingtalkAccessToken(v string) *SubscribeUniversityCourseGroupHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type SubscribeUniversityCourseGroupRequest struct {
	// example:
	//
	// DDS10002
	CourseGroupCode *string   `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	StudentUserIds  []*string `json:"studentUserIds,omitempty" xml:"studentUserIds,omitempty" type:"Repeated"`
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s SubscribeUniversityCourseGroupRequest) String() string {
	return tea.Prettify(s)
}

func (s SubscribeUniversityCourseGroupRequest) GoString() string {
	return s.String()
}

func (s *SubscribeUniversityCourseGroupRequest) SetCourseGroupCode(v string) *SubscribeUniversityCourseGroupRequest {
	s.CourseGroupCode = &v
	return s
}

func (s *SubscribeUniversityCourseGroupRequest) SetStudentUserIds(v []*string) *SubscribeUniversityCourseGroupRequest {
	s.StudentUserIds = v
	return s
}

func (s *SubscribeUniversityCourseGroupRequest) SetOpUserId(v string) *SubscribeUniversityCourseGroupRequest {
	s.OpUserId = &v
	return s
}

type SubscribeUniversityCourseGroupResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s SubscribeUniversityCourseGroupResponseBody) String() string {
	return tea.Prettify(s)
}

func (s SubscribeUniversityCourseGroupResponseBody) GoString() string {
	return s.String()
}

func (s *SubscribeUniversityCourseGroupResponseBody) SetResult(v bool) *SubscribeUniversityCourseGroupResponseBody {
	s.Result = &v
	return s
}

type SubscribeUniversityCourseGroupResponse struct {
	Headers    map[string]*string                          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *SubscribeUniversityCourseGroupResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s SubscribeUniversityCourseGroupResponse) String() string {
	return tea.Prettify(s)
}

func (s SubscribeUniversityCourseGroupResponse) GoString() string {
	return s.String()
}

func (s *SubscribeUniversityCourseGroupResponse) SetHeaders(v map[string]*string) *SubscribeUniversityCourseGroupResponse {
	s.Headers = v
	return s
}

func (s *SubscribeUniversityCourseGroupResponse) SetStatusCode(v int32) *SubscribeUniversityCourseGroupResponse {
	s.StatusCode = &v
	return s
}

func (s *SubscribeUniversityCourseGroupResponse) SetBody(v *SubscribeUniversityCourseGroupResponseBody) *SubscribeUniversityCourseGroupResponse {
	s.Body = v
	return s
}

type UnsubscribeUniversityCourseGroupHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UnsubscribeUniversityCourseGroupHeaders) String() string {
	return tea.Prettify(s)
}

func (s UnsubscribeUniversityCourseGroupHeaders) GoString() string {
	return s.String()
}

func (s *UnsubscribeUniversityCourseGroupHeaders) SetCommonHeaders(v map[string]*string) *UnsubscribeUniversityCourseGroupHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UnsubscribeUniversityCourseGroupHeaders) SetXAcsDingtalkAccessToken(v string) *UnsubscribeUniversityCourseGroupHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UnsubscribeUniversityCourseGroupRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// GSS10023
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// This parameter is required.
	StudentUserIds []*string `json:"studentUserIds,omitempty" xml:"studentUserIds,omitempty" type:"Repeated"`
	// This parameter is required.
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s UnsubscribeUniversityCourseGroupRequest) String() string {
	return tea.Prettify(s)
}

func (s UnsubscribeUniversityCourseGroupRequest) GoString() string {
	return s.String()
}

func (s *UnsubscribeUniversityCourseGroupRequest) SetCourseGroupCode(v string) *UnsubscribeUniversityCourseGroupRequest {
	s.CourseGroupCode = &v
	return s
}

func (s *UnsubscribeUniversityCourseGroupRequest) SetStudentUserIds(v []*string) *UnsubscribeUniversityCourseGroupRequest {
	s.StudentUserIds = v
	return s
}

func (s *UnsubscribeUniversityCourseGroupRequest) SetOpUserId(v string) *UnsubscribeUniversityCourseGroupRequest {
	s.OpUserId = &v
	return s
}

type UnsubscribeUniversityCourseGroupResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s UnsubscribeUniversityCourseGroupResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UnsubscribeUniversityCourseGroupResponseBody) GoString() string {
	return s.String()
}

func (s *UnsubscribeUniversityCourseGroupResponseBody) SetResult(v bool) *UnsubscribeUniversityCourseGroupResponseBody {
	s.Result = &v
	return s
}

type UnsubscribeUniversityCourseGroupResponse struct {
	Headers    map[string]*string                            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UnsubscribeUniversityCourseGroupResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UnsubscribeUniversityCourseGroupResponse) String() string {
	return tea.Prettify(s)
}

func (s UnsubscribeUniversityCourseGroupResponse) GoString() string {
	return s.String()
}

func (s *UnsubscribeUniversityCourseGroupResponse) SetHeaders(v map[string]*string) *UnsubscribeUniversityCourseGroupResponse {
	s.Headers = v
	return s
}

func (s *UnsubscribeUniversityCourseGroupResponse) SetStatusCode(v int32) *UnsubscribeUniversityCourseGroupResponse {
	s.StatusCode = &v
	return s
}

func (s *UnsubscribeUniversityCourseGroupResponse) SetBody(v *UnsubscribeUniversityCourseGroupResponseBody) *UnsubscribeUniversityCourseGroupResponse {
	s.Body = v
	return s
}

type UpdateClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassHeaders) GoString() string {
	return s.String()
}

func (s *UpdateClassHeaders) SetCommonHeaders(v map[string]*string) *UpdateClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateClassHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateClassRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 23424324324
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	GradeLevel *int32 `json:"gradeLevel,omitempty" xml:"gradeLevel,omitempty"`
	// This parameter is required.
	OpenClass *UpdateClassRequestOpenClass `json:"openClass,omitempty" xml:"openClass,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// manager234234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 23423423
	SuperId *int64 `json:"superId,omitempty" xml:"superId,omitempty"`
}

func (s UpdateClassRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassRequest) GoString() string {
	return s.String()
}

func (s *UpdateClassRequest) SetDeptId(v int64) *UpdateClassRequest {
	s.DeptId = &v
	return s
}

func (s *UpdateClassRequest) SetGradeLevel(v int32) *UpdateClassRequest {
	s.GradeLevel = &v
	return s
}

func (s *UpdateClassRequest) SetOpenClass(v *UpdateClassRequestOpenClass) *UpdateClassRequest {
	s.OpenClass = v
	return s
}

func (s *UpdateClassRequest) SetOperator(v string) *UpdateClassRequest {
	s.Operator = &v
	return s
}

func (s *UpdateClassRequest) SetSuperId(v int64) *UpdateClassRequest {
	s.SuperId = &v
	return s
}

type UpdateClassRequestOpenClass struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	ClassLevel *int32 `json:"classLevel,omitempty" xml:"classLevel,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 熊猫班
	Nick *string `json:"nick,omitempty" xml:"nick,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// true
	OnlyUseNick *string `json:"onlyUseNick,omitempty" xml:"onlyUseNick,omitempty"`
}

func (s UpdateClassRequestOpenClass) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassRequestOpenClass) GoString() string {
	return s.String()
}

func (s *UpdateClassRequestOpenClass) SetClassLevel(v int32) *UpdateClassRequestOpenClass {
	s.ClassLevel = &v
	return s
}

func (s *UpdateClassRequestOpenClass) SetNick(v string) *UpdateClassRequestOpenClass {
	s.Nick = &v
	return s
}

func (s *UpdateClassRequestOpenClass) SetOnlyUseNick(v string) *UpdateClassRequestOpenClass {
	s.OnlyUseNick = &v
	return s
}

type UpdateClassResponseBody struct {
	Result  *UpdateClassResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                          `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateClassResponseBody) SetResult(v *UpdateClassResponseBodyResult) *UpdateClassResponseBody {
	s.Result = v
	return s
}

func (s *UpdateClassResponseBody) SetSuccess(v bool) *UpdateClassResponseBody {
	s.Success = &v
	return s
}

type UpdateClassResponseBodyResult struct {
	// example:
	//
	// 234324
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
}

func (s UpdateClassResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassResponseBodyResult) GoString() string {
	return s.String()
}

func (s *UpdateClassResponseBodyResult) SetDeptId(v int64) *UpdateClassResponseBodyResult {
	s.DeptId = &v
	return s
}

type UpdateClassResponse struct {
	Headers    map[string]*string       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateClassResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassResponse) GoString() string {
	return s.String()
}

func (s *UpdateClassResponse) SetHeaders(v map[string]*string) *UpdateClassResponse {
	s.Headers = v
	return s
}

func (s *UpdateClassResponse) SetStatusCode(v int32) *UpdateClassResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateClassResponse) SetBody(v *UpdateClassResponseBody) *UpdateClassResponse {
	s.Body = v
	return s
}

type UpdateClassGroupCardHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateClassGroupCardHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassGroupCardHeaders) GoString() string {
	return s.String()
}

func (s *UpdateClassGroupCardHeaders) SetCommonHeaders(v map[string]*string) *UpdateClassGroupCardHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateClassGroupCardHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateClassGroupCardHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateClassGroupCardRequest struct {
	// This parameter is required.
	BizCardId *string `json:"bizCardId,omitempty" xml:"bizCardId,omitempty"`
	// This parameter is required.
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	GroupTypeList []*string `json:"groupTypeList,omitempty" xml:"groupTypeList,omitempty" type:"Repeated"`
	// This parameter is required.
	IsFinalUpdate   *bool                             `json:"isFinalUpdate,omitempty" xml:"isFinalUpdate,omitempty"`
	PrivateCardData map[string]map[string]interface{} `json:"privateCardData,omitempty" xml:"privateCardData,omitempty"`
	PublicCardData  map[string]*string                `json:"publicCardData,omitempty" xml:"publicCardData,omitempty"`
}

func (s UpdateClassGroupCardRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassGroupCardRequest) GoString() string {
	return s.String()
}

func (s *UpdateClassGroupCardRequest) SetBizCardId(v string) *UpdateClassGroupCardRequest {
	s.BizCardId = &v
	return s
}

func (s *UpdateClassGroupCardRequest) SetClassId(v int64) *UpdateClassGroupCardRequest {
	s.ClassId = &v
	return s
}

func (s *UpdateClassGroupCardRequest) SetGroupTypeList(v []*string) *UpdateClassGroupCardRequest {
	s.GroupTypeList = v
	return s
}

func (s *UpdateClassGroupCardRequest) SetIsFinalUpdate(v bool) *UpdateClassGroupCardRequest {
	s.IsFinalUpdate = &v
	return s
}

func (s *UpdateClassGroupCardRequest) SetPrivateCardData(v map[string]map[string]interface{}) *UpdateClassGroupCardRequest {
	s.PrivateCardData = v
	return s
}

func (s *UpdateClassGroupCardRequest) SetPublicCardData(v map[string]*string) *UpdateClassGroupCardRequest {
	s.PublicCardData = v
	return s
}

type UpdateClassGroupCardResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateClassGroupCardResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassGroupCardResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateClassGroupCardResponseBody) SetResult(v bool) *UpdateClassGroupCardResponseBody {
	s.Result = &v
	return s
}

func (s *UpdateClassGroupCardResponseBody) SetSuccess(v bool) *UpdateClassGroupCardResponseBody {
	s.Success = &v
	return s
}

type UpdateClassGroupCardResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateClassGroupCardResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateClassGroupCardResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateClassGroupCardResponse) GoString() string {
	return s.String()
}

func (s *UpdateClassGroupCardResponse) SetHeaders(v map[string]*string) *UpdateClassGroupCardResponse {
	s.Headers = v
	return s
}

func (s *UpdateClassGroupCardResponse) SetStatusCode(v int32) *UpdateClassGroupCardResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateClassGroupCardResponse) SetBody(v *UpdateClassGroupCardResponseBody) *UpdateClassGroupCardResponse {
	s.Body = v
	return s
}

type UpdateCollegeAlumniUserInfoHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateCollegeAlumniUserInfoHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeAlumniUserInfoHeaders) GoString() string {
	return s.String()
}

func (s *UpdateCollegeAlumniUserInfoHeaders) SetCommonHeaders(v map[string]*string) *UpdateCollegeAlumniUserInfoHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateCollegeAlumniUserInfoHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateCollegeAlumniUserInfoHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateCollegeAlumniUserInfoRequest struct {
	Address *string `json:"address,omitempty" xml:"address,omitempty"`
	// This parameter is required.
	DeptIds []*int64 `json:"deptIds,omitempty" xml:"deptIds,omitempty" type:"Repeated"`
	Email   *string  `json:"email,omitempty" xml:"email,omitempty"`
	Intake  *string  `json:"intake,omitempty" xml:"intake,omitempty"`
	Name    *string  `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	Operator      *string `json:"operator,omitempty" xml:"operator,omitempty"`
	Outtake       *string `json:"outtake,omitempty" xml:"outtake,omitempty"`
	StudentNumber *string `json:"studentNumber,omitempty" xml:"studentNumber,omitempty"`
	// This parameter is required.
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s UpdateCollegeAlumniUserInfoRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeAlumniUserInfoRequest) GoString() string {
	return s.String()
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetAddress(v string) *UpdateCollegeAlumniUserInfoRequest {
	s.Address = &v
	return s
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetDeptIds(v []*int64) *UpdateCollegeAlumniUserInfoRequest {
	s.DeptIds = v
	return s
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetEmail(v string) *UpdateCollegeAlumniUserInfoRequest {
	s.Email = &v
	return s
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetIntake(v string) *UpdateCollegeAlumniUserInfoRequest {
	s.Intake = &v
	return s
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetName(v string) *UpdateCollegeAlumniUserInfoRequest {
	s.Name = &v
	return s
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetOperator(v string) *UpdateCollegeAlumniUserInfoRequest {
	s.Operator = &v
	return s
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetOuttake(v string) *UpdateCollegeAlumniUserInfoRequest {
	s.Outtake = &v
	return s
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetStudentNumber(v string) *UpdateCollegeAlumniUserInfoRequest {
	s.StudentNumber = &v
	return s
}

func (s *UpdateCollegeAlumniUserInfoRequest) SetUserId(v string) *UpdateCollegeAlumniUserInfoRequest {
	s.UserId = &v
	return s
}

type UpdateCollegeAlumniUserInfoResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateCollegeAlumniUserInfoResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeAlumniUserInfoResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateCollegeAlumniUserInfoResponseBody) SetSuccess(v bool) *UpdateCollegeAlumniUserInfoResponseBody {
	s.Success = &v
	return s
}

type UpdateCollegeAlumniUserInfoResponse struct {
	Headers    map[string]*string                       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateCollegeAlumniUserInfoResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateCollegeAlumniUserInfoResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeAlumniUserInfoResponse) GoString() string {
	return s.String()
}

func (s *UpdateCollegeAlumniUserInfoResponse) SetHeaders(v map[string]*string) *UpdateCollegeAlumniUserInfoResponse {
	s.Headers = v
	return s
}

func (s *UpdateCollegeAlumniUserInfoResponse) SetStatusCode(v int32) *UpdateCollegeAlumniUserInfoResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateCollegeAlumniUserInfoResponse) SetBody(v *UpdateCollegeAlumniUserInfoResponseBody) *UpdateCollegeAlumniUserInfoResponse {
	s.Body = v
	return s
}

type UpdateCollegeContactDeptHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateCollegeContactDeptHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactDeptHeaders) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactDeptHeaders) SetCommonHeaders(v map[string]*string) *UpdateCollegeContactDeptHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateCollegeContactDeptHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateCollegeContactDeptHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateCollegeContactDeptRequest struct {
	AutoAddUser      *bool `json:"autoAddUser,omitempty" xml:"autoAddUser,omitempty"`
	AutoApproveApply *bool `json:"autoApproveApply,omitempty" xml:"autoApproveApply,omitempty"`
	// example:
	//
	// 这是组织单元简介
	Brief *string `json:"brief,omitempty" xml:"brief,omitempty"`
	// example:
	//
	// 20000
	Code            *string `json:"code,omitempty" xml:"code,omitempty"`
	CreateDeptGroup *bool   `json:"createDeptGroup,omitempty" xml:"createDeptGroup,omitempty"`
	// example:
	//
	// dept456
	DeptCode *string `json:"deptCode,omitempty" xml:"deptCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 200
	DeptId                *int64    `json:"deptId,omitempty" xml:"deptId,omitempty"`
	DeptManagerUseridList []*string `json:"deptManagerUseridList,omitempty" xml:"deptManagerUseridList,omitempty" type:"Repeated"`
	DeptPermits           []*int64  `json:"deptPermits,omitempty" xml:"deptPermits,omitempty" type:"Repeated"`
	// example:
	//
	// contact_class_dept
	DeptType               *string                                         `json:"deptType,omitempty" xml:"deptType,omitempty"`
	EmpApplyJoinDept       *bool                                           `json:"empApplyJoinDept,omitempty" xml:"empApplyJoinDept,omitempty"`
	Extension              map[string]*string                              `json:"extension,omitempty" xml:"extension,omitempty"`
	ForceUpdateFields      []*string                                       `json:"forceUpdateFields,omitempty" xml:"forceUpdateFields,omitempty" type:"Repeated"`
	GroupContainHiddenDept *bool                                           `json:"groupContainHiddenDept,omitempty" xml:"groupContainHiddenDept,omitempty"`
	GroupContainOuterDept  *bool                                           `json:"groupContainOuterDept,omitempty" xml:"groupContainOuterDept,omitempty"`
	GroupContainSubDept    *bool                                           `json:"groupContainSubDept,omitempty" xml:"groupContainSubDept,omitempty"`
	HideDept               *bool                                           `json:"hideDept,omitempty" xml:"hideDept,omitempty"`
	HideSceneConfig        *UpdateCollegeContactDeptRequestHideSceneConfig `json:"hideSceneConfig,omitempty" xml:"hideSceneConfig,omitempty" type:"Struct"`
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
	// example:
	//
	// 软件工程
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 20
	Order *int64 `json:"order,omitempty" xml:"order,omitempty"`
	// example:
	//
	// user234
	OrgDeptOwner      *string                                          `json:"orgDeptOwner,omitempty" xml:"orgDeptOwner,omitempty"`
	OuterDept         *bool                                            `json:"outerDept,omitempty" xml:"outerDept,omitempty"`
	OuterDeptOnlySelf *bool                                            `json:"outerDeptOnlySelf,omitempty" xml:"outerDeptOnlySelf,omitempty"`
	OuterPermitDepts  []*int64                                         `json:"outerPermitDepts,omitempty" xml:"outerPermitDepts,omitempty" type:"Repeated"`
	OuterPermitUsers  []*string                                        `json:"outerPermitUsers,omitempty" xml:"outerPermitUsers,omitempty" type:"Repeated"`
	OuterSceneConfig  *UpdateCollegeContactDeptRequestOuterSceneConfig `json:"outerSceneConfig,omitempty" xml:"outerSceneConfig,omitempty" type:"Struct"`
	// example:
	//
	// 20
	ParentId *int64 `json:"parentId,omitempty" xml:"parentId,omitempty"`
	// example:
	//
	// 软件工程标识
	SourceIdentifier *string `json:"sourceIdentifier,omitempty" xml:"sourceIdentifier,omitempty"`
	// example:
	//
	// 138xxxx0000
	Telephone   *string   `json:"telephone,omitempty" xml:"telephone,omitempty"`
	UserPermits []*string `json:"userPermits,omitempty" xml:"userPermits,omitempty" type:"Repeated"`
}

func (s UpdateCollegeContactDeptRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactDeptRequest) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactDeptRequest) SetAutoAddUser(v bool) *UpdateCollegeContactDeptRequest {
	s.AutoAddUser = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetAutoApproveApply(v bool) *UpdateCollegeContactDeptRequest {
	s.AutoApproveApply = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetBrief(v string) *UpdateCollegeContactDeptRequest {
	s.Brief = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetCode(v string) *UpdateCollegeContactDeptRequest {
	s.Code = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetCreateDeptGroup(v bool) *UpdateCollegeContactDeptRequest {
	s.CreateDeptGroup = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetDeptCode(v string) *UpdateCollegeContactDeptRequest {
	s.DeptCode = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetDeptId(v int64) *UpdateCollegeContactDeptRequest {
	s.DeptId = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetDeptManagerUseridList(v []*string) *UpdateCollegeContactDeptRequest {
	s.DeptManagerUseridList = v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetDeptPermits(v []*int64) *UpdateCollegeContactDeptRequest {
	s.DeptPermits = v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetDeptType(v string) *UpdateCollegeContactDeptRequest {
	s.DeptType = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetEmpApplyJoinDept(v bool) *UpdateCollegeContactDeptRequest {
	s.EmpApplyJoinDept = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetExtension(v map[string]*string) *UpdateCollegeContactDeptRequest {
	s.Extension = v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetForceUpdateFields(v []*string) *UpdateCollegeContactDeptRequest {
	s.ForceUpdateFields = v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetGroupContainHiddenDept(v bool) *UpdateCollegeContactDeptRequest {
	s.GroupContainHiddenDept = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetGroupContainOuterDept(v bool) *UpdateCollegeContactDeptRequest {
	s.GroupContainOuterDept = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetGroupContainSubDept(v bool) *UpdateCollegeContactDeptRequest {
	s.GroupContainSubDept = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetHideDept(v bool) *UpdateCollegeContactDeptRequest {
	s.HideDept = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetHideSceneConfig(v *UpdateCollegeContactDeptRequestHideSceneConfig) *UpdateCollegeContactDeptRequest {
	s.HideSceneConfig = v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetLanguage(v string) *UpdateCollegeContactDeptRequest {
	s.Language = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetName(v string) *UpdateCollegeContactDeptRequest {
	s.Name = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetOrder(v int64) *UpdateCollegeContactDeptRequest {
	s.Order = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetOrgDeptOwner(v string) *UpdateCollegeContactDeptRequest {
	s.OrgDeptOwner = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetOuterDept(v bool) *UpdateCollegeContactDeptRequest {
	s.OuterDept = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetOuterDeptOnlySelf(v bool) *UpdateCollegeContactDeptRequest {
	s.OuterDeptOnlySelf = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetOuterPermitDepts(v []*int64) *UpdateCollegeContactDeptRequest {
	s.OuterPermitDepts = v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetOuterPermitUsers(v []*string) *UpdateCollegeContactDeptRequest {
	s.OuterPermitUsers = v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetOuterSceneConfig(v *UpdateCollegeContactDeptRequestOuterSceneConfig) *UpdateCollegeContactDeptRequest {
	s.OuterSceneConfig = v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetParentId(v int64) *UpdateCollegeContactDeptRequest {
	s.ParentId = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetSourceIdentifier(v string) *UpdateCollegeContactDeptRequest {
	s.SourceIdentifier = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetTelephone(v string) *UpdateCollegeContactDeptRequest {
	s.Telephone = &v
	return s
}

func (s *UpdateCollegeContactDeptRequest) SetUserPermits(v []*string) *UpdateCollegeContactDeptRequest {
	s.UserPermits = v
	return s
}

type UpdateCollegeContactDeptRequestHideSceneConfig struct {
	Active          *bool `json:"active,omitempty" xml:"active,omitempty"`
	ChatboxSubtitle *bool `json:"chatboxSubtitle,omitempty" xml:"chatboxSubtitle,omitempty"`
	NodeList        *bool `json:"nodeList,omitempty" xml:"nodeList,omitempty"`
	Profile         *bool `json:"profile,omitempty" xml:"profile,omitempty"`
	Search          *bool `json:"search,omitempty" xml:"search,omitempty"`
}

func (s UpdateCollegeContactDeptRequestHideSceneConfig) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactDeptRequestHideSceneConfig) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactDeptRequestHideSceneConfig) SetActive(v bool) *UpdateCollegeContactDeptRequestHideSceneConfig {
	s.Active = &v
	return s
}

func (s *UpdateCollegeContactDeptRequestHideSceneConfig) SetChatboxSubtitle(v bool) *UpdateCollegeContactDeptRequestHideSceneConfig {
	s.ChatboxSubtitle = &v
	return s
}

func (s *UpdateCollegeContactDeptRequestHideSceneConfig) SetNodeList(v bool) *UpdateCollegeContactDeptRequestHideSceneConfig {
	s.NodeList = &v
	return s
}

func (s *UpdateCollegeContactDeptRequestHideSceneConfig) SetProfile(v bool) *UpdateCollegeContactDeptRequestHideSceneConfig {
	s.Profile = &v
	return s
}

func (s *UpdateCollegeContactDeptRequestHideSceneConfig) SetSearch(v bool) *UpdateCollegeContactDeptRequestHideSceneConfig {
	s.Search = &v
	return s
}

type UpdateCollegeContactDeptRequestOuterSceneConfig struct {
	Active          *bool `json:"active,omitempty" xml:"active,omitempty"`
	ChatboxSubtitle *bool `json:"chatboxSubtitle,omitempty" xml:"chatboxSubtitle,omitempty"`
	NodeList        *bool `json:"nodeList,omitempty" xml:"nodeList,omitempty"`
	Profile         *bool `json:"profile,omitempty" xml:"profile,omitempty"`
	Search          *bool `json:"search,omitempty" xml:"search,omitempty"`
}

func (s UpdateCollegeContactDeptRequestOuterSceneConfig) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactDeptRequestOuterSceneConfig) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactDeptRequestOuterSceneConfig) SetActive(v bool) *UpdateCollegeContactDeptRequestOuterSceneConfig {
	s.Active = &v
	return s
}

func (s *UpdateCollegeContactDeptRequestOuterSceneConfig) SetChatboxSubtitle(v bool) *UpdateCollegeContactDeptRequestOuterSceneConfig {
	s.ChatboxSubtitle = &v
	return s
}

func (s *UpdateCollegeContactDeptRequestOuterSceneConfig) SetNodeList(v bool) *UpdateCollegeContactDeptRequestOuterSceneConfig {
	s.NodeList = &v
	return s
}

func (s *UpdateCollegeContactDeptRequestOuterSceneConfig) SetProfile(v bool) *UpdateCollegeContactDeptRequestOuterSceneConfig {
	s.Profile = &v
	return s
}

func (s *UpdateCollegeContactDeptRequestOuterSceneConfig) SetSearch(v bool) *UpdateCollegeContactDeptRequestOuterSceneConfig {
	s.Search = &v
	return s
}

type UpdateCollegeContactDeptResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateCollegeContactDeptResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactDeptResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactDeptResponseBody) SetSuccess(v bool) *UpdateCollegeContactDeptResponseBody {
	s.Success = &v
	return s
}

type UpdateCollegeContactDeptResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateCollegeContactDeptResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateCollegeContactDeptResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactDeptResponse) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactDeptResponse) SetHeaders(v map[string]*string) *UpdateCollegeContactDeptResponse {
	s.Headers = v
	return s
}

func (s *UpdateCollegeContactDeptResponse) SetStatusCode(v int32) *UpdateCollegeContactDeptResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateCollegeContactDeptResponse) SetBody(v *UpdateCollegeContactDeptResponseBody) *UpdateCollegeContactDeptResponse {
	s.Body = v
	return s
}

type UpdateCollegeContactExclusiveHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateCollegeContactExclusiveHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactExclusiveHeaders) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactExclusiveHeaders) SetCommonHeaders(v map[string]*string) *UpdateCollegeContactExclusiveHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateCollegeContactExclusiveHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateCollegeContactExclusiveHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateCollegeContactExclusiveRequest struct {
	// example:
	//
	// @lALPDfmVUw19YdrNA-jNA-g
	AvatarMediaId   *string                                                `json:"avatarMediaId,omitempty" xml:"avatarMediaId,omitempty"`
	DeptIdList      []*int64                                               `json:"deptIdList,omitempty" xml:"deptIdList,omitempty" type:"Repeated"`
	DeptOrderList   []*UpdateCollegeContactExclusiveRequestDeptOrderList   `json:"deptOrderList,omitempty" xml:"deptOrderList,omitempty" type:"Repeated"`
	DeptPositionSet []*UpdateCollegeContactExclusiveRequestDeptPositionSet `json:"deptPositionSet,omitempty" xml:"deptPositionSet,omitempty" type:"Repeated"`
	DeptTitleList   []*UpdateCollegeContactExclusiveRequestDeptTitleList   `json:"deptTitleList,omitempty" xml:"deptTitleList,omitempty" type:"Repeated"`
	// example:
	//
	// test@xxx.com
	Email *string `json:"email,omitempty" xml:"email,omitempty"`
	// example:
	//
	// college_student
	EmpType   *string            `json:"empType,omitempty" xml:"empType,omitempty"`
	Extension map[string]*string `json:"extension,omitempty" xml:"extension,omitempty"`
	// example:
	//
	// manager_userid
	ForceUpdateFields *string `json:"forceUpdateFields,omitempty" xml:"forceUpdateFields,omitempty"`
	HideMobile        *bool   `json:"hideMobile,omitempty" xml:"hideMobile,omitempty"`
	// example:
	//
	// 1597573616828
	HiredDate *int64 `json:"hiredDate,omitempty" xml:"hiredDate,omitempty"`
	// example:
	//
	// 666666
	JobNumber *string `json:"jobNumber,omitempty" xml:"jobNumber,omitempty"`
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
	// example:
	//
	// studentNo
	LoginIdType *string `json:"loginIdType,omitempty" xml:"loginIdType,omitempty"`
	// example:
	//
	// 123456
	MainDeptId *int64 `json:"mainDeptId,omitempty" xml:"mainDeptId,omitempty"`
	// example:
	//
	// 001
	ManagerUserid *string `json:"managerUserid,omitempty" xml:"managerUserid,omitempty"`
	// example:
	//
	// 185xxxx8888
	Mobile *string `json:"mobile,omitempty" xml:"mobile,omitempty"`
	// example:
	//
	// 张三
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// 昵称
	Nickname *string `json:"nickname,omitempty" xml:"nickname,omitempty"`
	// example:
	//
	// test@xxx.com
	OrgEmail *string `json:"orgEmail,omitempty" xml:"orgEmail,omitempty"`
	// example:
	//
	// profession
	OrgEmailType *string `json:"orgEmailType,omitempty" xml:"orgEmailType,omitempty"`
	// example:
	//
	// 备注
	Remark     *string `json:"remark,omitempty" xml:"remark,omitempty"`
	SeniorMode *bool   `json:"seniorMode,omitempty" xml:"seniorMode,omitempty"`
	// example:
	//
	// 010-86123456-2345
	Telephone *string `json:"telephone,omitempty" xml:"telephone,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// zhangsan666
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s UpdateCollegeContactExclusiveRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactExclusiveRequest) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactExclusiveRequest) SetAvatarMediaId(v string) *UpdateCollegeContactExclusiveRequest {
	s.AvatarMediaId = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetDeptIdList(v []*int64) *UpdateCollegeContactExclusiveRequest {
	s.DeptIdList = v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetDeptOrderList(v []*UpdateCollegeContactExclusiveRequestDeptOrderList) *UpdateCollegeContactExclusiveRequest {
	s.DeptOrderList = v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetDeptPositionSet(v []*UpdateCollegeContactExclusiveRequestDeptPositionSet) *UpdateCollegeContactExclusiveRequest {
	s.DeptPositionSet = v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetDeptTitleList(v []*UpdateCollegeContactExclusiveRequestDeptTitleList) *UpdateCollegeContactExclusiveRequest {
	s.DeptTitleList = v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetEmail(v string) *UpdateCollegeContactExclusiveRequest {
	s.Email = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetEmpType(v string) *UpdateCollegeContactExclusiveRequest {
	s.EmpType = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetExtension(v map[string]*string) *UpdateCollegeContactExclusiveRequest {
	s.Extension = v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetForceUpdateFields(v string) *UpdateCollegeContactExclusiveRequest {
	s.ForceUpdateFields = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetHideMobile(v bool) *UpdateCollegeContactExclusiveRequest {
	s.HideMobile = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetHiredDate(v int64) *UpdateCollegeContactExclusiveRequest {
	s.HiredDate = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetJobNumber(v string) *UpdateCollegeContactExclusiveRequest {
	s.JobNumber = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetLanguage(v string) *UpdateCollegeContactExclusiveRequest {
	s.Language = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetLoginIdType(v string) *UpdateCollegeContactExclusiveRequest {
	s.LoginIdType = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetMainDeptId(v int64) *UpdateCollegeContactExclusiveRequest {
	s.MainDeptId = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetManagerUserid(v string) *UpdateCollegeContactExclusiveRequest {
	s.ManagerUserid = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetMobile(v string) *UpdateCollegeContactExclusiveRequest {
	s.Mobile = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetName(v string) *UpdateCollegeContactExclusiveRequest {
	s.Name = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetNickname(v string) *UpdateCollegeContactExclusiveRequest {
	s.Nickname = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetOrgEmail(v string) *UpdateCollegeContactExclusiveRequest {
	s.OrgEmail = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetOrgEmailType(v string) *UpdateCollegeContactExclusiveRequest {
	s.OrgEmailType = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetRemark(v string) *UpdateCollegeContactExclusiveRequest {
	s.Remark = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetSeniorMode(v bool) *UpdateCollegeContactExclusiveRequest {
	s.SeniorMode = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetTelephone(v string) *UpdateCollegeContactExclusiveRequest {
	s.Telephone = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetTitle(v string) *UpdateCollegeContactExclusiveRequest {
	s.Title = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetUserid(v string) *UpdateCollegeContactExclusiveRequest {
	s.Userid = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequest) SetWorkPlace(v string) *UpdateCollegeContactExclusiveRequest {
	s.WorkPlace = &v
	return s
}

type UpdateCollegeContactExclusiveRequestDeptOrderList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 1
	Order *int32 `json:"order,omitempty" xml:"order,omitempty"`
}

func (s UpdateCollegeContactExclusiveRequestDeptOrderList) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactExclusiveRequestDeptOrderList) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactExclusiveRequestDeptOrderList) SetDeptId(v int64) *UpdateCollegeContactExclusiveRequestDeptOrderList {
	s.DeptId = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequestDeptOrderList) SetOrder(v int32) *UpdateCollegeContactExclusiveRequestDeptOrderList {
	s.Order = &v
	return s
}

type UpdateCollegeContactExclusiveRequestDeptPositionSet struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 001
	ManagerUserId *string `json:"managerUserId,omitempty" xml:"managerUserId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s UpdateCollegeContactExclusiveRequestDeptPositionSet) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactExclusiveRequestDeptPositionSet) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactExclusiveRequestDeptPositionSet) SetDeptId(v int64) *UpdateCollegeContactExclusiveRequestDeptPositionSet {
	s.DeptId = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequestDeptPositionSet) SetManagerUserId(v string) *UpdateCollegeContactExclusiveRequestDeptPositionSet {
	s.ManagerUserId = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequestDeptPositionSet) SetTitle(v string) *UpdateCollegeContactExclusiveRequestDeptPositionSet {
	s.Title = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequestDeptPositionSet) SetWorkPlace(v string) *UpdateCollegeContactExclusiveRequestDeptPositionSet {
	s.WorkPlace = &v
	return s
}

type UpdateCollegeContactExclusiveRequestDeptTitleList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
}

func (s UpdateCollegeContactExclusiveRequestDeptTitleList) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactExclusiveRequestDeptTitleList) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactExclusiveRequestDeptTitleList) SetDeptId(v int64) *UpdateCollegeContactExclusiveRequestDeptTitleList {
	s.DeptId = &v
	return s
}

func (s *UpdateCollegeContactExclusiveRequestDeptTitleList) SetTitle(v string) *UpdateCollegeContactExclusiveRequestDeptTitleList {
	s.Title = &v
	return s
}

type UpdateCollegeContactExclusiveResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateCollegeContactExclusiveResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactExclusiveResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactExclusiveResponseBody) SetSuccess(v bool) *UpdateCollegeContactExclusiveResponseBody {
	s.Success = &v
	return s
}

type UpdateCollegeContactExclusiveResponse struct {
	Headers    map[string]*string                         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateCollegeContactExclusiveResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateCollegeContactExclusiveResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactExclusiveResponse) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactExclusiveResponse) SetHeaders(v map[string]*string) *UpdateCollegeContactExclusiveResponse {
	s.Headers = v
	return s
}

func (s *UpdateCollegeContactExclusiveResponse) SetStatusCode(v int32) *UpdateCollegeContactExclusiveResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateCollegeContactExclusiveResponse) SetBody(v *UpdateCollegeContactExclusiveResponseBody) *UpdateCollegeContactExclusiveResponse {
	s.Body = v
	return s
}

type UpdateCollegeContactSceneStruHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateCollegeContactSceneStruHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactSceneStruHeaders) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactSceneStruHeaders) SetCommonHeaders(v map[string]*string) *UpdateCollegeContactSceneStruHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateCollegeContactSceneStruHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateCollegeContactSceneStruHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateCollegeContactSceneStruRequest struct {
	// example:
	//
	// 20
	Order *int64 `json:"order,omitempty" xml:"order,omitempty"`
	// example:
	//
	// 场景架构标识
	SourceIdentifier *string `json:"sourceIdentifier,omitempty" xml:"sourceIdentifier,omitempty"`
	// example:
	//
	// 这是场景架构简介
	StruBrief *string `json:"struBrief,omitempty" xml:"struBrief,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 20
	StruId *int64 `json:"struId,omitempty" xml:"struId,omitempty"`
	// example:
	//
	// 科研架构
	StruName *string `json:"struName,omitempty" xml:"struName,omitempty"`
	// example:
	//
	// stru_research_dept
	StruType *string `json:"struType,omitempty" xml:"struType,omitempty"`
}

func (s UpdateCollegeContactSceneStruRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactSceneStruRequest) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactSceneStruRequest) SetOrder(v int64) *UpdateCollegeContactSceneStruRequest {
	s.Order = &v
	return s
}

func (s *UpdateCollegeContactSceneStruRequest) SetSourceIdentifier(v string) *UpdateCollegeContactSceneStruRequest {
	s.SourceIdentifier = &v
	return s
}

func (s *UpdateCollegeContactSceneStruRequest) SetStruBrief(v string) *UpdateCollegeContactSceneStruRequest {
	s.StruBrief = &v
	return s
}

func (s *UpdateCollegeContactSceneStruRequest) SetStruId(v int64) *UpdateCollegeContactSceneStruRequest {
	s.StruId = &v
	return s
}

func (s *UpdateCollegeContactSceneStruRequest) SetStruName(v string) *UpdateCollegeContactSceneStruRequest {
	s.StruName = &v
	return s
}

func (s *UpdateCollegeContactSceneStruRequest) SetStruType(v string) *UpdateCollegeContactSceneStruRequest {
	s.StruType = &v
	return s
}

type UpdateCollegeContactSceneStruResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateCollegeContactSceneStruResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactSceneStruResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactSceneStruResponseBody) SetSuccess(v bool) *UpdateCollegeContactSceneStruResponseBody {
	s.Success = &v
	return s
}

type UpdateCollegeContactSceneStruResponse struct {
	Headers    map[string]*string                         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateCollegeContactSceneStruResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateCollegeContactSceneStruResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactSceneStruResponse) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactSceneStruResponse) SetHeaders(v map[string]*string) *UpdateCollegeContactSceneStruResponse {
	s.Headers = v
	return s
}

func (s *UpdateCollegeContactSceneStruResponse) SetStatusCode(v int32) *UpdateCollegeContactSceneStruResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateCollegeContactSceneStruResponse) SetBody(v *UpdateCollegeContactSceneStruResponseBody) *UpdateCollegeContactSceneStruResponse {
	s.Body = v
	return s
}

type UpdateCollegeContactUserHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateCollegeContactUserHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactUserHeaders) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactUserHeaders) SetCommonHeaders(v map[string]*string) *UpdateCollegeContactUserHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateCollegeContactUserHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateCollegeContactUserHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateCollegeContactUserRequest struct {
	DeptIdList      []*int64                                          `json:"deptIdList,omitempty" xml:"deptIdList,omitempty" type:"Repeated"`
	DeptOrderList   []*UpdateCollegeContactUserRequestDeptOrderList   `json:"deptOrderList,omitempty" xml:"deptOrderList,omitempty" type:"Repeated"`
	DeptPositionSet []*UpdateCollegeContactUserRequestDeptPositionSet `json:"deptPositionSet,omitempty" xml:"deptPositionSet,omitempty" type:"Repeated"`
	DeptTitleList   []*UpdateCollegeContactUserRequestDeptTitleList   `json:"deptTitleList,omitempty" xml:"deptTitleList,omitempty" type:"Repeated"`
	// example:
	//
	// test@xxx.com
	Email *string `json:"email,omitempty" xml:"email,omitempty"`
	// example:
	//
	// college_student
	EmpType   *string            `json:"empType,omitempty" xml:"empType,omitempty"`
	Extension map[string]*string `json:"extension,omitempty" xml:"extension,omitempty"`
	// example:
	//
	// manager_userid
	ForceUpdateFields *string `json:"forceUpdateFields,omitempty" xml:"forceUpdateFields,omitempty"`
	HideMobile        *bool   `json:"hideMobile,omitempty" xml:"hideMobile,omitempty"`
	// example:
	//
	// 1597573616828
	HiredDate *int64 `json:"hiredDate,omitempty" xml:"hiredDate,omitempty"`
	// example:
	//
	// 666666
	JobNumber *string `json:"jobNumber,omitempty" xml:"jobNumber,omitempty"`
	// example:
	//
	// zh_CN
	Language *string `json:"language,omitempty" xml:"language,omitempty"`
	// example:
	//
	// 123456
	MainDeptId *int64 `json:"mainDeptId,omitempty" xml:"mainDeptId,omitempty"`
	// example:
	//
	// 001
	ManagerUserid *string `json:"managerUserid,omitempty" xml:"managerUserid,omitempty"`
	// example:
	//
	// 张三
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// example:
	//
	// test@xxx.com
	OrgEmail *string `json:"orgEmail,omitempty" xml:"orgEmail,omitempty"`
	// example:
	//
	// 备注
	Remark     *string `json:"remark,omitempty" xml:"remark,omitempty"`
	SeniorMode *bool   `json:"seniorMode,omitempty" xml:"seniorMode,omitempty"`
	// example:
	//
	// 010-86123456-2345
	Telephone *string `json:"telephone,omitempty" xml:"telephone,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// zhangsan666
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s UpdateCollegeContactUserRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactUserRequest) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactUserRequest) SetDeptIdList(v []*int64) *UpdateCollegeContactUserRequest {
	s.DeptIdList = v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetDeptOrderList(v []*UpdateCollegeContactUserRequestDeptOrderList) *UpdateCollegeContactUserRequest {
	s.DeptOrderList = v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetDeptPositionSet(v []*UpdateCollegeContactUserRequestDeptPositionSet) *UpdateCollegeContactUserRequest {
	s.DeptPositionSet = v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetDeptTitleList(v []*UpdateCollegeContactUserRequestDeptTitleList) *UpdateCollegeContactUserRequest {
	s.DeptTitleList = v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetEmail(v string) *UpdateCollegeContactUserRequest {
	s.Email = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetEmpType(v string) *UpdateCollegeContactUserRequest {
	s.EmpType = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetExtension(v map[string]*string) *UpdateCollegeContactUserRequest {
	s.Extension = v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetForceUpdateFields(v string) *UpdateCollegeContactUserRequest {
	s.ForceUpdateFields = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetHideMobile(v bool) *UpdateCollegeContactUserRequest {
	s.HideMobile = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetHiredDate(v int64) *UpdateCollegeContactUserRequest {
	s.HiredDate = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetJobNumber(v string) *UpdateCollegeContactUserRequest {
	s.JobNumber = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetLanguage(v string) *UpdateCollegeContactUserRequest {
	s.Language = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetMainDeptId(v int64) *UpdateCollegeContactUserRequest {
	s.MainDeptId = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetManagerUserid(v string) *UpdateCollegeContactUserRequest {
	s.ManagerUserid = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetName(v string) *UpdateCollegeContactUserRequest {
	s.Name = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetOrgEmail(v string) *UpdateCollegeContactUserRequest {
	s.OrgEmail = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetRemark(v string) *UpdateCollegeContactUserRequest {
	s.Remark = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetSeniorMode(v bool) *UpdateCollegeContactUserRequest {
	s.SeniorMode = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetTelephone(v string) *UpdateCollegeContactUserRequest {
	s.Telephone = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetTitle(v string) *UpdateCollegeContactUserRequest {
	s.Title = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetUserid(v string) *UpdateCollegeContactUserRequest {
	s.Userid = &v
	return s
}

func (s *UpdateCollegeContactUserRequest) SetWorkPlace(v string) *UpdateCollegeContactUserRequest {
	s.WorkPlace = &v
	return s
}

type UpdateCollegeContactUserRequestDeptOrderList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 1
	Order *int32 `json:"order,omitempty" xml:"order,omitempty"`
}

func (s UpdateCollegeContactUserRequestDeptOrderList) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactUserRequestDeptOrderList) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactUserRequestDeptOrderList) SetDeptId(v int64) *UpdateCollegeContactUserRequestDeptOrderList {
	s.DeptId = &v
	return s
}

func (s *UpdateCollegeContactUserRequestDeptOrderList) SetOrder(v int32) *UpdateCollegeContactUserRequestDeptOrderList {
	s.Order = &v
	return s
}

type UpdateCollegeContactUserRequestDeptPositionSet struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 001
	ManagerUserId *string `json:"managerUserId,omitempty" xml:"managerUserId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
	// example:
	//
	// 学工处办公室
	WorkPlace *string `json:"workPlace,omitempty" xml:"workPlace,omitempty"`
}

func (s UpdateCollegeContactUserRequestDeptPositionSet) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactUserRequestDeptPositionSet) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactUserRequestDeptPositionSet) SetDeptId(v int64) *UpdateCollegeContactUserRequestDeptPositionSet {
	s.DeptId = &v
	return s
}

func (s *UpdateCollegeContactUserRequestDeptPositionSet) SetManagerUserId(v string) *UpdateCollegeContactUserRequestDeptPositionSet {
	s.ManagerUserId = &v
	return s
}

func (s *UpdateCollegeContactUserRequestDeptPositionSet) SetTitle(v string) *UpdateCollegeContactUserRequestDeptPositionSet {
	s.Title = &v
	return s
}

func (s *UpdateCollegeContactUserRequestDeptPositionSet) SetWorkPlace(v string) *UpdateCollegeContactUserRequestDeptPositionSet {
	s.WorkPlace = &v
	return s
}

type UpdateCollegeContactUserRequestDeptTitleList struct {
	// example:
	//
	// 123456
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 学工处处长
	Title *string `json:"title,omitempty" xml:"title,omitempty"`
}

func (s UpdateCollegeContactUserRequestDeptTitleList) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactUserRequestDeptTitleList) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactUserRequestDeptTitleList) SetDeptId(v int64) *UpdateCollegeContactUserRequestDeptTitleList {
	s.DeptId = &v
	return s
}

func (s *UpdateCollegeContactUserRequestDeptTitleList) SetTitle(v string) *UpdateCollegeContactUserRequestDeptTitleList {
	s.Title = &v
	return s
}

type UpdateCollegeContactUserResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateCollegeContactUserResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactUserResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactUserResponseBody) SetSuccess(v bool) *UpdateCollegeContactUserResponseBody {
	s.Success = &v
	return s
}

type UpdateCollegeContactUserResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateCollegeContactUserResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateCollegeContactUserResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeContactUserResponse) GoString() string {
	return s.String()
}

func (s *UpdateCollegeContactUserResponse) SetHeaders(v map[string]*string) *UpdateCollegeContactUserResponse {
	s.Headers = v
	return s
}

func (s *UpdateCollegeContactUserResponse) SetStatusCode(v int32) *UpdateCollegeContactUserResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateCollegeContactUserResponse) SetBody(v *UpdateCollegeContactUserResponseBody) *UpdateCollegeContactUserResponse {
	s.Body = v
	return s
}

type UpdateCollegeUserEmpTypeHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateCollegeUserEmpTypeHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeUserEmpTypeHeaders) GoString() string {
	return s.String()
}

func (s *UpdateCollegeUserEmpTypeHeaders) SetCommonHeaders(v map[string]*string) *UpdateCollegeUserEmpTypeHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateCollegeUserEmpTypeHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateCollegeUserEmpTypeHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateCollegeUserEmpTypeRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// college_student
	EmpType *string `json:"empType,omitempty" xml:"empType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// zhangsan666
	Userid *string `json:"userid,omitempty" xml:"userid,omitempty"`
}

func (s UpdateCollegeUserEmpTypeRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeUserEmpTypeRequest) GoString() string {
	return s.String()
}

func (s *UpdateCollegeUserEmpTypeRequest) SetEmpType(v string) *UpdateCollegeUserEmpTypeRequest {
	s.EmpType = &v
	return s
}

func (s *UpdateCollegeUserEmpTypeRequest) SetUserid(v string) *UpdateCollegeUserEmpTypeRequest {
	s.Userid = &v
	return s
}

type UpdateCollegeUserEmpTypeResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateCollegeUserEmpTypeResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeUserEmpTypeResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateCollegeUserEmpTypeResponseBody) SetSuccess(v bool) *UpdateCollegeUserEmpTypeResponseBody {
	s.Success = &v
	return s
}

type UpdateCollegeUserEmpTypeResponse struct {
	Headers    map[string]*string                    `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateCollegeUserEmpTypeResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateCollegeUserEmpTypeResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateCollegeUserEmpTypeResponse) GoString() string {
	return s.String()
}

func (s *UpdateCollegeUserEmpTypeResponse) SetHeaders(v map[string]*string) *UpdateCollegeUserEmpTypeResponse {
	s.Headers = v
	return s
}

func (s *UpdateCollegeUserEmpTypeResponse) SetStatusCode(v int32) *UpdateCollegeUserEmpTypeResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateCollegeUserEmpTypeResponse) SetBody(v *UpdateCollegeUserEmpTypeResponseBody) *UpdateCollegeUserEmpTypeResponse {
	s.Body = v
	return s
}

type UpdateCoursesOfClassHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateCoursesOfClassHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassHeaders) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassHeaders) SetCommonHeaders(v map[string]*string) *UpdateCoursesOfClassHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateCoursesOfClassHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateCoursesOfClassHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateCoursesOfClassRequest struct {
	// This parameter is required.
	Courses []*UpdateCoursesOfClassRequestCourses `json:"courses,omitempty" xml:"courses,omitempty" type:"Repeated"`
	// This parameter is required.
	SectionConfig *UpdateCoursesOfClassRequestSectionConfig `json:"sectionConfig,omitempty" xml:"sectionConfig,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 234536346
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s UpdateCoursesOfClassRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassRequest) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassRequest) SetCourses(v []*UpdateCoursesOfClassRequestCourses) *UpdateCoursesOfClassRequest {
	s.Courses = v
	return s
}

func (s *UpdateCoursesOfClassRequest) SetSectionConfig(v *UpdateCoursesOfClassRequestSectionConfig) *UpdateCoursesOfClassRequest {
	s.SectionConfig = v
	return s
}

func (s *UpdateCoursesOfClassRequest) SetOpUserId(v string) *UpdateCoursesOfClassRequest {
	s.OpUserId = &v
	return s
}

type UpdateCoursesOfClassRequestCourses struct {
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// This parameter is required.
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 语文
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// example:
	//
	// 李老师
	CreatorName *string `json:"creatorName,omitempty" xml:"creatorName,omitempty"`
	// This parameter is required.
	DateModel *UpdateCoursesOfClassRequestCoursesDateModel `json:"dateModel,omitempty" xml:"dateModel,omitempty" type:"Struct"`
	DeleteTag *bool                                        `json:"deleteTag,omitempty" xml:"deleteTag,omitempty"`
	// example:
	//
	// 正心楼1-1
	Location *string `json:"location,omitempty" xml:"location,omitempty"`
	// This parameter is required.
	SectionModel    *UpdateCoursesOfClassRequestCoursesSectionModel `json:"sectionModel,omitempty" xml:"sectionModel,omitempty" type:"Struct"`
	TeacherStaffIds []*string                                       `json:"teacherStaffIds,omitempty" xml:"teacherStaffIds,omitempty" type:"Repeated"`
}

func (s UpdateCoursesOfClassRequestCourses) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassRequestCourses) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassRequestCourses) SetCourseCode(v string) *UpdateCoursesOfClassRequestCourses {
	s.CourseCode = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCourses) SetCourseGroupCode(v string) *UpdateCoursesOfClassRequestCourses {
	s.CourseGroupCode = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCourses) SetCourseName(v string) *UpdateCoursesOfClassRequestCourses {
	s.CourseName = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCourses) SetCreatorName(v string) *UpdateCoursesOfClassRequestCourses {
	s.CreatorName = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCourses) SetDateModel(v *UpdateCoursesOfClassRequestCoursesDateModel) *UpdateCoursesOfClassRequestCourses {
	s.DateModel = v
	return s
}

func (s *UpdateCoursesOfClassRequestCourses) SetDeleteTag(v bool) *UpdateCoursesOfClassRequestCourses {
	s.DeleteTag = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCourses) SetLocation(v string) *UpdateCoursesOfClassRequestCourses {
	s.Location = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCourses) SetSectionModel(v *UpdateCoursesOfClassRequestCoursesSectionModel) *UpdateCoursesOfClassRequestCourses {
	s.SectionModel = v
	return s
}

func (s *UpdateCoursesOfClassRequestCourses) SetTeacherStaffIds(v []*string) *UpdateCoursesOfClassRequestCourses {
	s.TeacherStaffIds = v
	return s
}

type UpdateCoursesOfClassRequestCoursesDateModel struct {
	// This parameter is required.
	//
	// example:
	//
	// 9
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 11
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2020
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s UpdateCoursesOfClassRequestCoursesDateModel) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassRequestCoursesDateModel) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassRequestCoursesDateModel) SetDayOfMonth(v int32) *UpdateCoursesOfClassRequestCoursesDateModel {
	s.DayOfMonth = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCoursesDateModel) SetMonth(v int32) *UpdateCoursesOfClassRequestCoursesDateModel {
	s.Month = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCoursesDateModel) SetYear(v int32) *UpdateCoursesOfClassRequestCoursesDateModel {
	s.Year = &v
	return s
}

type UpdateCoursesOfClassRequestCoursesSectionModel struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	SectionIndex *int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 第一节/午休
	SectionName *string `json:"sectionName,omitempty" xml:"sectionName,omitempty"`
	SectionType *string `json:"sectionType,omitempty" xml:"sectionType,omitempty"`
}

func (s UpdateCoursesOfClassRequestCoursesSectionModel) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassRequestCoursesSectionModel) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassRequestCoursesSectionModel) SetSectionIndex(v int32) *UpdateCoursesOfClassRequestCoursesSectionModel {
	s.SectionIndex = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCoursesSectionModel) SetSectionName(v string) *UpdateCoursesOfClassRequestCoursesSectionModel {
	s.SectionName = &v
	return s
}

func (s *UpdateCoursesOfClassRequestCoursesSectionModel) SetSectionType(v string) *UpdateCoursesOfClassRequestCoursesSectionModel {
	s.SectionType = &v
	return s
}

type UpdateCoursesOfClassRequestSectionConfig struct {
	// This parameter is required.
	SectionModels []*UpdateCoursesOfClassRequestSectionConfigSectionModels `json:"sectionModels,omitempty" xml:"sectionModels,omitempty" type:"Repeated"`
}

func (s UpdateCoursesOfClassRequestSectionConfig) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassRequestSectionConfig) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassRequestSectionConfig) SetSectionModels(v []*UpdateCoursesOfClassRequestSectionConfigSectionModels) *UpdateCoursesOfClassRequestSectionConfig {
	s.SectionModels = v
	return s
}

type UpdateCoursesOfClassRequestSectionConfigSectionModels struct {
	// This parameter is required.
	End *UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd `json:"end,omitempty" xml:"end,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	SectionIndex *int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty"`
	// example:
	//
	// COURSE：上课节次 REST：休息节次
	SectionType *string `json:"sectionType,omitempty" xml:"sectionType,omitempty"`
	// This parameter is required.
	Start *UpdateCoursesOfClassRequestSectionConfigSectionModelsStart `json:"start,omitempty" xml:"start,omitempty" type:"Struct"`
}

func (s UpdateCoursesOfClassRequestSectionConfigSectionModels) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassRequestSectionConfigSectionModels) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassRequestSectionConfigSectionModels) SetEnd(v *UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd) *UpdateCoursesOfClassRequestSectionConfigSectionModels {
	s.End = v
	return s
}

func (s *UpdateCoursesOfClassRequestSectionConfigSectionModels) SetSectionIndex(v int32) *UpdateCoursesOfClassRequestSectionConfigSectionModels {
	s.SectionIndex = &v
	return s
}

func (s *UpdateCoursesOfClassRequestSectionConfigSectionModels) SetSectionType(v string) *UpdateCoursesOfClassRequestSectionConfigSectionModels {
	s.SectionType = &v
	return s
}

func (s *UpdateCoursesOfClassRequestSectionConfigSectionModels) SetStart(v *UpdateCoursesOfClassRequestSectionConfigSectionModelsStart) *UpdateCoursesOfClassRequestSectionConfigSectionModels {
	s.Start = v
	return s
}

type UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd struct {
	// This parameter is required.
	//
	// example:
	//
	// 10
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 45
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd) SetHour(v int32) *UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd {
	s.Hour = &v
	return s
}

func (s *UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd) SetMin(v int32) *UpdateCoursesOfClassRequestSectionConfigSectionModelsEnd {
	s.Min = &v
	return s
}

type UpdateCoursesOfClassRequestSectionConfigSectionModelsStart struct {
	// This parameter is required.
	//
	// example:
	//
	// 10
	Hour *int32 `json:"hour,omitempty" xml:"hour,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 0
	Min *int32 `json:"min,omitempty" xml:"min,omitempty"`
}

func (s UpdateCoursesOfClassRequestSectionConfigSectionModelsStart) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassRequestSectionConfigSectionModelsStart) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassRequestSectionConfigSectionModelsStart) SetHour(v int32) *UpdateCoursesOfClassRequestSectionConfigSectionModelsStart {
	s.Hour = &v
	return s
}

func (s *UpdateCoursesOfClassRequestSectionConfigSectionModelsStart) SetMin(v int32) *UpdateCoursesOfClassRequestSectionConfigSectionModelsStart {
	s.Min = &v
	return s
}

type UpdateCoursesOfClassResponseBody struct {
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s UpdateCoursesOfClassResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassResponseBody) SetResult(v bool) *UpdateCoursesOfClassResponseBody {
	s.Result = &v
	return s
}

type UpdateCoursesOfClassResponse struct {
	Headers    map[string]*string                `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                            `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateCoursesOfClassResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateCoursesOfClassResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateCoursesOfClassResponse) GoString() string {
	return s.String()
}

func (s *UpdateCoursesOfClassResponse) SetHeaders(v map[string]*string) *UpdateCoursesOfClassResponse {
	s.Headers = v
	return s
}

func (s *UpdateCoursesOfClassResponse) SetStatusCode(v int32) *UpdateCoursesOfClassResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateCoursesOfClassResponse) SetBody(v *UpdateCoursesOfClassResponseBody) *UpdateCoursesOfClassResponse {
	s.Body = v
	return s
}

type UpdateEvaluatePerformanceCountHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateEvaluatePerformanceCountHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateEvaluatePerformanceCountHeaders) GoString() string {
	return s.String()
}

func (s *UpdateEvaluatePerformanceCountHeaders) SetCommonHeaders(v map[string]*string) *UpdateEvaluatePerformanceCountHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateEvaluatePerformanceCountHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateEvaluatePerformanceCountHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateEvaluatePerformanceCountRequest struct {
	TeacherId  *string                                            `json:"teacherId,omitempty" xml:"teacherId,omitempty"`
	UnreadData []*UpdateEvaluatePerformanceCountRequestUnreadData `json:"unreadData,omitempty" xml:"unreadData,omitempty" type:"Repeated"`
}

func (s UpdateEvaluatePerformanceCountRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateEvaluatePerformanceCountRequest) GoString() string {
	return s.String()
}

func (s *UpdateEvaluatePerformanceCountRequest) SetTeacherId(v string) *UpdateEvaluatePerformanceCountRequest {
	s.TeacherId = &v
	return s
}

func (s *UpdateEvaluatePerformanceCountRequest) SetUnreadData(v []*UpdateEvaluatePerformanceCountRequestUnreadData) *UpdateEvaluatePerformanceCountRequest {
	s.UnreadData = v
	return s
}

type UpdateEvaluatePerformanceCountRequestUnreadData struct {
	Number    *int32  `json:"number,omitempty" xml:"number,omitempty"`
	StudentId *string `json:"studentId,omitempty" xml:"studentId,omitempty"`
}

func (s UpdateEvaluatePerformanceCountRequestUnreadData) String() string {
	return tea.Prettify(s)
}

func (s UpdateEvaluatePerformanceCountRequestUnreadData) GoString() string {
	return s.String()
}

func (s *UpdateEvaluatePerformanceCountRequestUnreadData) SetNumber(v int32) *UpdateEvaluatePerformanceCountRequestUnreadData {
	s.Number = &v
	return s
}

func (s *UpdateEvaluatePerformanceCountRequestUnreadData) SetStudentId(v string) *UpdateEvaluatePerformanceCountRequestUnreadData {
	s.StudentId = &v
	return s
}

type UpdateEvaluatePerformanceCountResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateEvaluatePerformanceCountResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateEvaluatePerformanceCountResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateEvaluatePerformanceCountResponseBody) SetSuccess(v bool) *UpdateEvaluatePerformanceCountResponseBody {
	s.Success = &v
	return s
}

type UpdateEvaluatePerformanceCountResponse struct {
	Headers    map[string]*string                          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateEvaluatePerformanceCountResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateEvaluatePerformanceCountResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateEvaluatePerformanceCountResponse) GoString() string {
	return s.String()
}

func (s *UpdateEvaluatePerformanceCountResponse) SetHeaders(v map[string]*string) *UpdateEvaluatePerformanceCountResponse {
	s.Headers = v
	return s
}

func (s *UpdateEvaluatePerformanceCountResponse) SetStatusCode(v int32) *UpdateEvaluatePerformanceCountResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateEvaluatePerformanceCountResponse) SetBody(v *UpdateEvaluatePerformanceCountResponseBody) *UpdateEvaluatePerformanceCountResponse {
	s.Body = v
	return s
}

type UpdateGuardianHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateGuardianHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateGuardianHeaders) GoString() string {
	return s.String()
}

func (s *UpdateGuardianHeaders) SetCommonHeaders(v map[string]*string) *UpdateGuardianHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateGuardianHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateGuardianHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateGuardianRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 23434234234
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234324234
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 3545979
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// F
	Relation *string `json:"relation,omitempty" xml:"relation,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234234324
	StuId *string `json:"stuId,omitempty" xml:"stuId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 324324324
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s UpdateGuardianRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateGuardianRequest) GoString() string {
	return s.String()
}

func (s *UpdateGuardianRequest) SetBizId(v string) *UpdateGuardianRequest {
	s.BizId = &v
	return s
}

func (s *UpdateGuardianRequest) SetClassId(v int64) *UpdateGuardianRequest {
	s.ClassId = &v
	return s
}

func (s *UpdateGuardianRequest) SetOperator(v string) *UpdateGuardianRequest {
	s.Operator = &v
	return s
}

func (s *UpdateGuardianRequest) SetRelation(v string) *UpdateGuardianRequest {
	s.Relation = &v
	return s
}

func (s *UpdateGuardianRequest) SetStuId(v string) *UpdateGuardianRequest {
	s.StuId = &v
	return s
}

func (s *UpdateGuardianRequest) SetUserId(v string) *UpdateGuardianRequest {
	s.UserId = &v
	return s
}

type UpdateGuardianResponseBody struct {
	Result  *UpdateGuardianResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                             `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateGuardianResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateGuardianResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateGuardianResponseBody) SetResult(v *UpdateGuardianResponseBodyResult) *UpdateGuardianResponseBody {
	s.Result = v
	return s
}

func (s *UpdateGuardianResponseBody) SetSuccess(v bool) *UpdateGuardianResponseBody {
	s.Success = &v
	return s
}

type UpdateGuardianResponseBodyResult struct {
	// example:
	//
	// 234234234
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// example:
	//
	// 234234234
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s UpdateGuardianResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s UpdateGuardianResponseBodyResult) GoString() string {
	return s.String()
}

func (s *UpdateGuardianResponseBodyResult) SetBizId(v string) *UpdateGuardianResponseBodyResult {
	s.BizId = &v
	return s
}

func (s *UpdateGuardianResponseBodyResult) SetUserId(v string) *UpdateGuardianResponseBodyResult {
	s.UserId = &v
	return s
}

type UpdateGuardianResponse struct {
	Headers    map[string]*string          `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                      `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateGuardianResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateGuardianResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateGuardianResponse) GoString() string {
	return s.String()
}

func (s *UpdateGuardianResponse) SetHeaders(v map[string]*string) *UpdateGuardianResponse {
	s.Headers = v
	return s
}

func (s *UpdateGuardianResponse) SetStatusCode(v int32) *UpdateGuardianResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateGuardianResponse) SetBody(v *UpdateGuardianResponseBody) *UpdateGuardianResponse {
	s.Body = v
	return s
}

type UpdatePhysicalClassroomHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdatePhysicalClassroomHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdatePhysicalClassroomHeaders) GoString() string {
	return s.String()
}

func (s *UpdatePhysicalClassroomHeaders) SetCommonHeaders(v map[string]*string) *UpdatePhysicalClassroomHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdatePhysicalClassroomHeaders) SetXAcsDingtalkAccessToken(v string) *UpdatePhysicalClassroomHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdatePhysicalClassroomRequest struct {
	// example:
	//
	// 主楼
	ClassroomBuilding *string `json:"classroomBuilding,omitempty" xml:"classroomBuilding,omitempty"`
	// example:
	//
	// 主校区
	ClassroomCampus *string `json:"classroomCampus,omitempty" xml:"classroomCampus,omitempty"`
	// example:
	//
	// 3层
	ClassroomFloor *string `json:"classroomFloor,omitempty" xml:"classroomFloor,omitempty"`
	// example:
	//
	// 10001
	ClassroomId *int64 `json:"classroomId,omitempty" xml:"classroomId,omitempty"`
	// example:
	//
	// 实验室
	ClassroomName *string `json:"classroomName,omitempty" xml:"classroomName,omitempty"`
	// example:
	//
	// 301
	ClassroomNumber *string `json:"classroomNumber,omitempty" xml:"classroomNumber,omitempty"`
	// example:
	//
	// Y
	DirectBroadcast *string `json:"directBroadcast,omitempty" xml:"directBroadcast,omitempty"`
	// example:
	//
	// {}
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s UpdatePhysicalClassroomRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdatePhysicalClassroomRequest) GoString() string {
	return s.String()
}

func (s *UpdatePhysicalClassroomRequest) SetClassroomBuilding(v string) *UpdatePhysicalClassroomRequest {
	s.ClassroomBuilding = &v
	return s
}

func (s *UpdatePhysicalClassroomRequest) SetClassroomCampus(v string) *UpdatePhysicalClassroomRequest {
	s.ClassroomCampus = &v
	return s
}

func (s *UpdatePhysicalClassroomRequest) SetClassroomFloor(v string) *UpdatePhysicalClassroomRequest {
	s.ClassroomFloor = &v
	return s
}

func (s *UpdatePhysicalClassroomRequest) SetClassroomId(v int64) *UpdatePhysicalClassroomRequest {
	s.ClassroomId = &v
	return s
}

func (s *UpdatePhysicalClassroomRequest) SetClassroomName(v string) *UpdatePhysicalClassroomRequest {
	s.ClassroomName = &v
	return s
}

func (s *UpdatePhysicalClassroomRequest) SetClassroomNumber(v string) *UpdatePhysicalClassroomRequest {
	s.ClassroomNumber = &v
	return s
}

func (s *UpdatePhysicalClassroomRequest) SetDirectBroadcast(v string) *UpdatePhysicalClassroomRequest {
	s.DirectBroadcast = &v
	return s
}

func (s *UpdatePhysicalClassroomRequest) SetExt(v string) *UpdatePhysicalClassroomRequest {
	s.Ext = &v
	return s
}

func (s *UpdatePhysicalClassroomRequest) SetOpUserId(v string) *UpdatePhysicalClassroomRequest {
	s.OpUserId = &v
	return s
}

type UpdatePhysicalClassroomResponseBody struct {
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s UpdatePhysicalClassroomResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdatePhysicalClassroomResponseBody) GoString() string {
	return s.String()
}

func (s *UpdatePhysicalClassroomResponseBody) SetResult(v bool) *UpdatePhysicalClassroomResponseBody {
	s.Result = &v
	return s
}

type UpdatePhysicalClassroomResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdatePhysicalClassroomResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdatePhysicalClassroomResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdatePhysicalClassroomResponse) GoString() string {
	return s.String()
}

func (s *UpdatePhysicalClassroomResponse) SetHeaders(v map[string]*string) *UpdatePhysicalClassroomResponse {
	s.Headers = v
	return s
}

func (s *UpdatePhysicalClassroomResponse) SetStatusCode(v int32) *UpdatePhysicalClassroomResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdatePhysicalClassroomResponse) SetBody(v *UpdatePhysicalClassroomResponseBody) *UpdatePhysicalClassroomResponse {
	s.Body = v
	return s
}

type UpdateRemoteClassCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateRemoteClassCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassCourseHeaders) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassCourseHeaders) SetCommonHeaders(v map[string]*string) *UpdateRemoteClassCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateRemoteClassCourseHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateRemoteClassCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateRemoteClassCourseRequest struct {
	// This parameter is required.
	AttendParticipants []*UpdateRemoteClassCourseRequestAttendParticipants `json:"attendParticipants,omitempty" xml:"attendParticipants,omitempty" type:"Repeated"`
	// This parameter is required.
	AuthCode *string `json:"authCode,omitempty" xml:"authCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// qdPP123456
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 春天来了
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1634184000000
	EndTime *int64 `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1634176800000
	StartTime *int64 `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// This parameter is required.
	TeachingParticipant *UpdateRemoteClassCourseRequestTeachingParticipant `json:"teachingParticipant,omitempty" xml:"teachingParticipant,omitempty" type:"Struct"`
}

func (s UpdateRemoteClassCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassCourseRequest) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassCourseRequest) SetAttendParticipants(v []*UpdateRemoteClassCourseRequestAttendParticipants) *UpdateRemoteClassCourseRequest {
	s.AttendParticipants = v
	return s
}

func (s *UpdateRemoteClassCourseRequest) SetAuthCode(v string) *UpdateRemoteClassCourseRequest {
	s.AuthCode = &v
	return s
}

func (s *UpdateRemoteClassCourseRequest) SetCourseCode(v string) *UpdateRemoteClassCourseRequest {
	s.CourseCode = &v
	return s
}

func (s *UpdateRemoteClassCourseRequest) SetCourseName(v string) *UpdateRemoteClassCourseRequest {
	s.CourseName = &v
	return s
}

func (s *UpdateRemoteClassCourseRequest) SetEndTime(v int64) *UpdateRemoteClassCourseRequest {
	s.EndTime = &v
	return s
}

func (s *UpdateRemoteClassCourseRequest) SetStartTime(v int64) *UpdateRemoteClassCourseRequest {
	s.StartTime = &v
	return s
}

func (s *UpdateRemoteClassCourseRequest) SetTeachingParticipant(v *UpdateRemoteClassCourseRequestTeachingParticipant) *UpdateRemoteClassCourseRequest {
	s.TeachingParticipant = v
	return s
}

type UpdateRemoteClassCourseRequestAttendParticipants struct {
	// This parameter is required.
	//
	// example:
	//
	// ding234567
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234567
	ParticipantId *string `json:"participantId,omitempty" xml:"participantId,omitempty"`
}

func (s UpdateRemoteClassCourseRequestAttendParticipants) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassCourseRequestAttendParticipants) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassCourseRequestAttendParticipants) SetCorpId(v string) *UpdateRemoteClassCourseRequestAttendParticipants {
	s.CorpId = &v
	return s
}

func (s *UpdateRemoteClassCourseRequestAttendParticipants) SetParticipantId(v string) *UpdateRemoteClassCourseRequestAttendParticipants {
	s.ParticipantId = &v
	return s
}

type UpdateRemoteClassCourseRequestTeachingParticipant struct {
	// This parameter is required.
	//
	// example:
	//
	// ding123456
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 123456
	ParticipantId *string `json:"participantId,omitempty" xml:"participantId,omitempty"`
}

func (s UpdateRemoteClassCourseRequestTeachingParticipant) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassCourseRequestTeachingParticipant) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassCourseRequestTeachingParticipant) SetCorpId(v string) *UpdateRemoteClassCourseRequestTeachingParticipant {
	s.CorpId = &v
	return s
}

func (s *UpdateRemoteClassCourseRequestTeachingParticipant) SetParticipantId(v string) *UpdateRemoteClassCourseRequestTeachingParticipant {
	s.ParticipantId = &v
	return s
}

type UpdateRemoteClassCourseResponseBody struct {
	Result  *string `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool   `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateRemoteClassCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassCourseResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassCourseResponseBody) SetResult(v string) *UpdateRemoteClassCourseResponseBody {
	s.Result = &v
	return s
}

func (s *UpdateRemoteClassCourseResponseBody) SetSuccess(v bool) *UpdateRemoteClassCourseResponseBody {
	s.Success = &v
	return s
}

type UpdateRemoteClassCourseResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateRemoteClassCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateRemoteClassCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassCourseResponse) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassCourseResponse) SetHeaders(v map[string]*string) *UpdateRemoteClassCourseResponse {
	s.Headers = v
	return s
}

func (s *UpdateRemoteClassCourseResponse) SetStatusCode(v int32) *UpdateRemoteClassCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateRemoteClassCourseResponse) SetBody(v *UpdateRemoteClassCourseResponseBody) *UpdateRemoteClassCourseResponse {
	s.Body = v
	return s
}

type UpdateRemoteClassDeviceHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateRemoteClassDeviceHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassDeviceHeaders) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassDeviceHeaders) SetCommonHeaders(v map[string]*string) *UpdateRemoteClassDeviceHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateRemoteClassDeviceHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateRemoteClassDeviceHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateRemoteClassDeviceRequest struct {
	// This parameter is required.
	AuthCode *string `json:"authCode,omitempty" xml:"authCode,omitempty"`
	// This parameter is required.
	DeviceCode *string `json:"deviceCode,omitempty" xml:"deviceCode,omitempty"`
	// This parameter is required.
	DeviceName *string `json:"deviceName,omitempty" xml:"deviceName,omitempty"`
}

func (s UpdateRemoteClassDeviceRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassDeviceRequest) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassDeviceRequest) SetAuthCode(v string) *UpdateRemoteClassDeviceRequest {
	s.AuthCode = &v
	return s
}

func (s *UpdateRemoteClassDeviceRequest) SetDeviceCode(v string) *UpdateRemoteClassDeviceRequest {
	s.DeviceCode = &v
	return s
}

func (s *UpdateRemoteClassDeviceRequest) SetDeviceName(v string) *UpdateRemoteClassDeviceRequest {
	s.DeviceName = &v
	return s
}

type UpdateRemoteClassDeviceResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateRemoteClassDeviceResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassDeviceResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassDeviceResponseBody) SetSuccess(v bool) *UpdateRemoteClassDeviceResponseBody {
	s.Success = &v
	return s
}

type UpdateRemoteClassDeviceResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateRemoteClassDeviceResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateRemoteClassDeviceResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateRemoteClassDeviceResponse) GoString() string {
	return s.String()
}

func (s *UpdateRemoteClassDeviceResponse) SetHeaders(v map[string]*string) *UpdateRemoteClassDeviceResponse {
	s.Headers = v
	return s
}

func (s *UpdateRemoteClassDeviceResponse) SetStatusCode(v int32) *UpdateRemoteClassDeviceResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateRemoteClassDeviceResponse) SetBody(v *UpdateRemoteClassDeviceResponseBody) *UpdateRemoteClassDeviceResponse {
	s.Body = v
	return s
}

type UpdateStudentHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateStudentHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateStudentHeaders) GoString() string {
	return s.String()
}

func (s *UpdateStudentHeaders) SetCommonHeaders(v map[string]*string) *UpdateStudentHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateStudentHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateStudentHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateStudentRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 32432432432
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234324234
	ClassId *int64 `json:"classId,omitempty" xml:"classId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 李四
	Name *string `json:"name,omitempty" xml:"name,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manager34234
	Operator *string `json:"operator,omitempty" xml:"operator,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 23
	StudentNo *string `json:"studentNo,omitempty" xml:"studentNo,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 234234234
	UserId *string `json:"userId,omitempty" xml:"userId,omitempty"`
}

func (s UpdateStudentRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateStudentRequest) GoString() string {
	return s.String()
}

func (s *UpdateStudentRequest) SetBizId(v string) *UpdateStudentRequest {
	s.BizId = &v
	return s
}

func (s *UpdateStudentRequest) SetClassId(v int64) *UpdateStudentRequest {
	s.ClassId = &v
	return s
}

func (s *UpdateStudentRequest) SetName(v string) *UpdateStudentRequest {
	s.Name = &v
	return s
}

func (s *UpdateStudentRequest) SetOperator(v string) *UpdateStudentRequest {
	s.Operator = &v
	return s
}

func (s *UpdateStudentRequest) SetStudentNo(v string) *UpdateStudentRequest {
	s.StudentNo = &v
	return s
}

func (s *UpdateStudentRequest) SetUserId(v string) *UpdateStudentRequest {
	s.UserId = &v
	return s
}

type UpdateStudentResponseBody struct {
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UpdateStudentResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateStudentResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateStudentResponseBody) SetSuccess(v bool) *UpdateStudentResponseBody {
	s.Success = &v
	return s
}

type UpdateStudentResponse struct {
	Headers    map[string]*string         `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                     `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateStudentResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateStudentResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateStudentResponse) GoString() string {
	return s.String()
}

func (s *UpdateStudentResponse) SetHeaders(v map[string]*string) *UpdateStudentResponse {
	s.Headers = v
	return s
}

func (s *UpdateStudentResponse) SetStatusCode(v int32) *UpdateStudentResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateStudentResponse) SetBody(v *UpdateStudentResponseBody) *UpdateStudentResponse {
	s.Body = v
	return s
}

type UpdateUniversityCourseGroupHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UpdateUniversityCourseGroupHeaders) String() string {
	return tea.Prettify(s)
}

func (s UpdateUniversityCourseGroupHeaders) GoString() string {
	return s.String()
}

func (s *UpdateUniversityCourseGroupHeaders) SetCommonHeaders(v map[string]*string) *UpdateUniversityCourseGroupHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UpdateUniversityCourseGroupHeaders) SetXAcsDingtalkAccessToken(v string) *UpdateUniversityCourseGroupHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UpdateUniversityCourseGroupRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// GS1001
	CourseGroupCode *string `json:"courseGroupCode,omitempty" xml:"courseGroupCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 高等数学
	CourseGroupIntroduce *string `json:"courseGroupIntroduce,omitempty" xml:"courseGroupIntroduce,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 高等数学
	CourseGroupName *string `json:"courseGroupName,omitempty" xml:"courseGroupName,omitempty"`
	// This parameter is required.
	CourserGroupItemModels []*UpdateUniversityCourseGroupRequestCourserGroupItemModels `json:"courserGroupItemModels,omitempty" xml:"courserGroupItemModels,omitempty" type:"Repeated"`
	// example:
	//
	// {}
	Ext *string `json:"ext,omitempty" xml:"ext,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// manger1234
	OpUserId *string `json:"opUserId,omitempty" xml:"opUserId,omitempty"`
}

func (s UpdateUniversityCourseGroupRequest) String() string {
	return tea.Prettify(s)
}

func (s UpdateUniversityCourseGroupRequest) GoString() string {
	return s.String()
}

func (s *UpdateUniversityCourseGroupRequest) SetCourseGroupCode(v string) *UpdateUniversityCourseGroupRequest {
	s.CourseGroupCode = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequest) SetCourseGroupIntroduce(v string) *UpdateUniversityCourseGroupRequest {
	s.CourseGroupIntroduce = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequest) SetCourseGroupName(v string) *UpdateUniversityCourseGroupRequest {
	s.CourseGroupName = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequest) SetCourserGroupItemModels(v []*UpdateUniversityCourseGroupRequestCourserGroupItemModels) *UpdateUniversityCourseGroupRequest {
	s.CourserGroupItemModels = v
	return s
}

func (s *UpdateUniversityCourseGroupRequest) SetExt(v string) *UpdateUniversityCourseGroupRequest {
	s.Ext = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequest) SetOpUserId(v string) *UpdateUniversityCourseGroupRequest {
	s.OpUserId = &v
	return s
}

type UpdateUniversityCourseGroupRequestCourserGroupItemModels struct {
	// This parameter is required.
	//
	// example:
	//
	// 1、单周；2、双周；3、全周
	ClassPeriodType *int32 `json:"classPeriodType,omitempty" xml:"classPeriodType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1:音视频直播\2:线下课程\4:音视频及线下
	ClassroomId *int64 `json:"classroomId,omitempty" xml:"classroomId,omitempty"`
	// This parameter is required.
	CourseType *int32 `json:"courseType,omitempty" xml:"courseType,omitempty"`
	// This parameter is required.
	CourserGroupItemEndDate *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate `json:"courserGroupItemEndDate,omitempty" xml:"courserGroupItemEndDate,omitempty" type:"Struct"`
	// This parameter is required.
	CourserGroupItemStartDate *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate `json:"courserGroupItemStartDate,omitempty" xml:"courserGroupItemStartDate,omitempty" type:"Struct"`
	// This parameter is required.
	//
	// example:
	//
	// 7
	DayOfWeek *int32 `json:"dayOfWeek,omitempty" xml:"dayOfWeek,omitempty"`
	// This parameter is required.
	SectionIndex []*int32 `json:"sectionIndex,omitempty" xml:"sectionIndex,omitempty" type:"Repeated"`
}

func (s UpdateUniversityCourseGroupRequestCourserGroupItemModels) String() string {
	return tea.Prettify(s)
}

func (s UpdateUniversityCourseGroupRequestCourserGroupItemModels) GoString() string {
	return s.String()
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModels) SetClassPeriodType(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModels {
	s.ClassPeriodType = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModels) SetClassroomId(v int64) *UpdateUniversityCourseGroupRequestCourserGroupItemModels {
	s.ClassroomId = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModels) SetCourseType(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModels {
	s.CourseType = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModels) SetCourserGroupItemEndDate(v *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) *UpdateUniversityCourseGroupRequestCourserGroupItemModels {
	s.CourserGroupItemEndDate = v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModels) SetCourserGroupItemStartDate(v *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) *UpdateUniversityCourseGroupRequestCourserGroupItemModels {
	s.CourserGroupItemStartDate = v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModels) SetDayOfWeek(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModels {
	s.DayOfWeek = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModels) SetSectionIndex(v []*int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModels {
	s.SectionIndex = v
	return s
}

type UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 31
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) String() string {
	return tea.Prettify(s)
}

func (s UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) GoString() string {
	return s.String()
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) SetDayOfMonth(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate {
	s.DayOfMonth = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) SetMonth(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate {
	s.Month = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate) SetYear(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemEndDate {
	s.Year = &v
	return s
}

type UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	DayOfMonth *int32 `json:"dayOfMonth,omitempty" xml:"dayOfMonth,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 10
	Month *int32 `json:"month,omitempty" xml:"month,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 2021
	Year *int32 `json:"year,omitempty" xml:"year,omitempty"`
}

func (s UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) String() string {
	return tea.Prettify(s)
}

func (s UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) GoString() string {
	return s.String()
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) SetDayOfMonth(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate {
	s.DayOfMonth = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) SetMonth(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate {
	s.Month = &v
	return s
}

func (s *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate) SetYear(v int32) *UpdateUniversityCourseGroupRequestCourserGroupItemModelsCourserGroupItemStartDate {
	s.Year = &v
	return s
}

type UpdateUniversityCourseGroupResponseBody struct {
	// This parameter is required.
	//
	// example:
	//
	// true
	Result *bool `json:"result,omitempty" xml:"result,omitempty"`
}

func (s UpdateUniversityCourseGroupResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UpdateUniversityCourseGroupResponseBody) GoString() string {
	return s.String()
}

func (s *UpdateUniversityCourseGroupResponseBody) SetResult(v bool) *UpdateUniversityCourseGroupResponseBody {
	s.Result = &v
	return s
}

type UpdateUniversityCourseGroupResponse struct {
	Headers    map[string]*string                       `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                   `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UpdateUniversityCourseGroupResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UpdateUniversityCourseGroupResponse) String() string {
	return tea.Prettify(s)
}

func (s UpdateUniversityCourseGroupResponse) GoString() string {
	return s.String()
}

func (s *UpdateUniversityCourseGroupResponse) SetHeaders(v map[string]*string) *UpdateUniversityCourseGroupResponse {
	s.Headers = v
	return s
}

func (s *UpdateUniversityCourseGroupResponse) SetStatusCode(v int32) *UpdateUniversityCourseGroupResponse {
	s.StatusCode = &v
	return s
}

func (s *UpdateUniversityCourseGroupResponse) SetBody(v *UpdateUniversityCourseGroupResponseBody) *UpdateUniversityCourseGroupResponse {
	s.Body = v
	return s
}

type UploadLearningDataCallbackHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s UploadLearningDataCallbackHeaders) String() string {
	return tea.Prettify(s)
}

func (s UploadLearningDataCallbackHeaders) GoString() string {
	return s.String()
}

func (s *UploadLearningDataCallbackHeaders) SetCommonHeaders(v map[string]*string) *UploadLearningDataCallbackHeaders {
	s.CommonHeaders = v
	return s
}

func (s *UploadLearningDataCallbackHeaders) SetXAcsDingtalkAccessToken(v string) *UploadLearningDataCallbackHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type UploadLearningDataCallbackRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// 1
	BizId *string `json:"bizId,omitempty" xml:"bizId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// HOMEWORK
	BizType *string `json:"bizType,omitempty" xml:"bizType,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// dingxxxxxxxxxxxxxxxxxxxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// 1
	DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"`
	// example:
	//
	// 1672502400000
	GeneratedTime *int64 `json:"generatedTime,omitempty" xml:"generatedTime,omitempty"`
	// example:
	//
	// 0123456
	StudentUserId *string `json:"studentUserId,omitempty" xml:"studentUserId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// shuxue
	SubjectCode *string `json:"subjectCode,omitempty" xml:"subjectCode,omitempty"`
}

func (s UploadLearningDataCallbackRequest) String() string {
	return tea.Prettify(s)
}

func (s UploadLearningDataCallbackRequest) GoString() string {
	return s.String()
}

func (s *UploadLearningDataCallbackRequest) SetBizId(v string) *UploadLearningDataCallbackRequest {
	s.BizId = &v
	return s
}

func (s *UploadLearningDataCallbackRequest) SetBizType(v string) *UploadLearningDataCallbackRequest {
	s.BizType = &v
	return s
}

func (s *UploadLearningDataCallbackRequest) SetCorpId(v string) *UploadLearningDataCallbackRequest {
	s.CorpId = &v
	return s
}

func (s *UploadLearningDataCallbackRequest) SetDeptId(v int64) *UploadLearningDataCallbackRequest {
	s.DeptId = &v
	return s
}

func (s *UploadLearningDataCallbackRequest) SetGeneratedTime(v int64) *UploadLearningDataCallbackRequest {
	s.GeneratedTime = &v
	return s
}

func (s *UploadLearningDataCallbackRequest) SetStudentUserId(v string) *UploadLearningDataCallbackRequest {
	s.StudentUserId = &v
	return s
}

func (s *UploadLearningDataCallbackRequest) SetSubjectCode(v string) *UploadLearningDataCallbackRequest {
	s.SubjectCode = &v
	return s
}

type UploadLearningDataCallbackResponseBody struct {
	Result  *bool `json:"result,omitempty" xml:"result,omitempty"`
	Success *bool `json:"success,omitempty" xml:"success,omitempty"`
}

func (s UploadLearningDataCallbackResponseBody) String() string {
	return tea.Prettify(s)
}

func (s UploadLearningDataCallbackResponseBody) GoString() string {
	return s.String()
}

func (s *UploadLearningDataCallbackResponseBody) SetResult(v bool) *UploadLearningDataCallbackResponseBody {
	s.Result = &v
	return s
}

func (s *UploadLearningDataCallbackResponseBody) SetSuccess(v bool) *UploadLearningDataCallbackResponseBody {
	s.Success = &v
	return s
}

type UploadLearningDataCallbackResponse struct {
	Headers    map[string]*string                      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *UploadLearningDataCallbackResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s UploadLearningDataCallbackResponse) String() string {
	return tea.Prettify(s)
}

func (s UploadLearningDataCallbackResponse) GoString() string {
	return s.String()
}

func (s *UploadLearningDataCallbackResponse) SetHeaders(v map[string]*string) *UploadLearningDataCallbackResponse {
	s.Headers = v
	return s
}

func (s *UploadLearningDataCallbackResponse) SetStatusCode(v int32) *UploadLearningDataCallbackResponse {
	s.StatusCode = &v
	return s
}

func (s *UploadLearningDataCallbackResponse) SetBody(v *UploadLearningDataCallbackResponseBody) *UploadLearningDataCallbackResponse {
	s.Body = v
	return s
}

type VPaasProxyHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s VPaasProxyHeaders) String() string {
	return tea.Prettify(s)
}

func (s VPaasProxyHeaders) GoString() string {
	return s.String()
}

func (s *VPaasProxyHeaders) SetCommonHeaders(v map[string]*string) *VPaasProxyHeaders {
	s.CommonHeaders = v
	return s
}

func (s *VPaasProxyHeaders) SetXAcsDingtalkAccessToken(v string) *VPaasProxyHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type VPaasProxyRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// init
	ActionCode *string `json:"actionCode,omitempty" xml:"actionCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// {"a":"testA","b":"testB"}
	Params *string `json:"params,omitempty" xml:"params,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVGpgpjjbBS1Pg1tYx23KDJiXokVdKFLdJznKxQe+fZcIOtcQDIYrfrBfHmiC/gASeF5NUTSrwjkr/i/2gqhIIxRinNJQm8L4GJ6fRGjN8tND7AfhfkGYIfOJCLFSiaYSa4TCM7WsmztkpR7DSvb4P+K/ppqYFfUB46a9nCcvecQIDAQAB
	PublicKey *string `json:"publicKey,omitempty" xml:"publicKey,omitempty"`
}

func (s VPaasProxyRequest) String() string {
	return tea.Prettify(s)
}

func (s VPaasProxyRequest) GoString() string {
	return s.String()
}

func (s *VPaasProxyRequest) SetActionCode(v string) *VPaasProxyRequest {
	s.ActionCode = &v
	return s
}

func (s *VPaasProxyRequest) SetParams(v string) *VPaasProxyRequest {
	s.Params = &v
	return s
}

func (s *VPaasProxyRequest) SetPublicKey(v string) *VPaasProxyRequest {
	s.PublicKey = &v
	return s
}

type VPaasProxyResponseBody struct {
	Result *string `json:"result,omitempty" xml:"result,omitempty"`
	Ticket *string `json:"ticket,omitempty" xml:"ticket,omitempty"`
}

func (s VPaasProxyResponseBody) String() string {
	return tea.Prettify(s)
}

func (s VPaasProxyResponseBody) GoString() string {
	return s.String()
}

func (s *VPaasProxyResponseBody) SetResult(v string) *VPaasProxyResponseBody {
	s.Result = &v
	return s
}

func (s *VPaasProxyResponseBody) SetTicket(v string) *VPaasProxyResponseBody {
	s.Ticket = &v
	return s
}

type VPaasProxyResponse struct {
	Headers    map[string]*string      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *VPaasProxyResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s VPaasProxyResponse) String() string {
	return tea.Prettify(s)
}

func (s VPaasProxyResponse) GoString() string {
	return s.String()
}

func (s *VPaasProxyResponse) SetHeaders(v map[string]*string) *VPaasProxyResponse {
	s.Headers = v
	return s
}

func (s *VPaasProxyResponse) SetStatusCode(v int32) *VPaasProxyResponse {
	s.StatusCode = &v
	return s
}

func (s *VPaasProxyResponse) SetBody(v *VPaasProxyResponseBody) *VPaasProxyResponse {
	s.Body = v
	return s
}

type ValidateNewGradeManagerHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ValidateNewGradeManagerHeaders) String() string {
	return tea.Prettify(s)
}

func (s ValidateNewGradeManagerHeaders) GoString() string {
	return s.String()
}

func (s *ValidateNewGradeManagerHeaders) SetCommonHeaders(v map[string]*string) *ValidateNewGradeManagerHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ValidateNewGradeManagerHeaders) SetXAcsDingtalkAccessToken(v string) *ValidateNewGradeManagerHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ValidateNewGradeManagerRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// VYn5fYjORJMi
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
}

func (s ValidateNewGradeManagerRequest) String() string {
	return tea.Prettify(s)
}

func (s ValidateNewGradeManagerRequest) GoString() string {
	return s.String()
}

func (s *ValidateNewGradeManagerRequest) SetUnionId(v string) *ValidateNewGradeManagerRequest {
	s.UnionId = &v
	return s
}

type ValidateNewGradeManagerResponseBody struct {
	MatchRule *bool `json:"matchRule,omitempty" xml:"matchRule,omitempty"`
}

func (s ValidateNewGradeManagerResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ValidateNewGradeManagerResponseBody) GoString() string {
	return s.String()
}

func (s *ValidateNewGradeManagerResponseBody) SetMatchRule(v bool) *ValidateNewGradeManagerResponseBody {
	s.MatchRule = &v
	return s
}

type ValidateNewGradeManagerResponse struct {
	Headers    map[string]*string                   `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                               `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ValidateNewGradeManagerResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ValidateNewGradeManagerResponse) String() string {
	return tea.Prettify(s)
}

func (s ValidateNewGradeManagerResponse) GoString() string {
	return s.String()
}

func (s *ValidateNewGradeManagerResponse) SetHeaders(v map[string]*string) *ValidateNewGradeManagerResponse {
	s.Headers = v
	return s
}

func (s *ValidateNewGradeManagerResponse) SetStatusCode(v int32) *ValidateNewGradeManagerResponse {
	s.StatusCode = &v
	return s
}

func (s *ValidateNewGradeManagerResponse) SetBody(v *ValidateNewGradeManagerResponseBody) *ValidateNewGradeManagerResponse {
	s.Body = v
	return s
}

type ValidateUserRoleHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s ValidateUserRoleHeaders) String() string {
	return tea.Prettify(s)
}

func (s ValidateUserRoleHeaders) GoString() string {
	return s.String()
}

func (s *ValidateUserRoleHeaders) SetCommonHeaders(v map[string]*string) *ValidateUserRoleHeaders {
	s.CommonHeaders = v
	return s
}

func (s *ValidateUserRoleHeaders) SetXAcsDingtalkAccessToken(v string) *ValidateUserRoleHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type ValidateUserRoleRequest struct {
	// example:
	//
	// 1677600000000
	TimeThreshold *int64 `json:"timeThreshold,omitempty" xml:"timeThreshold,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// VYn5fYjORJMi
	UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
}

func (s ValidateUserRoleRequest) String() string {
	return tea.Prettify(s)
}

func (s ValidateUserRoleRequest) GoString() string {
	return s.String()
}

func (s *ValidateUserRoleRequest) SetTimeThreshold(v int64) *ValidateUserRoleRequest {
	s.TimeThreshold = &v
	return s
}

func (s *ValidateUserRoleRequest) SetUnionId(v string) *ValidateUserRoleRequest {
	s.UnionId = &v
	return s
}

type ValidateUserRoleResponseBody struct {
	MatchParentIdentity  *bool `json:"matchParentIdentity,omitempty" xml:"matchParentIdentity,omitempty"`
	MatchTeacherIdentity *bool `json:"matchTeacherIdentity,omitempty" xml:"matchTeacherIdentity,omitempty"`
}

func (s ValidateUserRoleResponseBody) String() string {
	return tea.Prettify(s)
}

func (s ValidateUserRoleResponseBody) GoString() string {
	return s.String()
}

func (s *ValidateUserRoleResponseBody) SetMatchParentIdentity(v bool) *ValidateUserRoleResponseBody {
	s.MatchParentIdentity = &v
	return s
}

func (s *ValidateUserRoleResponseBody) SetMatchTeacherIdentity(v bool) *ValidateUserRoleResponseBody {
	s.MatchTeacherIdentity = &v
	return s
}

type ValidateUserRoleResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *ValidateUserRoleResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s ValidateUserRoleResponse) String() string {
	return tea.Prettify(s)
}

func (s ValidateUserRoleResponse) GoString() string {
	return s.String()
}

func (s *ValidateUserRoleResponse) SetHeaders(v map[string]*string) *ValidateUserRoleResponse {
	s.Headers = v
	return s
}

func (s *ValidateUserRoleResponse) SetStatusCode(v int32) *ValidateUserRoleResponse {
	s.StatusCode = &v
	return s
}

func (s *ValidateUserRoleResponse) SetBody(v *ValidateUserRoleResponseBody) *ValidateUserRoleResponse {
	s.Body = v
	return s
}

type VerifyEduOrgCertificationHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s VerifyEduOrgCertificationHeaders) String() string {
	return tea.Prettify(s)
}

func (s VerifyEduOrgCertificationHeaders) GoString() string {
	return s.String()
}

func (s *VerifyEduOrgCertificationHeaders) SetCommonHeaders(v map[string]*string) *VerifyEduOrgCertificationHeaders {
	s.CommonHeaders = v
	return s
}

func (s *VerifyEduOrgCertificationHeaders) SetXAcsDingtalkAccessToken(v string) *VerifyEduOrgCertificationHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type VerifyEduOrgCertificationRequest struct {
	// example:
	//
	// TEST
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// example:
	//
	// ding1234
	TargetCorpId *string `json:"targetCorpId,omitempty" xml:"targetCorpId,omitempty"`
}

func (s VerifyEduOrgCertificationRequest) String() string {
	return tea.Prettify(s)
}

func (s VerifyEduOrgCertificationRequest) GoString() string {
	return s.String()
}

func (s *VerifyEduOrgCertificationRequest) SetBizCode(v string) *VerifyEduOrgCertificationRequest {
	s.BizCode = &v
	return s
}

func (s *VerifyEduOrgCertificationRequest) SetTargetCorpId(v string) *VerifyEduOrgCertificationRequest {
	s.TargetCorpId = &v
	return s
}

type VerifyEduOrgCertificationResponseBody struct {
	Certificated *bool `json:"certificated,omitempty" xml:"certificated,omitempty"`
}

func (s VerifyEduOrgCertificationResponseBody) String() string {
	return tea.Prettify(s)
}

func (s VerifyEduOrgCertificationResponseBody) GoString() string {
	return s.String()
}

func (s *VerifyEduOrgCertificationResponseBody) SetCertificated(v bool) *VerifyEduOrgCertificationResponseBody {
	s.Certificated = &v
	return s
}

type VerifyEduOrgCertificationResponse struct {
	Headers    map[string]*string                     `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                 `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *VerifyEduOrgCertificationResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s VerifyEduOrgCertificationResponse) String() string {
	return tea.Prettify(s)
}

func (s VerifyEduOrgCertificationResponse) GoString() string {
	return s.String()
}

func (s *VerifyEduOrgCertificationResponse) SetHeaders(v map[string]*string) *VerifyEduOrgCertificationResponse {
	s.Headers = v
	return s
}

func (s *VerifyEduOrgCertificationResponse) SetStatusCode(v int32) *VerifyEduOrgCertificationResponse {
	s.StatusCode = &v
	return s
}

func (s *VerifyEduOrgCertificationResponse) SetBody(v *VerifyEduOrgCertificationResponseBody) *VerifyEduOrgCertificationResponse {
	s.Body = v
	return s
}

type VerifyEduUserCertificationHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s VerifyEduUserCertificationHeaders) String() string {
	return tea.Prettify(s)
}

func (s VerifyEduUserCertificationHeaders) GoString() string {
	return s.String()
}

func (s *VerifyEduUserCertificationHeaders) SetCommonHeaders(v map[string]*string) *VerifyEduUserCertificationHeaders {
	s.CommonHeaders = v
	return s
}

func (s *VerifyEduUserCertificationHeaders) SetXAcsDingtalkAccessToken(v string) *VerifyEduUserCertificationHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type VerifyEduUserCertificationRequest struct {
	// This parameter is required.
	//
	// example:
	//
	// EDU_TEST
	BizCode *string `json:"bizCode,omitempty" xml:"bizCode,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// ding1234
	TargetCorpId *string `json:"targetCorpId,omitempty" xml:"targetCorpId,omitempty"`
	// This parameter is required.
	//
	// example:
	//
	// user123
	TargetUserId *string `json:"targetUserId,omitempty" xml:"targetUserId,omitempty"`
}

func (s VerifyEduUserCertificationRequest) String() string {
	return tea.Prettify(s)
}

func (s VerifyEduUserCertificationRequest) GoString() string {
	return s.String()
}

func (s *VerifyEduUserCertificationRequest) SetBizCode(v string) *VerifyEduUserCertificationRequest {
	s.BizCode = &v
	return s
}

func (s *VerifyEduUserCertificationRequest) SetTargetCorpId(v string) *VerifyEduUserCertificationRequest {
	s.TargetCorpId = &v
	return s
}

func (s *VerifyEduUserCertificationRequest) SetTargetUserId(v string) *VerifyEduUserCertificationRequest {
	s.TargetUserId = &v
	return s
}

type VerifyEduUserCertificationResponseBody struct {
	Certificated        *bool   `json:"certificated,omitempty" xml:"certificated,omitempty"`
	CertificatedCorpId  *string `json:"certificatedCorpId,omitempty" xml:"certificatedCorpId,omitempty"`
	CertificatedOrgName *string `json:"certificatedOrgName,omitempty" xml:"certificatedOrgName,omitempty"`
	CertificatedUserId  *string `json:"certificatedUserId,omitempty" xml:"certificatedUserId,omitempty"`
}

func (s VerifyEduUserCertificationResponseBody) String() string {
	return tea.Prettify(s)
}

func (s VerifyEduUserCertificationResponseBody) GoString() string {
	return s.String()
}

func (s *VerifyEduUserCertificationResponseBody) SetCertificated(v bool) *VerifyEduUserCertificationResponseBody {
	s.Certificated = &v
	return s
}

func (s *VerifyEduUserCertificationResponseBody) SetCertificatedCorpId(v string) *VerifyEduUserCertificationResponseBody {
	s.CertificatedCorpId = &v
	return s
}

func (s *VerifyEduUserCertificationResponseBody) SetCertificatedOrgName(v string) *VerifyEduUserCertificationResponseBody {
	s.CertificatedOrgName = &v
	return s
}

func (s *VerifyEduUserCertificationResponseBody) SetCertificatedUserId(v string) *VerifyEduUserCertificationResponseBody {
	s.CertificatedUserId = &v
	return s
}

type VerifyEduUserCertificationResponse struct {
	Headers    map[string]*string                      `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                                  `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *VerifyEduUserCertificationResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s VerifyEduUserCertificationResponse) String() string {
	return tea.Prettify(s)
}

func (s VerifyEduUserCertificationResponse) GoString() string {
	return s.String()
}

func (s *VerifyEduUserCertificationResponse) SetHeaders(v map[string]*string) *VerifyEduUserCertificationResponse {
	s.Headers = v
	return s
}

func (s *VerifyEduUserCertificationResponse) SetStatusCode(v int32) *VerifyEduUserCertificationResponse {
	s.StatusCode = &v
	return s
}

func (s *VerifyEduUserCertificationResponse) SetBody(v *VerifyEduUserCertificationResponseBody) *VerifyEduUserCertificationResponse {
	s.Body = v
	return s
}

type QueryClassCourseHeaders struct {
	CommonHeaders           map[string]*string `json:"commonHeaders,omitempty" xml:"commonHeaders,omitempty"`
	XAcsDingtalkAccessToken *string            `json:"x-acs-dingtalk-access-token,omitempty" xml:"x-acs-dingtalk-access-token,omitempty"`
}

func (s QueryClassCourseHeaders) String() string {
	return tea.Prettify(s)
}

func (s QueryClassCourseHeaders) GoString() string {
	return s.String()
}

func (s *QueryClassCourseHeaders) SetCommonHeaders(v map[string]*string) *QueryClassCourseHeaders {
	s.CommonHeaders = v
	return s
}

func (s *QueryClassCourseHeaders) SetXAcsDingtalkAccessToken(v string) *QueryClassCourseHeaders {
	s.XAcsDingtalkAccessToken = &v
	return s
}

type QueryClassCourseRequest struct {
	// example:
	//
	// class_xxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// ding_xxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// ISV_XXX
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course_xxx
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
}

func (s QueryClassCourseRequest) String() string {
	return tea.Prettify(s)
}

func (s QueryClassCourseRequest) GoString() string {
	return s.String()
}

func (s *QueryClassCourseRequest) SetClassId(v string) *QueryClassCourseRequest {
	s.ClassId = &v
	return s
}

func (s *QueryClassCourseRequest) SetCorpId(v string) *QueryClassCourseRequest {
	s.CorpId = &v
	return s
}

func (s *QueryClassCourseRequest) SetIsvCode(v string) *QueryClassCourseRequest {
	s.IsvCode = &v
	return s
}

func (s *QueryClassCourseRequest) SetIsvCourseId(v string) *QueryClassCourseRequest {
	s.IsvCourseId = &v
	return s
}

type QueryClassCourseResponseBody struct {
	Result  *QueryClassCourseResponseBodyResult `json:"result,omitempty" xml:"result,omitempty" type:"Struct"`
	Success *bool                               `json:"success,omitempty" xml:"success,omitempty"`
}

func (s QueryClassCourseResponseBody) String() string {
	return tea.Prettify(s)
}

func (s QueryClassCourseResponseBody) GoString() string {
	return s.String()
}

func (s *QueryClassCourseResponseBody) SetResult(v *QueryClassCourseResponseBodyResult) *QueryClassCourseResponseBody {
	s.Result = v
	return s
}

func (s *QueryClassCourseResponseBody) SetSuccess(v bool) *QueryClassCourseResponseBody {
	s.Success = &v
	return s
}

type QueryClassCourseResponseBodyResult struct {
	// example:
	//
	// {""}
	Attributes *string `json:"attributes,omitempty" xml:"attributes,omitempty"`
	// example:
	//
	// class_xxx
	ClassId *string `json:"classId,omitempty" xml:"classId,omitempty"`
	// example:
	//
	// 一年级一班
	ClassName *string `json:"className,omitempty" xml:"className,omitempty"`
	// example:
	//
	// classroom_xxx
	ClassRoomId *string `json:"classRoomId,omitempty" xml:"classRoomId,omitempty"`
	// example:
	//
	// 音乐教室
	ClassRoomName *string `json:"classRoomName,omitempty" xml:"classRoomName,omitempty"`
	// example:
	//
	// 1
	ClassType *int32 `json:"classType,omitempty" xml:"classType,omitempty"`
	// example:
	//
	// ding_xxx
	CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
	// example:
	//
	// course_xxx
	CourseCode *string `json:"courseCode,omitempty" xml:"courseCode,omitempty"`
	// example:
	//
	// 2024-11-11 00:00:00
	CourseDate *string `json:"courseDate,omitempty" xml:"courseDate,omitempty"`
	// example:
	//
	// 语文
	CourseName *string `json:"courseName,omitempty" xml:"courseName,omitempty"`
	// example:
	//
	// 0
	CourseWeek *int32 `json:"courseWeek,omitempty" xml:"courseWeek,omitempty"`
	// example:
	//
	// 2024-11-12 09:00:00
	EndTime *string `json:"endTime,omitempty" xml:"endTime,omitempty"`
	// example:
	//
	// isv_xxx
	IsvCode *string `json:"isvCode,omitempty" xml:"isvCode,omitempty"`
	// example:
	//
	// course_xxx
	IsvCourseId *string `json:"isvCourseId,omitempty" xml:"isvCourseId,omitempty"`
	// example:
	//
	// memo
	Memo *string `json:"memo,omitempty" xml:"memo,omitempty"`
	// example:
	//
	// 2024
	SchoolYear *string `json:"schoolYear,omitempty" xml:"schoolYear,omitempty"`
	// example:
	//
	// 1
	Semester *int32 `json:"semester,omitempty" xml:"semester,omitempty"`
	// example:
	//
	// 2024-11-12 09:00:00
	StartTime *string `json:"startTime,omitempty" xml:"startTime,omitempty"`
	// example:
	//
	// 1
	Status *int32 `json:"status,omitempty" xml:"status,omitempty"`
	// example:
	//
	// 1
	TeachWeek *int32 `json:"teachWeek,omitempty" xml:"teachWeek,omitempty"`
	// example:
	//
	// 第一节
	TimeslotName *string `json:"timeslotName,omitempty" xml:"timeslotName,omitempty"`
	// example:
	//
	// 1
	TimeslotNum *int32 `json:"timeslotNum,omitempty" xml:"timeslotNum,omitempty"`
	// example:
	//
	// 1
	Type *int32 `json:"type,omitempty" xml:"type,omitempty"`
}

func (s QueryClassCourseResponseBodyResult) String() string {
	return tea.Prettify(s)
}

func (s QueryClassCourseResponseBodyResult) GoString() string {
	return s.String()
}

func (s *QueryClassCourseResponseBodyResult) SetAttributes(v string) *QueryClassCourseResponseBodyResult {
	s.Attributes = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetClassId(v string) *QueryClassCourseResponseBodyResult {
	s.ClassId = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetClassName(v string) *QueryClassCourseResponseBodyResult {
	s.ClassName = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetClassRoomId(v string) *QueryClassCourseResponseBodyResult {
	s.ClassRoomId = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetClassRoomName(v string) *QueryClassCourseResponseBodyResult {
	s.ClassRoomName = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetClassType(v int32) *QueryClassCourseResponseBodyResult {
	s.ClassType = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetCorpId(v string) *QueryClassCourseResponseBodyResult {
	s.CorpId = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetCourseCode(v string) *QueryClassCourseResponseBodyResult {
	s.CourseCode = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetCourseDate(v string) *QueryClassCourseResponseBodyResult {
	s.CourseDate = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetCourseName(v string) *QueryClassCourseResponseBodyResult {
	s.CourseName = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetCourseWeek(v int32) *QueryClassCourseResponseBodyResult {
	s.CourseWeek = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetEndTime(v string) *QueryClassCourseResponseBodyResult {
	s.EndTime = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetIsvCode(v string) *QueryClassCourseResponseBodyResult {
	s.IsvCode = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetIsvCourseId(v string) *QueryClassCourseResponseBodyResult {
	s.IsvCourseId = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetMemo(v string) *QueryClassCourseResponseBodyResult {
	s.Memo = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetSchoolYear(v string) *QueryClassCourseResponseBodyResult {
	s.SchoolYear = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetSemester(v int32) *QueryClassCourseResponseBodyResult {
	s.Semester = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetStartTime(v string) *QueryClassCourseResponseBodyResult {
	s.StartTime = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetStatus(v int32) *QueryClassCourseResponseBodyResult {
	s.Status = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetTeachWeek(v int32) *QueryClassCourseResponseBodyResult {
	s.TeachWeek = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetTimeslotName(v string) *QueryClassCourseResponseBodyResult {
	s.TimeslotName = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetTimeslotNum(v int32) *QueryClassCourseResponseBodyResult {
	s.TimeslotNum = &v
	return s
}

func (s *QueryClassCourseResponseBodyResult) SetType(v int32) *QueryClassCourseResponseBodyResult {
	s.Type = &v
	return s
}

type QueryClassCourseResponse struct {
	Headers    map[string]*string            `json:"headers,omitempty" xml:"headers,omitempty"`
	StatusCode *int32                        `json:"statusCode,omitempty" xml:"statusCode,omitempty"`
	Body       *QueryClassCourseResponseBody `json:"body,omitempty" xml:"body,omitempty"`
}

func (s QueryClassCourseResponse) String() string {
	return tea.Prettify(s)
}

func (s QueryClassCourseResponse) GoString() string {
	return s.String()
}

func (s *QueryClassCourseResponse) SetHeaders(v map[string]*string) *QueryClassCourseResponse {
	s.Headers = v
	return s
}

func (s *QueryClassCourseResponse) SetStatusCode(v int32) *QueryClassCourseResponse {
	s.StatusCode = &v
	return s
}

func (s *QueryClassCourseResponse) SetBody(v *QueryClassCourseResponseBody) *QueryClassCourseResponse {
	s.Body = v
	return s
}

type Client struct {
	openapi.Client
}

func NewClient(config *openapi.Config) (*Client, error) {
	client := new(Client)
	err := client.Init(config)
	return client, err
}

func (client *Client) Init(config *openapi.Config) (_err error) {
	_err = client.Client.Init(config)
	if _err != nil {
		return _err
	}
	gatewayClient, _err := gatewayclient.NewClient()
	if _err != nil {
		return _err
	}

	client.Spi = gatewayClient
	client.EndpointRule = tea.String("")
	if tea.BoolValue(util.Empty(client.Endpoint)) {
		client.Endpoint = tea.String("api.dingtalk.com")
	}

	return nil
}

// Summary:
//
// 视讯paas机具激活
//
// @param request - ActivateDeviceRequest
//
// @param headers - ActivateDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ActivateDeviceResponse
func (client *Client) ActivateDeviceWithOptions(request *ActivateDeviceRequest, headers *ActivateDeviceHeaders, runtime *util.RuntimeOptions) (_result *ActivateDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.LicenseKey)) {
		body["licenseKey"] = request.LicenseKey
	}

	if !tea.BoolValue(util.IsUnset(request.Model)) {
		body["model"] = request.Model
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("ActivateDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpaas/devices/activate"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ActivateDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 视讯paas机具激活
//
// @param request - ActivateDeviceRequest
//
// @return ActivateDeviceResponse
func (client *Client) ActivateDevice(request *ActivateDeviceRequest) (_result *ActivateDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ActivateDeviceHeaders{}
	_result = &ActivateDeviceResponse{}
	_body, _err := client.ActivateDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 高校校友会批量创建部门
//
// @param request - AddCollegeAlumniDeptsRequest
//
// @param headers - AddCollegeAlumniDeptsHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddCollegeAlumniDeptsResponse
func (client *Client) AddCollegeAlumniDeptsWithOptions(request *AddCollegeAlumniDeptsRequest, headers *AddCollegeAlumniDeptsHeaders, runtime *util.RuntimeOptions) (_result *AddCollegeAlumniDeptsResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Depts)) {
		body["depts"] = request.Depts
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddCollegeAlumniDepts"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeAlumni/depts/batch"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddCollegeAlumniDeptsResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 高校校友会批量创建部门
//
// @param request - AddCollegeAlumniDeptsRequest
//
// @return AddCollegeAlumniDeptsResponse
func (client *Client) AddCollegeAlumniDepts(request *AddCollegeAlumniDeptsRequest) (_result *AddCollegeAlumniDeptsResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddCollegeAlumniDeptsHeaders{}
	_result = &AddCollegeAlumniDeptsResponse{}
	_body, _err := client.AddCollegeAlumniDeptsWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 高校校友会新增校友信息
//
// @param request - AddCollegeAlumniUserInfoRequest
//
// @param headers - AddCollegeAlumniUserInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddCollegeAlumniUserInfoResponse
func (client *Client) AddCollegeAlumniUserInfoWithOptions(request *AddCollegeAlumniUserInfoRequest, headers *AddCollegeAlumniUserInfoHeaders, runtime *util.RuntimeOptions) (_result *AddCollegeAlumniUserInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Address)) {
		body["address"] = request.Address
	}

	if !tea.BoolValue(util.IsUnset(request.DeptIds)) {
		body["deptIds"] = request.DeptIds
	}

	if !tea.BoolValue(util.IsUnset(request.Email)) {
		body["email"] = request.Email
	}

	if !tea.BoolValue(util.IsUnset(request.Intake)) {
		body["intake"] = request.Intake
	}

	if !tea.BoolValue(util.IsUnset(request.Mobile)) {
		body["mobile"] = request.Mobile
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.Outtake)) {
		body["outtake"] = request.Outtake
	}

	if !tea.BoolValue(util.IsUnset(request.StudentNumber)) {
		body["studentNumber"] = request.StudentNumber
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddCollegeAlumniUserInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeAlumni/userInfos"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddCollegeAlumniUserInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 高校校友会新增校友信息
//
// @param request - AddCollegeAlumniUserInfoRequest
//
// @return AddCollegeAlumniUserInfoResponse
func (client *Client) AddCollegeAlumniUserInfo(request *AddCollegeAlumniUserInfoRequest) (_result *AddCollegeAlumniUserInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddCollegeAlumniUserInfoHeaders{}
	_result = &AddCollegeAlumniUserInfoResponse{}
	_body, _err := client.AddCollegeAlumniUserInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建高校账号用户
//
// @param request - AddCollegeContactExclusiveRequest
//
// @param headers - AddCollegeContactExclusiveHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddCollegeContactExclusiveResponse
func (client *Client) AddCollegeContactExclusiveWithOptions(request *AddCollegeContactExclusiveRequest, headers *AddCollegeContactExclusiveHeaders, runtime *util.RuntimeOptions) (_result *AddCollegeContactExclusiveResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AvatarMediaId)) {
		body["avatarMediaId"] = request.AvatarMediaId
	}

	if !tea.BoolValue(util.IsUnset(request.DeptIdList)) {
		body["deptIdList"] = request.DeptIdList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptOrderList)) {
		body["deptOrderList"] = request.DeptOrderList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptPositionSet)) {
		body["deptPositionSet"] = request.DeptPositionSet
	}

	if !tea.BoolValue(util.IsUnset(request.DeptTitleList)) {
		body["deptTitleList"] = request.DeptTitleList
	}

	if !tea.BoolValue(util.IsUnset(request.Email)) {
		body["email"] = request.Email
	}

	if !tea.BoolValue(util.IsUnset(request.EmpType)) {
		body["empType"] = request.EmpType
	}

	if !tea.BoolValue(util.IsUnset(request.ExclusiveAccount)) {
		body["exclusiveAccount"] = request.ExclusiveAccount
	}

	if !tea.BoolValue(util.IsUnset(request.ExclusiveAccountType)) {
		body["exclusiveAccountType"] = request.ExclusiveAccountType
	}

	if !tea.BoolValue(util.IsUnset(request.Extension)) {
		body["extension"] = request.Extension
	}

	if !tea.BoolValue(util.IsUnset(request.HiredDate)) {
		body["hiredDate"] = request.HiredDate
	}

	if !tea.BoolValue(util.IsUnset(request.InitPassword)) {
		body["initPassword"] = request.InitPassword
	}

	if !tea.BoolValue(util.IsUnset(request.JobNumber)) {
		body["jobNumber"] = request.JobNumber
	}

	if !tea.BoolValue(util.IsUnset(request.LoginIdType)) {
		body["loginIdType"] = request.LoginIdType
	}

	if !tea.BoolValue(util.IsUnset(request.MainDeptId)) {
		body["mainDeptId"] = request.MainDeptId
	}

	if !tea.BoolValue(util.IsUnset(request.ManagerUserid)) {
		body["managerUserid"] = request.ManagerUserid
	}

	if !tea.BoolValue(util.IsUnset(request.Mobile)) {
		body["mobile"] = request.Mobile
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Nickname)) {
		body["nickname"] = request.Nickname
	}

	if !tea.BoolValue(util.IsUnset(request.OrgEmail)) {
		body["orgEmail"] = request.OrgEmail
	}

	if !tea.BoolValue(util.IsUnset(request.OrgEmailType)) {
		body["orgEmailType"] = request.OrgEmailType
	}

	if !tea.BoolValue(util.IsUnset(request.Remark)) {
		body["remark"] = request.Remark
	}

	if !tea.BoolValue(util.IsUnset(request.SendActiveSms)) {
		body["sendActiveSms"] = request.SendActiveSms
	}

	if !tea.BoolValue(util.IsUnset(request.SeniorMode)) {
		body["seniorMode"] = request.SeniorMode
	}

	if !tea.BoolValue(util.IsUnset(request.Telephone)) {
		body["telephone"] = request.Telephone
	}

	if !tea.BoolValue(util.IsUnset(request.Title)) {
		body["title"] = request.Title
	}

	if !tea.BoolValue(util.IsUnset(request.Userid)) {
		body["userid"] = request.Userid
	}

	if !tea.BoolValue(util.IsUnset(request.WorkPlace)) {
		body["workPlace"] = request.WorkPlace
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddCollegeContactExclusive"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/exclusiveAccounts/users"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddCollegeContactExclusiveResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建高校账号用户
//
// @param request - AddCollegeContactExclusiveRequest
//
// @return AddCollegeContactExclusiveResponse
func (client *Client) AddCollegeContactExclusive(request *AddCollegeContactExclusiveRequest) (_result *AddCollegeContactExclusiveResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddCollegeContactExclusiveHeaders{}
	_result = &AddCollegeContactExclusiveResponse{}
	_body, _err := client.AddCollegeContactExclusiveWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建个人账号用户
//
// @param request - AddCollegeContactUserRequest
//
// @param headers - AddCollegeContactUserHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddCollegeContactUserResponse
func (client *Client) AddCollegeContactUserWithOptions(request *AddCollegeContactUserRequest, headers *AddCollegeContactUserHeaders, runtime *util.RuntimeOptions) (_result *AddCollegeContactUserResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeptIdList)) {
		body["deptIdList"] = request.DeptIdList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptOrderList)) {
		body["deptOrderList"] = request.DeptOrderList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptPositionSet)) {
		body["deptPositionSet"] = request.DeptPositionSet
	}

	if !tea.BoolValue(util.IsUnset(request.DeptTitleList)) {
		body["deptTitleList"] = request.DeptTitleList
	}

	if !tea.BoolValue(util.IsUnset(request.Email)) {
		body["email"] = request.Email
	}

	if !tea.BoolValue(util.IsUnset(request.EmpType)) {
		body["empType"] = request.EmpType
	}

	if !tea.BoolValue(util.IsUnset(request.Extension)) {
		body["extension"] = request.Extension
	}

	if !tea.BoolValue(util.IsUnset(request.HideMobile)) {
		body["hideMobile"] = request.HideMobile
	}

	if !tea.BoolValue(util.IsUnset(request.HiredDate)) {
		body["hiredDate"] = request.HiredDate
	}

	if !tea.BoolValue(util.IsUnset(request.JobNumber)) {
		body["jobNumber"] = request.JobNumber
	}

	if !tea.BoolValue(util.IsUnset(request.LoginEmail)) {
		body["loginEmail"] = request.LoginEmail
	}

	if !tea.BoolValue(util.IsUnset(request.MainDeptId)) {
		body["mainDeptId"] = request.MainDeptId
	}

	if !tea.BoolValue(util.IsUnset(request.ManagerUserid)) {
		body["managerUserid"] = request.ManagerUserid
	}

	if !tea.BoolValue(util.IsUnset(request.Mobile)) {
		body["mobile"] = request.Mobile
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.OrgEmail)) {
		body["orgEmail"] = request.OrgEmail
	}

	if !tea.BoolValue(util.IsUnset(request.OrgEmailType)) {
		body["orgEmailType"] = request.OrgEmailType
	}

	if !tea.BoolValue(util.IsUnset(request.Remark)) {
		body["remark"] = request.Remark
	}

	if !tea.BoolValue(util.IsUnset(request.SendActiveSms)) {
		body["sendActiveSms"] = request.SendActiveSms
	}

	if !tea.BoolValue(util.IsUnset(request.SeniorMode)) {
		body["seniorMode"] = request.SeniorMode
	}

	if !tea.BoolValue(util.IsUnset(request.Telephone)) {
		body["telephone"] = request.Telephone
	}

	if !tea.BoolValue(util.IsUnset(request.Title)) {
		body["title"] = request.Title
	}

	if !tea.BoolValue(util.IsUnset(request.Userid)) {
		body["userid"] = request.Userid
	}

	if !tea.BoolValue(util.IsUnset(request.WorkPlace)) {
		body["workPlace"] = request.WorkPlace
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddCollegeContactUser"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/personalAccounts/users"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddCollegeContactUserResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建个人账号用户
//
// @param request - AddCollegeContactUserRequest
//
// @return AddCollegeContactUserResponse
func (client *Client) AddCollegeContactUser(request *AddCollegeContactUserRequest) (_result *AddCollegeContactUserResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddCollegeContactUserHeaders{}
	_result = &AddCollegeContactUserResponse{}
	_body, _err := client.AddCollegeContactUserWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 增加赛事记录
//
// @param request - AddCompetitionRecordRequest
//
// @param headers - AddCompetitionRecordHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddCompetitionRecordResponse
func (client *Client) AddCompetitionRecordWithOptions(request *AddCompetitionRecordRequest, headers *AddCompetitionRecordHeaders, runtime *util.RuntimeOptions) (_result *AddCompetitionRecordResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CompetitionCode)) {
		body["competitionCode"] = request.CompetitionCode
	}

	if !tea.BoolValue(util.IsUnset(request.GroupTemplateCode)) {
		body["groupTemplateCode"] = request.GroupTemplateCode
	}

	if !tea.BoolValue(util.IsUnset(request.JoinGroup)) {
		body["joinGroup"] = request.JoinGroup
	}

	if !tea.BoolValue(util.IsUnset(request.ParticipantName)) {
		body["participantName"] = request.ParticipantName
	}

	if !tea.BoolValue(util.IsUnset(request.UnionId)) {
		body["unionId"] = request.UnionId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddCompetitionRecord"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/competitions/records"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddCompetitionRecordResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 增加赛事记录
//
// @param request - AddCompetitionRecordRequest
//
// @return AddCompetitionRecordResponse
func (client *Client) AddCompetitionRecord(request *AddCompetitionRecordRequest) (_result *AddCompetitionRecordResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddCompetitionRecordHeaders{}
	_result = &AddCompetitionRecordResponse{}
	_body, _err := client.AddCompetitionRecordWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 添加设备
//
// @param request - AddDeviceRequest
//
// @param headers - AddDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddDeviceResponse
func (client *Client) AddDeviceWithOptions(request *AddDeviceRequest, headers *AddDeviceHeaders, runtime *util.RuntimeOptions) (_result *AddDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		body["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.Model)) {
		body["model"] = request.Model
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Scene)) {
		body["scene"] = request.Scene
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Status)) {
		body["status"] = request.Status
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/devices"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 添加设备
//
// @param request - AddDeviceRequest
//
// @return AddDeviceResponse
func (client *Client) AddDevice(request *AddDeviceRequest) (_result *AddDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddDeviceHeaders{}
	_result = &AddDeviceResponse{}
	_body, _err := client.AddDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 添加评价表现数据
//
// @param request - AddEvaluatePerformanceRequest
//
// @param headers - AddEvaluatePerformanceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddEvaluatePerformanceResponse
func (client *Client) AddEvaluatePerformanceWithOptions(request *AddEvaluatePerformanceRequest, headers *AddEvaluatePerformanceHeaders, runtime *util.RuntimeOptions) (_result *AddEvaluatePerformanceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.EvaluationData)) {
		body["evaluationData"] = request.EvaluationData
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddEvaluatePerformance"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/evaluations"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddEvaluatePerformanceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 添加评价表现数据
//
// @param request - AddEvaluatePerformanceRequest
//
// @return AddEvaluatePerformanceResponse
func (client *Client) AddEvaluatePerformance(request *AddEvaluatePerformanceRequest) (_result *AddEvaluatePerformanceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddEvaluatePerformanceHeaders{}
	_result = &AddEvaluatePerformanceResponse{}
	_body, _err := client.AddEvaluatePerformanceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 添加学校配置
//
// @param request - AddSchoolConfigRequest
//
// @param headers - AddSchoolConfigHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddSchoolConfigResponse
func (client *Client) AddSchoolConfigWithOptions(request *AddSchoolConfigRequest, headers *AddSchoolConfigHeaders, runtime *util.RuntimeOptions) (_result *AddSchoolConfigResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OperatorId)) {
		body["operatorId"] = request.OperatorId
	}

	if !tea.BoolValue(util.IsUnset(request.OperatorName)) {
		body["operatorName"] = request.OperatorName
	}

	if !tea.BoolValue(util.IsUnset(request.TemperatureUpLimit)) {
		body["temperatureUpLimit"] = request.TemperatureUpLimit
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddSchoolConfig"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schools/configurations"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddSchoolConfigResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 添加学校配置
//
// @param request - AddSchoolConfigRequest
//
// @return AddSchoolConfigResponse
func (client *Client) AddSchoolConfig(request *AddSchoolConfigRequest) (_result *AddSchoolConfigResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddSchoolConfigHeaders{}
	_result = &AddSchoolConfigResponse{}
	_body, _err := client.AddSchoolConfigWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 新增用户事件跟踪日志
//
// @param request - AddTraceEventRequest
//
// @param headers - AddTraceEventHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AddTraceEventResponse
func (client *Client) AddTraceEventWithOptions(request *AddTraceEventRequest, headers *AddTraceEventHeaders, runtime *util.RuntimeOptions) (_result *AddTraceEventResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActionKey)) {
		body["actionKey"] = request.ActionKey
	}

	if !tea.BoolValue(util.IsUnset(request.ActionTime)) {
		body["actionTime"] = request.ActionTime
	}

	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.BizReq)) {
		body["bizReq"] = request.BizReq
	}

	if !tea.BoolValue(util.IsUnset(request.BizResp)) {
		body["bizResp"] = request.BizResp
	}

	if !tea.BoolValue(util.IsUnset(request.DeviceId)) {
		body["deviceId"] = request.DeviceId
	}

	if !tea.BoolValue(util.IsUnset(request.EventId)) {
		body["eventId"] = request.EventId
	}

	if !tea.BoolValue(util.IsUnset(request.EventType)) {
		body["eventType"] = request.EventType
	}

	if !tea.BoolValue(util.IsUnset(request.EventUnit)) {
		body["eventUnit"] = request.EventUnit
	}

	if !tea.BoolValue(util.IsUnset(request.EventValue)) {
		body["eventValue"] = request.EventValue
	}

	if !tea.BoolValue(util.IsUnset(request.Extend)) {
		body["extend"] = request.Extend
	}

	if !tea.BoolValue(util.IsUnset(request.Platform)) {
		body["platform"] = request.Platform
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AddTraceEvent"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/sns/users/events/traceLogs"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AddTraceEventResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 新增用户事件跟踪日志
//
// @param request - AddTraceEventRequest
//
// @return AddTraceEventResponse
func (client *Client) AddTraceEvent(request *AddTraceEventRequest) (_result *AddTraceEventResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AddTraceEventHeaders{}
	_result = &AddTraceEventResponse{}
	_body, _err := client.AddTraceEventWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 修改课程
//
// @param request - AdjustCourseRequest
//
// @param headers - AdjustCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AdjustCourseResponse
func (client *Client) AdjustCourseWithOptions(request *AdjustCourseRequest, headers *AdjustCourseHeaders, runtime *util.RuntimeOptions) (_result *AdjustCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Attributes)) {
		body["attributes"] = request.Attributes
	}

	if !tea.BoolValue(util.IsUnset(request.ClassName)) {
		body["className"] = request.ClassName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassRoomId)) {
		body["classRoomId"] = request.ClassRoomId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassRoomName)) {
		body["classRoomName"] = request.ClassRoomName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassType)) {
		body["classType"] = request.ClassType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.CourseCode)) {
		body["courseCode"] = request.CourseCode
	}

	if !tea.BoolValue(util.IsUnset(request.CourseDate)) {
		body["courseDate"] = request.CourseDate
	}

	if !tea.BoolValue(util.IsUnset(request.CourseName)) {
		body["courseName"] = request.CourseName
	}

	if !tea.BoolValue(util.IsUnset(request.CourseWeek)) {
		body["courseWeek"] = request.CourseWeek
	}

	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		body["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseId)) {
		body["isvCourseId"] = request.IsvCourseId
	}

	if !tea.BoolValue(util.IsUnset(request.Memo)) {
		body["memo"] = request.Memo
	}

	if !tea.BoolValue(util.IsUnset(request.SchoolYear)) {
		body["schoolYear"] = request.SchoolYear
	}

	if !tea.BoolValue(util.IsUnset(request.Semester)) {
		body["semester"] = request.Semester
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		body["startTime"] = request.StartTime
	}

	if !tea.BoolValue(util.IsUnset(request.Status)) {
		body["status"] = request.Status
	}

	if !tea.BoolValue(util.IsUnset(request.TeachWeek)) {
		body["teachWeek"] = request.TeachWeek
	}

	if !tea.BoolValue(util.IsUnset(request.TimeslotName)) {
		body["timeslotName"] = request.TimeslotName
	}

	if !tea.BoolValue(util.IsUnset(request.TimeslotNum)) {
		body["timeslotNum"] = request.TimeslotNum
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AdjustCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/courses/adjust"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AdjustCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 修改课程
//
// @param request - AdjustCourseRequest
//
// @return AdjustCourseResponse
func (client *Client) AdjustCourse(request *AdjustCourseRequest) (_result *AdjustCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AdjustCourseHeaders{}
	_result = &AdjustCourseResponse{}
	_body, _err := client.AdjustCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 修改教育套件
//
// @param request - AdjustKitRequest
//
// @param headers - AdjustKitHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AdjustKitResponse
func (client *Client) AdjustKitWithOptions(request *AdjustKitRequest, headers *AdjustKitHeaders, runtime *util.RuntimeOptions) (_result *AdjustKitResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Attributes)) {
		body["attributes"] = request.Attributes
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvProductScene)) {
		body["isvProductScene"] = request.IsvProductScene
	}

	if !tea.BoolValue(util.IsUnset(request.OpenEndTime)) {
		body["openEndTime"] = request.OpenEndTime
	}

	if !tea.BoolValue(util.IsUnset(request.OpenStartTime)) {
		body["openStartTime"] = request.OpenStartTime
	}

	if !tea.BoolValue(util.IsUnset(request.OpenUserId)) {
		body["openUserId"] = request.OpenUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AdjustKit"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/records/adjust"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AdjustKitResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 修改教育套件
//
// @param request - AdjustKitRequest
//
// @return AdjustKitResponse
func (client *Client) AdjustKit(request *AdjustKitRequest) (_result *AdjustKitResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AdjustKitHeaders{}
	_result = &AdjustKitResponse{}
	_body, _err := client.AdjustKitWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 进行分班
//
// @param request - AssignClassRequest
//
// @param headers - AssignClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return AssignClassResponse
func (client *Client) AssignClassWithOptions(request *AssignClassRequest, headers *AssignClassHeaders, runtime *util.RuntimeOptions) (_result *AssignClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.IsFinish)) {
		body["isFinish"] = request.IsFinish
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.StudentId)) {
		body["studentId"] = request.StudentId
	}

	if !tea.BoolValue(util.IsUnset(request.TaskId)) {
		body["taskId"] = request.TaskId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("AssignClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/newGrades/tasks/students/classes/assign"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &AssignClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 进行分班
//
// @param request - AssignClassRequest
//
// @return AssignClassResponse
func (client *Client) AssignClass(request *AssignClassRequest) (_result *AssignClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &AssignClassHeaders{}
	_result = &AssignClassResponse{}
	_body, _err := client.AssignClassWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 批量创建打卡
//
// @param request - BatchCreateRequest
//
// @param headers - BatchCreateHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return BatchCreateResponse
func (client *Client) BatchCreateWithOptions(request *BatchCreateRequest, headers *BatchCreateHeaders, runtime *util.RuntimeOptions) (_result *BatchCreateResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CardBizCode)) {
		body["cardBizCode"] = request.CardBizCode
	}

	if !tea.BoolValue(util.IsUnset(request.Data)) {
		body["data"] = request.Data
	}

	if !tea.BoolValue(util.IsUnset(request.Identifier)) {
		body["identifier"] = request.Identifier
	}

	if !tea.BoolValue(util.IsUnset(request.JsVersion)) {
		body["jsVersion"] = request.JsVersion
	}

	if !tea.BoolValue(util.IsUnset(request.SourceType)) {
		body["sourceType"] = request.SourceType
	}

	if !tea.BoolValue(util.IsUnset(request.Userid)) {
		body["userid"] = request.Userid
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("BatchCreate"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/cards"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &BatchCreateResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 批量创建打卡
//
// @param request - BatchCreateRequest
//
// @return BatchCreateResponse
func (client *Client) BatchCreate(request *BatchCreateRequest) (_result *BatchCreateResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &BatchCreateHeaders{}
	_result = &BatchCreateResponse{}
	_body, _err := client.BatchCreateWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 批量创建课程
//
// @param request - BatchCreateCourseRequest
//
// @param headers - BatchCreateCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return BatchCreateCourseResponse
func (client *Client) BatchCreateCourseWithOptions(request *BatchCreateCourseRequest, headers *BatchCreateCourseHeaders, runtime *util.RuntimeOptions) (_result *BatchCreateCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassName)) {
		body["className"] = request.ClassName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassType)) {
		body["classType"] = request.ClassType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.CourseDetailItemList)) {
		body["courseDetailItemList"] = request.CourseDetailItemList
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.SchoolYear)) {
		body["schoolYear"] = request.SchoolYear
	}

	if !tea.BoolValue(util.IsUnset(request.Semester)) {
		body["semester"] = request.Semester
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("BatchCreateCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/courses/batchCreate"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &BatchCreateCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 批量创建课程
//
// @param request - BatchCreateCourseRequest
//
// @return BatchCreateCourseResponse
func (client *Client) BatchCreateCourse(request *BatchCreateCourseRequest) (_result *BatchCreateCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &BatchCreateCourseHeaders{}
	_result = &BatchCreateCourseResponse{}
	_body, _err := client.BatchCreateCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 批量创建学生班级
//
// @param request - BatchCreateStudentClassRequest
//
// @param headers - BatchCreateStudentClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return BatchCreateStudentClassResponse
func (client *Client) BatchCreateStudentClassWithOptions(request *BatchCreateStudentClassRequest, headers *BatchCreateStudentClassHeaders, runtime *util.RuntimeOptions) (_result *BatchCreateStudentClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassName)) {
		body["className"] = request.ClassName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassType)) {
		body["classType"] = request.ClassType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.StudentList)) {
		body["studentList"] = request.StudentList
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("BatchCreateStudentClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/students/classes/batchCreate"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &BatchCreateStudentClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 批量创建学生班级
//
// @param request - BatchCreateStudentClassRequest
//
// @return BatchCreateStudentClassResponse
func (client *Client) BatchCreateStudentClass(request *BatchCreateStudentClassRequest) (_result *BatchCreateStudentClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &BatchCreateStudentClassHeaders{}
	_result = &BatchCreateStudentClassResponse{}
	_body, _err := client.BatchCreateStudentClassWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 批量创建老师课程
//
// @param request - BatchCreateTeacherCourseRequest
//
// @param headers - BatchCreateTeacherCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return BatchCreateTeacherCourseResponse
func (client *Client) BatchCreateTeacherCourseWithOptions(request *BatchCreateTeacherCourseRequest, headers *BatchCreateTeacherCourseHeaders, runtime *util.RuntimeOptions) (_result *BatchCreateTeacherCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherCourseDetailItemList)) {
		body["teacherCourseDetailItemList"] = request.TeacherCourseDetailItemList
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherName)) {
		body["teacherName"] = request.TeacherName
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserId)) {
		body["teacherUserId"] = request.TeacherUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("BatchCreateTeacherCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/teachers/courses/batchCreate"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &BatchCreateTeacherCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 批量创建老师课程
//
// @param request - BatchCreateTeacherCourseRequest
//
// @return BatchCreateTeacherCourseResponse
func (client *Client) BatchCreateTeacherCourse(request *BatchCreateTeacherCourseRequest) (_result *BatchCreateTeacherCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &BatchCreateTeacherCourseHeaders{}
	_result = &BatchCreateTeacherCourseResponse{}
	_body, _err := client.BatchCreateTeacherCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 批量失效课程
//
// @param request - BatchInvalidCourseRequest
//
// @param headers - BatchInvalidCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return BatchInvalidCourseResponse
func (client *Client) BatchInvalidCourseWithOptions(request *BatchInvalidCourseRequest, headers *BatchInvalidCourseHeaders, runtime *util.RuntimeOptions) (_result *BatchInvalidCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseId)) {
		body["isvCourseId"] = request.IsvCourseId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseIds)) {
		body["isvCourseIds"] = request.IsvCourseIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("BatchInvalidCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/courses/batchInvalid"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &BatchInvalidCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 批量失效课程
//
// @param request - BatchInvalidCourseRequest
//
// @return BatchInvalidCourseResponse
func (client *Client) BatchInvalidCourse(request *BatchInvalidCourseRequest) (_result *BatchInvalidCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &BatchInvalidCourseHeaders{}
	_result = &BatchInvalidCourseResponse{}
	_body, _err := client.BatchInvalidCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 跨组织-批量创建作业
//
// @param request - BatchOrgCreateHWRequest
//
// @param headers - BatchOrgCreateHWHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return BatchOrgCreateHWResponse
func (client *Client) BatchOrgCreateHWWithOptions(request *BatchOrgCreateHWRequest, headers *BatchOrgCreateHWHeaders, runtime *util.RuntimeOptions) (_result *BatchOrgCreateHWResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Attributes)) {
		body["attributes"] = request.Attributes
	}

	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.CourseName)) {
		body["courseName"] = request.CourseName
	}

	if !tea.BoolValue(util.IsUnset(request.HwContent)) {
		body["hwContent"] = request.HwContent
	}

	if !tea.BoolValue(util.IsUnset(request.HwDeadline)) {
		body["hwDeadline"] = request.HwDeadline
	}

	if !tea.BoolValue(util.IsUnset(request.HwDeadlineOpen)) {
		body["hwDeadlineOpen"] = request.HwDeadlineOpen
	}

	if !tea.BoolValue(util.IsUnset(request.HwMedia)) {
		body["hwMedia"] = request.HwMedia
	}

	if !tea.BoolValue(util.IsUnset(request.HwPhoto)) {
		body["hwPhoto"] = request.HwPhoto
	}

	if !tea.BoolValue(util.IsUnset(request.HwTitle)) {
		body["hwTitle"] = request.HwTitle
	}

	if !tea.BoolValue(util.IsUnset(request.HwType)) {
		body["hwType"] = request.HwType
	}

	if !tea.BoolValue(util.IsUnset(request.HwVideo)) {
		body["hwVideo"] = request.HwVideo
	}

	if !tea.BoolValue(util.IsUnset(request.Identifier)) {
		body["identifier"] = request.Identifier
	}

	if !tea.BoolValue(util.IsUnset(request.OpenSelectItemList)) {
		body["openSelectItemList"] = request.OpenSelectItemList
	}

	if !tea.BoolValue(util.IsUnset(request.ScheduledRelease)) {
		body["scheduledRelease"] = request.ScheduledRelease
	}

	if !tea.BoolValue(util.IsUnset(request.ScheduledTime)) {
		body["scheduledTime"] = request.ScheduledTime
	}

	if !tea.BoolValue(util.IsUnset(request.Status)) {
		body["status"] = request.Status
	}

	if !tea.BoolValue(util.IsUnset(request.TargetRole)) {
		body["targetRole"] = request.TargetRole
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherName)) {
		body["teacherName"] = request.TeacherName
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserId)) {
		body["teacherUserId"] = request.TeacherUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("BatchOrgCreateHW"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/homeworks"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &BatchOrgCreateHWResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 跨组织-批量创建作业
//
// @param request - BatchOrgCreateHWRequest
//
// @return BatchOrgCreateHWResponse
func (client *Client) BatchOrgCreateHW(request *BatchOrgCreateHWRequest) (_result *BatchOrgCreateHWResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &BatchOrgCreateHWHeaders{}
	_result = &BatchOrgCreateHWResponse{}
	_body, _err := client.BatchOrgCreateHWWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 套件-取消套件任务
//
// @param request - CancelKitTaskRequest
//
// @param headers - CancelKitTaskHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CancelKitTaskResponse
func (client *Client) CancelKitTaskWithOptions(request *CancelKitTaskRequest, headers *CancelKitTaskHeaders, runtime *util.RuntimeOptions) (_result *CancelKitTaskResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizType)) {
		body["bizType"] = request.BizType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.Identifier)) {
		body["identifier"] = request.Identifier
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CancelKitTask"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/tasks/cancel"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CancelKitTaskResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 套件-取消套件任务
//
// @param request - CancelKitTaskRequest
//
// @return CancelKitTaskResponse
func (client *Client) CancelKitTask(request *CancelKitTaskRequest) (_result *CancelKitTaskResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CancelKitTaskHeaders{}
	_result = &CancelKitTaskResponse{}
	_body, _err := client.CancelKitTaskWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 撤销订单
//
// @param request - CancelOrderRequest
//
// @param headers - CancelOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CancelOrderResponse
func (client *Client) CancelOrderWithOptions(request *CancelOrderRequest, headers *CancelOrderHeaders, runtime *util.RuntimeOptions) (_result *CancelOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		body["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CancelOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orders/cancel"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CancelOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 撤销订单
//
// @param request - CancelOrderRequest
//
// @return CancelOrderResponse
func (client *Client) CancelOrder(request *CancelOrderRequest) (_result *CancelOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CancelOrderHeaders{}
	_result = &CancelOrderResponse{}
	_body, _err := client.CancelOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 个人应用撤销订单
//
// @param request - CancelSnsOrderRequest
//
// @param headers - CancelSnsOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CancelSnsOrderResponse
func (client *Client) CancelSnsOrderWithOptions(request *CancelSnsOrderRequest, headers *CancelSnsOrderHeaders, runtime *util.RuntimeOptions) (_result *CancelSnsOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AlipayAppId)) {
		body["alipayAppId"] = request.AlipayAppId
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		body["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CancelSnsOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/snsUserOrders/cancel"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CancelSnsOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 个人应用撤销订单
//
// @param request - CancelSnsOrderRequest
//
// @return CancelSnsOrderResponse
func (client *Client) CancelSnsOrder(request *CancelSnsOrderRequest) (_result *CancelSnsOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CancelSnsOrderHeaders{}
	_result = &CancelSnsOrderResponse{}
	_body, _err := client.CancelSnsOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 取消订单
//
// @param request - CancelUserOrderRequest
//
// @param headers - CancelUserOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CancelUserOrderResponse
func (client *Client) CancelUserOrderWithOptions(request *CancelUserOrderRequest, headers *CancelUserOrderHeaders, runtime *util.RuntimeOptions) (_result *CancelUserOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AlipayAppId)) {
		body["alipayAppId"] = request.AlipayAppId
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		body["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CancelUserOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/userOrders/cancel"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CancelUserOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 取消订单
//
// @param request - CancelUserOrderRequest
//
// @return CancelUserOrderResponse
func (client *Client) CancelUserOrder(request *CancelUserOrderRequest) (_result *CancelUserOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CancelUserOrderHeaders{}
	_result = &CancelUserOrderResponse{}
	_body, _err := client.CancelUserOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 批量查询打卡任务
//
// @param request - CardBatchQueryCardsRequest
//
// @param headers - CardBatchQueryCardsHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CardBatchQueryCardsResponse
func (client *Client) CardBatchQueryCardsWithOptions(request *CardBatchQueryCardsRequest, headers *CardBatchQueryCardsHeaders, runtime *util.RuntimeOptions) (_result *CardBatchQueryCardsResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CardBizCode)) {
		body["cardBizCode"] = request.CardBizCode
	}

	if !tea.BoolValue(util.IsUnset(request.CardIds)) {
		body["cardIds"] = request.CardIds
	}

	if !tea.BoolValue(util.IsUnset(request.SourceType)) {
		body["sourceType"] = request.SourceType
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CardBatchQueryCards"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/cards/tasks/batch"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CardBatchQueryCardsResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 批量查询打卡任务
//
// @param request - CardBatchQueryCardsRequest
//
// @return CardBatchQueryCardsResponse
func (client *Client) CardBatchQueryCards(request *CardBatchQueryCardsRequest) (_result *CardBatchQueryCardsResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CardBatchQueryCardsHeaders{}
	_result = &CardBatchQueryCardsResponse{}
	_body, _err := client.CardBatchQueryCardsWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除打卡
//
// @param request - CardDeleteCardRequest
//
// @param headers - CardDeleteCardHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CardDeleteCardResponse
func (client *Client) CardDeleteCardWithOptions(request *CardDeleteCardRequest, headers *CardDeleteCardHeaders, runtime *util.RuntimeOptions) (_result *CardDeleteCardResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CardBizCode)) {
		query["cardBizCode"] = request.CardBizCode
	}

	if !tea.BoolValue(util.IsUnset(request.CardBizId)) {
		query["cardBizId"] = request.CardBizId
	}

	if !tea.BoolValue(util.IsUnset(request.CardId)) {
		query["cardId"] = request.CardId
	}

	if !tea.BoolValue(util.IsUnset(request.SourceType)) {
		query["sourceType"] = request.SourceType
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		query["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("CardDeleteCard"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/cards"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CardDeleteCardResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除打卡
//
// @param request - CardDeleteCardRequest
//
// @return CardDeleteCardResponse
func (client *Client) CardDeleteCard(request *CardDeleteCardRequest) (_result *CardDeleteCardResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CardDeleteCardHeaders{}
	_result = &CardDeleteCardResponse{}
	_body, _err := client.CardDeleteCardWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 打卡-结束打卡
//
// @param request - CardEndCardRequest
//
// @param headers - CardEndCardHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CardEndCardResponse
func (client *Client) CardEndCardWithOptions(request *CardEndCardRequest, headers *CardEndCardHeaders, runtime *util.RuntimeOptions) (_result *CardEndCardResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CardBizCode)) {
		body["cardBizCode"] = request.CardBizCode
	}

	if !tea.BoolValue(util.IsUnset(request.CardBizId)) {
		body["cardBizId"] = request.CardBizId
	}

	if !tea.BoolValue(util.IsUnset(request.CardId)) {
		body["cardId"] = request.CardId
	}

	if !tea.BoolValue(util.IsUnset(request.SourceType)) {
		body["sourceType"] = request.SourceType
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CardEndCard"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/cards/finish"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CardEndCardResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 打卡-结束打卡
//
// @param request - CardEndCardRequest
//
// @return CardEndCardResponse
func (client *Client) CardEndCard(request *CardEndCardRequest) (_result *CardEndCardResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CardEndCardHeaders{}
	_result = &CardEndCardResponse{}
	_body, _err := client.CardEndCardWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询打卡任务
//
// @param request - CardGetCardRequest
//
// @param headers - CardGetCardHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CardGetCardResponse
func (client *Client) CardGetCardWithOptions(request *CardGetCardRequest, headers *CardGetCardHeaders, runtime *util.RuntimeOptions) (_result *CardGetCardResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CardId)) {
		query["cardId"] = request.CardId
	}

	if !tea.BoolValue(util.IsUnset(request.SourceType)) {
		query["sourceType"] = request.SourceType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("CardGetCard"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/cards/tasks"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CardGetCardResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询打卡任务
//
// @param request - CardGetCardRequest
//
// @return CardGetCardResponse
func (client *Client) CardGetCard(request *CardGetCardRequest) (_result *CardGetCardResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CardGetCardHeaders{}
	_result = &CardGetCardResponse{}
	_body, _err := client.CardGetCardWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取打卡任务完成进度
//
// @param request - CardGetCardFinishProgressRequest
//
// @param headers - CardGetCardFinishProgressHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CardGetCardFinishProgressResponse
func (client *Client) CardGetCardFinishProgressWithOptions(request *CardGetCardFinishProgressRequest, headers *CardGetCardFinishProgressHeaders, runtime *util.RuntimeOptions) (_result *CardGetCardFinishProgressResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CardBizCode)) {
		query["cardBizCode"] = request.CardBizCode
	}

	if !tea.BoolValue(util.IsUnset(request.CardBizId)) {
		query["cardBizId"] = request.CardBizId
	}

	if !tea.BoolValue(util.IsUnset(request.CardId)) {
		query["cardId"] = request.CardId
	}

	if !tea.BoolValue(util.IsUnset(request.SourceType)) {
		query["sourceType"] = request.SourceType
	}

	if !tea.BoolValue(util.IsUnset(request.StudentId)) {
		query["studentId"] = request.StudentId
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		query["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("CardGetCardFinishProgress"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/cards/completionProgress"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CardGetCardFinishProgressResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取打卡任务完成进度
//
// @param request - CardGetCardFinishProgressRequest
//
// @return CardGetCardFinishProgressResponse
func (client *Client) CardGetCardFinishProgress(request *CardGetCardFinishProgressRequest) (_result *CardGetCardFinishProgressResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CardGetCardFinishProgressHeaders{}
	_result = &CardGetCardFinishProgressResponse{}
	_body, _err := client.CardGetCardFinishProgressWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询打卡Feed流
//
// @param request - CardQueryCardFeedsRequest
//
// @param headers - CardQueryCardFeedsHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CardQueryCardFeedsResponse
func (client *Client) CardQueryCardFeedsWithOptions(request *CardQueryCardFeedsRequest, headers *CardQueryCardFeedsHeaders, runtime *util.RuntimeOptions) (_result *CardQueryCardFeedsResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizType)) {
		query["bizType"] = request.BizType
	}

	if !tea.BoolValue(util.IsUnset(request.CardBizCode)) {
		query["cardBizCode"] = request.CardBizCode
	}

	if !tea.BoolValue(util.IsUnset(request.CardBizId)) {
		query["cardBizId"] = request.CardBizId
	}

	if !tea.BoolValue(util.IsUnset(request.CardId)) {
		query["cardId"] = request.CardId
	}

	if !tea.BoolValue(util.IsUnset(request.Count)) {
		query["count"] = request.Count
	}

	if !tea.BoolValue(util.IsUnset(request.Cursor)) {
		query["cursor"] = request.Cursor
	}

	if !tea.BoolValue(util.IsUnset(request.FeedType)) {
		query["feedType"] = request.FeedType
	}

	if !tea.BoolValue(util.IsUnset(request.NeedFinishProcess)) {
		query["needFinishProcess"] = request.NeedFinishProcess
	}

	if !tea.BoolValue(util.IsUnset(request.SourceType)) {
		query["sourceType"] = request.SourceType
	}

	if !tea.BoolValue(util.IsUnset(request.StudentId)) {
		query["studentId"] = request.StudentId
	}

	if !tea.BoolValue(util.IsUnset(request.SubBizId)) {
		query["subBizId"] = request.SubBizId
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		query["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("CardQueryCardFeeds"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/cards/feeds"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CardQueryCardFeedsResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询打卡Feed流
//
// @param request - CardQueryCardFeedsRequest
//
// @return CardQueryCardFeedsResponse
func (client *Client) CardQueryCardFeeds(request *CardQueryCardFeedsRequest) (_result *CardQueryCardFeedsResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CardQueryCardFeedsHeaders{}
	_result = &CardQueryCardFeedsResponse{}
	_body, _err := client.CardQueryCardFeedsWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 支付校验
//
// @param request - CheckRestrictionRequest
//
// @param headers - CheckRestrictionHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CheckRestrictionResponse
func (client *Client) CheckRestrictionWithOptions(request *CheckRestrictionRequest, headers *CheckRestrictionHeaders, runtime *util.RuntimeOptions) (_result *CheckRestrictionResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActualAmount)) {
		body["actualAmount"] = request.ActualAmount
	}

	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		body["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.Scene)) {
		body["scene"] = request.Scene
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CheckRestriction"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/restrictions/check"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CheckRestrictionResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 支付校验
//
// @param request - CheckRestrictionRequest
//
// @return CheckRestrictionResponse
func (client *Client) CheckRestriction(request *CheckRestrictionRequest) (_result *CheckRestrictionResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CheckRestrictionHeaders{}
	_result = &CheckRestrictionResponse{}
	_body, _err := client.CheckRestrictionWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 清空评价表现未读数量
//
// @param request - ClearEvaluatePerformanceCountRequest
//
// @param headers - ClearEvaluatePerformanceCountHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ClearEvaluatePerformanceCountResponse
func (client *Client) ClearEvaluatePerformanceCountWithOptions(request *ClearEvaluatePerformanceCountRequest, headers *ClearEvaluatePerformanceCountHeaders, runtime *util.RuntimeOptions) (_result *ClearEvaluatePerformanceCountResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.StudentIdList)) {
		body["studentIdList"] = request.StudentIdList
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("ClearEvaluatePerformanceCount"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/evaluations/unreadCounts/clear"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ClearEvaluatePerformanceCountResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 清空评价表现未读数量
//
// @param request - ClearEvaluatePerformanceCountRequest
//
// @return ClearEvaluatePerformanceCountResponse
func (client *Client) ClearEvaluatePerformanceCount(request *ClearEvaluatePerformanceCountRequest) (_result *ClearEvaluatePerformanceCountResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ClearEvaluatePerformanceCountHeaders{}
	_result = &ClearEvaluatePerformanceCountResponse{}
	_body, _err := client.ClearEvaluatePerformanceCountWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 积分兑换
//
// @param request - ConsumePointRequest
//
// @param headers - ConsumePointHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ConsumePointResponse
func (client *Client) ConsumePointWithOptions(request *ConsumePointRequest, headers *ConsumePointHeaders, runtime *util.RuntimeOptions) (_result *ConsumePointResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Amount)) {
		body["amount"] = request.Amount
	}

	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.Description)) {
		body["description"] = request.Description
	}

	if !tea.BoolValue(util.IsUnset(request.ProductCode)) {
		body["productCode"] = request.ProductCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("ConsumePoint"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/poins/consume"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ConsumePointResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 积分兑换
//
// @param request - ConsumePointRequest
//
// @return ConsumePointResponse
func (client *Client) ConsumePoint(request *ConsumePointRequest) (_result *ConsumePointResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ConsumePointHeaders{}
	_result = &ConsumePointResponse{}
	_body, _err := client.ConsumePointWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 全校排课结束通知
//
// @param request - CourseSchedulingComplimentNoticeRequest
//
// @param headers - CourseSchedulingComplimentNoticeHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CourseSchedulingComplimentNoticeResponse
func (client *Client) CourseSchedulingComplimentNoticeWithOptions(request *CourseSchedulingComplimentNoticeRequest, headers *CourseSchedulingComplimentNoticeHeaders, runtime *util.RuntimeOptions) (_result *CourseSchedulingComplimentNoticeResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("CourseSchedulingComplimentNotice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schedules/finishNotify"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CourseSchedulingComplimentNoticeResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 全校排课结束通知
//
// @param request - CourseSchedulingComplimentNoticeRequest
//
// @return CourseSchedulingComplimentNoticeResponse
func (client *Client) CourseSchedulingComplimentNotice(request *CourseSchedulingComplimentNoticeRequest) (_result *CourseSchedulingComplimentNoticeResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CourseSchedulingComplimentNoticeHeaders{}
	_result = &CourseSchedulingComplimentNoticeResponse{}
	_body, _err := client.CourseSchedulingComplimentNoticeWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 错题本-添加错题
//
// @param request - CreateRequest
//
// @param headers - CreateHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateResponse
func (client *Client) CreateWithOptions(request *CreateRequest, headers *CreateHeaders, runtime *util.RuntimeOptions) (_result *CreateResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AnswerContent)) {
		body["answerContent"] = request.AnswerContent
	}

	if !tea.BoolValue(util.IsUnset(request.DifficultyLevel)) {
		body["difficultyLevel"] = request.DifficultyLevel
	}

	if !tea.BoolValue(util.IsUnset(request.ExplainAudio)) {
		body["explainAudio"] = request.ExplainAudio
	}

	if !tea.BoolValue(util.IsUnset(request.ExplainContent)) {
		body["explainContent"] = request.ExplainContent
	}

	if !tea.BoolValue(util.IsUnset(request.GenerateTime)) {
		body["generateTime"] = request.GenerateTime
	}

	if !tea.BoolValue(util.IsUnset(request.KnowledgePointList)) {
		body["knowledgePointList"] = request.KnowledgePointList
	}

	if !tea.BoolValue(util.IsUnset(request.OwnerCode)) {
		body["ownerCode"] = request.OwnerCode
	}

	if !tea.BoolValue(util.IsUnset(request.OwnerType)) {
		body["ownerType"] = request.OwnerType
	}

	if !tea.BoolValue(util.IsUnset(request.ProficiencyLevel)) {
		body["proficiencyLevel"] = request.ProficiencyLevel
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionAudio)) {
		body["questionAudio"] = request.QuestionAudio
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionContent)) {
		body["questionContent"] = request.QuestionContent
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionExtension)) {
		body["questionExtension"] = request.QuestionExtension
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionPicUrl)) {
		body["questionPicUrl"] = request.QuestionPicUrl
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionType)) {
		body["questionType"] = request.QuestionType
	}

	if !tea.BoolValue(util.IsUnset(request.SourceCode)) {
		body["sourceCode"] = request.SourceCode
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserId)) {
		body["studentUserId"] = request.StudentUserId
	}

	if !tea.BoolValue(util.IsUnset(request.Subject)) {
		body["subject"] = request.Subject
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("Create"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/wrongQuestions"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 错题本-添加错题
//
// @param request - CreateRequest
//
// @return CreateResponse
func (client *Client) Create(request *CreateRequest) (_result *CreateResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateHeaders{}
	_result = &CreateResponse{}
	_body, _err := client.CreateWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建App支付订单
//
// @param request - CreateAppOrderRequest
//
// @param headers - CreateAppOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateAppOrderResponse
func (client *Client) CreateAppOrderWithOptions(request *CreateAppOrderRequest, headers *CreateAppOrderHeaders, runtime *util.RuntimeOptions) (_result *CreateAppOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActualAmount)) {
		body["actualAmount"] = request.ActualAmount
	}

	if !tea.BoolValue(util.IsUnset(request.AlipayAppId)) {
		body["alipayAppId"] = request.AlipayAppId
	}

	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.DetailList)) {
		body["detailList"] = request.DetailList
	}

	if !tea.BoolValue(util.IsUnset(request.LabelAmount)) {
		body["labelAmount"] = request.LabelAmount
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		body["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantOrderNo)) {
		body["merchantOrderNo"] = request.MerchantOrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.OuterUserId)) {
		body["outerUserId"] = request.OuterUserId
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Subject)) {
		body["subject"] = request.Subject
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateAppOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/appOrders"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateAppOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建App支付订单
//
// @param request - CreateAppOrderRequest
//
// @return CreateAppOrderResponse
func (client *Client) CreateAppOrder(request *CreateAppOrderRequest) (_result *CreateAppOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateAppOrderHeaders{}
	_result = &CreateAppOrderResponse{}
	_body, _err := client.CreateAppOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建高校通讯录组织单元
//
// @param request - CreateCollegeContactDeptRequest
//
// @param headers - CreateCollegeContactDeptHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateCollegeContactDeptResponse
func (client *Client) CreateCollegeContactDeptWithOptions(request *CreateCollegeContactDeptRequest, headers *CreateCollegeContactDeptHeaders, runtime *util.RuntimeOptions) (_result *CreateCollegeContactDeptResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AutoApproveApply)) {
		body["autoApproveApply"] = request.AutoApproveApply
	}

	if !tea.BoolValue(util.IsUnset(request.Brief)) {
		body["brief"] = request.Brief
	}

	if !tea.BoolValue(util.IsUnset(request.Code)) {
		body["code"] = request.Code
	}

	if !tea.BoolValue(util.IsUnset(request.CreateDeptGroup)) {
		body["createDeptGroup"] = request.CreateDeptGroup
	}

	if !tea.BoolValue(util.IsUnset(request.DeptCode)) {
		body["deptCode"] = request.DeptCode
	}

	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		body["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.DeptPermits)) {
		body["deptPermits"] = request.DeptPermits
	}

	if !tea.BoolValue(util.IsUnset(request.DeptType)) {
		body["deptType"] = request.DeptType
	}

	if !tea.BoolValue(util.IsUnset(request.EmpApplyJoinDept)) {
		body["empApplyJoinDept"] = request.EmpApplyJoinDept
	}

	if !tea.BoolValue(util.IsUnset(request.Extension)) {
		body["extension"] = request.Extension
	}

	if !tea.BoolValue(util.IsUnset(request.HideDept)) {
		body["hideDept"] = request.HideDept
	}

	if !tea.BoolValue(util.IsUnset(request.HideSceneConfig)) {
		body["hideSceneConfig"] = request.HideSceneConfig
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Order)) {
		body["order"] = request.Order
	}

	if !tea.BoolValue(util.IsUnset(request.OuterDept)) {
		body["outerDept"] = request.OuterDept
	}

	if !tea.BoolValue(util.IsUnset(request.OuterDeptOnlySelf)) {
		body["outerDeptOnlySelf"] = request.OuterDeptOnlySelf
	}

	if !tea.BoolValue(util.IsUnset(request.OuterPermitDepts)) {
		body["outerPermitDepts"] = request.OuterPermitDepts
	}

	if !tea.BoolValue(util.IsUnset(request.OuterPermitUsers)) {
		body["outerPermitUsers"] = request.OuterPermitUsers
	}

	if !tea.BoolValue(util.IsUnset(request.OuterSceneConfig)) {
		body["outerSceneConfig"] = request.OuterSceneConfig
	}

	if !tea.BoolValue(util.IsUnset(request.ParentId)) {
		body["parentId"] = request.ParentId
	}

	if !tea.BoolValue(util.IsUnset(request.SourceIdentifier)) {
		body["sourceIdentifier"] = request.SourceIdentifier
	}

	if !tea.BoolValue(util.IsUnset(request.StruId)) {
		body["struId"] = request.StruId
	}

	if !tea.BoolValue(util.IsUnset(request.Telephone)) {
		body["telephone"] = request.Telephone
	}

	if !tea.BoolValue(util.IsUnset(request.UserPermits)) {
		body["userPermits"] = request.UserPermits
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateCollegeContactDept"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateCollegeContactDeptResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建高校通讯录组织单元
//
// @param request - CreateCollegeContactDeptRequest
//
// @return CreateCollegeContactDeptResponse
func (client *Client) CreateCollegeContactDept(request *CreateCollegeContactDeptRequest) (_result *CreateCollegeContactDeptResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateCollegeContactDeptHeaders{}
	_result = &CreateCollegeContactDeptResponse{}
	_body, _err := client.CreateCollegeContactDeptWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建高校通讯录场景架构
//
// @param request - CreateCollegeContactSceneStruRequest
//
// @param headers - CreateCollegeContactSceneStruHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateCollegeContactSceneStruResponse
func (client *Client) CreateCollegeContactSceneStruWithOptions(request *CreateCollegeContactSceneStruRequest, headers *CreateCollegeContactSceneStruHeaders, runtime *util.RuntimeOptions) (_result *CreateCollegeContactSceneStruResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.HasStruFixedDept)) {
		body["hasStruFixedDept"] = request.HasStruFixedDept
	}

	if !tea.BoolValue(util.IsUnset(request.Order)) {
		body["order"] = request.Order
	}

	if !tea.BoolValue(util.IsUnset(request.SourceIdentifier)) {
		body["sourceIdentifier"] = request.SourceIdentifier
	}

	if !tea.BoolValue(util.IsUnset(request.StruBrief)) {
		body["struBrief"] = request.StruBrief
	}

	if !tea.BoolValue(util.IsUnset(request.StruName)) {
		body["struName"] = request.StruName
	}

	if !tea.BoolValue(util.IsUnset(request.StruType)) {
		body["struType"] = request.StruType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateCollegeContactSceneStru"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts/structures/scenes"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateCollegeContactSceneStruResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建高校通讯录场景架构
//
// @param request - CreateCollegeContactSceneStruRequest
//
// @return CreateCollegeContactSceneStruResponse
func (client *Client) CreateCollegeContactSceneStru(request *CreateCollegeContactSceneStruRequest) (_result *CreateCollegeContactSceneStruResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateCollegeContactSceneStruHeaders{}
	_result = &CreateCollegeContactSceneStruResponse{}
	_body, _err := client.CreateCollegeContactSceneStruWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建课程
//
// @param request - CreateCourseRequest
//
// @param headers - CreateCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateCourseResponse
func (client *Client) CreateCourseWithOptions(request *CreateCourseRequest, headers *CreateCourseHeaders, runtime *util.RuntimeOptions) (_result *CreateCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Attributes)) {
		body["attributes"] = request.Attributes
	}

	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassName)) {
		body["className"] = request.ClassName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassRoomId)) {
		body["classRoomId"] = request.ClassRoomId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassRoomName)) {
		body["classRoomName"] = request.ClassRoomName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassType)) {
		body["classType"] = request.ClassType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.CourseCode)) {
		body["courseCode"] = request.CourseCode
	}

	if !tea.BoolValue(util.IsUnset(request.CourseDate)) {
		body["courseDate"] = request.CourseDate
	}

	if !tea.BoolValue(util.IsUnset(request.CourseName)) {
		body["courseName"] = request.CourseName
	}

	if !tea.BoolValue(util.IsUnset(request.CourseWeek)) {
		body["courseWeek"] = request.CourseWeek
	}

	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		body["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseId)) {
		body["isvCourseId"] = request.IsvCourseId
	}

	if !tea.BoolValue(util.IsUnset(request.Memo)) {
		body["memo"] = request.Memo
	}

	if !tea.BoolValue(util.IsUnset(request.SchoolYear)) {
		body["schoolYear"] = request.SchoolYear
	}

	if !tea.BoolValue(util.IsUnset(request.Semester)) {
		body["semester"] = request.Semester
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		body["startTime"] = request.StartTime
	}

	if !tea.BoolValue(util.IsUnset(request.Status)) {
		body["status"] = request.Status
	}

	if !tea.BoolValue(util.IsUnset(request.TeachWeek)) {
		body["teachWeek"] = request.TeachWeek
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherList)) {
		body["teacherList"] = request.TeacherList
	}

	if !tea.BoolValue(util.IsUnset(request.TimeslotName)) {
		body["timeslotName"] = request.TimeslotName
	}

	if !tea.BoolValue(util.IsUnset(request.TimeslotNum)) {
		body["timeslotNum"] = request.TimeslotNum
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/courses"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建课程
//
// @param request - CreateCourseRequest
//
// @return CreateCourseResponse
func (client *Client) CreateCourse(request *CreateCourseRequest) (_result *CreateCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateCourseHeaders{}
	_result = &CreateCourseResponse{}
	_body, _err := client.CreateCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建自定义部门下班级
//
// @param request - CreateCustomClassRequest
//
// @param headers - CreateCustomClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateCustomClassResponse
func (client *Client) CreateCustomClassWithOptions(request *CreateCustomClassRequest, headers *CreateCustomClassHeaders, runtime *util.RuntimeOptions) (_result *CreateCustomClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CustomClass)) {
		body["customClass"] = request.CustomClass
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.SuperId)) {
		body["superId"] = request.SuperId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateCustomClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/customClasses"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateCustomClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建自定义部门下班级
//
// @param request - CreateCustomClassRequest
//
// @return CreateCustomClassResponse
func (client *Client) CreateCustomClass(request *CreateCustomClassRequest) (_result *CreateCustomClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateCustomClassHeaders{}
	_result = &CreateCustomClassResponse{}
	_body, _err := client.CreateCustomClassWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建自定义校区或部门
//
// @param request - CreateCustomDeptRequest
//
// @param headers - CreateCustomDeptHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateCustomDeptResponse
func (client *Client) CreateCustomDeptWithOptions(request *CreateCustomDeptRequest, headers *CreateCustomDeptHeaders, runtime *util.RuntimeOptions) (_result *CreateCustomDeptResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CustomDept)) {
		body["customDept"] = request.CustomDept
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.SuperId)) {
		body["superId"] = request.SuperId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateCustomDept"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/customDepts"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateCustomDeptResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建自定义校区或部门
//
// @param request - CreateCustomDeptRequest
//
// @return CreateCustomDeptResponse
func (client *Client) CreateCustomDept(request *CreateCustomDeptRequest) (_result *CreateCustomDeptResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateCustomDeptHeaders{}
	_result = &CreateCustomDeptResponse{}
	_body, _err := client.CreateCustomDeptWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 教学资源库创建space
//
// @param request - CreateEduAssetSpaceRequest
//
// @param headers - CreateEduAssetSpaceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateEduAssetSpaceResponse
func (client *Client) CreateEduAssetSpaceWithOptions(request *CreateEduAssetSpaceRequest, headers *CreateEduAssetSpaceHeaders, runtime *util.RuntimeOptions) (_result *CreateEduAssetSpaceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.SpaceDesc)) {
		body["spaceDesc"] = request.SpaceDesc
	}

	if !tea.BoolValue(util.IsUnset(request.SpaceIcon)) {
		body["spaceIcon"] = request.SpaceIcon
	}

	if !tea.BoolValue(util.IsUnset(request.SpaceName)) {
		body["spaceName"] = request.SpaceName
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateEduAssetSpace"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/assets/spaces"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateEduAssetSpaceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 教学资源库创建space
//
// @param request - CreateEduAssetSpaceRequest
//
// @return CreateEduAssetSpaceResponse
func (client *Client) CreateEduAssetSpace(request *CreateEduAssetSpaceRequest) (_result *CreateEduAssetSpaceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateEduAssetSpaceHeaders{}
	_result = &CreateEduAssetSpaceResponse{}
	_body, _err := client.CreateEduAssetSpaceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建设备履约记录，亲情通话、考勤数据同步
//
// @param request - CreateFulfilRecordRequest
//
// @param headers - CreateFulfilRecordHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateFulfilRecordResponse
func (client *Client) CreateFulfilRecordWithOptions(request *CreateFulfilRecordRequest, headers *CreateFulfilRecordHeaders, runtime *util.RuntimeOptions) (_result *CreateFulfilRecordResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizTime)) {
		body["bizTime"] = request.BizTime
	}

	if !tea.BoolValue(util.IsUnset(request.ExtInfo)) {
		body["extInfo"] = request.ExtInfo
	}

	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		body["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.Scene)) {
		body["scene"] = request.Scene
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateFulfilRecord"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/fulfilRecords"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateFulfilRecordResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建设备履约记录，亲情通话、考勤数据同步
//
// @param request - CreateFulfilRecordRequest
//
// @return CreateFulfilRecordResponse
func (client *Client) CreateFulfilRecord(request *CreateFulfilRecordRequest) (_result *CreateFulfilRecordResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateFulfilRecordHeaders{}
	_result = &CreateFulfilRecordResponse{}
	_body, _err := client.CreateFulfilRecordWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询某个组织下面的设备列表
//
// @param request - CreateInviteUrlRequest
//
// @param headers - CreateInviteUrlHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateInviteUrlResponse
func (client *Client) CreateInviteUrlWithOptions(request *CreateInviteUrlRequest, headers *CreateInviteUrlHeaders, runtime *util.RuntimeOptions) (_result *CreateInviteUrlResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AuthCode)) {
		body["authCode"] = request.AuthCode
	}

	if !tea.BoolValue(util.IsUnset(request.TargetCorpId)) {
		body["targetCorpId"] = request.TargetCorpId
	}

	if !tea.BoolValue(util.IsUnset(request.TargetOperator)) {
		body["targetOperator"] = request.TargetOperator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateInviteUrl"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/orgRelations/inviteUrls"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateInviteUrlResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询某个组织下面的设备列表
//
// @param request - CreateInviteUrlRequest
//
// @return CreateInviteUrlResponse
func (client *Client) CreateInviteUrl(request *CreateInviteUrlRequest) (_result *CreateInviteUrlResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateInviteUrlHeaders{}
	_result = &CreateInviteUrlResponse{}
	_body, _err := client.CreateInviteUrlWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建商品
//
// @param request - CreateItemRequest
//
// @param headers - CreateItemHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateItemResponse
func (client *Client) CreateItemWithOptions(request *CreateItemRequest, headers *CreateItemHeaders, runtime *util.RuntimeOptions) (_result *CreateItemResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Description)) {
		body["description"] = request.Description
	}

	if !tea.BoolValue(util.IsUnset(request.EffectType)) {
		body["effectType"] = request.EffectType
	}

	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		body["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		body["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.OptUser)) {
		body["optUser"] = request.OptUser
	}

	if !tea.BoolValue(util.IsUnset(request.PeriodType)) {
		body["periodType"] = request.PeriodType
	}

	if !tea.BoolValue(util.IsUnset(request.Price)) {
		body["price"] = request.Price
	}

	if !tea.BoolValue(util.IsUnset(request.Scene)) {
		body["scene"] = request.Scene
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		body["startTime"] = request.StartTime
	}

	if !tea.BoolValue(util.IsUnset(request.Status)) {
		body["status"] = request.Status
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateItem"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/items"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateItemResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建商品
//
// @param request - CreateItemRequest
//
// @return CreateItemResponse
func (client *Client) CreateItem(request *CreateItemRequest) (_result *CreateItemResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateItemHeaders{}
	_result = &CreateItemResponse{}
	_body, _err := client.CreateItemWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 套件-创建定时任务
//
// @param request - CreateKitTaskRequest
//
// @param headers - CreateKitTaskHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateKitTaskResponse
func (client *Client) CreateKitTaskWithOptions(request *CreateKitTaskRequest, headers *CreateKitTaskHeaders, runtime *util.RuntimeOptions) (_result *CreateKitTaskResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActionTime)) {
		body["actionTime"] = request.ActionTime
	}

	if !tea.BoolValue(util.IsUnset(request.BizData)) {
		body["bizData"] = request.BizData
	}

	if !tea.BoolValue(util.IsUnset(request.BizType)) {
		body["bizType"] = request.BizType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.Identifier)) {
		body["identifier"] = request.Identifier
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.Memo)) {
		body["memo"] = request.Memo
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateKitTask"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/timerTasks"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateKitTaskResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 套件-创建定时任务
//
// @param request - CreateKitTaskRequest
//
// @return CreateKitTaskResponse
func (client *Client) CreateKitTask(request *CreateKitTaskRequest) (_result *CreateKitTaskResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateKitTaskHeaders{}
	_result = &CreateKitTaskResponse{}
	_body, _err := client.CreateKitTaskWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建订单信息
//
// @param request - CreateOrderRequest
//
// @param headers - CreateOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateOrderResponse
func (client *Client) CreateOrderWithOptions(request *CreateOrderRequest, headers *CreateOrderHeaders, runtime *util.RuntimeOptions) (_result *CreateOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActualAmount)) {
		body["actualAmount"] = request.ActualAmount
	}

	if !tea.BoolValue(util.IsUnset(request.CreateTime)) {
		body["createTime"] = request.CreateTime
	}

	if !tea.BoolValue(util.IsUnset(request.DetailList)) {
		body["detailList"] = request.DetailList
	}

	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		body["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.Ftoken)) {
		body["ftoken"] = request.Ftoken
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.TerminalParams)) {
		body["terminalParams"] = request.TerminalParams
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	if !tea.BoolValue(util.IsUnset(request.TotalAmount)) {
		body["totalAmount"] = request.TotalAmount
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	if !tea.BoolValue(util.IsUnset(request.Version)) {
		body["version"] = request.Version
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orders"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建订单信息
//
// @param request - CreateOrderRequest
//
// @return CreateOrderResponse
func (client *Client) CreateOrder(request *CreateOrderRequest) (_result *CreateOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateOrderHeaders{}
	_result = &CreateOrderResponse{}
	_body, _err := client.CreateOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建开单流水
//
// @param request - CreateOrderFlowRequest
//
// @param headers - CreateOrderFlowHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateOrderFlowResponse
func (client *Client) CreateOrderFlowWithOptions(request *CreateOrderFlowRequest, headers *CreateOrderFlowHeaders, runtime *util.RuntimeOptions) (_result *CreateOrderFlowResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActualAmount)) {
		body["actualAmount"] = request.ActualAmount
	}

	if !tea.BoolValue(util.IsUnset(request.AlipayUid)) {
		body["alipayUid"] = request.AlipayUid
	}

	if !tea.BoolValue(util.IsUnset(request.CreateTime)) {
		body["createTime"] = request.CreateTime
	}

	if !tea.BoolValue(util.IsUnset(request.DetailList)) {
		body["detailList"] = request.DetailList
	}

	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		body["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.GuardianUserId)) {
		body["guardianUserId"] = request.GuardianUserId
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		body["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	if !tea.BoolValue(util.IsUnset(request.TotalAmount)) {
		body["totalAmount"] = request.TotalAmount
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateOrderFlow"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orders/flows"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateOrderFlowResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建开单流水
//
// @param request - CreateOrderFlowRequest
//
// @return CreateOrderFlowResponse
func (client *Client) CreateOrderFlow(request *CreateOrderFlowRequest) (_result *CreateOrderFlowResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateOrderFlowHeaders{}
	_result = &CreateOrderFlowResponse{}
	_body, _err := client.CreateOrderFlowWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 添加物理教室信息
//
// @param request - CreatePhysicalClassroomRequest
//
// @param headers - CreatePhysicalClassroomHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreatePhysicalClassroomResponse
func (client *Client) CreatePhysicalClassroomWithOptions(request *CreatePhysicalClassroomRequest, headers *CreatePhysicalClassroomHeaders, runtime *util.RuntimeOptions) (_result *CreatePhysicalClassroomResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassroomBuilding)) {
		body["classroomBuilding"] = request.ClassroomBuilding
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomCampus)) {
		body["classroomCampus"] = request.ClassroomCampus
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomFloor)) {
		body["classroomFloor"] = request.ClassroomFloor
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomName)) {
		body["classroomName"] = request.ClassroomName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomNumber)) {
		body["classroomNumber"] = request.ClassroomNumber
	}

	if !tea.BoolValue(util.IsUnset(request.DirectBroadcast)) {
		body["directBroadcast"] = request.DirectBroadcast
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreatePhysicalClassroom"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/physicalClassrooms"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CreatePhysicalClassroomResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 添加物理教室信息
//
// @param request - CreatePhysicalClassroomRequest
//
// @return CreatePhysicalClassroomResponse
func (client *Client) CreatePhysicalClassroom(request *CreatePhysicalClassroomRequest) (_result *CreatePhysicalClassroomResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreatePhysicalClassroomHeaders{}
	_result = &CreatePhysicalClassroomResponse{}
	_body, _err := client.CreatePhysicalClassroomWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建退款流水
//
// @param request - CreateRefundFlowRequest
//
// @param headers - CreateRefundFlowHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateRefundFlowResponse
func (client *Client) CreateRefundFlowWithOptions(request *CreateRefundFlowRequest, headers *CreateRefundFlowHeaders, runtime *util.RuntimeOptions) (_result *CreateRefundFlowResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		body["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.OperatorId)) {
		body["operatorId"] = request.OperatorId
	}

	if !tea.BoolValue(util.IsUnset(request.OperatorName)) {
		body["operatorName"] = request.OperatorName
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateRefundFlow"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/refunds/flows"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateRefundFlowResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建退款流水
//
// @param request - CreateRefundFlowRequest
//
// @return CreateRefundFlowResponse
func (client *Client) CreateRefundFlow(request *CreateRefundFlowRequest) (_result *CreateRefundFlowResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateRefundFlowHeaders{}
	_result = &CreateRefundFlowResponse{}
	_body, _err := client.CreateRefundFlowWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建预约类型的专递课堂
//
// @param request - CreateRemoteClassCourseRequest
//
// @param headers - CreateRemoteClassCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateRemoteClassCourseResponse
func (client *Client) CreateRemoteClassCourseWithOptions(request *CreateRemoteClassCourseRequest, headers *CreateRemoteClassCourseHeaders, runtime *util.RuntimeOptions) (_result *CreateRemoteClassCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AttendParticipants)) {
		body["attendParticipants"] = request.AttendParticipants
	}

	if !tea.BoolValue(util.IsUnset(request.AuthCode)) {
		body["authCode"] = request.AuthCode
	}

	if !tea.BoolValue(util.IsUnset(request.CourseName)) {
		body["courseName"] = request.CourseName
	}

	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		body["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		body["startTime"] = request.StartTime
	}

	if !tea.BoolValue(util.IsUnset(request.TeachingParticipant)) {
		body["teachingParticipant"] = request.TeachingParticipant
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateRemoteClassCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/courses"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateRemoteClassCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建预约类型的专递课堂
//
// @param request - CreateRemoteClassCourseRequest
//
// @return CreateRemoteClassCourseResponse
func (client *Client) CreateRemoteClassCourse(request *CreateRemoteClassCourseRequest) (_result *CreateRemoteClassCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateRemoteClassCourseHeaders{}
	_result = &CreateRemoteClassCourseResponse{}
	_body, _err := client.CreateRemoteClassCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 按学期创建课表模板
//
// @param request - CreateSectionConfigRequest
//
// @param headers - CreateSectionConfigHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateSectionConfigResponse
func (client *Client) CreateSectionConfigWithOptions(request *CreateSectionConfigRequest, headers *CreateSectionConfigHeaders, runtime *util.RuntimeOptions) (_result *CreateSectionConfigResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	if !tea.BoolValue(util.IsUnset(request.SectionConfigs)) {
		body["sectionConfigs"] = request.SectionConfigs
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateSectionConfig"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/sectionConfigs"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateSectionConfigResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 按学期创建课表模板
//
// @param request - CreateSectionConfigRequest
//
// @return CreateSectionConfigResponse
func (client *Client) CreateSectionConfig(request *CreateSectionConfigRequest) (_result *CreateSectionConfigResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateSectionConfigHeaders{}
	_result = &CreateSectionConfigResponse{}
	_body, _err := client.CreateSectionConfigWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 个人应用创建APP订单
//
// @param request - CreateSnsAppOrderRequest
//
// @param headers - CreateSnsAppOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateSnsAppOrderResponse
func (client *Client) CreateSnsAppOrderWithOptions(request *CreateSnsAppOrderRequest, headers *CreateSnsAppOrderHeaders, runtime *util.RuntimeOptions) (_result *CreateSnsAppOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActualAmount)) {
		body["actualAmount"] = request.ActualAmount
	}

	if !tea.BoolValue(util.IsUnset(request.AlipayAppId)) {
		body["alipayAppId"] = request.AlipayAppId
	}

	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.DetailList)) {
		body["detailList"] = request.DetailList
	}

	if !tea.BoolValue(util.IsUnset(request.LabelAmount)) {
		body["labelAmount"] = request.LabelAmount
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		body["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantOrderNo)) {
		body["merchantOrderNo"] = request.MerchantOrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Subject)) {
		body["subject"] = request.Subject
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateSnsAppOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/snsAppOrders"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateSnsAppOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 个人应用创建APP订单
//
// @param request - CreateSnsAppOrderRequest
//
// @return CreateSnsAppOrderResponse
func (client *Client) CreateSnsAppOrder(request *CreateSnsAppOrderRequest) (_result *CreateSnsAppOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateSnsAppOrderHeaders{}
	_result = &CreateSnsAppOrderResponse{}
	_body, _err := client.CreateSnsAppOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建ststoken
//
// @param request - CreateStsTokenRequest
//
// @param headers - CreateStsTokenHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateStsTokenResponse
func (client *Client) CreateStsTokenWithOptions(request *CreateStsTokenRequest, headers *CreateStsTokenHeaders, runtime *util.RuntimeOptions) (_result *CreateStsTokenResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeviceSn)) {
		body["deviceSn"] = request.DeviceSn
	}

	if !tea.BoolValue(util.IsUnset(request.StsType)) {
		body["stsType"] = request.StsType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateStsToken"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpaas/ststoken"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateStsTokenResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建ststoken
//
// @param request - CreateStsTokenRequest
//
// @return CreateStsTokenResponse
func (client *Client) CreateStsToken(request *CreateStsTokenRequest) (_result *CreateStsTokenResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateStsTokenHeaders{}
	_result = &CreateStsTokenResponse{}
	_body, _err := client.CreateStsTokenWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建学生班级
//
// @param request - CreateStudentClassRequest
//
// @param headers - CreateStudentClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateStudentClassResponse
func (client *Client) CreateStudentClassWithOptions(request *CreateStudentClassRequest, headers *CreateStudentClassHeaders, runtime *util.RuntimeOptions) (_result *CreateStudentClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Attributes)) {
		body["attributes"] = request.Attributes
	}

	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassName)) {
		body["className"] = request.ClassName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassType)) {
		body["classType"] = request.ClassType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.StudentName)) {
		body["studentName"] = request.StudentName
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserId)) {
		body["studentUserId"] = request.StudentUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateStudentClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/students/classes"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateStudentClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建学生班级
//
// @param request - CreateStudentClassRequest
//
// @return CreateStudentClassResponse
func (client *Client) CreateStudentClass(request *CreateStudentClassRequest) (_result *CreateStudentClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateStudentClassHeaders{}
	_result = &CreateStudentClassResponse{}
	_body, _err := client.CreateStudentClassWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建老师课程
//
// @param request - CreateTeacherCourseRequest
//
// @param headers - CreateTeacherCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateTeacherCourseResponse
func (client *Client) CreateTeacherCourseWithOptions(request *CreateTeacherCourseRequest, headers *CreateTeacherCourseHeaders, runtime *util.RuntimeOptions) (_result *CreateTeacherCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Attributes)) {
		body["attributes"] = request.Attributes
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseId)) {
		body["isvCourseId"] = request.IsvCourseId
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherName)) {
		body["teacherName"] = request.TeacherName
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserId)) {
		body["teacherUserId"] = request.TeacherUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateTeacherCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/teachers/courses"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateTeacherCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建老师课程
//
// @param request - CreateTeacherCourseRequest
//
// @return CreateTeacherCourseResponse
func (client *Client) CreateTeacherCourse(request *CreateTeacherCourseRequest) (_result *CreateTeacherCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateTeacherCourseHeaders{}
	_result = &CreateTeacherCourseResponse{}
	_body, _err := client.CreateTeacherCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 套件-创建定时卡片
//
// @param request - CreateTimerCardRequest
//
// @param headers - CreateTimerCardHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateTimerCardResponse
func (client *Client) CreateTimerCardWithOptions(request *CreateTimerCardRequest, headers *CreateTimerCardHeaders, runtime *util.RuntimeOptions) (_result *CreateTimerCardResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActionTime)) {
		body["actionTime"] = request.ActionTime
	}

	if !tea.BoolValue(util.IsUnset(request.BizData)) {
		body["bizData"] = request.BizData
	}

	if !tea.BoolValue(util.IsUnset(request.BizType)) {
		body["bizType"] = request.BizType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.Identifier)) {
		body["identifier"] = request.Identifier
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.Memo)) {
		body["memo"] = request.Memo
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateTimerCard"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/timerCards"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateTimerCardResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 套件-创建定时卡片
//
// @param request - CreateTimerCardRequest
//
// @return CreateTimerCardResponse
func (client *Client) CreateTimerCard(request *CreateTimerCardRequest) (_result *CreateTimerCardResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateTimerCardHeaders{}
	_result = &CreateTimerCardResponse{}
	_body, _err := client.CreateTimerCardWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建授权token
//
// @param request - CreateTokenRequest
//
// @param headers - CreateTokenHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateTokenResponse
func (client *Client) CreateTokenWithOptions(request *CreateTokenRequest, headers *CreateTokenHeaders, runtime *util.RuntimeOptions) (_result *CreateTokenResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateToken"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/tokens"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateTokenResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建授权token
//
// @param request - CreateTokenRequest
//
// @return CreateTokenResponse
func (client *Client) CreateToken(request *CreateTokenRequest) (_result *CreateTokenResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateTokenHeaders{}
	_result = &CreateTokenResponse{}
	_body, _err := client.CreateTokenWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 创建调代课记录
//
// @param request - CreateTransferRecordRequest
//
// @param headers - CreateTransferRecordHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateTransferRecordResponse
func (client *Client) CreateTransferRecordWithOptions(request *CreateTransferRecordRequest, headers *CreateTransferRecordHeaders, runtime *util.RuntimeOptions) (_result *CreateTransferRecordResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Attributes)) {
		body["attributes"] = request.Attributes
	}

	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassName)) {
		body["className"] = request.ClassName
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvRecordId)) {
		body["isvRecordId"] = request.IsvRecordId
	}

	if !tea.BoolValue(util.IsUnset(request.SrcCourseCode)) {
		body["srcCourseCode"] = request.SrcCourseCode
	}

	if !tea.BoolValue(util.IsUnset(request.SrcCourseDate)) {
		body["srcCourseDate"] = request.SrcCourseDate
	}

	if !tea.BoolValue(util.IsUnset(request.SrcCourseName)) {
		body["srcCourseName"] = request.SrcCourseName
	}

	if !tea.BoolValue(util.IsUnset(request.SrcIsvCourseId)) {
		body["srcIsvCourseId"] = request.SrcIsvCourseId
	}

	if !tea.BoolValue(util.IsUnset(request.SrcTimeslotName)) {
		body["srcTimeslotName"] = request.SrcTimeslotName
	}

	if !tea.BoolValue(util.IsUnset(request.SrcTimeslotNum)) {
		body["srcTimeslotNum"] = request.SrcTimeslotNum
	}

	if !tea.BoolValue(util.IsUnset(request.TarCourseCode)) {
		body["tarCourseCode"] = request.TarCourseCode
	}

	if !tea.BoolValue(util.IsUnset(request.TarCourseDate)) {
		body["tarCourseDate"] = request.TarCourseDate
	}

	if !tea.BoolValue(util.IsUnset(request.TarCourseName)) {
		body["tarCourseName"] = request.TarCourseName
	}

	if !tea.BoolValue(util.IsUnset(request.TarIsvCourseId)) {
		body["tarIsvCourseId"] = request.TarIsvCourseId
	}

	if !tea.BoolValue(util.IsUnset(request.TarTimeslotName)) {
		body["tarTimeslotName"] = request.TarTimeslotName
	}

	if !tea.BoolValue(util.IsUnset(request.TarTimeslotNum)) {
		body["tarTimeslotNum"] = request.TarTimeslotNum
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateTransferRecord"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/transferRecords"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateTransferRecordResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 创建调代课记录
//
// @param request - CreateTransferRecordRequest
//
// @return CreateTransferRecordResponse
func (client *Client) CreateTransferRecord(request *CreateTransferRecordRequest) (_result *CreateTransferRecordResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateTransferRecordHeaders{}
	_result = &CreateTransferRecordResponse{}
	_body, _err := client.CreateTransferRecordWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 大学创建课程组
//
// @param request - CreateUniversityCourseGroupRequest
//
// @param headers - CreateUniversityCourseGroupHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateUniversityCourseGroupResponse
func (client *Client) CreateUniversityCourseGroupWithOptions(request *CreateUniversityCourseGroupRequest, headers *CreateUniversityCourseGroupHeaders, runtime *util.RuntimeOptions) (_result *CreateUniversityCourseGroupResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseGroupIntroduce)) {
		body["courseGroupIntroduce"] = request.CourseGroupIntroduce
	}

	if !tea.BoolValue(util.IsUnset(request.CourseGroupName)) {
		body["courseGroupName"] = request.CourseGroupName
	}

	if !tea.BoolValue(util.IsUnset(request.CourserGroupItemModels)) {
		body["courserGroupItemModels"] = request.CourserGroupItemModels
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseGroupCode)) {
		body["isvCourseGroupCode"] = request.IsvCourseGroupCode
	}

	if !tea.BoolValue(util.IsUnset(request.PeriodCode)) {
		body["periodCode"] = request.PeriodCode
	}

	if !tea.BoolValue(util.IsUnset(request.SchoolYear)) {
		body["schoolYear"] = request.SchoolYear
	}

	if !tea.BoolValue(util.IsUnset(request.Semester)) {
		body["semester"] = request.Semester
	}

	if !tea.BoolValue(util.IsUnset(request.SubjectName)) {
		body["subjectName"] = request.SubjectName
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherInfos)) {
		body["teacherInfos"] = request.TeacherInfos
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateUniversityCourseGroup"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courseGroups"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateUniversityCourseGroupResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 大学创建课程组
//
// @param request - CreateUniversityCourseGroupRequest
//
// @return CreateUniversityCourseGroupResponse
func (client *Client) CreateUniversityCourseGroup(request *CreateUniversityCourseGroupRequest) (_result *CreateUniversityCourseGroupResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateUniversityCourseGroupHeaders{}
	_result = &CreateUniversityCourseGroupResponse{}
	_body, _err := client.CreateUniversityCourseGroupWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 大学增加学生
//
// @param request - CreateUniversityStudentRequest
//
// @param headers - CreateUniversityStudentHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateUniversityStudentResponse
func (client *Client) CreateUniversityStudentWithOptions(request *CreateUniversityStudentRequest, headers *CreateUniversityStudentHeaders, runtime *util.RuntimeOptions) (_result *CreateUniversityStudentResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.Gender)) {
		body["gender"] = request.Gender
	}

	if !tea.BoolValue(util.IsUnset(request.IdentityNumber)) {
		body["identityNumber"] = request.IdentityNumber
	}

	if !tea.BoolValue(util.IsUnset(request.Mobile)) {
		body["mobile"] = request.Mobile
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.StudentNumber)) {
		body["studentNumber"] = request.StudentNumber
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateUniversityStudent"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/students"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateUniversityStudentResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 大学增加学生
//
// @param request - CreateUniversityStudentRequest
//
// @return CreateUniversityStudentResponse
func (client *Client) CreateUniversityStudent(request *CreateUniversityStudentRequest) (_result *CreateUniversityStudentResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateUniversityStudentHeaders{}
	_result = &CreateUniversityStudentResponse{}
	_body, _err := client.CreateUniversityStudentWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 大学添加老师
//
// @param request - CreateUniversityTeacherRequest
//
// @param headers - CreateUniversityTeacherHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateUniversityTeacherResponse
func (client *Client) CreateUniversityTeacherWithOptions(request *CreateUniversityTeacherRequest, headers *CreateUniversityTeacherHeaders, runtime *util.RuntimeOptions) (_result *CreateUniversityTeacherResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		body["opUserId"] = request.OpUserId
	}

	if !tea.BoolValue(util.IsUnset(request.Role)) {
		body["role"] = request.Role
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserId)) {
		body["teacherUserId"] = request.TeacherUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateUniversityTeacher"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/teachers"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateUniversityTeacherResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 大学添加老师
//
// @param request - CreateUniversityTeacherRequest
//
// @return CreateUniversityTeacherResponse
func (client *Client) CreateUniversityTeacher(request *CreateUniversityTeacherRequest) (_result *CreateUniversityTeacherResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateUniversityTeacherHeaders{}
	_result = &CreateUniversityTeacherResponse{}
	_body, _err := client.CreateUniversityTeacherWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 错题本-添加错题
//
// @param request - CreateWrongQuestionsRequest
//
// @param headers - CreateWrongQuestionsHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return CreateWrongQuestionsResponse
func (client *Client) CreateWrongQuestionsWithOptions(request *CreateWrongQuestionsRequest, headers *CreateWrongQuestionsHeaders, runtime *util.RuntimeOptions) (_result *CreateWrongQuestionsResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AnswerContent)) {
		body["answerContent"] = request.AnswerContent
	}

	if !tea.BoolValue(util.IsUnset(request.DifficultyLevel)) {
		body["difficultyLevel"] = request.DifficultyLevel
	}

	if !tea.BoolValue(util.IsUnset(request.ExplainAudio)) {
		body["explainAudio"] = request.ExplainAudio
	}

	if !tea.BoolValue(util.IsUnset(request.ExplainContent)) {
		body["explainContent"] = request.ExplainContent
	}

	if !tea.BoolValue(util.IsUnset(request.GenerateTime)) {
		body["generateTime"] = request.GenerateTime
	}

	if !tea.BoolValue(util.IsUnset(request.KnowledgePointList)) {
		body["knowledgePointList"] = request.KnowledgePointList
	}

	if !tea.BoolValue(util.IsUnset(request.OwnerCode)) {
		body["ownerCode"] = request.OwnerCode
	}

	if !tea.BoolValue(util.IsUnset(request.OwnerType)) {
		body["ownerType"] = request.OwnerType
	}

	if !tea.BoolValue(util.IsUnset(request.ProficiencyLevel)) {
		body["proficiencyLevel"] = request.ProficiencyLevel
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionAudio)) {
		body["questionAudio"] = request.QuestionAudio
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionContent)) {
		body["questionContent"] = request.QuestionContent
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionExtension)) {
		body["questionExtension"] = request.QuestionExtension
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionPicUrl)) {
		body["questionPicUrl"] = request.QuestionPicUrl
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionType)) {
		body["questionType"] = request.QuestionType
	}

	if !tea.BoolValue(util.IsUnset(request.SourceCode)) {
		body["sourceCode"] = request.SourceCode
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserId)) {
		body["studentUserId"] = request.StudentUserId
	}

	if !tea.BoolValue(util.IsUnset(request.Subject)) {
		body["subject"] = request.Subject
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateWrongQuestions"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/corp/wrongQuestions"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &CreateWrongQuestionsResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 错题本-添加错题
//
// @param request - CreateWrongQuestionsRequest
//
// @return CreateWrongQuestionsResponse
func (client *Client) CreateWrongQuestions(request *CreateWrongQuestionsRequest) (_result *CreateWrongQuestionsResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &CreateWrongQuestionsHeaders{}
	_result = &CreateWrongQuestionsResponse{}
	_body, _err := client.CreateWrongQuestionsWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 视讯paas机具取消激活
//
// @param request - DeactivateDeviceRequest
//
// @param headers - DeactivateDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeactivateDeviceResponse
func (client *Client) DeactivateDeviceWithOptions(request *DeactivateDeviceRequest, headers *DeactivateDeviceHeaders, runtime *util.RuntimeOptions) (_result *DeactivateDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Model)) {
		body["model"] = request.Model
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("DeactivateDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpaas/devices/deactivate"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeactivateDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 视讯paas机具取消激活
//
// @param request - DeactivateDeviceRequest
//
// @return DeactivateDeviceResponse
func (client *Client) DeactivateDevice(request *DeactivateDeviceRequest) (_result *DeactivateDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeactivateDeviceHeaders{}
	_result = &DeactivateDeviceResponse{}
	_body, _err := client.DeactivateDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 扣减教育积分
//
// @param request - DeductPointRequest
//
// @param headers - DeductPointHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeductPointResponse
func (client *Client) DeductPointWithOptions(request *DeductPointRequest, headers *DeductPointHeaders, runtime *util.RuntimeOptions) (_result *DeductPointResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.DeductDesc)) {
		body["deductDesc"] = request.DeductDesc
	}

	if !tea.BoolValue(util.IsUnset(request.DeductDetailUrl)) {
		body["deductDetailUrl"] = request.DeductDetailUrl
	}

	if !tea.BoolValue(util.IsUnset(request.DeductNum)) {
		body["deductNum"] = request.DeductNum
	}

	if !tea.BoolValue(util.IsUnset(request.PointType)) {
		body["pointType"] = request.PointType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("DeductPoint"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/points/deduct"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeductPointResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 扣减教育积分
//
// @param request - DeductPointRequest
//
// @return DeductPointResponse
func (client *Client) DeductPoint(request *DeductPointRequest) (_result *DeductPointResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeductPointHeaders{}
	_result = &DeductPointResponse{}
	_body, _err := client.DeductPointWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 高校校友会删除当前部门
//
// @param request - DeleteCollegeAlumniDeptRequest
//
// @param headers - DeleteCollegeAlumniDeptHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteCollegeAlumniDeptResponse
func (client *Client) DeleteCollegeAlumniDeptWithOptions(request *DeleteCollegeAlumniDeptRequest, headers *DeleteCollegeAlumniDeptHeaders, runtime *util.RuntimeOptions) (_result *DeleteCollegeAlumniDeptResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		query["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteCollegeAlumniDept"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeAlumni/depts"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteCollegeAlumniDeptResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 高校校友会删除当前部门
//
// @param request - DeleteCollegeAlumniDeptRequest
//
// @return DeleteCollegeAlumniDeptResponse
func (client *Client) DeleteCollegeAlumniDept(request *DeleteCollegeAlumniDeptRequest) (_result *DeleteCollegeAlumniDeptResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteCollegeAlumniDeptHeaders{}
	_result = &DeleteCollegeAlumniDeptResponse{}
	_body, _err := client.DeleteCollegeAlumniDeptWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 高校校友会删除校友信息
//
// @param request - DeleteCollegeAlumniUserInfoRequest
//
// @param headers - DeleteCollegeAlumniUserInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteCollegeAlumniUserInfoResponse
func (client *Client) DeleteCollegeAlumniUserInfoWithOptions(request *DeleteCollegeAlumniUserInfoRequest, headers *DeleteCollegeAlumniUserInfoHeaders, runtime *util.RuntimeOptions) (_result *DeleteCollegeAlumniUserInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		body["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.UserIds)) {
		body["userIds"] = request.UserIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteCollegeAlumniUserInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeAlumni/userInfos/remove"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteCollegeAlumniUserInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 高校校友会删除校友信息
//
// @param request - DeleteCollegeAlumniUserInfoRequest
//
// @return DeleteCollegeAlumniUserInfoResponse
func (client *Client) DeleteCollegeAlumniUserInfo(request *DeleteCollegeAlumniUserInfoRequest) (_result *DeleteCollegeAlumniUserInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteCollegeAlumniUserInfoHeaders{}
	_result = &DeleteCollegeAlumniUserInfoResponse{}
	_body, _err := client.DeleteCollegeAlumniUserInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除高校通讯录场景架构
//
// @param request - DeleteCollegeContactSceneStruRequest
//
// @param headers - DeleteCollegeContactSceneStruHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteCollegeContactSceneStruResponse
func (client *Client) DeleteCollegeContactSceneStruWithOptions(request *DeleteCollegeContactSceneStruRequest, headers *DeleteCollegeContactSceneStruHeaders, runtime *util.RuntimeOptions) (_result *DeleteCollegeContactSceneStruResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.StruId)) {
		body["struId"] = request.StruId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteCollegeContactSceneStru"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts/structures/scenes/remove"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteCollegeContactSceneStruResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除高校通讯录场景架构
//
// @param request - DeleteCollegeContactSceneStruRequest
//
// @return DeleteCollegeContactSceneStruResponse
func (client *Client) DeleteCollegeContactSceneStru(request *DeleteCollegeContactSceneStruRequest) (_result *DeleteCollegeContactSceneStruResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteCollegeContactSceneStruHeaders{}
	_result = &DeleteCollegeContactSceneStruResponse{}
	_body, _err := client.DeleteCollegeContactSceneStruWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除家校部门
//
// @param request - DeleteDeptRequest
//
// @param headers - DeleteDeptHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteDeptResponse
func (client *Client) DeleteDeptWithOptions(deptId *string, request *DeleteDeptRequest, headers *DeleteDeptHeaders, runtime *util.RuntimeOptions) (_result *DeleteDeptResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteDept"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/depts/" + tea.StringValue(deptId)),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteDeptResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除家校部门
//
// @param request - DeleteDeptRequest
//
// @return DeleteDeptResponse
func (client *Client) DeleteDept(deptId *string, request *DeleteDeptRequest) (_result *DeleteDeptResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteDeptHeaders{}
	_result = &DeleteDeptResponse{}
	_body, _err := client.DeleteDeptWithOptions(deptId, request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 视讯paas机具删除
//
// @param request - DeleteDeviceRequest
//
// @param headers - DeleteDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteDeviceResponse
func (client *Client) DeleteDeviceWithOptions(request *DeleteDeviceRequest, headers *DeleteDeviceHeaders, runtime *util.RuntimeOptions) (_result *DeleteDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpaas/devices"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 视讯paas机具删除
//
// @param request - DeleteDeviceRequest
//
// @return DeleteDeviceResponse
func (client *Client) DeleteDevice(request *DeleteDeviceRequest) (_result *DeleteDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteDeviceHeaders{}
	_result = &DeleteDeviceResponse{}
	_body, _err := client.DeleteDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除设备上面的组织
//
// @param request - DeleteDeviceOrgRequest
//
// @param headers - DeleteDeviceOrgHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteDeviceOrgResponse
func (client *Client) DeleteDeviceOrgWithOptions(request *DeleteDeviceOrgRequest, headers *DeleteDeviceOrgHeaders, runtime *util.RuntimeOptions) (_result *DeleteDeviceOrgResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AuthCode)) {
		query["authCode"] = request.AuthCode
	}

	if !tea.BoolValue(util.IsUnset(request.DeviceCode)) {
		query["deviceCode"] = request.DeviceCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteDeviceOrg"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/deviceOrgs"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteDeviceOrgResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除设备上面的组织
//
// @param request - DeleteDeviceOrgRequest
//
// @return DeleteDeviceOrgResponse
func (client *Client) DeleteDeviceOrg(request *DeleteDeviceOrgRequest) (_result *DeleteDeviceOrgResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteDeviceOrgHeaders{}
	_result = &DeleteDeviceOrgResponse{}
	_body, _err := client.DeleteDeviceOrgWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除评价表现数据
//
// @param request - DeleteEvaluatePerformanceRequest
//
// @param headers - DeleteEvaluatePerformanceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteEvaluatePerformanceResponse
func (client *Client) DeleteEvaluatePerformanceWithOptions(request *DeleteEvaluatePerformanceRequest, headers *DeleteEvaluatePerformanceHeaders, runtime *util.RuntimeOptions) (_result *DeleteEvaluatePerformanceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.EvaluationIdList)) {
		body["evaluationIdList"] = request.EvaluationIdList
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteEvaluatePerformance"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/evaluations/remove"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteEvaluatePerformanceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除评价表现数据
//
// @param request - DeleteEvaluatePerformanceRequest
//
// @return DeleteEvaluatePerformanceResponse
func (client *Client) DeleteEvaluatePerformance(request *DeleteEvaluatePerformanceRequest) (_result *DeleteEvaluatePerformanceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteEvaluatePerformanceHeaders{}
	_result = &DeleteEvaluatePerformanceResponse{}
	_body, _err := client.DeleteEvaluatePerformanceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除家长
//
// @param request - DeleteGuardianRequest
//
// @param headers - DeleteGuardianHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteGuardianResponse
func (client *Client) DeleteGuardianWithOptions(classId *string, userId *string, request *DeleteGuardianRequest, headers *DeleteGuardianHeaders, runtime *util.RuntimeOptions) (_result *DeleteGuardianResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.StuId)) {
		query["stuId"] = request.StuId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteGuardian"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/" + tea.StringValue(classId) + "/guardians/" + tea.StringValue(userId)),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteGuardianResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除家长
//
// @param request - DeleteGuardianRequest
//
// @return DeleteGuardianResponse
func (client *Client) DeleteGuardian(classId *string, userId *string, request *DeleteGuardianRequest) (_result *DeleteGuardianResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteGuardianHeaders{}
	_result = &DeleteGuardianResponse{}
	_body, _err := client.DeleteGuardianWithOptions(classId, userId, request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除组织的关联关系
//
// @param request - DeleteOrgRelationRequest
//
// @param headers - DeleteOrgRelationHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteOrgRelationResponse
func (client *Client) DeleteOrgRelationWithOptions(request *DeleteOrgRelationRequest, headers *DeleteOrgRelationHeaders, runtime *util.RuntimeOptions) (_result *DeleteOrgRelationResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AuthCode)) {
		query["authCode"] = request.AuthCode
	}

	if !tea.BoolValue(util.IsUnset(request.TargetCorpId)) {
		query["targetCorpId"] = request.TargetCorpId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteOrgRelation"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/orgRelations"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteOrgRelationResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除组织的关联关系
//
// @param request - DeleteOrgRelationRequest
//
// @return DeleteOrgRelationResponse
func (client *Client) DeleteOrgRelation(request *DeleteOrgRelationRequest) (_result *DeleteOrgRelationResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteOrgRelationHeaders{}
	_result = &DeleteOrgRelationResponse{}
	_body, _err := client.DeleteOrgRelationWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除物理教室信息
//
// @param request - DeletePhysicalClassroomRequest
//
// @param headers - DeletePhysicalClassroomHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeletePhysicalClassroomResponse
func (client *Client) DeletePhysicalClassroomWithOptions(request *DeletePhysicalClassroomRequest, headers *DeletePhysicalClassroomHeaders, runtime *util.RuntimeOptions) (_result *DeletePhysicalClassroomResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassroomId)) {
		query["classroomId"] = request.ClassroomId
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeletePhysicalClassroom"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/physicalClassrooms"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeletePhysicalClassroomResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除物理教室信息
//
// @param request - DeletePhysicalClassroomRequest
//
// @return DeletePhysicalClassroomResponse
func (client *Client) DeletePhysicalClassroom(request *DeletePhysicalClassroomRequest) (_result *DeletePhysicalClassroomResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeletePhysicalClassroomHeaders{}
	_result = &DeletePhysicalClassroomResponse{}
	_body, _err := client.DeletePhysicalClassroomWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除专递课堂课程
//
// @param request - DeleteRemoteClassCourseRequest
//
// @param headers - DeleteRemoteClassCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteRemoteClassCourseResponse
func (client *Client) DeleteRemoteClassCourseWithOptions(courseCode *string, request *DeleteRemoteClassCourseRequest, headers *DeleteRemoteClassCourseHeaders, runtime *util.RuntimeOptions) (_result *DeleteRemoteClassCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AuthCode)) {
		query["authCode"] = request.AuthCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteRemoteClassCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/courses/" + tea.StringValue(courseCode)),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteRemoteClassCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除专递课堂课程
//
// @param request - DeleteRemoteClassCourseRequest
//
// @return DeleteRemoteClassCourseResponse
func (client *Client) DeleteRemoteClassCourse(courseCode *string, request *DeleteRemoteClassCourseRequest) (_result *DeleteRemoteClassCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteRemoteClassCourseHeaders{}
	_result = &DeleteRemoteClassCourseResponse{}
	_body, _err := client.DeleteRemoteClassCourseWithOptions(courseCode, request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除成绩单
//
// @param request - DeleteSchoolReportRequest
//
// @param headers - DeleteSchoolReportHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteSchoolReportResponse
func (client *Client) DeleteSchoolReportWithOptions(request *DeleteSchoolReportRequest, headers *DeleteSchoolReportHeaders, runtime *util.RuntimeOptions) (_result *DeleteSchoolReportResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.SchoolReportId)) {
		body["schoolReportId"] = request.SchoolReportId
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherId)) {
		body["teacherId"] = request.TeacherId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteSchoolReport"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schools/reports/remove"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteSchoolReportResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除成绩单
//
// @param request - DeleteSchoolReportRequest
//
// @return DeleteSchoolReportResponse
func (client *Client) DeleteSchoolReport(request *DeleteSchoolReportRequest) (_result *DeleteSchoolReportResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteSchoolReportHeaders{}
	_result = &DeleteSchoolReportResponse{}
	_body, _err := client.DeleteSchoolReportWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除学生
//
// @param request - DeleteStudentRequest
//
// @param headers - DeleteStudentHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteStudentResponse
func (client *Client) DeleteStudentWithOptions(classId *string, userId *string, request *DeleteStudentRequest, headers *DeleteStudentHeaders, runtime *util.RuntimeOptions) (_result *DeleteStudentResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteStudent"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/" + tea.StringValue(classId) + "/students/" + tea.StringValue(userId)),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteStudentResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除学生
//
// @param request - DeleteStudentRequest
//
// @return DeleteStudentResponse
func (client *Client) DeleteStudent(classId *string, userId *string, request *DeleteStudentRequest) (_result *DeleteStudentResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteStudentHeaders{}
	_result = &DeleteStudentResponse{}
	_body, _err := client.DeleteStudentWithOptions(classId, userId, request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除老师
//
// @param request - DeleteTeacherRequest
//
// @param headers - DeleteTeacherHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteTeacherResponse
func (client *Client) DeleteTeacherWithOptions(classId *string, userId *string, request *DeleteTeacherRequest, headers *DeleteTeacherHeaders, runtime *util.RuntimeOptions) (_result *DeleteTeacherResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Adviser)) {
		query["adviser"] = request.Adviser
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteTeacher"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/" + tea.StringValue(classId) + "/teachers/" + tea.StringValue(userId)),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteTeacherResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除老师
//
// @param request - DeleteTeacherRequest
//
// @return DeleteTeacherResponse
func (client *Client) DeleteTeacher(classId *string, userId *string, request *DeleteTeacherRequest) (_result *DeleteTeacherResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteTeacherHeaders{}
	_result = &DeleteTeacherResponse{}
	_body, _err := client.DeleteTeacherWithOptions(classId, userId, request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除大学课程组
//
// @param request - DeleteUniversityCourseGroupRequest
//
// @param headers - DeleteUniversityCourseGroupHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteUniversityCourseGroupResponse
func (client *Client) DeleteUniversityCourseGroupWithOptions(request *DeleteUniversityCourseGroupRequest, headers *DeleteUniversityCourseGroupHeaders, runtime *util.RuntimeOptions) (_result *DeleteUniversityCourseGroupResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseGroupCode)) {
		query["courseGroupCode"] = request.CourseGroupCode
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteUniversityCourseGroup"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courseGroups"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteUniversityCourseGroupResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除大学课程组
//
// @param request - DeleteUniversityCourseGroupRequest
//
// @return DeleteUniversityCourseGroupResponse
func (client *Client) DeleteUniversityCourseGroup(request *DeleteUniversityCourseGroupRequest) (_result *DeleteUniversityCourseGroupResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteUniversityCourseGroupHeaders{}
	_result = &DeleteUniversityCourseGroupResponse{}
	_body, _err := client.DeleteUniversityCourseGroupWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除大学学生
//
// @param request - DeleteUniversityStudentRequest
//
// @param headers - DeleteUniversityStudentHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteUniversityStudentResponse
func (client *Client) DeleteUniversityStudentWithOptions(request *DeleteUniversityStudentRequest, headers *DeleteUniversityStudentHeaders, runtime *util.RuntimeOptions) (_result *DeleteUniversityStudentResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		query["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserId)) {
		query["studentUserId"] = request.StudentUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteUniversityStudent"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/students"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteUniversityStudentResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除大学学生
//
// @param request - DeleteUniversityStudentRequest
//
// @return DeleteUniversityStudentResponse
func (client *Client) DeleteUniversityStudent(request *DeleteUniversityStudentRequest) (_result *DeleteUniversityStudentResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteUniversityStudentHeaders{}
	_result = &DeleteUniversityStudentResponse{}
	_body, _err := client.DeleteUniversityStudentWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除大学教师
//
// @param request - DeleteUniversityTeacherRequest
//
// @param headers - DeleteUniversityTeacherHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeleteUniversityTeacherResponse
func (client *Client) DeleteUniversityTeacherWithOptions(request *DeleteUniversityTeacherRequest, headers *DeleteUniversityTeacherHeaders, runtime *util.RuntimeOptions) (_result *DeleteUniversityTeacherResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		query["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	if !tea.BoolValue(util.IsUnset(request.Role)) {
		query["role"] = request.Role
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserId)) {
		query["teacherUserId"] = request.TeacherUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeleteUniversityTeacher"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/teachers"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeleteUniversityTeacherResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除大学教师
//
// @param request - DeleteUniversityTeacherRequest
//
// @return DeleteUniversityTeacherResponse
func (client *Client) DeleteUniversityTeacher(request *DeleteUniversityTeacherRequest) (_result *DeleteUniversityTeacherResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeleteUniversityTeacherHeaders{}
	_result = &DeleteUniversityTeacherResponse{}
	_body, _err := client.DeleteUniversityTeacherWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 设备心跳上报
//
// @param request - DeviceHeartbeatRequest
//
// @param headers - DeviceHeartbeatHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DeviceHeartbeatResponse
func (client *Client) DeviceHeartbeatWithOptions(request *DeviceHeartbeatRequest, headers *DeviceHeartbeatHeaders, runtime *util.RuntimeOptions) (_result *DeviceHeartbeatResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("DeviceHeartbeat"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/heartbeats/report"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DeviceHeartbeatResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 设备心跳上报
//
// @param request - DeviceHeartbeatRequest
//
// @return DeviceHeartbeatResponse
func (client *Client) DeviceHeartbeat(request *DeviceHeartbeatRequest) (_result *DeviceHeartbeatResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DeviceHeartbeatHeaders{}
	_result = &DeviceHeartbeatResponse{}
	_body, _err := client.DeviceHeartbeatWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 停用高校通讯录场景架构
//
// @param request - DisableCollegeContactSceneStruRequest
//
// @param headers - DisableCollegeContactSceneStruHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return DisableCollegeContactSceneStruResponse
func (client *Client) DisableCollegeContactSceneStruWithOptions(request *DisableCollegeContactSceneStruRequest, headers *DisableCollegeContactSceneStruHeaders, runtime *util.RuntimeOptions) (_result *DisableCollegeContactSceneStruResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.StruId)) {
		body["struId"] = request.StruId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("DisableCollegeContactSceneStru"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts/structures/scenes/disable"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &DisableCollegeContactSceneStruResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 停用高校通讯录场景架构
//
// @param request - DisableCollegeContactSceneStruRequest
//
// @return DisableCollegeContactSceneStruResponse
func (client *Client) DisableCollegeContactSceneStru(request *DisableCollegeContactSceneStruRequest) (_result *DisableCollegeContactSceneStruResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &DisableCollegeContactSceneStruHeaders{}
	_result = &DisableCollegeContactSceneStruResponse{}
	_body, _err := client.DisableCollegeContactSceneStruWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 教育三方aigc结果回调
//
// @param request - EduAIGCCallbackRequest
//
// @param headers - EduAIGCCallbackHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EduAIGCCallbackResponse
func (client *Client) EduAIGCCallbackWithOptions(request *EduAIGCCallbackRequest, headers *EduAIGCCallbackHeaders, runtime *util.RuntimeOptions) (_result *EduAIGCCallbackResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ChannelCode)) {
		body["channelCode"] = request.ChannelCode
	}

	if !tea.BoolValue(util.IsUnset(request.CommitTime)) {
		body["commitTime"] = request.CommitTime
	}

	if !tea.BoolValue(util.IsUnset(request.CompleteTime)) {
		body["completeTime"] = request.CompleteTime
	}

	if !tea.BoolValue(util.IsUnset(request.Content)) {
		body["content"] = request.Content
	}

	if !tea.BoolValue(util.IsUnset(request.ContentSize)) {
		body["contentSize"] = request.ContentSize
	}

	if !tea.BoolValue(util.IsUnset(request.ContentType)) {
		body["contentType"] = request.ContentType
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	if !tea.BoolValue(util.IsUnset(request.Prompt)) {
		body["prompt"] = request.Prompt
	}

	if !tea.BoolValue(util.IsUnset(request.Remark)) {
		body["remark"] = request.Remark
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("EduAIGCCallback"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/aigc/callback"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EduAIGCCallbackResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 教育三方aigc结果回调
//
// @param request - EduAIGCCallbackRequest
//
// @return EduAIGCCallbackResponse
func (client *Client) EduAIGCCallback(request *EduAIGCCallbackRequest) (_result *EduAIGCCallbackResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EduAIGCCallbackHeaders{}
	_result = &EduAIGCCallbackResponse{}
	_body, _err := client.EduAIGCCallbackWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 教育大模型开放接口
//
// @param request - EduAIModelCompleteRequest
//
// @param headers - EduAIModelCompleteHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EduAIModelCompleteResponse
func (client *Client) EduAIModelCompleteWithOptions(request *EduAIModelCompleteRequest, headers *EduAIModelCompleteHeaders, runtime *util.RuntimeOptions) (_result *EduAIModelCompleteResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.MaxTokens)) {
		body["maxTokens"] = request.MaxTokens
	}

	if !tea.BoolValue(util.IsUnset(request.Model)) {
		body["model"] = request.Model
	}

	if !tea.BoolValue(util.IsUnset(request.Prompt)) {
		body["prompt"] = request.Prompt
	}

	if !tea.BoolValue(util.IsUnset(request.Scene)) {
		body["scene"] = request.Scene
	}

	if !tea.BoolValue(util.IsUnset(request.Temperature)) {
		body["temperature"] = request.Temperature
	}

	if !tea.BoolValue(util.IsUnset(request.TopP)) {
		body["top_p"] = request.TopP
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("EduAIModelComplete"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/ai/models/complete"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EduAIModelCompleteResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 教育大模型开放接口
//
// @param request - EduAIModelCompleteRequest
//
// @return EduAIModelCompleteResponse
func (client *Client) EduAIModelComplete(request *EduAIModelCompleteRequest) (_result *EduAIModelCompleteResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EduAIModelCompleteHeaders{}
	_result = &EduAIModelCompleteResponse{}
	_body, _err := client.EduAIModelCompleteWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 教育侧用户的所有角色
//
// @param request - EduFindUserRolesByUserIdRequest
//
// @param headers - EduFindUserRolesByUserIdHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EduFindUserRolesByUserIdResponse
func (client *Client) EduFindUserRolesByUserIdWithOptions(request *EduFindUserRolesByUserIdRequest, headers *EduFindUserRolesByUserIdHeaders, runtime *util.RuntimeOptions) (_result *EduFindUserRolesByUserIdResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		query["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		query["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.HasOrgRole)) {
		query["hasOrgRole"] = request.HasOrgRole
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		query["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("EduFindUserRolesByUserId"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/users/allRoles"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EduFindUserRolesByUserIdResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 教育侧用户的所有角色
//
// @param request - EduFindUserRolesByUserIdRequest
//
// @return EduFindUserRolesByUserIdResponse
func (client *Client) EduFindUserRolesByUserId(request *EduFindUserRolesByUserIdRequest) (_result *EduFindUserRolesByUserIdResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EduFindUserRolesByUserIdHeaders{}
	_result = &EduFindUserRolesByUserIdResponse{}
	_body, _err := client.EduFindUserRolesByUserIdWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取用户文件存储空间信息
//
// @param request - EduGetFileSpaceRequest
//
// @param headers - EduGetFileSpaceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EduGetFileSpaceResponse
func (client *Client) EduGetFileSpaceWithOptions(request *EduGetFileSpaceRequest, headers *EduGetFileSpaceHeaders, runtime *util.RuntimeOptions) (_result *EduGetFileSpaceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ChannelCode)) {
		body["channelCode"] = request.ChannelCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("EduGetFileSpace"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/files/spaces/infos/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EduGetFileSpaceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取用户文件存储空间信息
//
// @param request - EduGetFileSpaceRequest
//
// @return EduGetFileSpaceResponse
func (client *Client) EduGetFileSpace(request *EduGetFileSpaceRequest) (_result *EduGetFileSpaceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EduGetFileSpaceHeaders{}
	_result = &EduGetFileSpaceResponse{}
	_body, _err := client.EduGetFileSpaceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 教育侧获取用户所有关系详情列表
//
// @param request - EduListUserByFromUserIdsRequest
//
// @param headers - EduListUserByFromUserIdsHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EduListUserByFromUserIdsResponse
func (client *Client) EduListUserByFromUserIdsWithOptions(request *EduListUserByFromUserIdsRequest, headers *EduListUserByFromUserIdsHeaders, runtime *util.RuntimeOptions) (_result *EduListUserByFromUserIdsResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		query["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		query["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.GuardianUserId)) {
		query["guardianUserId"] = request.GuardianUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("EduListUserByFromUserIds"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/users/allRelations/lists"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EduListUserByFromUserIdsResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 教育侧获取用户所有关系详情列表
//
// @param request - EduListUserByFromUserIdsRequest
//
// @return EduListUserByFromUserIdsResponse
func (client *Client) EduListUserByFromUserIds(request *EduListUserByFromUserIdsRequest) (_result *EduListUserByFromUserIdsResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EduListUserByFromUserIdsHeaders{}
	_result = &EduListUserByFromUserIdsResponse{}
	_body, _err := client.EduListUserByFromUserIdsWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询教师列表
//
// @param request - EduTeacherListRequest
//
// @param headers - EduTeacherListHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EduTeacherListResponse
func (client *Client) EduTeacherListWithOptions(request *EduTeacherListRequest, headers *EduTeacherListHeaders, runtime *util.RuntimeOptions) (_result *EduTeacherListResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		query["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		query["pageSize"] = request.PageSize
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("EduTeacherList"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/teachers"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EduTeacherListResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询教师列表
//
// @param request - EduTeacherListRequest
//
// @return EduTeacherListResponse
func (client *Client) EduTeacherList(request *EduTeacherListRequest) (_result *EduTeacherListResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EduTeacherListHeaders{}
	_result = &EduTeacherListResponse{}
	_body, _err := client.EduTeacherListWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 启用高校通讯录场景架构
//
// @param request - EnableCollegeContactSceneStruRequest
//
// @param headers - EnableCollegeContactSceneStruHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EnableCollegeContactSceneStruResponse
func (client *Client) EnableCollegeContactSceneStruWithOptions(request *EnableCollegeContactSceneStruRequest, headers *EnableCollegeContactSceneStruHeaders, runtime *util.RuntimeOptions) (_result *EnableCollegeContactSceneStruResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.StruId)) {
		body["struId"] = request.StruId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("EnableCollegeContactSceneStru"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts/structures/scenes/enable"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EnableCollegeContactSceneStruResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 启用高校通讯录场景架构
//
// @param request - EnableCollegeContactSceneStruRequest
//
// @return EnableCollegeContactSceneStruResponse
func (client *Client) EnableCollegeContactSceneStru(request *EnableCollegeContactSceneStruRequest) (_result *EnableCollegeContactSceneStruResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EnableCollegeContactSceneStruHeaders{}
	_result = &EnableCollegeContactSceneStruResponse{}
	_body, _err := client.EnableCollegeContactSceneStruWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 关闭课程
//
// @param request - EndCourseRequest
//
// @param headers - EndCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EndCourseResponse
func (client *Client) EndCourseWithOptions(request *EndCourseRequest, headers *EndCourseHeaders, runtime *util.RuntimeOptions) (_result *EndCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseCode)) {
		body["courseCode"] = request.CourseCode
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.LivePlayInfoList)) {
		body["livePlayInfoList"] = request.LivePlayInfoList
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("EndCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courses/end"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EndCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 关闭课程
//
// @param request - EndCourseRequest
//
// @return EndCourseResponse
func (client *Client) EndCourse(request *EndCourseRequest) (_result *EndCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EndCourseHeaders{}
	_result = &EndCourseResponse{}
	_body, _err := client.EndCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 新增用户事件跟踪日志
//
// @param request - EventTrackRequest
//
// @param headers - EventTrackHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return EventTrackResponse
func (client *Client) EventTrackWithOptions(request *EventTrackRequest, headers *EventTrackHeaders, runtime *util.RuntimeOptions) (_result *EventTrackResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActionKey)) {
		body["actionKey"] = request.ActionKey
	}

	if !tea.BoolValue(util.IsUnset(request.ActionTime)) {
		body["actionTime"] = request.ActionTime
	}

	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.BizReq)) {
		body["bizReq"] = request.BizReq
	}

	if !tea.BoolValue(util.IsUnset(request.BizResp)) {
		body["bizResp"] = request.BizResp
	}

	if !tea.BoolValue(util.IsUnset(request.DeviceId)) {
		body["deviceId"] = request.DeviceId
	}

	if !tea.BoolValue(util.IsUnset(request.EventId)) {
		body["eventId"] = request.EventId
	}

	if !tea.BoolValue(util.IsUnset(request.EventType)) {
		body["eventType"] = request.EventType
	}

	if !tea.BoolValue(util.IsUnset(request.EventUnit)) {
		body["eventUnit"] = request.EventUnit
	}

	if !tea.BoolValue(util.IsUnset(request.EventValue)) {
		body["eventValue"] = request.EventValue
	}

	if !tea.BoolValue(util.IsUnset(request.Extend)) {
		body["extend"] = request.Extend
	}

	if !tea.BoolValue(util.IsUnset(request.Platform)) {
		body["platform"] = request.Platform
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("EventTrack"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/users/events/traceLogs"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &EventTrackResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 新增用户事件跟踪日志
//
// @param request - EventTrackRequest
//
// @return EventTrackResponse
func (client *Client) EventTrack(request *EventTrackRequest) (_result *EventTrackResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &EventTrackHeaders{}
	_result = &EventTrackResponse{}
	_body, _err := client.EventTrackWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取调用大模型的taskId
//
// @param request - GenerateTaskIdRequest
//
// @param headers - GenerateTaskIdHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GenerateTaskIdResponse
func (client *Client) GenerateTaskIdWithOptions(request *GenerateTaskIdRequest, headers *GenerateTaskIdHeaders, runtime *util.RuntimeOptions) (_result *GenerateTaskIdResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.MaxTokens)) {
		body["maxTokens"] = request.MaxTokens
	}

	if !tea.BoolValue(util.IsUnset(request.Model)) {
		body["model"] = request.Model
	}

	if !tea.BoolValue(util.IsUnset(request.Prompt)) {
		body["prompt"] = request.Prompt
	}

	if !tea.BoolValue(util.IsUnset(request.Scene)) {
		body["scene"] = request.Scene
	}

	if !tea.BoolValue(util.IsUnset(request.Temperature)) {
		body["temperature"] = request.Temperature
	}

	if !tea.BoolValue(util.IsUnset(request.TopP)) {
		body["top_p"] = request.TopP
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("GenerateTaskId"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/ai/models/taskId/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GenerateTaskIdResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取调用大模型的taskId
//
// @param request - GenerateTaskIdRequest
//
// @return GenerateTaskIdResponse
func (client *Client) GenerateTaskId(request *GenerateTaskIdRequest) (_result *GenerateTaskIdResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GenerateTaskIdHeaders{}
	_result = &GenerateTaskIdResponse{}
	_body, _err := client.GenerateTaskIdWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取绑定孩子信息
//
// @param request - GetBindChildInfoRequest
//
// @param headers - GetBindChildInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetBindChildInfoResponse
func (client *Client) GetBindChildInfoWithOptions(request *GetBindChildInfoRequest, headers *GetBindChildInfoHeaders, runtime *util.RuntimeOptions) (_result *GetBindChildInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.SchoolCorpId)) {
		query["schoolCorpId"] = request.SchoolCorpId
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserId)) {
		query["studentUserId"] = request.StudentUserId
	}

	if !tea.BoolValue(util.IsUnset(request.UnionId)) {
		query["unionId"] = request.UnionId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetBindChildInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/families/childs/infos"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetBindChildInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取绑定孩子信息
//
// @param request - GetBindChildInfoRequest
//
// @return GetBindChildInfoResponse
func (client *Client) GetBindChildInfo(request *GetBindChildInfoRequest) (_result *GetBindChildInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetBindChildInfoHeaders{}
	_result = &GetBindChildInfoResponse{}
	_body, _err := client.GetBindChildInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询用户的孩子列表
//
// @param headers - GetChildrenHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetChildrenResponse
func (client *Client) GetChildrenWithOptions(headers *GetChildrenHeaders, runtime *util.RuntimeOptions) (_result *GetChildrenResponse, _err error) {
	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
	}
	params := &openapi.Params{
		Action:      tea.String("GetChildren"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/children/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetChildrenResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询用户的孩子列表
//
// @return GetChildrenResponse
func (client *Client) GetChildren() (_result *GetChildrenResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetChildrenHeaders{}
	_result = &GetChildrenResponse{}
	_body, _err := client.GetChildrenWithOptions(headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 高校校友会获取当前部门的所有子部门
//
// @param request - GetCollegeAlumniDeptsRequest
//
// @param headers - GetCollegeAlumniDeptsHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetCollegeAlumniDeptsResponse
func (client *Client) GetCollegeAlumniDeptsWithOptions(request *GetCollegeAlumniDeptsRequest, headers *GetCollegeAlumniDeptsHeaders, runtime *util.RuntimeOptions) (_result *GetCollegeAlumniDeptsResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		query["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetCollegeAlumniDepts"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeAlumni/subDepts"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetCollegeAlumniDeptsResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 高校校友会获取当前部门的所有子部门
//
// @param request - GetCollegeAlumniDeptsRequest
//
// @return GetCollegeAlumniDeptsResponse
func (client *Client) GetCollegeAlumniDepts(request *GetCollegeAlumniDeptsRequest) (_result *GetCollegeAlumniDeptsResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetCollegeAlumniDeptsHeaders{}
	_result = &GetCollegeAlumniDeptsResponse{}
	_body, _err := client.GetCollegeAlumniDeptsWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 高校校友会查询校友信息
//
// @param request - GetCollegeAlumniUserInfoRequest
//
// @param headers - GetCollegeAlumniUserInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetCollegeAlumniUserInfoResponse
func (client *Client) GetCollegeAlumniUserInfoWithOptions(request *GetCollegeAlumniUserInfoRequest, headers *GetCollegeAlumniUserInfoHeaders, runtime *util.RuntimeOptions) (_result *GetCollegeAlumniUserInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		query["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetCollegeAlumniUserInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeAlumni/userInfos"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetCollegeAlumniUserInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 高校校友会查询校友信息
//
// @param request - GetCollegeAlumniUserInfoRequest
//
// @return GetCollegeAlumniUserInfoResponse
func (client *Client) GetCollegeAlumniUserInfo(request *GetCollegeAlumniUserInfoRequest) (_result *GetCollegeAlumniUserInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetCollegeAlumniUserInfoHeaders{}
	_result = &GetCollegeAlumniUserInfoResponse{}
	_body, _err := client.GetCollegeAlumniUserInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取高校通讯录组织单元详情
//
// @param request - GetCollegeContactDeptDetailRequest
//
// @param headers - GetCollegeContactDeptDetailHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetCollegeContactDeptDetailResponse
func (client *Client) GetCollegeContactDeptDetailWithOptions(request *GetCollegeContactDeptDetailRequest, headers *GetCollegeContactDeptDetailHeaders, runtime *util.RuntimeOptions) (_result *GetCollegeContactDeptDetailResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		query["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.Language)) {
		query["language"] = request.Language
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetCollegeContactDeptDetail"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetCollegeContactDeptDetailResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取高校通讯录组织单元详情
//
// @param request - GetCollegeContactDeptDetailRequest
//
// @return GetCollegeContactDeptDetailResponse
func (client *Client) GetCollegeContactDeptDetail(request *GetCollegeContactDeptDetailRequest) (_result *GetCollegeContactDeptDetailResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetCollegeContactDeptDetailHeaders{}
	_result = &GetCollegeContactDeptDetailResponse{}
	_body, _err := client.GetCollegeContactDeptDetailWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取行政组织架构信息
//
// @param request - GetCollegeContactStandardStruDeptDetailRequest
//
// @param headers - GetCollegeContactStandardStruDeptDetailHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetCollegeContactStandardStruDeptDetailResponse
func (client *Client) GetCollegeContactStandardStruDeptDetailWithOptions(request *GetCollegeContactStandardStruDeptDetailRequest, headers *GetCollegeContactStandardStruDeptDetailHeaders, runtime *util.RuntimeOptions) (_result *GetCollegeContactStandardStruDeptDetailResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Language)) {
		query["language"] = request.Language
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetCollegeContactStandardStruDeptDetail"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts/structures/standards"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetCollegeContactStandardStruDeptDetailResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取行政组织架构信息
//
// @param request - GetCollegeContactStandardStruDeptDetailRequest
//
// @return GetCollegeContactStandardStruDeptDetailResponse
func (client *Client) GetCollegeContactStandardStruDeptDetail(request *GetCollegeContactStandardStruDeptDetailRequest) (_result *GetCollegeContactStandardStruDeptDetailResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetCollegeContactStandardStruDeptDetailHeaders{}
	_result = &GetCollegeContactStandardStruDeptDetailResponse{}
	_body, _err := client.GetCollegeContactStandardStruDeptDetailWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取默认孩子信息
//
// @param headers - GetDefaultChildHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetDefaultChildResponse
func (client *Client) GetDefaultChildWithOptions(headers *GetDefaultChildHeaders, runtime *util.RuntimeOptions) (_result *GetDefaultChildResponse, _err error) {
	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
	}
	params := &openapi.Params{
		Action:      tea.String("GetDefaultChild"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/defaultChildren"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &GetDefaultChildResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取默认孩子信息
//
// @return GetDefaultChildResponse
func (client *Client) GetDefaultChild() (_result *GetDefaultChildResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetDefaultChildHeaders{}
	_result = &GetDefaultChildResponse{}
	_body, _err := client.GetDefaultChildWithOptions(headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 阿里云盘教师节活动获取用户身份
//
// @param request - GetEduUserIdentityRequest
//
// @param headers - GetEduUserIdentityHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetEduUserIdentityResponse
func (client *Client) GetEduUserIdentityWithOptions(request *GetEduUserIdentityRequest, headers *GetEduUserIdentityHeaders, runtime *util.RuntimeOptions) (_result *GetEduUserIdentityResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.UnionId)) {
		query["unionId"] = request.UnionId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetEduUserIdentity"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/apollos/activities/userIdentities"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetEduUserIdentityResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 阿里云盘教师节活动获取用户身份
//
// @param request - GetEduUserIdentityRequest
//
// @return GetEduUserIdentityResponse
func (client *Client) GetEduUserIdentity(request *GetEduUserIdentityRequest) (_result *GetEduUserIdentityResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetEduUserIdentityHeaders{}
	_result = &GetEduUserIdentityResponse{}
	_body, _err := client.GetEduUserIdentityWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取文件下载信息
//
// @param request - GetFileDownloadInfoRequest
//
// @param headers - GetFileDownloadInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetFileDownloadInfoResponse
func (client *Client) GetFileDownloadInfoWithOptions(request *GetFileDownloadInfoRequest, headers *GetFileDownloadInfoHeaders, runtime *util.RuntimeOptions) (_result *GetFileDownloadInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.FileIdList)) {
		body["fileIdList"] = request.FileIdList
	}

	if !tea.BoolValue(util.IsUnset(request.SpaceId)) {
		body["spaceId"] = request.SpaceId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("GetFileDownloadInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/files/downloadInfos/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetFileDownloadInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取文件下载信息
//
// @param request - GetFileDownloadInfoRequest
//
// @return GetFileDownloadInfoResponse
func (client *Client) GetFileDownloadInfo(request *GetFileDownloadInfoRequest) (_result *GetFileDownloadInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetFileDownloadInfoHeaders{}
	_result = &GetFileDownloadInfoResponse{}
	_body, _err := client.GetFileDownloadInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询文件和图片ID信息
//
// @param request - GetFileDownloadInfoByPackageIdRequest
//
// @param headers - GetFileDownloadInfoByPackageIdHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetFileDownloadInfoByPackageIdResponse
func (client *Client) GetFileDownloadInfoByPackageIdWithOptions(request *GetFileDownloadInfoByPackageIdRequest, headers *GetFileDownloadInfoByPackageIdHeaders, runtime *util.RuntimeOptions) (_result *GetFileDownloadInfoByPackageIdResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.PackageId)) {
		body["packageId"] = request.PackageId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("GetFileDownloadInfoByPackageId"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/fileAndImages/ids/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetFileDownloadInfoByPackageIdResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询文件和图片ID信息
//
// @param request - GetFileDownloadInfoByPackageIdRequest
//
// @return GetFileDownloadInfoByPackageIdResponse
func (client *Client) GetFileDownloadInfoByPackageId(request *GetFileDownloadInfoByPackageIdRequest) (_result *GetFileDownloadInfoByPackageIdResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetFileDownloadInfoByPackageIdHeaders{}
	_result = &GetFileDownloadInfoByPackageIdResponse{}
	_body, _err := client.GetFileDownloadInfoByPackageIdWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取图片下载信息
//
// @param request - GetImageTempDownloadUrlRequest
//
// @param headers - GetImageTempDownloadUrlHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetImageTempDownloadUrlResponse
func (client *Client) GetImageTempDownloadUrlWithOptions(request *GetImageTempDownloadUrlRequest, headers *GetImageTempDownloadUrlHeaders, runtime *util.RuntimeOptions) (_result *GetImageTempDownloadUrlResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.MediaId)) {
		body["mediaId"] = request.MediaId
	}

	if !tea.BoolValue(util.IsUnset(request.SourceType)) {
		body["sourceType"] = request.SourceType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("GetImageTempDownloadUrl"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/images/tempDownloadUrls/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetImageTempDownloadUrlResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取图片下载信息
//
// @param request - GetImageTempDownloadUrlRequest
//
// @return GetImageTempDownloadUrlResponse
func (client *Client) GetImageTempDownloadUrl(request *GetImageTempDownloadUrlRequest) (_result *GetImageTempDownloadUrlResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetImageTempDownloadUrlHeaders{}
	_result = &GetImageTempDownloadUrlResponse{}
	_body, _err := client.GetImageTempDownloadUrlWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取公开课的课程详情
//
// @param headers - GetOpenCourseDetailHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetOpenCourseDetailResponse
func (client *Client) GetOpenCourseDetailWithOptions(courseId *string, headers *GetOpenCourseDetailHeaders, runtime *util.RuntimeOptions) (_result *GetOpenCourseDetailResponse, _err error) {
	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
	}
	params := &openapi.Params{
		Action:      tea.String("GetOpenCourseDetail"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/openCourse/" + tea.StringValue(courseId)),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetOpenCourseDetailResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取公开课的课程详情
//
// @return GetOpenCourseDetailResponse
func (client *Client) GetOpenCourseDetail(courseId *string) (_result *GetOpenCourseDetailResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetOpenCourseDetailHeaders{}
	_result = &GetOpenCourseDetailResponse{}
	_body, _err := client.GetOpenCourseDetailWithOptions(courseId, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取通过审核的课程列表
//
// @param request - GetOpenCoursesRequest
//
// @param headers - GetOpenCoursesHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetOpenCoursesResponse
func (client *Client) GetOpenCoursesWithOptions(request *GetOpenCoursesRequest, headers *GetOpenCoursesHeaders, runtime *util.RuntimeOptions) (_result *GetOpenCoursesResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		query["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		query["pageSize"] = request.PageSize
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetOpenCourses"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/openCourses"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetOpenCoursesResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取通过审核的课程列表
//
// @param request - GetOpenCoursesRequest
//
// @return GetOpenCoursesResponse
func (client *Client) GetOpenCourses(request *GetOpenCoursesRequest) (_result *GetOpenCoursesResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetOpenCoursesHeaders{}
	_result = &GetOpenCoursesResponse{}
	_body, _err := client.GetOpenCoursesWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询教育积分流水记录
//
// @param tmpReq - GetPointActionRecordRequest
//
// @param headers - GetPointActionRecordHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetPointActionRecordResponse
func (client *Client) GetPointActionRecordWithOptions(tmpReq *GetPointActionRecordRequest, headers *GetPointActionRecordHeaders, runtime *util.RuntimeOptions) (_result *GetPointActionRecordResponse, _err error) {
	_err = util.ValidateModel(tmpReq)
	if _err != nil {
		return _result, _err
	}
	request := &GetPointActionRecordShrinkRequest{}
	openapiutil.Convert(tmpReq, request)
	if !tea.BoolValue(util.IsUnset(tmpReq.Body)) {
		request.BodyShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.Body, tea.String("body"), tea.String("json"))
	}

	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BodyShrink)) {
		query["body"] = request.BodyShrink
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetPointActionRecord"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/points/actionRecords"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetPointActionRecordResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询教育积分流水记录
//
// @param request - GetPointActionRecordRequest
//
// @return GetPointActionRecordResponse
func (client *Client) GetPointActionRecord(request *GetPointActionRecordRequest) (_result *GetPointActionRecordResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetPointActionRecordHeaders{}
	_result = &GetPointActionRecordResponse{}
	_body, _err := client.GetPointActionRecordWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询教育积分信息
//
// @param request - GetPointInfoRequest
//
// @param headers - GetPointInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetPointInfoResponse
func (client *Client) GetPointInfoWithOptions(request *GetPointInfoRequest, headers *GetPointInfoHeaders, runtime *util.RuntimeOptions) (_result *GetPointInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.PointType)) {
		query["pointType"] = request.PointType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetPointInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/points/infos"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetPointInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询教育积分信息
//
// @param request - GetPointInfoRequest
//
// @return GetPointInfoResponse
func (client *Client) GetPointInfo(request *GetPointInfoRequest) (_result *GetPointInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetPointInfoHeaders{}
	_result = &GetPointInfoResponse{}
	_body, _err := client.GetPointInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询专递课堂课程详情
//
// @param request - GetRemoteClassCourseRequest
//
// @param headers - GetRemoteClassCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetRemoteClassCourseResponse
func (client *Client) GetRemoteClassCourseWithOptions(courseCode *string, request *GetRemoteClassCourseRequest, headers *GetRemoteClassCourseHeaders, runtime *util.RuntimeOptions) (_result *GetRemoteClassCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetRemoteClassCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/courses/" + tea.StringValue(courseCode)),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &GetRemoteClassCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询专递课堂课程详情
//
// @param request - GetRemoteClassCourseRequest
//
// @return GetRemoteClassCourseResponse
func (client *Client) GetRemoteClassCourse(courseCode *string, request *GetRemoteClassCourseRequest) (_result *GetRemoteClassCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetRemoteClassCourseHeaders{}
	_result = &GetRemoteClassCourseResponse{}
	_body, _err := client.GetRemoteClassCourseWithOptions(courseCode, request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取共享角色成员
//
// @param headers - GetShareRoleMembersHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetShareRoleMembersResponse
func (client *Client) GetShareRoleMembersWithOptions(shareRoleCode *string, headers *GetShareRoleMembersHeaders, runtime *util.RuntimeOptions) (_result *GetShareRoleMembersResponse, _err error) {
	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
	}
	params := &openapi.Params{
		Action:      tea.String("GetShareRoleMembers"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/shareRoles/" + tea.StringValue(shareRoleCode) + "/members"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetShareRoleMembersResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取共享角色成员
//
// @return GetShareRoleMembersResponse
func (client *Client) GetShareRoleMembers(shareRoleCode *string) (_result *GetShareRoleMembersResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetShareRoleMembersHeaders{}
	_result = &GetShareRoleMembersResponse{}
	_body, _err := client.GetShareRoleMembersWithOptions(shareRoleCode, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取教育局的共享角色列表
//
// @param headers - GetShareRolesHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetShareRolesResponse
func (client *Client) GetShareRolesWithOptions(headers *GetShareRolesHeaders, runtime *util.RuntimeOptions) (_result *GetShareRolesResponse, _err error) {
	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
	}
	params := &openapi.Params{
		Action:      tea.String("GetShareRoles"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/shareRoles"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetShareRolesResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取教育局的共享角色列表
//
// @return GetShareRolesResponse
func (client *Client) GetShareRoles() (_result *GetShareRolesResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetShareRolesHeaders{}
	_result = &GetShareRolesResponse{}
	_body, _err := client.GetShareRolesWithOptions(headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询入学任务列表
//
// @param request - GetTaskListRequest
//
// @param headers - GetTaskListHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetTaskListResponse
func (client *Client) GetTaskListWithOptions(request *GetTaskListRequest, headers *GetTaskListHeaders, runtime *util.RuntimeOptions) (_result *GetTaskListResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		query["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		query["pageSize"] = request.PageSize
	}

	if !tea.BoolValue(util.IsUnset(request.TaskYear)) {
		query["taskYear"] = request.TaskYear
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetTaskList"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/newGrades/tasks/lists"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetTaskListResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询入学任务列表
//
// @param request - GetTaskListRequest
//
// @return GetTaskListResponse
func (client *Client) GetTaskList(request *GetTaskListRequest) (_result *GetTaskListResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetTaskListHeaders{}
	_result = &GetTaskListResponse{}
	_body, _err := client.GetTaskListWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取入学任务下的学生列表
//
// @param request - GetTaskStudentListRequest
//
// @param headers - GetTaskStudentListHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return GetTaskStudentListResponse
func (client *Client) GetTaskStudentListWithOptions(request *GetTaskStudentListRequest, headers *GetTaskStudentListHeaders, runtime *util.RuntimeOptions) (_result *GetTaskStudentListResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		query["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		query["pageSize"] = request.PageSize
	}

	if !tea.BoolValue(util.IsUnset(request.TaskId)) {
		query["taskId"] = request.TaskId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("GetTaskStudentList"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/newGrades/tasks/students/lists"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &GetTaskStudentListResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取入学任务下的学生列表
//
// @param request - GetTaskStudentListRequest
//
// @return GetTaskStudentListResponse
func (client *Client) GetTaskStudentList(request *GetTaskStudentListRequest) (_result *GetTaskStudentListResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &GetTaskStudentListHeaders{}
	_result = &GetTaskStudentListResponse{}
	_body, _err := client.GetTaskStudentListWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 初始化班级课程表
//
// @param request - InitCoursesOfClassRequest
//
// @param headers - InitCoursesOfClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return InitCoursesOfClassResponse
func (client *Client) InitCoursesOfClassWithOptions(classId *string, request *InitCoursesOfClassRequest, headers *InitCoursesOfClassHeaders, runtime *util.RuntimeOptions) (_result *InitCoursesOfClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Courses)) {
		body["courses"] = request.Courses
	}

	if !tea.BoolValue(util.IsUnset(request.SectionConfig)) {
		body["sectionConfig"] = request.SectionConfig
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("InitCoursesOfClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/" + tea.StringValue(classId) + "/courses/init"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &InitCoursesOfClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 初始化班级课程表
//
// @param request - InitCoursesOfClassRequest
//
// @return InitCoursesOfClassResponse
func (client *Client) InitCoursesOfClass(classId *string, request *InitCoursesOfClassRequest) (_result *InitCoursesOfClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &InitCoursesOfClassHeaders{}
	_result = &InitCoursesOfClassResponse{}
	_body, _err := client.InitCoursesOfClassWithOptions(classId, request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 设备启动注册
//
// @param request - InitDeviceRequest
//
// @param headers - InitDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return InitDeviceResponse
func (client *Client) InitDeviceWithOptions(request *InitDeviceRequest, headers *InitDeviceHeaders, runtime *util.RuntimeOptions) (_result *InitDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.EncryptPubKey)) {
		body["encryptPubKey"] = request.EncryptPubKey
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	if !tea.BoolValue(util.IsUnset(request.Version)) {
		body["version"] = request.Version
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("InitDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/devices/init"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &InitDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 设备启动注册
//
// @param request - InitDeviceRequest
//
// @return InitDeviceResponse
func (client *Client) InitDevice(request *InitDeviceRequest) (_result *InitDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &InitDeviceHeaders{}
	_result = &InitDeviceResponse{}
	_body, _err := client.InitDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 视讯paas机具初始化
//
// @param request - InitVPaasDeviceRequest
//
// @param headers - InitVPaasDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return InitVPaasDeviceResponse
func (client *Client) InitVPaasDeviceWithOptions(request *InitVPaasDeviceRequest, headers *InitVPaasDeviceHeaders, runtime *util.RuntimeOptions) (_result *InitVPaasDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("InitVPaasDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpaas/devices/init"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &InitVPaasDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 视讯paas机具初始化
//
// @param request - InitVPaasDeviceRequest
//
// @return InitVPaasDeviceResponse
func (client *Client) InitVPaasDevice(request *InitVPaasDeviceRequest) (_result *InitVPaasDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &InitVPaasDeviceHeaders{}
	_result = &InitVPaasDeviceResponse{}
	_body, _err := client.InitVPaasDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 插入学校维度节次设置
//
// @param request - InsertSectionConfigRequest
//
// @param headers - InsertSectionConfigHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return InsertSectionConfigResponse
func (client *Client) InsertSectionConfigWithOptions(request *InsertSectionConfigRequest, headers *InsertSectionConfigHeaders, runtime *util.RuntimeOptions) (_result *InsertSectionConfigResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.End)) {
		body["end"] = request.End
	}

	if !tea.BoolValue(util.IsUnset(request.ScheduleName)) {
		body["scheduleName"] = request.ScheduleName
	}

	if !tea.BoolValue(util.IsUnset(request.SectionModels)) {
		body["sectionModels"] = request.SectionModels
	}

	if !tea.BoolValue(util.IsUnset(request.Start)) {
		body["start"] = request.Start
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("InsertSectionConfig"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schedules/configs"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &InsertSectionConfigResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 插入学校维度节次设置
//
// @param request - InsertSectionConfigRequest
//
// @return InsertSectionConfigResponse
func (client *Client) InsertSectionConfig(request *InsertSectionConfigRequest) (_result *InsertSectionConfigResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &InsertSectionConfigHeaders{}
	_result = &InsertSectionConfigResponse{}
	_body, _err := client.InsertSectionConfigWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 失效课程
//
// @param request - InvalidCourseRequest
//
// @param headers - InvalidCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return InvalidCourseResponse
func (client *Client) InvalidCourseWithOptions(request *InvalidCourseRequest, headers *InvalidCourseHeaders, runtime *util.RuntimeOptions) (_result *InvalidCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseId)) {
		body["isvCourseId"] = request.IsvCourseId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("InvalidCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/courses/invalid"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &InvalidCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 失效课程
//
// @param request - InvalidCourseRequest
//
// @return InvalidCourseResponse
func (client *Client) InvalidCourse(request *InvalidCourseRequest) (_result *InvalidCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &InvalidCourseHeaders{}
	_result = &InvalidCourseResponse{}
	_body, _err := client.InvalidCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 失效教育套件
//
// @param request - InvalidKitRequest
//
// @param headers - InvalidKitHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return InvalidKitResponse
func (client *Client) InvalidKitWithOptions(request *InvalidKitRequest, headers *InvalidKitHeaders, runtime *util.RuntimeOptions) (_result *InvalidKitResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvProductScene)) {
		body["isvProductScene"] = request.IsvProductScene
	}

	if !tea.BoolValue(util.IsUnset(request.OpenUserId)) {
		body["openUserId"] = request.OpenUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("InvalidKit"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/records/invalid"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &InvalidKitResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 失效教育套件
//
// @param request - InvalidKitRequest
//
// @return InvalidKitResponse
func (client *Client) InvalidKit(request *InvalidKitRequest) (_result *InvalidKitResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &InvalidKitHeaders{}
	_result = &InvalidKitResponse{}
	_body, _err := client.InvalidKitWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除学生班级
//
// @param request - InvalidStudentClassRequest
//
// @param headers - InvalidStudentClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return InvalidStudentClassResponse
func (client *Client) InvalidStudentClassWithOptions(request *InvalidStudentClassRequest, headers *InvalidStudentClassHeaders, runtime *util.RuntimeOptions) (_result *InvalidStudentClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassType)) {
		body["classType"] = request.ClassType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserIds)) {
		body["studentUserIds"] = request.StudentUserIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("InvalidStudentClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/students/classes/remove"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &InvalidStudentClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除学生班级
//
// @param request - InvalidStudentClassRequest
//
// @return InvalidStudentClassResponse
func (client *Client) InvalidStudentClass(request *InvalidStudentClassRequest) (_result *InvalidStudentClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &InvalidStudentClassHeaders{}
	_result = &InvalidStudentClassResponse{}
	_body, _err := client.InvalidStudentClassWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 删除老师课程
//
// @param request - InvalidTeacherCourseRequest
//
// @param headers - InvalidTeacherCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return InvalidTeacherCourseResponse
func (client *Client) InvalidTeacherCourseWithOptions(request *InvalidTeacherCourseRequest, headers *InvalidTeacherCourseHeaders, runtime *util.RuntimeOptions) (_result *InvalidTeacherCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.NeedDeleteCourseIdList)) {
		body["needDeleteCourseIdList"] = request.NeedDeleteCourseIdList
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserId)) {
		body["teacherUserId"] = request.TeacherUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("InvalidTeacherCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/teachers/courses/remove"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &InvalidTeacherCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 删除老师课程
//
// @param request - InvalidTeacherCourseRequest
//
// @return InvalidTeacherCourseResponse
func (client *Client) InvalidTeacherCourse(request *InvalidTeacherCourseRequest) (_result *InvalidTeacherCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &InvalidTeacherCourseHeaders{}
	_result = &InvalidTeacherCourseResponse{}
	_body, _err := client.InvalidTeacherCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查看用户是否是认证校的语文老师
//
// @param request - IsYuwenCertifiedTeacherRequest
//
// @param headers - IsYuwenCertifiedTeacherHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return IsYuwenCertifiedTeacherResponse
func (client *Client) IsYuwenCertifiedTeacherWithOptions(request *IsYuwenCertifiedTeacherRequest, headers *IsYuwenCertifiedTeacherHeaders, runtime *util.RuntimeOptions) (_result *IsYuwenCertifiedTeacherResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("IsYuwenCertifiedTeacher"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/paas/certifiedTeachers/chineseTeachers/check"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &IsYuwenCertifiedTeacherResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查看用户是否是认证校的语文老师
//
// @param request - IsYuwenCertifiedTeacherRequest
//
// @return IsYuwenCertifiedTeacherResponse
func (client *Client) IsYuwenCertifiedTeacher(request *IsYuwenCertifiedTeacherRequest) (_result *IsYuwenCertifiedTeacherResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &IsYuwenCertifiedTeacherHeaders{}
	_result = &IsYuwenCertifiedTeacherResponse{}
	_body, _err := client.IsYuwenCertifiedTeacherWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 第三方数据写入
//
// @param request - IsvDataWriteRequest
//
// @param headers - IsvDataWriteHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return IsvDataWriteResponse
func (client *Client) IsvDataWriteWithOptions(request *IsvDataWriteRequest, headers *IsvDataWriteHeaders, runtime *util.RuntimeOptions) (_result *IsvDataWriteResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ObjectCode)) {
		body["objectCode"] = request.ObjectCode
	}

	if !tea.BoolValue(util.IsUnset(request.RowValueList)) {
		body["rowValueList"] = request.RowValueList
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("IsvDataWrite"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/datas/write"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &IsvDataWriteResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 第三方数据写入
//
// @param request - IsvDataWriteRequest
//
// @return IsvDataWriteResponse
func (client *Client) IsvDataWrite(request *IsvDataWriteRequest) (_result *IsvDataWriteResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &IsvDataWriteHeaders{}
	_result = &IsvDataWriteResponse{}
	_body, _err := client.IsvDataWriteWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// # Isv查询元数据信息
//
// @param request - IsvMetadataQueryRequest
//
// @param headers - IsvMetadataQueryHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return IsvMetadataQueryResponse
func (client *Client) IsvMetadataQueryWithOptions(request *IsvMetadataQueryRequest, headers *IsvMetadataQueryHeaders, runtime *util.RuntimeOptions) (_result *IsvMetadataQueryResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ObjectCode)) {
		query["objectCode"] = request.ObjectCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("IsvMetadataQuery"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/datas/metadatas"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &IsvMetadataQueryResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// # Isv查询元数据信息
//
// @param request - IsvMetadataQueryRequest
//
// @return IsvMetadataQueryResponse
func (client *Client) IsvMetadataQuery(request *IsvMetadataQueryRequest) (_result *IsvMetadataQueryResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &IsvMetadataQueryHeaders{}
	_result = &IsvMetadataQueryResponse{}
	_body, _err := client.IsvMetadataQueryWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取高校组织单元类型
//
// @param request - ListCollegeContactDeptTypeConfigRequest
//
// @param headers - ListCollegeContactDeptTypeConfigHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ListCollegeContactDeptTypeConfigResponse
func (client *Client) ListCollegeContactDeptTypeConfigWithOptions(request *ListCollegeContactDeptTypeConfigRequest, headers *ListCollegeContactDeptTypeConfigHeaders, runtime *util.RuntimeOptions) (_result *ListCollegeContactDeptTypeConfigResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Language)) {
		query["language"] = request.Language
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("ListCollegeContactDeptTypeConfig"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/configs/deptTypes"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ListCollegeContactDeptTypeConfigResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取高校组织单元类型
//
// @param request - ListCollegeContactDeptTypeConfigRequest
//
// @return ListCollegeContactDeptTypeConfigResponse
func (client *Client) ListCollegeContactDeptTypeConfig(request *ListCollegeContactDeptTypeConfigRequest) (_result *ListCollegeContactDeptTypeConfigResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ListCollegeContactDeptTypeConfigHeaders{}
	_result = &ListCollegeContactDeptTypeConfigResponse{}
	_body, _err := client.ListCollegeContactDeptTypeConfigWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取高校通讯录场景架构列表
//
// @param request - ListCollegeContactSceneStrusRequest
//
// @param headers - ListCollegeContactSceneStrusHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ListCollegeContactSceneStrusResponse
func (client *Client) ListCollegeContactSceneStrusWithOptions(request *ListCollegeContactSceneStrusRequest, headers *ListCollegeContactSceneStrusHeaders, runtime *util.RuntimeOptions) (_result *ListCollegeContactSceneStrusResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Language)) {
		query["language"] = request.Language
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("ListCollegeContactSceneStrus"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts/structures/scenes"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ListCollegeContactSceneStrusResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取高校通讯录场景架构列表
//
// @param request - ListCollegeContactSceneStrusRequest
//
// @return ListCollegeContactSceneStrusResponse
func (client *Client) ListCollegeContactSceneStrus(request *ListCollegeContactSceneStrusRequest) (_result *ListCollegeContactSceneStrusResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ListCollegeContactSceneStrusHeaders{}
	_result = &ListCollegeContactSceneStrusResponse{}
	_body, _err := client.ListCollegeContactSceneStrusWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取高校通讯录子组织单元列表
//
// @param request - ListCollegeContactSubDeptsRequest
//
// @param headers - ListCollegeContactSubDeptsHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ListCollegeContactSubDeptsResponse
func (client *Client) ListCollegeContactSubDeptsWithOptions(request *ListCollegeContactSubDeptsRequest, headers *ListCollegeContactSubDeptsHeaders, runtime *util.RuntimeOptions) (_result *ListCollegeContactSubDeptsResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		query["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.Language)) {
		query["language"] = request.Language
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("ListCollegeContactSubDepts"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/subDepts"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ListCollegeContactSubDeptsResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取高校通讯录子组织单元列表
//
// @param request - ListCollegeContactSubDeptsRequest
//
// @return ListCollegeContactSubDeptsResponse
func (client *Client) ListCollegeContactSubDepts(request *ListCollegeContactSubDeptsRequest) (_result *ListCollegeContactSubDeptsResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ListCollegeContactSubDeptsHeaders{}
	_result = &ListCollegeContactSubDeptsResponse{}
	_body, _err := client.ListCollegeContactSubDeptsWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询订单
//
// @param request - ListOrderRequest
//
// @param headers - ListOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ListOrderResponse
func (client *Client) ListOrderWithOptions(request *ListOrderRequest, headers *ListOrderHeaders, runtime *util.RuntimeOptions) (_result *ListOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CreateTimeEnd)) {
		body["createTimeEnd"] = request.CreateTimeEnd
	}

	if !tea.BoolValue(util.IsUnset(request.CreateTimeStart)) {
		body["createTimeStart"] = request.CreateTimeStart
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		body["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		body["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		body["pageSize"] = request.PageSize
	}

	if !tea.BoolValue(util.IsUnset(request.Scene)) {
		body["scene"] = request.Scene
	}

	if !tea.BoolValue(util.IsUnset(request.Status)) {
		body["status"] = request.Status
	}

	if !tea.BoolValue(util.IsUnset(request.TradeNo)) {
		body["tradeNo"] = request.TradeNo
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("ListOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orders/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ListOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询订单
//
// @param request - ListOrderRequest
//
// @return ListOrderResponse
func (client *Client) ListOrder(request *ListOrderRequest) (_result *ListOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ListOrderHeaders{}
	_result = &ListOrderResponse{}
	_body, _err := client.ListOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 学生调班，如果学生在本班有对应的家长，则家长也会跟同学生进行调整班级。
//
// @param request - MoveStudentRequest
//
// @param headers - MoveStudentHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return MoveStudentResponse
func (client *Client) MoveStudentWithOptions(request *MoveStudentRequest, headers *MoveStudentHeaders, runtime *util.RuntimeOptions) (_result *MoveStudentResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.OriginClassId)) {
		body["originClassId"] = request.OriginClassId
	}

	if !tea.BoolValue(util.IsUnset(request.TargetClassId)) {
		body["targetClassId"] = request.TargetClassId
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("MoveStudent"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/students/move"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &MoveStudentResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 学生调班，如果学生在本班有对应的家长，则家长也会跟同学生进行调整班级。
//
// @param request - MoveStudentRequest
//
// @return MoveStudentResponse
func (client *Client) MoveStudent(request *MoveStudentRequest) (_result *MoveStudentResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &MoveStudentHeaders{}
	_result = &MoveStudentResponse{}
	_body, _err := client.MoveStudentWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 开通教育套件
//
// @param request - OpenKitRequest
//
// @param headers - OpenKitHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return OpenKitResponse
func (client *Client) OpenKitWithOptions(request *OpenKitRequest, headers *OpenKitHeaders, runtime *util.RuntimeOptions) (_result *OpenKitResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Attributes)) {
		body["attributes"] = request.Attributes
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvProductScene)) {
		body["isvProductScene"] = request.IsvProductScene
	}

	if !tea.BoolValue(util.IsUnset(request.OpenEndTime)) {
		body["openEndTime"] = request.OpenEndTime
	}

	if !tea.BoolValue(util.IsUnset(request.OpenStartTime)) {
		body["openStartTime"] = request.OpenStartTime
	}

	if !tea.BoolValue(util.IsUnset(request.OpenUserId)) {
		body["openUserId"] = request.OpenUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("OpenKit"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/records/open"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &OpenKitResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 开通教育套件
//
// @param request - OpenKitRequest
//
// @return OpenKitResponse
func (client *Client) OpenKit(request *OpenKitRequest) (_result *OpenKitResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &OpenKitHeaders{}
	_result = &OpenKitResponse{}
	_body, _err := client.OpenKitWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询订单信息
//
// @param request - OrderInfoRequest
//
// @param headers - OrderInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return OrderInfoResponse
func (client *Client) OrderInfoWithOptions(request *OrderInfoRequest, headers *OrderInfoHeaders, runtime *util.RuntimeOptions) (_result *OrderInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		query["orderNo"] = request.OrderNo
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("OrderInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/dingLifes/orders"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &OrderInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询订单信息
//
// @param request - OrderInfoRequest
//
// @return OrderInfoResponse
func (client *Client) OrderInfo(request *OrderInfoRequest) (_result *OrderInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &OrderInfoHeaders{}
	_result = &OrderInfoResponse{}
	_body, _err := client.OrderInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 批量查询班级课表
//
// @param request - PageQueryClassCourseRequest
//
// @param headers - PageQueryClassCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return PageQueryClassCourseResponse
func (client *Client) PageQueryClassCourseWithOptions(request *PageQueryClassCourseRequest, headers *PageQueryClassCourseHeaders, runtime *util.RuntimeOptions) (_result *PageQueryClassCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.EndCourseDate)) {
		body["endCourseDate"] = request.EndCourseDate
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		body["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		body["pageSize"] = request.PageSize
	}

	if !tea.BoolValue(util.IsUnset(request.StartCourseDate)) {
		body["startCourseDate"] = request.StartCourseDate
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("PageQueryClassCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/classes/courses/batchQuery"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &PageQueryClassCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 批量查询班级课表
//
// @param request - PageQueryClassCourseRequest
//
// @return PageQueryClassCourseResponse
func (client *Client) PageQueryClassCourse(request *PageQueryClassCourseRequest) (_result *PageQueryClassCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &PageQueryClassCourseHeaders{}
	_result = &PageQueryClassCourseResponse{}
	_body, _err := client.PageQueryClassCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 分页查询设备列表
//
// @param request - PageQueryDevicesRequest
//
// @param headers - PageQueryDevicesHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return PageQueryDevicesResponse
func (client *Client) PageQueryDevicesWithOptions(request *PageQueryDevicesRequest, headers *PageQueryDevicesHeaders, runtime *util.RuntimeOptions) (_result *PageQueryDevicesResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.MaxResults)) {
		query["maxResults"] = request.MaxResults
	}

	if !tea.BoolValue(util.IsUnset(request.NextToken)) {
		query["nextToken"] = request.NextToken
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		query["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("PageQueryDevices"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpaas/devices"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &PageQueryDevicesResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 分页查询设备列表
//
// @param request - PageQueryDevicesRequest
//
// @return PageQueryDevicesResponse
func (client *Client) PageQueryDevices(request *PageQueryDevicesRequest) (_result *PageQueryDevicesResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &PageQueryDevicesHeaders{}
	_result = &PageQueryDevicesResponse{}
	_body, _err := client.PageQueryDevicesWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 批量查询套件开通记录
//
// @param request - PageQueryKitOpenRecordRequest
//
// @param headers - PageQueryKitOpenRecordHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return PageQueryKitOpenRecordResponse
func (client *Client) PageQueryKitOpenRecordWithOptions(request *PageQueryKitOpenRecordRequest, headers *PageQueryKitOpenRecordHeaders, runtime *util.RuntimeOptions) (_result *PageQueryKitOpenRecordResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvProductScene)) {
		body["isvProductScene"] = request.IsvProductScene
	}

	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		body["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		body["pageSize"] = request.PageSize
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("PageQueryKitOpenRecord"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/records/batchQuery"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &PageQueryKitOpenRecordResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 批量查询套件开通记录
//
// @param request - PageQueryKitOpenRecordRequest
//
// @return PageQueryKitOpenRecordResponse
func (client *Client) PageQueryKitOpenRecord(request *PageQueryKitOpenRecordRequest) (_result *PageQueryKitOpenRecordResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &PageQueryKitOpenRecordHeaders{}
	_result = &PageQueryKitOpenRecordResponse{}
	_body, _err := client.PageQueryKitOpenRecordWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 支付订单
//
// @param request - PayOrderRequest
//
// @param headers - PayOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return PayOrderResponse
func (client *Client) PayOrderWithOptions(request *PayOrderRequest, headers *PayOrderHeaders, runtime *util.RuntimeOptions) (_result *PayOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		body["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	if !tea.BoolValue(util.IsUnset(request.Version)) {
		body["version"] = request.Version
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("PayOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orders/pay"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &PayOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 支付订单
//
// @param request - PayOrderRequest
//
// @return PayOrderResponse
func (client *Client) PayOrder(request *PayOrderRequest) (_result *PayOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &PayOrderHeaders{}
	_result = &PayOrderResponse{}
	_body, _err := client.PayOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 轮询课程状态，确认教师是否已同意开课
//
// @param request - PollingConfirmStatusRequest
//
// @param headers - PollingConfirmStatusHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return PollingConfirmStatusResponse
func (client *Client) PollingConfirmStatusWithOptions(request *PollingConfirmStatusRequest, headers *PollingConfirmStatusHeaders, runtime *util.RuntimeOptions) (_result *PollingConfirmStatusResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseCode)) {
		query["courseCode"] = request.CourseCode
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		query["ext"] = request.Ext
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		query["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("PollingConfirmStatus"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courses/pollingConfirmStatus"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &PollingConfirmStatusResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 轮询课程状态，确认教师是否已同意开课
//
// @param request - PollingConfirmStatusRequest
//
// @return PollingConfirmStatusResponse
func (client *Client) PollingConfirmStatus(request *PollingConfirmStatusRequest) (_result *PollingConfirmStatusResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &PollingConfirmStatusHeaders{}
	_result = &PollingConfirmStatusResponse{}
	_body, _err := client.PollingConfirmStatusWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 视讯paas机具预拨号
//
// @param request - PreDialRequest
//
// @param headers - PreDialHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return PreDialResponse
func (client *Client) PreDialWithOptions(request *PreDialRequest, headers *PreDialHeaders, runtime *util.RuntimeOptions) (_result *PreDialResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CallerUserId)) {
		body["callerUserId"] = request.CallerUserId
	}

	if !tea.BoolValue(util.IsUnset(request.ReceiverUserId)) {
		body["receiverUserId"] = request.ReceiverUserId
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("PreDial"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpaas/devices/preDial"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &PreDialResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 视讯paas机具预拨号
//
// @param request - PreDialRequest
//
// @return PreDialResponse
func (client *Client) PreDial(request *PreDialRequest) (_result *PreDialResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &PreDialHeaders{}
	_result = &PreDialResponse{}
	_body, _err := client.PreDialWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 发放教育积分
//
// @param request - ProvidePointRequest
//
// @param headers - ProvidePointHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ProvidePointResponse
func (client *Client) ProvidePointWithOptions(request *ProvidePointRequest, headers *ProvidePointHeaders, runtime *util.RuntimeOptions) (_result *ProvidePointResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActionCode)) {
		body["actionCode"] = request.ActionCode
	}

	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.PointType)) {
		body["pointType"] = request.PointType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("ProvidePoint"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/points/provide"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ProvidePointResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 发放教育积分
//
// @param request - ProvidePointRequest
//
// @return ProvidePointResponse
func (client *Client) ProvidePoint(request *ProvidePointRequest) (_result *ProvidePointResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ProvidePointHeaders{}
	_result = &ProvidePointResponse{}
	_body, _err := client.ProvidePointWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 发布成绩单
//
// @param request - PublishSchoolReportRequest
//
// @param headers - PublishSchoolReportHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return PublishSchoolReportResponse
func (client *Client) PublishSchoolReportWithOptions(request *PublishSchoolReportRequest, headers *PublishSchoolReportHeaders, runtime *util.RuntimeOptions) (_result *PublishSchoolReportResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.ClassDetailItems)) {
		body["classDetailItems"] = request.ClassDetailItems
	}

	if !tea.BoolValue(util.IsUnset(request.ExamClass)) {
		body["examClass"] = request.ExamClass
	}

	if !tea.BoolValue(util.IsUnset(request.ExamTitle)) {
		body["examTitle"] = request.ExamTitle
	}

	if !tea.BoolValue(util.IsUnset(request.Identifier)) {
		body["identifier"] = request.Identifier
	}

	if !tea.BoolValue(util.IsUnset(request.PublishScope)) {
		body["publishScope"] = request.PublishScope
	}

	if !tea.BoolValue(util.IsUnset(request.ScoreType)) {
		body["scoreType"] = request.ScoreType
	}

	if !tea.BoolValue(util.IsUnset(request.Share)) {
		body["share"] = request.Share
	}

	if !tea.BoolValue(util.IsUnset(request.ShowRank)) {
		body["showRank"] = request.ShowRank
	}

	if !tea.BoolValue(util.IsUnset(request.ShowStatisticsScore)) {
		body["showStatisticsScore"] = request.ShowStatisticsScore
	}

	if !tea.BoolValue(util.IsUnset(request.SubScoreType)) {
		body["subScoreType"] = request.SubScoreType
	}

	if !tea.BoolValue(util.IsUnset(request.SubjectList)) {
		body["subjectList"] = request.SubjectList
	}

	if !tea.BoolValue(util.IsUnset(request.Subjects)) {
		body["subjects"] = request.Subjects
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherId)) {
		body["teacherId"] = request.TeacherId
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherName)) {
		body["teacherName"] = request.TeacherName
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("PublishSchoolReport"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schools/reports/publish"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &PublishSchoolReportResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 发布成绩单
//
// @param request - PublishSchoolReportRequest
//
// @return PublishSchoolReportResponse
func (client *Client) PublishSchoolReport(request *PublishSchoolReportRequest) (_result *PublishSchoolReportResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &PublishSchoolReportHeaders{}
	_result = &PublishSchoolReportResponse{}
	_body, _err := client.PublishSchoolReportWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 推送班级群卡片消息
//
// @param request - PushClassGroupCardRequest
//
// @param headers - PushClassGroupCardHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return PushClassGroupCardResponse
func (client *Client) PushClassGroupCardWithOptions(request *PushClassGroupCardRequest, headers *PushClassGroupCardHeaders, runtime *util.RuntimeOptions) (_result *PushClassGroupCardResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.GroupTypeList)) {
		body["groupTypeList"] = request.GroupTypeList
	}

	if !tea.BoolValue(util.IsUnset(request.PrivateCardData)) {
		body["privateCardData"] = request.PrivateCardData
	}

	if !tea.BoolValue(util.IsUnset(request.PublicCardData)) {
		body["publicCardData"] = request.PublicCardData
	}

	if !tea.BoolValue(util.IsUnset(request.SenderUserId)) {
		body["senderUserId"] = request.SenderUserId
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserIds)) {
		body["studentUserIds"] = request.StudentUserIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("PushClassGroupCard"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/groups/cards/messages/push"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &PushClassGroupCardResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 推送班级群卡片消息
//
// @param request - PushClassGroupCardRequest
//
// @return PushClassGroupCardResponse
func (client *Client) PushClassGroupCard(request *PushClassGroupCardRequest) (_result *PushClassGroupCardResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &PushClassGroupCardHeaders{}
	_result = &PushClassGroupCardResponse{}
	_body, _err := client.PushClassGroupCardWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 错题本-查询错题本
//
// @param headers - QueryHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryResponse
func (client *Client) QueryWithOptions(headers *QueryHeaders, runtime *util.RuntimeOptions) (_result *QueryResponse, _err error) {
	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
	}
	params := &openapi.Params{
		Action:      tea.String("Query"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/wrongQuestions/codes"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 错题本-查询错题本
//
// @return QueryResponse
func (client *Client) Query() (_result *QueryResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryHeaders{}
	_result = &QueryResponse{}
	_body, _err := client.QueryWithOptions(headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询全量学科实例列表
//
// @param tmpReq - QueryAllSubjectsFromClassScheduleRequest
//
// @param headers - QueryAllSubjectsFromClassScheduleHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryAllSubjectsFromClassScheduleResponse
func (client *Client) QueryAllSubjectsFromClassScheduleWithOptions(tmpReq *QueryAllSubjectsFromClassScheduleRequest, headers *QueryAllSubjectsFromClassScheduleHeaders, runtime *util.RuntimeOptions) (_result *QueryAllSubjectsFromClassScheduleResponse, _err error) {
	_err = util.ValidateModel(tmpReq)
	if _err != nil {
		return _result, _err
	}
	request := &QueryAllSubjectsFromClassScheduleShrinkRequest{}
	openapiutil.Convert(tmpReq, request)
	if !tea.BoolValue(util.IsUnset(tmpReq.ClassIds)) {
		request.ClassIdsShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.ClassIds, tea.String("classIds"), tea.String("json"))
	}

	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassIdsShrink)) {
		query["classIds"] = request.ClassIdsShrink
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	if !tea.BoolValue(util.IsUnset(request.PeriodCode)) {
		query["periodCode"] = request.PeriodCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryAllSubjectsFromClassSchedule"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/subjects/instances"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryAllSubjectsFromClassScheduleResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询全量学科实例列表
//
// @param request - QueryAllSubjectsFromClassScheduleRequest
//
// @return QueryAllSubjectsFromClassScheduleResponse
func (client *Client) QueryAllSubjectsFromClassSchedule(request *QueryAllSubjectsFromClassScheduleRequest) (_result *QueryAllSubjectsFromClassScheduleResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryAllSubjectsFromClassScheduleHeaders{}
	_result = &QueryAllSubjectsFromClassScheduleResponse{}
	_body, _err := client.QueryAllSubjectsFromClassScheduleWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询课程表
//
// @param request - QueryClassScheduleRequest
//
// @param headers - QueryClassScheduleHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryClassScheduleResponse
func (client *Client) QueryClassScheduleWithOptions(request *QueryClassScheduleRequest, headers *QueryClassScheduleHeaders, runtime *util.RuntimeOptions) (_result *QueryClassScheduleResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		query["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		query["startTime"] = request.StartTime
	}

	if !tea.BoolValue(util.IsUnset(request.SubscriberType)) {
		query["subscriberType"] = request.SubscriberType
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.SectionIndexList)) {
		body["sectionIndexList"] = request.SectionIndexList
	}

	if !tea.BoolValue(util.IsUnset(request.SubscriberIds)) {
		body["subscriberIds"] = request.SubscriberIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryClassSchedule"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/schedules/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryClassScheduleResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询课程表
//
// @param request - QueryClassScheduleRequest
//
// @return QueryClassScheduleResponse
func (client *Client) QueryClassSchedule(request *QueryClassScheduleRequest) (_result *QueryClassScheduleResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryClassScheduleHeaders{}
	_result = &QueryClassScheduleResponse{}
	_body, _err := client.QueryClassScheduleWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 按照学校和时间区间筛选课程
//
// @param request - QueryClassScheduleByTimeSchoolRequest
//
// @param headers - QueryClassScheduleByTimeSchoolHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryClassScheduleByTimeSchoolResponse
func (client *Client) QueryClassScheduleByTimeSchoolWithOptions(request *QueryClassScheduleByTimeSchoolRequest, headers *QueryClassScheduleByTimeSchoolHeaders, runtime *util.RuntimeOptions) (_result *QueryClassScheduleByTimeSchoolResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		query["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		query["startTime"] = request.StartTime
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryClassScheduleByTimeSchool"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schools/classes/courses "),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryClassScheduleByTimeSchoolResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 按照学校和时间区间筛选课程
//
// @param request - QueryClassScheduleByTimeSchoolRequest
//
// @return QueryClassScheduleByTimeSchoolResponse
func (client *Client) QueryClassScheduleByTimeSchool(request *QueryClassScheduleByTimeSchoolRequest) (_result *QueryClassScheduleByTimeSchoolResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryClassScheduleByTimeSchoolHeaders{}
	_result = &QueryClassScheduleByTimeSchoolResponse{}
	_body, _err := client.QueryClassScheduleByTimeSchoolWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取课程表设置
//
// @param tmpReq - QueryClassScheduleConfigRequest
//
// @param headers - QueryClassScheduleConfigHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryClassScheduleConfigResponse
func (client *Client) QueryClassScheduleConfigWithOptions(tmpReq *QueryClassScheduleConfigRequest, headers *QueryClassScheduleConfigHeaders, runtime *util.RuntimeOptions) (_result *QueryClassScheduleConfigResponse, _err error) {
	_err = util.ValidateModel(tmpReq)
	if _err != nil {
		return _result, _err
	}
	request := &QueryClassScheduleConfigShrinkRequest{}
	openapiutil.Convert(tmpReq, request)
	if !tea.BoolValue(util.IsUnset(tmpReq.ClassIds)) {
		request.ClassIdsShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.ClassIds, tea.String("classIds"), tea.String("json"))
	}

	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassIdsShrink)) {
		query["classIds"] = request.ClassIdsShrink
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryClassScheduleConfig"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schedules/configs"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryClassScheduleConfigResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取课程表设置
//
// @param request - QueryClassScheduleConfigRequest
//
// @return QueryClassScheduleConfigResponse
func (client *Client) QueryClassScheduleConfig(request *QueryClassScheduleConfigRequest) (_result *QueryClassScheduleConfigResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryClassScheduleConfigHeaders{}
	_result = &QueryClassScheduleConfigResponse{}
	_body, _err := client.QueryClassScheduleConfigWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取用户详情(包含高校账号)
//
// @param request - QueryCollegeContactUserDetailRequest
//
// @param headers - QueryCollegeContactUserDetailHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryCollegeContactUserDetailResponse
func (client *Client) QueryCollegeContactUserDetailWithOptions(request *QueryCollegeContactUserDetailRequest, headers *QueryCollegeContactUserDetailHeaders, runtime *util.RuntimeOptions) (_result *QueryCollegeContactUserDetailResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.JobNumber)) {
		query["jobNumber"] = request.JobNumber
	}

	if !tea.BoolValue(util.IsUnset(request.Language)) {
		query["language"] = request.Language
	}

	if !tea.BoolValue(util.IsUnset(request.Userid)) {
		query["userid"] = request.Userid
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryCollegeContactUserDetail"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/users"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryCollegeContactUserDetailResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取用户详情(包含高校账号)
//
// @param request - QueryCollegeContactUserDetailRequest
//
// @return QueryCollegeContactUserDetailResponse
func (client *Client) QueryCollegeContactUserDetail(request *QueryCollegeContactUserDetailRequest) (_result *QueryCollegeContactUserDetailResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryCollegeContactUserDetailHeaders{}
	_result = &QueryCollegeContactUserDetailResponse{}
	_body, _err := client.QueryCollegeContactUserDetailWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询单台视讯PAAS设备
//
// @param request - QueryDeviceRequest
//
// @param headers - QueryDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryDeviceResponse
func (client *Client) QueryDeviceWithOptions(request *QueryDeviceRequest, headers *QueryDeviceHeaders, runtime *util.RuntimeOptions) (_result *QueryDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpass/devices/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询单台视讯PAAS设备
//
// @param request - QueryDeviceRequest
//
// @return QueryDeviceResponse
func (client *Client) QueryDevice(request *QueryDeviceRequest) (_result *QueryDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryDeviceHeaders{}
	_result = &QueryDeviceResponse{}
	_body, _err := client.QueryDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询某个组织下面的设备列表
//
// @param request - QueryDeviceListByCorpIdRequest
//
// @param headers - QueryDeviceListByCorpIdHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryDeviceListByCorpIdResponse
func (client *Client) QueryDeviceListByCorpIdWithOptions(request *QueryDeviceListByCorpIdRequest, headers *QueryDeviceListByCorpIdHeaders, runtime *util.RuntimeOptions) (_result *QueryDeviceListByCorpIdResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		query["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		query["pageSize"] = request.PageSize
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryDeviceListByCorpId"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/devices"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryDeviceListByCorpIdResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询某个组织下面的设备列表
//
// @param request - QueryDeviceListByCorpIdRequest
//
// @return QueryDeviceListByCorpIdResponse
func (client *Client) QueryDeviceListByCorpId(request *QueryDeviceListByCorpIdRequest) (_result *QueryDeviceListByCorpIdResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryDeviceListByCorpIdHeaders{}
	_result = &QueryDeviceListByCorpIdResponse{}
	_body, _err := client.QueryDeviceListByCorpIdWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 教学资源库查询space列表
//
// @param request - QueryEduAssetSpacesRequest
//
// @param headers - QueryEduAssetSpacesHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryEduAssetSpacesResponse
func (client *Client) QueryEduAssetSpacesWithOptions(request *QueryEduAssetSpacesRequest, headers *QueryEduAssetSpacesHeaders, runtime *util.RuntimeOptions) (_result *QueryEduAssetSpacesResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		query["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.MaxResults)) {
		query["maxResults"] = request.MaxResults
	}

	if !tea.BoolValue(util.IsUnset(request.NextToken)) {
		query["nextToken"] = request.NextToken
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryEduAssetSpaces"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/assets/spaces"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryEduAssetSpacesResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 教学资源库查询space列表
//
// @param request - QueryEduAssetSpacesRequest
//
// @return QueryEduAssetSpacesResponse
func (client *Client) QueryEduAssetSpaces(request *QueryEduAssetSpacesRequest) (_result *QueryEduAssetSpacesResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryEduAssetSpacesHeaders{}
	_result = &QueryEduAssetSpacesResponse{}
	_body, _err := client.QueryEduAssetSpacesWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 根据设备SN信息查询学校人脸库
//
// @param request - QueryGroupIdRequest
//
// @param headers - QueryGroupIdHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryGroupIdResponse
func (client *Client) QueryGroupIdWithOptions(request *QueryGroupIdRequest, headers *QueryGroupIdHeaders, runtime *util.RuntimeOptions) (_result *QueryGroupIdResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryGroupId"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/faces/groups"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryGroupIdResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 根据设备SN信息查询学校人脸库
//
// @param request - QueryGroupIdRequest
//
// @return QueryGroupIdResponse
func (client *Client) QueryGroupId(request *QueryGroupIdRequest) (_result *QueryGroupIdResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryGroupIdHeaders{}
	_result = &QueryGroupIdResponse{}
	_body, _err := client.QueryGroupIdWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询套件开通记录
//
// @param request - QueryKitOpenRecordRequest
//
// @param headers - QueryKitOpenRecordHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryKitOpenRecordResponse
func (client *Client) QueryKitOpenRecordWithOptions(request *QueryKitOpenRecordRequest, headers *QueryKitOpenRecordHeaders, runtime *util.RuntimeOptions) (_result *QueryKitOpenRecordResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvProductScene)) {
		body["isvProductScene"] = request.IsvProductScene
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryKitOpenRecord"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/records/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryKitOpenRecordResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询套件开通记录
//
// @param request - QueryKitOpenRecordRequest
//
// @return QueryKitOpenRecordResponse
func (client *Client) QueryKitOpenRecord(request *QueryKitOpenRecordRequest) (_result *QueryKitOpenRecordResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryKitOpenRecordHeaders{}
	_result = &QueryKitOpenRecordResponse{}
	_body, _err := client.QueryKitOpenRecordWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取大模型的返回值
//
// @param request - QueryModelResultByTaskIdRequest
//
// @param headers - QueryModelResultByTaskIdHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryModelResultByTaskIdResponse
func (client *Client) QueryModelResultByTaskIdWithOptions(request *QueryModelResultByTaskIdRequest, headers *QueryModelResultByTaskIdHeaders, runtime *util.RuntimeOptions) (_result *QueryModelResultByTaskIdResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.TaskId)) {
		body["taskId"] = request.TaskId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryModelResultByTaskId"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/ai/models/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryModelResultByTaskIdResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取大模型的返回值
//
// @param request - QueryModelResultByTaskIdRequest
//
// @return QueryModelResultByTaskIdResponse
func (client *Client) QueryModelResultByTaskId(request *QueryModelResultByTaskIdRequest) (_result *QueryModelResultByTaskIdResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryModelResultByTaskIdHeaders{}
	_result = &QueryModelResultByTaskIdResponse{}
	_body, _err := client.QueryModelResultByTaskIdWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询订单信息
//
// @param request - QueryOrderRequest
//
// @param headers - QueryOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryOrderResponse
func (client *Client) QueryOrderWithOptions(request *QueryOrderRequest, headers *QueryOrderHeaders, runtime *util.RuntimeOptions) (_result *QueryOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AlipayAppId)) {
		query["alipayAppId"] = request.AlipayAppId
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		query["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		query["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		query["signature"] = request.Signature
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orders"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询订单信息
//
// @param request - QueryOrderRequest
//
// @return QueryOrderResponse
func (client *Client) QueryOrder(request *QueryOrderRequest) (_result *QueryOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryOrderHeaders{}
	_result = &QueryOrderResponse{}
	_body, _err := client.QueryOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询某个组织下面关联的组织列表
//
// @param request - QueryOrgRelationListRequest
//
// @param headers - QueryOrgRelationListHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryOrgRelationListResponse
func (client *Client) QueryOrgRelationListWithOptions(request *QueryOrgRelationListRequest, headers *QueryOrgRelationListHeaders, runtime *util.RuntimeOptions) (_result *QueryOrgRelationListResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryOrgRelationList"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/orgRelations"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryOrgRelationListResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询某个组织下面关联的组织列表
//
// @param request - QueryOrgRelationListRequest
//
// @return QueryOrgRelationListResponse
func (client *Client) QueryOrgRelationList(request *QueryOrgRelationListRequest) (_result *QueryOrgRelationListResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryOrgRelationListHeaders{}
	_result = &QueryOrgRelationListResponse{}
	_body, _err := client.QueryOrgRelationListWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获取组织秘钥
//
// @param request - QueryOrgSecretKeyRequest
//
// @param headers - QueryOrgSecretKeyHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryOrgSecretKeyResponse
func (client *Client) QueryOrgSecretKeyWithOptions(request *QueryOrgSecretKeyRequest, headers *QueryOrgSecretKeyHeaders, runtime *util.RuntimeOptions) (_result *QueryOrgSecretKeyResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		query["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryOrgSecretKey"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/secretKeys"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryOrgSecretKeyResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获取组织秘钥
//
// @param request - QueryOrgSecretKeyRequest
//
// @return QueryOrgSecretKeyResponse
func (client *Client) QueryOrgSecretKey(request *QueryOrgSecretKeyRequest) (_result *QueryOrgSecretKeyResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryOrgSecretKeyHeaders{}
	_result = &QueryOrgSecretKeyResponse{}
	_body, _err := client.QueryOrgSecretKeyWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询教育组织类型
//
// @param headers - QueryOrgTypeHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryOrgTypeResponse
func (client *Client) QueryOrgTypeWithOptions(headers *QueryOrgTypeHeaders, runtime *util.RuntimeOptions) (_result *QueryOrgTypeResponse, _err error) {
	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
	}
	params := &openapi.Params{
		Action:      tea.String("QueryOrgType"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orgTypes"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryOrgTypeResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询教育组织类型
//
// @return QueryOrgTypeResponse
func (client *Client) QueryOrgType() (_result *QueryOrgTypeResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryOrgTypeHeaders{}
	_result = &QueryOrgTypeResponse{}
	_body, _err := client.QueryOrgTypeWithOptions(headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询支付结果
//
// @param request - QueryPayResultRequest
//
// @param headers - QueryPayResultHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryPayResultResponse
func (client *Client) QueryPayResultWithOptions(request *QueryPayResultRequest, headers *QueryPayResultHeaders, runtime *util.RuntimeOptions) (_result *QueryPayResultResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		body["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		body["signature"] = request.Signature
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Timestamp)) {
		body["timestamp"] = request.Timestamp
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	if !tea.BoolValue(util.IsUnset(request.Version)) {
		body["version"] = request.Version
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryPayResult"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/payResults/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryPayResultResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询支付结果
//
// @param request - QueryPayResultRequest
//
// @return QueryPayResultResponse
func (client *Client) QueryPayResult(request *QueryPayResultRequest) (_result *QueryPayResultResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryPayResultHeaders{}
	_result = &QueryPayResultResponse{}
	_body, _err := client.QueryPayResultWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询物理教室信息
//
// @param request - QueryPhysicalClassroomRequest
//
// @param headers - QueryPhysicalClassroomHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryPhysicalClassroomResponse
func (client *Client) QueryPhysicalClassroomWithOptions(request *QueryPhysicalClassroomRequest, headers *QueryPhysicalClassroomHeaders, runtime *util.RuntimeOptions) (_result *QueryPhysicalClassroomResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassroomId)) {
		query["classroomId"] = request.ClassroomId
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryPhysicalClassroom"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/physicalClassrooms"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryPhysicalClassroomResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询物理教室信息
//
// @param request - QueryPhysicalClassroomRequest
//
// @return QueryPhysicalClassroomResponse
func (client *Client) QueryPhysicalClassroom(request *QueryPhysicalClassroomRequest) (_result *QueryPhysicalClassroomResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryPhysicalClassroomHeaders{}
	_result = &QueryPhysicalClassroomResponse{}
	_body, _err := client.QueryPhysicalClassroomWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询用户订购服务状态
//
// @param request - QueryPurchaseInfoRequest
//
// @param headers - QueryPurchaseInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryPurchaseInfoResponse
func (client *Client) QueryPurchaseInfoWithOptions(request *QueryPurchaseInfoRequest, headers *QueryPurchaseInfoHeaders, runtime *util.RuntimeOptions) (_result *QueryPurchaseInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		query["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.Scene)) {
		query["scene"] = request.Scene
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		query["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryPurchaseInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/users/purchases"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryPurchaseInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询用户订购服务状态
//
// @param request - QueryPurchaseInfoRequest
//
// @return QueryPurchaseInfoResponse
func (client *Client) QueryPurchaseInfo(request *QueryPurchaseInfoRequest) (_result *QueryPurchaseInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryPurchaseInfoHeaders{}
	_result = &QueryPurchaseInfoResponse{}
	_body, _err := client.QueryPurchaseInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询课程列表
//
// @param request - QueryRemoteClassCourseRequest
//
// @param headers - QueryRemoteClassCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryRemoteClassCourseResponse
func (client *Client) QueryRemoteClassCourseWithOptions(request *QueryRemoteClassCourseRequest, headers *QueryRemoteClassCourseHeaders, runtime *util.RuntimeOptions) (_result *QueryRemoteClassCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		query["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		query["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		query["startTime"] = request.StartTime
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryRemoteClassCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/courses"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryRemoteClassCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询课程列表
//
// @param request - QueryRemoteClassCourseRequest
//
// @return QueryRemoteClassCourseResponse
func (client *Client) QueryRemoteClassCourse(request *QueryRemoteClassCourseRequest) (_result *QueryRemoteClassCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryRemoteClassCourseHeaders{}
	_result = &QueryRemoteClassCourseResponse{}
	_body, _err := client.QueryRemoteClassCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 分批查询学校人脸id
//
// @param request - QuerySchoolUserFaceRequest
//
// @param headers - QuerySchoolUserFaceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QuerySchoolUserFaceResponse
func (client *Client) QuerySchoolUserFaceWithOptions(request *QuerySchoolUserFaceRequest, headers *QuerySchoolUserFaceHeaders, runtime *util.RuntimeOptions) (_result *QuerySchoolUserFaceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.PageNumber)) {
		query["pageNumber"] = request.PageNumber
	}

	if !tea.BoolValue(util.IsUnset(request.PageSize)) {
		query["pageSize"] = request.PageSize
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		query["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QuerySchoolUserFace"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schools/faces"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QuerySchoolUserFaceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 分批查询学校人脸id
//
// @param request - QuerySchoolUserFaceRequest
//
// @return QuerySchoolUserFaceResponse
func (client *Client) QuerySchoolUserFace(request *QuerySchoolUserFaceRequest) (_result *QuerySchoolUserFaceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QuerySchoolUserFaceHeaders{}
	_result = &QuerySchoolUserFaceResponse{}
	_body, _err := client.QuerySchoolUserFaceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 个人应用查询订单信息
//
// @param request - QuerySnsOrderRequest
//
// @param headers - QuerySnsOrderHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QuerySnsOrderResponse
func (client *Client) QuerySnsOrderWithOptions(request *QuerySnsOrderRequest, headers *QuerySnsOrderHeaders, runtime *util.RuntimeOptions) (_result *QuerySnsOrderResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AlipayAppId)) {
		query["alipayAppId"] = request.AlipayAppId
	}

	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		query["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		query["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Signature)) {
		query["signature"] = request.Signature
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QuerySnsOrder"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/snsOrders"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QuerySnsOrderResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 个人应用查询订单信息
//
// @param request - QuerySnsOrderRequest
//
// @return QuerySnsOrderResponse
func (client *Client) QuerySnsOrder(request *QuerySnsOrderRequest) (_result *QuerySnsOrderResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QuerySnsOrderHeaders{}
	_result = &QuerySnsOrderResponse{}
	_body, _err := client.QuerySnsOrderWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 获得课程表详细信息
//
// @param request - QueryStatisticsDataRequest
//
// @param headers - QueryStatisticsDataHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryStatisticsDataResponse
func (client *Client) QueryStatisticsDataWithOptions(request *QueryStatisticsDataRequest, headers *QueryStatisticsDataHeaders, runtime *util.RuntimeOptions) (_result *QueryStatisticsDataResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		query["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		query["startTime"] = request.StartTime
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.SectionIndexList)) {
		body["sectionIndexList"] = request.SectionIndexList
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserIds)) {
		body["teacherUserIds"] = request.TeacherUserIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryStatisticsData"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/schedules/statisticData/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryStatisticsDataResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 获得课程表详细信息
//
// @param request - QueryStatisticsDataRequest
//
// @return QueryStatisticsDataResponse
func (client *Client) QueryStatisticsData(request *QueryStatisticsDataRequest) (_result *QueryStatisticsDataResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryStatisticsDataHeaders{}
	_result = &QueryStatisticsDataResponse{}
	_body, _err := client.QueryStatisticsDataWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询学生班级
//
// @param request - QueryStudentClassRequest
//
// @param headers - QueryStudentClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryStudentClassResponse
func (client *Client) QueryStudentClassWithOptions(request *QueryStudentClassRequest, headers *QueryStudentClassHeaders, runtime *util.RuntimeOptions) (_result *QueryStudentClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassType)) {
		body["classType"] = request.ClassType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserIds)) {
		body["studentUserIds"] = request.StudentUserIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryStudentClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/students/classes/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryStudentClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询学生班级
//
// @param request - QueryStudentClassRequest
//
// @return QueryStudentClassResponse
func (client *Client) QueryStudentClass(request *QueryStudentClassRequest) (_result *QueryStudentClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryStudentClassHeaders{}
	_result = &QueryStudentClassResponse{}
	_body, _err := client.QueryStudentClassWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询教授某学科老师列表
//
// @param request - QuerySubjectTeachersRequest
//
// @param headers - QuerySubjectTeachersHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QuerySubjectTeachersResponse
func (client *Client) QuerySubjectTeachersWithOptions(request *QuerySubjectTeachersRequest, headers *QuerySubjectTeachersHeaders, runtime *util.RuntimeOptions) (_result *QuerySubjectTeachersResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassIds)) {
		query["classIds"] = request.ClassIds
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	if !tea.BoolValue(util.IsUnset(request.SubjectCode)) {
		query["subjectCode"] = request.SubjectCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QuerySubjectTeachers"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/subjects/teachers"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QuerySubjectTeachersResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询教授某学科老师列表
//
// @param request - QuerySubjectTeachersRequest
//
// @return QuerySubjectTeachersResponse
func (client *Client) QuerySubjectTeachers(request *QuerySubjectTeachersRequest) (_result *QuerySubjectTeachersResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QuerySubjectTeachersHeaders{}
	_result = &QuerySubjectTeachersResponse{}
	_body, _err := client.QuerySubjectTeachersWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询老师教授学科列表
//
// @param request - QueryTeachSubjectsRequest
//
// @param headers - QueryTeachSubjectsHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryTeachSubjectsResponse
func (client *Client) QueryTeachSubjectsWithOptions(request *QueryTeachSubjectsRequest, headers *QueryTeachSubjectsHeaders, runtime *util.RuntimeOptions) (_result *QueryTeachSubjectsResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassIds)) {
		query["classIds"] = request.ClassIds
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryTeachSubjects"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/teachers/subjects"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryTeachSubjectsResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询老师教授学科列表
//
// @param request - QueryTeachSubjectsRequest
//
// @return QueryTeachSubjectsResponse
func (client *Client) QueryTeachSubjects(request *QueryTeachSubjectsRequest) (_result *QueryTeachSubjectsResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryTeachSubjectsHeaders{}
	_result = &QueryTeachSubjectsResponse{}
	_body, _err := client.QueryTeachSubjectsWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询老师课程
//
// @param request - QueryTeacherCourseRequest
//
// @param headers - QueryTeacherCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryTeacherCourseResponse
func (client *Client) QueryTeacherCourseWithOptions(request *QueryTeacherCourseRequest, headers *QueryTeacherCourseHeaders, runtime *util.RuntimeOptions) (_result *QueryTeacherCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseIdList)) {
		body["isvCourseIdList"] = request.IsvCourseIdList
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserId)) {
		body["teacherUserId"] = request.TeacherUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryTeacherCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/teachers/courses/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryTeacherCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询老师课程
//
// @param request - QueryTeacherCourseRequest
//
// @return QueryTeacherCourseResponse
func (client *Client) QueryTeacherCourse(request *QueryTeacherCourseRequest) (_result *QueryTeacherCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryTeacherCourseHeaders{}
	_result = &QueryTeacherCourseResponse{}
	_body, _err := client.QueryTeacherCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询调代课记录
//
// @param request - QueryTransferCourseRequest
//
// @param headers - QueryTransferCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryTransferCourseResponse
func (client *Client) QueryTransferCourseWithOptions(request *QueryTransferCourseRequest, headers *QueryTransferCourseHeaders, runtime *util.RuntimeOptions) (_result *QueryTransferCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvRecordId)) {
		body["isvRecordId"] = request.IsvRecordId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryTransferCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/transferRecords/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryTransferCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询调代课记录
//
// @param request - QueryTransferCourseRequest
//
// @return QueryTransferCourseResponse
func (client *Client) QueryTransferCourse(request *QueryTransferCourseRequest) (_result *QueryTransferCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryTransferCourseHeaders{}
	_result = &QueryTransferCourseResponse{}
	_body, _err := client.QueryTransferCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询大学课程组
//
// @param request - QueryUniversityCourseGroupRequest
//
// @param headers - QueryUniversityCourseGroupHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryUniversityCourseGroupResponse
func (client *Client) QueryUniversityCourseGroupWithOptions(request *QueryUniversityCourseGroupRequest, headers *QueryUniversityCourseGroupHeaders, runtime *util.RuntimeOptions) (_result *QueryUniversityCourseGroupResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseGroupCode)) {
		query["courseGroupCode"] = request.CourseGroupCode
	}

	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryUniversityCourseGroup"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courseGroups"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryUniversityCourseGroupResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询大学课程组
//
// @param request - QueryUniversityCourseGroupRequest
//
// @return QueryUniversityCourseGroupResponse
func (client *Client) QueryUniversityCourseGroup(request *QueryUniversityCourseGroupRequest) (_result *QueryUniversityCourseGroupResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryUniversityCourseGroupHeaders{}
	_result = &QueryUniversityCourseGroupResponse{}
	_body, _err := client.QueryUniversityCourseGroupWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 根据人脸id查询用户信息
//
// @param request - QueryUserFaceRequest
//
// @param headers - QueryUserFaceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryUserFaceResponse
func (client *Client) QueryUserFaceWithOptions(request *QueryUserFaceRequest, headers *QueryUserFaceHeaders, runtime *util.RuntimeOptions) (_result *QueryUserFaceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		query["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryUserFace"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/users/faces"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryUserFaceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 根据人脸id查询用户信息
//
// @param request - QueryUserFaceRequest
//
// @return QueryUserFaceResponse
func (client *Client) QueryUserFace(request *QueryUserFaceRequest) (_result *QueryUserFaceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryUserFaceHeaders{}
	_result = &QueryUserFaceResponse{}
	_body, _err := client.QueryUserFaceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询用户支付信息
//
// @param request - QueryUserPayInfoRequest
//
// @param headers - QueryUserPayInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryUserPayInfoResponse
func (client *Client) QueryUserPayInfoWithOptions(request *QueryUserPayInfoRequest, headers *QueryUserPayInfoHeaders, runtime *util.RuntimeOptions) (_result *QueryUserPayInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.FaceId)) {
		query["faceId"] = request.FaceId
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		query["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("QueryUserPayInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orders/payInfos"),
		Method:      tea.String("GET"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryUserPayInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询用户支付信息
//
// @param request - QueryUserPayInfoRequest
//
// @return QueryUserPayInfoResponse
func (client *Client) QueryUserPayInfo(request *QueryUserPayInfoRequest) (_result *QueryUserPayInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryUserPayInfoHeaders{}
	_result = &QueryUserPayInfoResponse{}
	_body, _err := client.QueryUserPayInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 移除设备
//
// @param request - RemoveDeviceRequest
//
// @param headers - RemoveDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return RemoveDeviceResponse
func (client *Client) RemoveDeviceWithOptions(request *RemoveDeviceRequest, headers *RemoveDeviceHeaders, runtime *util.RuntimeOptions) (_result *RemoveDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.MerchantId)) {
		query["merchantId"] = request.MerchantId
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("RemoveDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/devices"),
		Method:      tea.String("DELETE"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &RemoveDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 移除设备
//
// @param request - RemoveDeviceRequest
//
// @return RemoveDeviceResponse
func (client *Client) RemoveDevice(request *RemoveDeviceRequest) (_result *RemoveDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &RemoveDeviceHeaders{}
	_result = &RemoveDeviceResponse{}
	_body, _err := client.RemoveDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 设备日志上报接口
//
// @param request - ReportDeviceLogRequest
//
// @param headers - ReportDeviceLogHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ReportDeviceLogResponse
func (client *Client) ReportDeviceLogWithOptions(request *ReportDeviceLogRequest, headers *ReportDeviceLogHeaders, runtime *util.RuntimeOptions) (_result *ReportDeviceLogResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.MediaId)) {
		query["mediaId"] = request.MediaId
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		query["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		query["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("ReportDeviceLog"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/deviceLogs/report"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ReportDeviceLogResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 设备日志上报接口
//
// @param request - ReportDeviceLogRequest
//
// @return ReportDeviceLogResponse
func (client *Client) ReportDeviceLog(request *ReportDeviceLogRequest) (_result *ReportDeviceLogResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ReportDeviceLogHeaders{}
	_result = &ReportDeviceLogResponse{}
	_body, _err := client.ReportDeviceLogWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 上传设备使用日志
//
// @param request - ReportDeviceUseLogRequest
//
// @param headers - ReportDeviceUseLogHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ReportDeviceUseLogResponse
func (client *Client) ReportDeviceUseLogWithOptions(request *ReportDeviceUseLogRequest, headers *ReportDeviceUseLogHeaders, runtime *util.RuntimeOptions) (_result *ReportDeviceUseLogResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Action)) {
		body["action"] = request.Action
	}

	if !tea.BoolValue(util.IsUnset(request.OrderNo)) {
		body["orderNo"] = request.OrderNo
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("ReportDeviceUseLog"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/deviceUseLogs/report"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ReportDeviceUseLogResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 上传设备使用日志
//
// @param request - ReportDeviceUseLogRequest
//
// @return ReportDeviceUseLogResponse
func (client *Client) ReportDeviceUseLog(request *ReportDeviceUseLogRequest) (_result *ReportDeviceUseLogResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ReportDeviceUseLogHeaders{}
	_result = &ReportDeviceUseLogResponse{}
	_body, _err := client.ReportDeviceUseLogWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 回滚教育积分扣减
//
// @param request - RollbackDeductPointRequest
//
// @param headers - RollbackDeductPointHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return RollbackDeductPointResponse
func (client *Client) RollbackDeductPointWithOptions(request *RollbackDeductPointRequest, headers *RollbackDeductPointHeaders, runtime *util.RuntimeOptions) (_result *RollbackDeductPointResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.PointType)) {
		body["pointType"] = request.PointType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("RollbackDeductPoint"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/deductPoints/rollback"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &RollbackDeductPointResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 回滚教育积分扣减
//
// @param request - RollbackDeductPointRequest
//
// @return RollbackDeductPointResponse
func (client *Client) RollbackDeductPoint(request *RollbackDeductPointRequest) (_result *RollbackDeductPointResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &RollbackDeductPointHeaders{}
	_result = &RollbackDeductPointResponse{}
	_body, _err := client.RollbackDeductPointWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 保存班级学情数据
//
// @param request - SaveClassLearningDataRequest
//
// @param headers - SaveClassLearningDataHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SaveClassLearningDataResponse
func (client *Client) SaveClassLearningDataWithOptions(request *SaveClassLearningDataRequest, headers *SaveClassLearningDataHeaders, runtime *util.RuntimeOptions) (_result *SaveClassLearningDataResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AssignNum)) {
		body["assignNum"] = request.AssignNum
	}

	if !tea.BoolValue(util.IsUnset(request.AssignStudentUserIds)) {
		body["assignStudentUserIds"] = request.AssignStudentUserIds
	}

	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.BizType)) {
		body["bizType"] = request.BizType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		body["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.FileSuffix)) {
		body["fileSuffix"] = request.FileSuffix
	}

	if !tea.BoolValue(util.IsUnset(request.GeneratedTime)) {
		body["generatedTime"] = request.GeneratedTime
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionNum)) {
		body["questionNum"] = request.QuestionNum
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionPictureNum)) {
		body["questionPictureNum"] = request.QuestionPictureNum
	}

	if !tea.BoolValue(util.IsUnset(request.StandardAnswerPictureNum)) {
		body["standardAnswerPictureNum"] = request.StandardAnswerPictureNum
	}

	if !tea.BoolValue(util.IsUnset(request.SubjectCode)) {
		body["subjectCode"] = request.SubjectCode
	}

	if !tea.BoolValue(util.IsUnset(request.TeacherUserId)) {
		body["teacherUserId"] = request.TeacherUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SaveClassLearningData"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/learnings/datas/save"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SaveClassLearningDataResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 保存班级学情数据
//
// @param request - SaveClassLearningDataRequest
//
// @return SaveClassLearningDataResponse
func (client *Client) SaveClassLearningData(request *SaveClassLearningDataRequest) (_result *SaveClassLearningDataResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SaveClassLearningDataHeaders{}
	_result = &SaveClassLearningDataResponse{}
	_body, _err := client.SaveClassLearningDataWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 保存学生学情数据
//
// @param request - SaveStudentLearningDataRequest
//
// @param headers - SaveStudentLearningDataHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SaveStudentLearningDataResponse
func (client *Client) SaveStudentLearningDataWithOptions(request *SaveStudentLearningDataRequest, headers *SaveStudentLearningDataHeaders, runtime *util.RuntimeOptions) (_result *SaveStudentLearningDataResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AssignNum)) {
		body["assignNum"] = request.AssignNum
	}

	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.BizType)) {
		body["bizType"] = request.BizType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.CorrectNum)) {
		body["correctNum"] = request.CorrectNum
	}

	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		body["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.FileSuffix)) {
		body["fileSuffix"] = request.FileSuffix
	}

	if !tea.BoolValue(util.IsUnset(request.GeneratedTime)) {
		body["generatedTime"] = request.GeneratedTime
	}

	if !tea.BoolValue(util.IsUnset(request.QuestionNum)) {
		body["questionNum"] = request.QuestionNum
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserId)) {
		body["studentUserId"] = request.StudentUserId
	}

	if !tea.BoolValue(util.IsUnset(request.SubjectCode)) {
		body["subjectCode"] = request.SubjectCode
	}

	if !tea.BoolValue(util.IsUnset(request.SubmitNum)) {
		body["submitNum"] = request.SubmitNum
	}

	if !tea.BoolValue(util.IsUnset(request.WrongQuestions)) {
		body["wrongQuestions"] = request.WrongQuestions
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SaveStudentLearningData"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/students/learnings/datas/save"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SaveStudentLearningDataResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 保存学生学情数据
//
// @param request - SaveStudentLearningDataRequest
//
// @return SaveStudentLearningDataResponse
func (client *Client) SaveStudentLearningData(request *SaveStudentLearningDataRequest) (_result *SaveStudentLearningDataResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SaveStudentLearningDataHeaders{}
	_result = &SaveStudentLearningDataResponse{}
	_body, _err := client.SaveStudentLearningDataWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 成绩单详情已读状态设置
//
// @param request - SchoolReportDetailReadedRequest
//
// @param headers - SchoolReportDetailReadedHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SchoolReportDetailReadedResponse
func (client *Client) SchoolReportDetailReadedWithOptions(request *SchoolReportDetailReadedRequest, headers *SchoolReportDetailReadedHeaders, runtime *util.RuntimeOptions) (_result *SchoolReportDetailReadedResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.SchoolReportId)) {
		body["schoolReportId"] = request.SchoolReportId
	}

	if !tea.BoolValue(util.IsUnset(request.StudentIds)) {
		body["studentIds"] = request.StudentIds
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SchoolReportDetailReaded"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/schools/reportDetails/readStatuses/set"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SchoolReportDetailReadedResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 成绩单详情已读状态设置
//
// @param request - SchoolReportDetailReadedRequest
//
// @return SchoolReportDetailReadedResponse
func (client *Client) SchoolReportDetailReaded(request *SchoolReportDetailReadedRequest) (_result *SchoolReportDetailReadedResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SchoolReportDetailReadedHeaders{}
	_result = &SchoolReportDetailReadedResponse{}
	_body, _err := client.SchoolReportDetailReadedWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 按关键字搜索老师
//
// @param request - SearchTeachersRequest
//
// @param headers - SearchTeachersHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SearchTeachersResponse
func (client *Client) SearchTeachersWithOptions(request *SearchTeachersRequest, headers *SearchTeachersHeaders, runtime *util.RuntimeOptions) (_result *SearchTeachersResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.NameKeyword)) {
		query["nameKeyword"] = request.NameKeyword
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("SearchTeachers"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/teachers/search"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &SearchTeachersResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 按关键字搜索老师
//
// @param request - SearchTeachersRequest
//
// @return SearchTeachersResponse
func (client *Client) SearchTeachers(request *SearchTeachersRequest) (_result *SearchTeachersResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SearchTeachersHeaders{}
	_result = &SearchTeachersResponse{}
	_body, _err := client.SearchTeachersWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 套件-发送AI卡片
//
// @param request - SendAiCardRequest
//
// @param headers - SendAiCardHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SendAiCardResponse
func (client *Client) SendAiCardWithOptions(request *SendAiCardRequest, headers *SendAiCardHeaders, runtime *util.RuntimeOptions) (_result *SendAiCardResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActionType)) {
		body["actionType"] = request.ActionType
	}

	if !tea.BoolValue(util.IsUnset(request.BizData)) {
		body["bizData"] = request.BizData
	}

	if !tea.BoolValue(util.IsUnset(request.CardChannel)) {
		body["cardChannel"] = request.CardChannel
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.Identifier)) {
		body["identifier"] = request.Identifier
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SendAiCard"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/aiCards/send"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SendAiCardResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 套件-发送AI卡片
//
// @param request - SendAiCardRequest
//
// @return SendAiCardResponse
func (client *Client) SendAiCard(request *SendAiCardRequest) (_result *SendAiCardResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SendAiCardHeaders{}
	_result = &SendAiCardResponse{}
	_body, _err := client.SendAiCardWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 高校AI助理主动发送消息
//
// @param request - SendCollegeAiAssistantMsgRequest
//
// @param headers - SendCollegeAiAssistantMsgHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SendCollegeAiAssistantMsgResponse
func (client *Client) SendCollegeAiAssistantMsgWithOptions(request *SendCollegeAiAssistantMsgRequest, headers *SendCollegeAiAssistantMsgHeaders, runtime *util.RuntimeOptions) (_result *SendCollegeAiAssistantMsgResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Content)) {
		body["content"] = request.Content
	}

	if !tea.BoolValue(util.IsUnset(request.ContentType)) {
		body["contentType"] = request.ContentType
	}

	if !tea.BoolValue(util.IsUnset(request.OpenConversationId)) {
		body["openConversationId"] = request.OpenConversationId
	}

	if !tea.BoolValue(util.IsUnset(request.UnionId)) {
		body["unionId"] = request.UnionId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SendCollegeAiAssistantMsg"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/colleges/aiAssistants/messages/send"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SendCollegeAiAssistantMsgResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 高校AI助理主动发送消息
//
// @param request - SendCollegeAiAssistantMsgRequest
//
// @return SendCollegeAiAssistantMsgResponse
func (client *Client) SendCollegeAiAssistantMsg(request *SendCollegeAiAssistantMsgRequest) (_result *SendCollegeAiAssistantMsgResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SendCollegeAiAssistantMsgHeaders{}
	_result = &SendCollegeAiAssistantMsgResponse{}
	_body, _err := client.SendCollegeAiAssistantMsgWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 收藏文件消息发送
//
// @param request - SendFileMessageRequest
//
// @param headers - SendFileMessageHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SendFileMessageResponse
func (client *Client) SendFileMessageWithOptions(request *SendFileMessageRequest, headers *SendFileMessageHeaders, runtime *util.RuntimeOptions) (_result *SendFileMessageResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.Extension)) {
		body["extension"] = request.Extension
	}

	if !tea.BoolValue(util.IsUnset(request.FileName)) {
		body["fileName"] = request.FileName
	}

	if !tea.BoolValue(util.IsUnset(request.FileSize)) {
		body["fileSize"] = request.FileSize
	}

	if !tea.BoolValue(util.IsUnset(request.FileUrl)) {
		body["fileUrl"] = request.FileUrl
	}

	if !tea.BoolValue(util.IsUnset(request.SendType)) {
		body["sendType"] = request.SendType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SendFileMessage"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/contents/files/messages/send"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SendFileMessageResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 收藏文件消息发送
//
// @param request - SendFileMessageRequest
//
// @return SendFileMessageResponse
func (client *Client) SendFileMessage(request *SendFileMessageRequest) (_result *SendFileMessageResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SendFileMessageHeaders{}
	_result = &SendFileMessageResponse{}
	_body, _err := client.SendFileMessageWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 亲情通话发消息
//
// @param request - SendMessageRequest
//
// @param headers - SendMessageHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SendMessageResponse
func (client *Client) SendMessageWithOptions(request *SendMessageRequest, headers *SendMessageHeaders, runtime *util.RuntimeOptions) (_result *SendMessageResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.FromUserId)) {
		body["fromUserId"] = request.FromUserId
	}

	if !tea.BoolValue(util.IsUnset(request.Sn)) {
		body["sn"] = request.Sn
	}

	if !tea.BoolValue(util.IsUnset(request.ToUserIdList)) {
		body["toUserIdList"] = request.ToUserIdList
	}

	if !tea.BoolValue(util.IsUnset(request.Type)) {
		body["type"] = request.Type
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SendMessage"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/messages/send"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SendMessageResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 亲情通话发消息
//
// @param request - SendMessageRequest
//
// @return SendMessageResponse
func (client *Client) SendMessage(request *SendMessageRequest) (_result *SendMessageResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SendMessageHeaders{}
	_result = &SendMessageResponse{}
	_body, _err := client.SendMessageWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 发送打印订单提醒消息
//
// @param request - SendPrintOrderNoticeMsgRequest
//
// @param headers - SendPrintOrderNoticeMsgHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SendPrintOrderNoticeMsgResponse
func (client *Client) SendPrintOrderNoticeMsgWithOptions(request *SendPrintOrderNoticeMsgRequest, headers *SendPrintOrderNoticeMsgHeaders, runtime *util.RuntimeOptions) (_result *SendPrintOrderNoticeMsgResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CreateOrderTime)) {
		body["createOrderTime"] = request.CreateOrderTime
	}

	if !tea.BoolValue(util.IsUnset(request.DeliveryCompanyName)) {
		body["deliveryCompanyName"] = request.DeliveryCompanyName
	}

	if !tea.BoolValue(util.IsUnset(request.DeliveryNumber)) {
		body["deliveryNumber"] = request.DeliveryNumber
	}

	if !tea.BoolValue(util.IsUnset(request.DeliveryTime)) {
		body["deliveryTime"] = request.DeliveryTime
	}

	if !tea.BoolValue(util.IsUnset(request.PaymentTime)) {
		body["paymentTime"] = request.PaymentTime
	}

	if !tea.BoolValue(util.IsUnset(request.Price)) {
		body["price"] = request.Price
	}

	if !tea.BoolValue(util.IsUnset(request.SceneCode)) {
		body["sceneCode"] = request.SceneCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SendPrintOrderNoticeMsg"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/files/printOrders/noticeMessages/send"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SendPrintOrderNoticeMsgResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 发送打印订单提醒消息
//
// @param request - SendPrintOrderNoticeMsgRequest
//
// @return SendPrintOrderNoticeMsgResponse
func (client *Client) SendPrintOrderNoticeMsg(request *SendPrintOrderNoticeMsgRequest) (_result *SendPrintOrderNoticeMsgResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SendPrintOrderNoticeMsgHeaders{}
	_result = &SendPrintOrderNoticeMsgResponse{}
	_body, _err := client.SendPrintOrderNoticeMsgWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 开始课程
//
// @param request - StartCourseRequest
//
// @param headers - StartCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return StartCourseResponse
func (client *Client) StartCourseWithOptions(request *StartCourseRequest, headers *StartCourseHeaders, runtime *util.RuntimeOptions) (_result *StartCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseCode)) {
		body["courseCode"] = request.CourseCode
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.LivePlayInfoList)) {
		body["livePlayInfoList"] = request.LivePlayInfoList
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("StartCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courses/start"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &StartCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 开始课程
//
// @param request - StartCourseRequest
//
// @return StartCourseResponse
func (client *Client) StartCourse(request *StartCourseRequest) (_result *StartCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &StartCourseHeaders{}
	_result = &StartCourseResponse{}
	_body, _err := client.StartCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 预开课，发送开课提醒
//
// @param request - StartCoursePrepareRequest
//
// @param headers - StartCoursePrepareHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return StartCoursePrepareResponse
func (client *Client) StartCoursePrepareWithOptions(request *StartCoursePrepareRequest, headers *StartCoursePrepareHeaders, runtime *util.RuntimeOptions) (_result *StartCoursePrepareResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseDate)) {
		body["courseDate"] = request.CourseDate
	}

	if !tea.BoolValue(util.IsUnset(request.CourseGroupCode)) {
		body["courseGroupCode"] = request.CourseGroupCode
	}

	if !tea.BoolValue(util.IsUnset(request.DeviceId)) {
		body["deviceId"] = request.DeviceId
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.LiveCoverImage)) {
		body["liveCoverImage"] = request.LiveCoverImage
	}

	if !tea.BoolValue(util.IsUnset(request.SectionIndex)) {
		body["sectionIndex"] = request.SectionIndex
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("StartCoursePrepare"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courses/prepare"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &StartCoursePrepareResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 预开课，发送开课提醒
//
// @param request - StartCoursePrepareRequest
//
// @return StartCoursePrepareResponse
func (client *Client) StartCoursePrepare(request *StartCoursePrepareRequest) (_result *StartCoursePrepareResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &StartCoursePrepareHeaders{}
	_result = &StartCoursePrepareResponse{}
	_body, _err := client.StartCoursePrepareWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// # AI体育-上报数据
//
// @param request - SubmitAiSportDataRequest
//
// @param headers - SubmitAiSportDataHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SubmitAiSportDataResponse
func (client *Client) SubmitAiSportDataWithOptions(request *SubmitAiSportDataRequest, headers *SubmitAiSportDataHeaders, runtime *util.RuntimeOptions) (_result *SubmitAiSportDataResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Data)) {
		body["data"] = request.Data
	}

	if !tea.BoolValue(util.IsUnset(request.DataType)) {
		body["dataType"] = request.DataType
	}

	if !tea.BoolValue(util.IsUnset(request.OperateType)) {
		body["operateType"] = request.OperateType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SubmitAiSportData"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/aiSports/data/submit"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &SubmitAiSportDataResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// # AI体育-上报数据
//
// @param request - SubmitAiSportDataRequest
//
// @return SubmitAiSportDataResponse
func (client *Client) SubmitAiSportData(request *SubmitAiSportDataRequest) (_result *SubmitAiSportDataResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SubmitAiSportDataHeaders{}
	_result = &SubmitAiSportDataResponse{}
	_body, _err := client.SubmitAiSportDataWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 订阅大学课程组
//
// @param request - SubscribeUniversityCourseGroupRequest
//
// @param headers - SubscribeUniversityCourseGroupHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return SubscribeUniversityCourseGroupResponse
func (client *Client) SubscribeUniversityCourseGroupWithOptions(request *SubscribeUniversityCourseGroupRequest, headers *SubscribeUniversityCourseGroupHeaders, runtime *util.RuntimeOptions) (_result *SubscribeUniversityCourseGroupResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseGroupCode)) {
		body["courseGroupCode"] = request.CourseGroupCode
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserIds)) {
		body["studentUserIds"] = request.StudentUserIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("SubscribeUniversityCourseGroup"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courseGroups/subscribe"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &SubscribeUniversityCourseGroupResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 订阅大学课程组
//
// @param request - SubscribeUniversityCourseGroupRequest
//
// @return SubscribeUniversityCourseGroupResponse
func (client *Client) SubscribeUniversityCourseGroup(request *SubscribeUniversityCourseGroupRequest) (_result *SubscribeUniversityCourseGroupResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &SubscribeUniversityCourseGroupHeaders{}
	_result = &SubscribeUniversityCourseGroupResponse{}
	_body, _err := client.SubscribeUniversityCourseGroupWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 取消订阅大学课程组
//
// @param request - UnsubscribeUniversityCourseGroupRequest
//
// @param headers - UnsubscribeUniversityCourseGroupHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UnsubscribeUniversityCourseGroupResponse
func (client *Client) UnsubscribeUniversityCourseGroupWithOptions(request *UnsubscribeUniversityCourseGroupRequest, headers *UnsubscribeUniversityCourseGroupHeaders, runtime *util.RuntimeOptions) (_result *UnsubscribeUniversityCourseGroupResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseGroupCode)) {
		body["courseGroupCode"] = request.CourseGroupCode
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserIds)) {
		body["studentUserIds"] = request.StudentUserIds
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UnsubscribeUniversityCourseGroup"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courseGroups/unsubscribe"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &UnsubscribeUniversityCourseGroupResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 取消订阅大学课程组
//
// @param request - UnsubscribeUniversityCourseGroupRequest
//
// @return UnsubscribeUniversityCourseGroupResponse
func (client *Client) UnsubscribeUniversityCourseGroup(request *UnsubscribeUniversityCourseGroupRequest) (_result *UnsubscribeUniversityCourseGroupResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UnsubscribeUniversityCourseGroupHeaders{}
	_result = &UnsubscribeUniversityCourseGroupResponse{}
	_body, _err := client.UnsubscribeUniversityCourseGroupWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 修改班级信息
//
// @param request - UpdateClassRequest
//
// @param headers - UpdateClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateClassResponse
func (client *Client) UpdateClassWithOptions(request *UpdateClassRequest, headers *UpdateClassHeaders, runtime *util.RuntimeOptions) (_result *UpdateClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		body["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.GradeLevel)) {
		body["gradeLevel"] = request.GradeLevel
	}

	if !tea.BoolValue(util.IsUnset(request.OpenClass)) {
		body["openClass"] = request.OpenClass
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.SuperId)) {
		body["superId"] = request.SuperId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/infos"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 修改班级信息
//
// @param request - UpdateClassRequest
//
// @return UpdateClassResponse
func (client *Client) UpdateClass(request *UpdateClassRequest) (_result *UpdateClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateClassHeaders{}
	_result = &UpdateClassResponse{}
	_body, _err := client.UpdateClassWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新班级群卡片消息
//
// @param request - UpdateClassGroupCardRequest
//
// @param headers - UpdateClassGroupCardHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateClassGroupCardResponse
func (client *Client) UpdateClassGroupCardWithOptions(request *UpdateClassGroupCardRequest, headers *UpdateClassGroupCardHeaders, runtime *util.RuntimeOptions) (_result *UpdateClassGroupCardResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCardId)) {
		body["bizCardId"] = request.BizCardId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.GroupTypeList)) {
		body["groupTypeList"] = request.GroupTypeList
	}

	if !tea.BoolValue(util.IsUnset(request.IsFinalUpdate)) {
		body["isFinalUpdate"] = request.IsFinalUpdate
	}

	if !tea.BoolValue(util.IsUnset(request.PrivateCardData)) {
		body["privateCardData"] = request.PrivateCardData
	}

	if !tea.BoolValue(util.IsUnset(request.PublicCardData)) {
		body["publicCardData"] = request.PublicCardData
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateClassGroupCard"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/groups/cards/messages"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateClassGroupCardResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新班级群卡片消息
//
// @param request - UpdateClassGroupCardRequest
//
// @return UpdateClassGroupCardResponse
func (client *Client) UpdateClassGroupCard(request *UpdateClassGroupCardRequest) (_result *UpdateClassGroupCardResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateClassGroupCardHeaders{}
	_result = &UpdateClassGroupCardResponse{}
	_body, _err := client.UpdateClassGroupCardWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 高校校友会更新校友信息
//
// @param request - UpdateCollegeAlumniUserInfoRequest
//
// @param headers - UpdateCollegeAlumniUserInfoHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateCollegeAlumniUserInfoResponse
func (client *Client) UpdateCollegeAlumniUserInfoWithOptions(request *UpdateCollegeAlumniUserInfoRequest, headers *UpdateCollegeAlumniUserInfoHeaders, runtime *util.RuntimeOptions) (_result *UpdateCollegeAlumniUserInfoResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Address)) {
		body["address"] = request.Address
	}

	if !tea.BoolValue(util.IsUnset(request.DeptIds)) {
		body["deptIds"] = request.DeptIds
	}

	if !tea.BoolValue(util.IsUnset(request.Email)) {
		body["email"] = request.Email
	}

	if !tea.BoolValue(util.IsUnset(request.Intake)) {
		body["intake"] = request.Intake
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.Outtake)) {
		body["outtake"] = request.Outtake
	}

	if !tea.BoolValue(util.IsUnset(request.StudentNumber)) {
		body["studentNumber"] = request.StudentNumber
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateCollegeAlumniUserInfo"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeAlumni/userInfos"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateCollegeAlumniUserInfoResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 高校校友会更新校友信息
//
// @param request - UpdateCollegeAlumniUserInfoRequest
//
// @return UpdateCollegeAlumniUserInfoResponse
func (client *Client) UpdateCollegeAlumniUserInfo(request *UpdateCollegeAlumniUserInfoRequest) (_result *UpdateCollegeAlumniUserInfoResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateCollegeAlumniUserInfoHeaders{}
	_result = &UpdateCollegeAlumniUserInfoResponse{}
	_body, _err := client.UpdateCollegeAlumniUserInfoWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新高校通讯录组织单元
//
// @param request - UpdateCollegeContactDeptRequest
//
// @param headers - UpdateCollegeContactDeptHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateCollegeContactDeptResponse
func (client *Client) UpdateCollegeContactDeptWithOptions(request *UpdateCollegeContactDeptRequest, headers *UpdateCollegeContactDeptHeaders, runtime *util.RuntimeOptions) (_result *UpdateCollegeContactDeptResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AutoAddUser)) {
		body["autoAddUser"] = request.AutoAddUser
	}

	if !tea.BoolValue(util.IsUnset(request.AutoApproveApply)) {
		body["autoApproveApply"] = request.AutoApproveApply
	}

	if !tea.BoolValue(util.IsUnset(request.Brief)) {
		body["brief"] = request.Brief
	}

	if !tea.BoolValue(util.IsUnset(request.Code)) {
		body["code"] = request.Code
	}

	if !tea.BoolValue(util.IsUnset(request.CreateDeptGroup)) {
		body["createDeptGroup"] = request.CreateDeptGroup
	}

	if !tea.BoolValue(util.IsUnset(request.DeptCode)) {
		body["deptCode"] = request.DeptCode
	}

	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		body["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.DeptManagerUseridList)) {
		body["deptManagerUseridList"] = request.DeptManagerUseridList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptPermits)) {
		body["deptPermits"] = request.DeptPermits
	}

	if !tea.BoolValue(util.IsUnset(request.DeptType)) {
		body["deptType"] = request.DeptType
	}

	if !tea.BoolValue(util.IsUnset(request.EmpApplyJoinDept)) {
		body["empApplyJoinDept"] = request.EmpApplyJoinDept
	}

	if !tea.BoolValue(util.IsUnset(request.Extension)) {
		body["extension"] = request.Extension
	}

	if !tea.BoolValue(util.IsUnset(request.ForceUpdateFields)) {
		body["forceUpdateFields"] = request.ForceUpdateFields
	}

	if !tea.BoolValue(util.IsUnset(request.GroupContainHiddenDept)) {
		body["groupContainHiddenDept"] = request.GroupContainHiddenDept
	}

	if !tea.BoolValue(util.IsUnset(request.GroupContainOuterDept)) {
		body["groupContainOuterDept"] = request.GroupContainOuterDept
	}

	if !tea.BoolValue(util.IsUnset(request.GroupContainSubDept)) {
		body["groupContainSubDept"] = request.GroupContainSubDept
	}

	if !tea.BoolValue(util.IsUnset(request.HideDept)) {
		body["hideDept"] = request.HideDept
	}

	if !tea.BoolValue(util.IsUnset(request.HideSceneConfig)) {
		body["hideSceneConfig"] = request.HideSceneConfig
	}

	if !tea.BoolValue(util.IsUnset(request.Language)) {
		body["language"] = request.Language
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Order)) {
		body["order"] = request.Order
	}

	if !tea.BoolValue(util.IsUnset(request.OrgDeptOwner)) {
		body["orgDeptOwner"] = request.OrgDeptOwner
	}

	if !tea.BoolValue(util.IsUnset(request.OuterDept)) {
		body["outerDept"] = request.OuterDept
	}

	if !tea.BoolValue(util.IsUnset(request.OuterDeptOnlySelf)) {
		body["outerDeptOnlySelf"] = request.OuterDeptOnlySelf
	}

	if !tea.BoolValue(util.IsUnset(request.OuterPermitDepts)) {
		body["outerPermitDepts"] = request.OuterPermitDepts
	}

	if !tea.BoolValue(util.IsUnset(request.OuterPermitUsers)) {
		body["outerPermitUsers"] = request.OuterPermitUsers
	}

	if !tea.BoolValue(util.IsUnset(request.OuterSceneConfig)) {
		body["outerSceneConfig"] = request.OuterSceneConfig
	}

	if !tea.BoolValue(util.IsUnset(request.ParentId)) {
		body["parentId"] = request.ParentId
	}

	if !tea.BoolValue(util.IsUnset(request.SourceIdentifier)) {
		body["sourceIdentifier"] = request.SourceIdentifier
	}

	if !tea.BoolValue(util.IsUnset(request.Telephone)) {
		body["telephone"] = request.Telephone
	}

	if !tea.BoolValue(util.IsUnset(request.UserPermits)) {
		body["userPermits"] = request.UserPermits
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateCollegeContactDept"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateCollegeContactDeptResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新高校通讯录组织单元
//
// @param request - UpdateCollegeContactDeptRequest
//
// @return UpdateCollegeContactDeptResponse
func (client *Client) UpdateCollegeContactDept(request *UpdateCollegeContactDeptRequest) (_result *UpdateCollegeContactDeptResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateCollegeContactDeptHeaders{}
	_result = &UpdateCollegeContactDeptResponse{}
	_body, _err := client.UpdateCollegeContactDeptWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新高校账号用户
//
// @param request - UpdateCollegeContactExclusiveRequest
//
// @param headers - UpdateCollegeContactExclusiveHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateCollegeContactExclusiveResponse
func (client *Client) UpdateCollegeContactExclusiveWithOptions(request *UpdateCollegeContactExclusiveRequest, headers *UpdateCollegeContactExclusiveHeaders, runtime *util.RuntimeOptions) (_result *UpdateCollegeContactExclusiveResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AvatarMediaId)) {
		body["avatarMediaId"] = request.AvatarMediaId
	}

	if !tea.BoolValue(util.IsUnset(request.DeptIdList)) {
		body["deptIdList"] = request.DeptIdList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptOrderList)) {
		body["deptOrderList"] = request.DeptOrderList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptPositionSet)) {
		body["deptPositionSet"] = request.DeptPositionSet
	}

	if !tea.BoolValue(util.IsUnset(request.DeptTitleList)) {
		body["deptTitleList"] = request.DeptTitleList
	}

	if !tea.BoolValue(util.IsUnset(request.Email)) {
		body["email"] = request.Email
	}

	if !tea.BoolValue(util.IsUnset(request.EmpType)) {
		body["empType"] = request.EmpType
	}

	if !tea.BoolValue(util.IsUnset(request.Extension)) {
		body["extension"] = request.Extension
	}

	if !tea.BoolValue(util.IsUnset(request.ForceUpdateFields)) {
		body["forceUpdateFields"] = request.ForceUpdateFields
	}

	if !tea.BoolValue(util.IsUnset(request.HideMobile)) {
		body["hideMobile"] = request.HideMobile
	}

	if !tea.BoolValue(util.IsUnset(request.HiredDate)) {
		body["hiredDate"] = request.HiredDate
	}

	if !tea.BoolValue(util.IsUnset(request.JobNumber)) {
		body["jobNumber"] = request.JobNumber
	}

	if !tea.BoolValue(util.IsUnset(request.Language)) {
		body["language"] = request.Language
	}

	if !tea.BoolValue(util.IsUnset(request.LoginIdType)) {
		body["loginIdType"] = request.LoginIdType
	}

	if !tea.BoolValue(util.IsUnset(request.MainDeptId)) {
		body["mainDeptId"] = request.MainDeptId
	}

	if !tea.BoolValue(util.IsUnset(request.ManagerUserid)) {
		body["managerUserid"] = request.ManagerUserid
	}

	if !tea.BoolValue(util.IsUnset(request.Mobile)) {
		body["mobile"] = request.Mobile
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Nickname)) {
		body["nickname"] = request.Nickname
	}

	if !tea.BoolValue(util.IsUnset(request.OrgEmail)) {
		body["orgEmail"] = request.OrgEmail
	}

	if !tea.BoolValue(util.IsUnset(request.OrgEmailType)) {
		body["orgEmailType"] = request.OrgEmailType
	}

	if !tea.BoolValue(util.IsUnset(request.Remark)) {
		body["remark"] = request.Remark
	}

	if !tea.BoolValue(util.IsUnset(request.SeniorMode)) {
		body["seniorMode"] = request.SeniorMode
	}

	if !tea.BoolValue(util.IsUnset(request.Telephone)) {
		body["telephone"] = request.Telephone
	}

	if !tea.BoolValue(util.IsUnset(request.Title)) {
		body["title"] = request.Title
	}

	if !tea.BoolValue(util.IsUnset(request.Userid)) {
		body["userid"] = request.Userid
	}

	if !tea.BoolValue(util.IsUnset(request.WorkPlace)) {
		body["workPlace"] = request.WorkPlace
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateCollegeContactExclusive"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/exclusiveAccounts/users"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateCollegeContactExclusiveResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新高校账号用户
//
// @param request - UpdateCollegeContactExclusiveRequest
//
// @return UpdateCollegeContactExclusiveResponse
func (client *Client) UpdateCollegeContactExclusive(request *UpdateCollegeContactExclusiveRequest) (_result *UpdateCollegeContactExclusiveResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateCollegeContactExclusiveHeaders{}
	_result = &UpdateCollegeContactExclusiveResponse{}
	_body, _err := client.UpdateCollegeContactExclusiveWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新高校通讯录场景架构
//
// @param request - UpdateCollegeContactSceneStruRequest
//
// @param headers - UpdateCollegeContactSceneStruHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateCollegeContactSceneStruResponse
func (client *Client) UpdateCollegeContactSceneStruWithOptions(request *UpdateCollegeContactSceneStruRequest, headers *UpdateCollegeContactSceneStruHeaders, runtime *util.RuntimeOptions) (_result *UpdateCollegeContactSceneStruResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Order)) {
		body["order"] = request.Order
	}

	if !tea.BoolValue(util.IsUnset(request.SourceIdentifier)) {
		body["sourceIdentifier"] = request.SourceIdentifier
	}

	if !tea.BoolValue(util.IsUnset(request.StruBrief)) {
		body["struBrief"] = request.StruBrief
	}

	if !tea.BoolValue(util.IsUnset(request.StruId)) {
		body["struId"] = request.StruId
	}

	if !tea.BoolValue(util.IsUnset(request.StruName)) {
		body["struName"] = request.StruName
	}

	if !tea.BoolValue(util.IsUnset(request.StruType)) {
		body["struType"] = request.StruType
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateCollegeContactSceneStru"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/depts/structures/scenes"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateCollegeContactSceneStruResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新高校通讯录场景架构
//
// @param request - UpdateCollegeContactSceneStruRequest
//
// @return UpdateCollegeContactSceneStruResponse
func (client *Client) UpdateCollegeContactSceneStru(request *UpdateCollegeContactSceneStruRequest) (_result *UpdateCollegeContactSceneStruResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateCollegeContactSceneStruHeaders{}
	_result = &UpdateCollegeContactSceneStruResponse{}
	_body, _err := client.UpdateCollegeContactSceneStruWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新个人账号用户
//
// @param request - UpdateCollegeContactUserRequest
//
// @param headers - UpdateCollegeContactUserHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateCollegeContactUserResponse
func (client *Client) UpdateCollegeContactUserWithOptions(request *UpdateCollegeContactUserRequest, headers *UpdateCollegeContactUserHeaders, runtime *util.RuntimeOptions) (_result *UpdateCollegeContactUserResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.DeptIdList)) {
		body["deptIdList"] = request.DeptIdList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptOrderList)) {
		body["deptOrderList"] = request.DeptOrderList
	}

	if !tea.BoolValue(util.IsUnset(request.DeptPositionSet)) {
		body["deptPositionSet"] = request.DeptPositionSet
	}

	if !tea.BoolValue(util.IsUnset(request.DeptTitleList)) {
		body["deptTitleList"] = request.DeptTitleList
	}

	if !tea.BoolValue(util.IsUnset(request.Email)) {
		body["email"] = request.Email
	}

	if !tea.BoolValue(util.IsUnset(request.EmpType)) {
		body["empType"] = request.EmpType
	}

	if !tea.BoolValue(util.IsUnset(request.Extension)) {
		body["extension"] = request.Extension
	}

	if !tea.BoolValue(util.IsUnset(request.ForceUpdateFields)) {
		body["forceUpdateFields"] = request.ForceUpdateFields
	}

	if !tea.BoolValue(util.IsUnset(request.HideMobile)) {
		body["hideMobile"] = request.HideMobile
	}

	if !tea.BoolValue(util.IsUnset(request.HiredDate)) {
		body["hiredDate"] = request.HiredDate
	}

	if !tea.BoolValue(util.IsUnset(request.JobNumber)) {
		body["jobNumber"] = request.JobNumber
	}

	if !tea.BoolValue(util.IsUnset(request.Language)) {
		body["language"] = request.Language
	}

	if !tea.BoolValue(util.IsUnset(request.MainDeptId)) {
		body["mainDeptId"] = request.MainDeptId
	}

	if !tea.BoolValue(util.IsUnset(request.ManagerUserid)) {
		body["managerUserid"] = request.ManagerUserid
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.OrgEmail)) {
		body["orgEmail"] = request.OrgEmail
	}

	if !tea.BoolValue(util.IsUnset(request.Remark)) {
		body["remark"] = request.Remark
	}

	if !tea.BoolValue(util.IsUnset(request.SeniorMode)) {
		body["seniorMode"] = request.SeniorMode
	}

	if !tea.BoolValue(util.IsUnset(request.Telephone)) {
		body["telephone"] = request.Telephone
	}

	if !tea.BoolValue(util.IsUnset(request.Title)) {
		body["title"] = request.Title
	}

	if !tea.BoolValue(util.IsUnset(request.Userid)) {
		body["userid"] = request.Userid
	}

	if !tea.BoolValue(util.IsUnset(request.WorkPlace)) {
		body["workPlace"] = request.WorkPlace
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateCollegeContactUser"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/personalAccounts/users"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateCollegeContactUserResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新个人账号用户
//
// @param request - UpdateCollegeContactUserRequest
//
// @return UpdateCollegeContactUserResponse
func (client *Client) UpdateCollegeContactUser(request *UpdateCollegeContactUserRequest) (_result *UpdateCollegeContactUserResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateCollegeContactUserHeaders{}
	_result = &UpdateCollegeContactUserResponse{}
	_body, _err := client.UpdateCollegeContactUserWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 修改用户成员类型
//
// @param request - UpdateCollegeUserEmpTypeRequest
//
// @param headers - UpdateCollegeUserEmpTypeHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateCollegeUserEmpTypeResponse
func (client *Client) UpdateCollegeUserEmpTypeWithOptions(request *UpdateCollegeUserEmpTypeRequest, headers *UpdateCollegeUserEmpTypeHeaders, runtime *util.RuntimeOptions) (_result *UpdateCollegeUserEmpTypeResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.EmpType)) {
		body["empType"] = request.EmpType
	}

	if !tea.BoolValue(util.IsUnset(request.Userid)) {
		body["userid"] = request.Userid
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateCollegeUserEmpType"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/collegeContact/empTypes/change"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateCollegeUserEmpTypeResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 修改用户成员类型
//
// @param request - UpdateCollegeUserEmpTypeRequest
//
// @return UpdateCollegeUserEmpTypeResponse
func (client *Client) UpdateCollegeUserEmpType(request *UpdateCollegeUserEmpTypeRequest) (_result *UpdateCollegeUserEmpTypeResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateCollegeUserEmpTypeHeaders{}
	_result = &UpdateCollegeUserEmpTypeResponse{}
	_body, _err := client.UpdateCollegeUserEmpTypeWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新班级课程表（调代课等微调场景）
//
// @param request - UpdateCoursesOfClassRequest
//
// @param headers - UpdateCoursesOfClassHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateCoursesOfClassResponse
func (client *Client) UpdateCoursesOfClassWithOptions(classId *string, request *UpdateCoursesOfClassRequest, headers *UpdateCoursesOfClassHeaders, runtime *util.RuntimeOptions) (_result *UpdateCoursesOfClassResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.Courses)) {
		body["courses"] = request.Courses
	}

	if !tea.BoolValue(util.IsUnset(request.SectionConfig)) {
		body["sectionConfig"] = request.SectionConfig
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateCoursesOfClass"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/classes/" + tea.StringValue(classId) + "/courses/schedules"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateCoursesOfClassResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新班级课程表（调代课等微调场景）
//
// @param request - UpdateCoursesOfClassRequest
//
// @return UpdateCoursesOfClassResponse
func (client *Client) UpdateCoursesOfClass(classId *string, request *UpdateCoursesOfClassRequest) (_result *UpdateCoursesOfClassResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateCoursesOfClassHeaders{}
	_result = &UpdateCoursesOfClassResponse{}
	_body, _err := client.UpdateCoursesOfClassWithOptions(classId, request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新评价表现未读数量
//
// @param request - UpdateEvaluatePerformanceCountRequest
//
// @param headers - UpdateEvaluatePerformanceCountHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateEvaluatePerformanceCountResponse
func (client *Client) UpdateEvaluatePerformanceCountWithOptions(request *UpdateEvaluatePerformanceCountRequest, headers *UpdateEvaluatePerformanceCountHeaders, runtime *util.RuntimeOptions) (_result *UpdateEvaluatePerformanceCountResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.TeacherId)) {
		body["teacherId"] = request.TeacherId
	}

	if !tea.BoolValue(util.IsUnset(request.UnreadData)) {
		body["unreadData"] = request.UnreadData
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateEvaluatePerformanceCount"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/evaluations/unreadCounts"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateEvaluatePerformanceCountResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新评价表现未读数量
//
// @param request - UpdateEvaluatePerformanceCountRequest
//
// @return UpdateEvaluatePerformanceCountResponse
func (client *Client) UpdateEvaluatePerformanceCount(request *UpdateEvaluatePerformanceCountRequest) (_result *UpdateEvaluatePerformanceCountResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateEvaluatePerformanceCountHeaders{}
	_result = &UpdateEvaluatePerformanceCountResponse{}
	_body, _err := client.UpdateEvaluatePerformanceCountWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新家长信息
//
// @param request - UpdateGuardianRequest
//
// @param headers - UpdateGuardianHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateGuardianResponse
func (client *Client) UpdateGuardianWithOptions(request *UpdateGuardianRequest, headers *UpdateGuardianHeaders, runtime *util.RuntimeOptions) (_result *UpdateGuardianResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.Relation)) {
		body["relation"] = request.Relation
	}

	if !tea.BoolValue(util.IsUnset(request.StuId)) {
		body["stuId"] = request.StuId
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateGuardian"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/guardians/infos"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateGuardianResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新家长信息
//
// @param request - UpdateGuardianRequest
//
// @return UpdateGuardianResponse
func (client *Client) UpdateGuardian(request *UpdateGuardianRequest) (_result *UpdateGuardianResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateGuardianHeaders{}
	_result = &UpdateGuardianResponse{}
	_body, _err := client.UpdateGuardianWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 添加物理教室信息
//
// @param request - UpdatePhysicalClassroomRequest
//
// @param headers - UpdatePhysicalClassroomHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdatePhysicalClassroomResponse
func (client *Client) UpdatePhysicalClassroomWithOptions(request *UpdatePhysicalClassroomRequest, headers *UpdatePhysicalClassroomHeaders, runtime *util.RuntimeOptions) (_result *UpdatePhysicalClassroomResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassroomBuilding)) {
		body["classroomBuilding"] = request.ClassroomBuilding
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomCampus)) {
		body["classroomCampus"] = request.ClassroomCampus
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomFloor)) {
		body["classroomFloor"] = request.ClassroomFloor
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomId)) {
		body["classroomId"] = request.ClassroomId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomName)) {
		body["classroomName"] = request.ClassroomName
	}

	if !tea.BoolValue(util.IsUnset(request.ClassroomNumber)) {
		body["classroomNumber"] = request.ClassroomNumber
	}

	if !tea.BoolValue(util.IsUnset(request.DirectBroadcast)) {
		body["directBroadcast"] = request.DirectBroadcast
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdatePhysicalClassroom"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/physicalClassrooms"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdatePhysicalClassroomResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 添加物理教室信息
//
// @param request - UpdatePhysicalClassroomRequest
//
// @return UpdatePhysicalClassroomResponse
func (client *Client) UpdatePhysicalClassroom(request *UpdatePhysicalClassroomRequest) (_result *UpdatePhysicalClassroomResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdatePhysicalClassroomHeaders{}
	_result = &UpdatePhysicalClassroomResponse{}
	_body, _err := client.UpdatePhysicalClassroomWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新专递课堂课程
//
// @param request - UpdateRemoteClassCourseRequest
//
// @param headers - UpdateRemoteClassCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateRemoteClassCourseResponse
func (client *Client) UpdateRemoteClassCourseWithOptions(request *UpdateRemoteClassCourseRequest, headers *UpdateRemoteClassCourseHeaders, runtime *util.RuntimeOptions) (_result *UpdateRemoteClassCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AttendParticipants)) {
		body["attendParticipants"] = request.AttendParticipants
	}

	if !tea.BoolValue(util.IsUnset(request.AuthCode)) {
		body["authCode"] = request.AuthCode
	}

	if !tea.BoolValue(util.IsUnset(request.CourseCode)) {
		body["courseCode"] = request.CourseCode
	}

	if !tea.BoolValue(util.IsUnset(request.CourseName)) {
		body["courseName"] = request.CourseName
	}

	if !tea.BoolValue(util.IsUnset(request.EndTime)) {
		body["endTime"] = request.EndTime
	}

	if !tea.BoolValue(util.IsUnset(request.StartTime)) {
		body["startTime"] = request.StartTime
	}

	if !tea.BoolValue(util.IsUnset(request.TeachingParticipant)) {
		body["teachingParticipant"] = request.TeachingParticipant
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateRemoteClassCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/courses"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateRemoteClassCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新专递课堂课程
//
// @param request - UpdateRemoteClassCourseRequest
//
// @return UpdateRemoteClassCourseResponse
func (client *Client) UpdateRemoteClassCourse(request *UpdateRemoteClassCourseRequest) (_result *UpdateRemoteClassCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateRemoteClassCourseHeaders{}
	_result = &UpdateRemoteClassCourseResponse{}
	_body, _err := client.UpdateRemoteClassCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新设备名称
//
// @param request - UpdateRemoteClassDeviceRequest
//
// @param headers - UpdateRemoteClassDeviceHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateRemoteClassDeviceResponse
func (client *Client) UpdateRemoteClassDeviceWithOptions(request *UpdateRemoteClassDeviceRequest, headers *UpdateRemoteClassDeviceHeaders, runtime *util.RuntimeOptions) (_result *UpdateRemoteClassDeviceResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AuthCode)) {
		query["authCode"] = request.AuthCode
	}

	if !tea.BoolValue(util.IsUnset(request.DeviceCode)) {
		query["deviceCode"] = request.DeviceCode
	}

	if !tea.BoolValue(util.IsUnset(request.DeviceName)) {
		query["deviceName"] = request.DeviceName
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateRemoteClassDevice"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/remoteClasses/deviceNames"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateRemoteClassDeviceResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新设备名称
//
// @param request - UpdateRemoteClassDeviceRequest
//
// @return UpdateRemoteClassDeviceResponse
func (client *Client) UpdateRemoteClassDevice(request *UpdateRemoteClassDeviceRequest) (_result *UpdateRemoteClassDeviceResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateRemoteClassDeviceHeaders{}
	_result = &UpdateRemoteClassDeviceResponse{}
	_body, _err := client.UpdateRemoteClassDeviceWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 修改学生信息
//
// @param request - UpdateStudentRequest
//
// @param headers - UpdateStudentHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateStudentResponse
func (client *Client) UpdateStudentWithOptions(request *UpdateStudentRequest, headers *UpdateStudentHeaders, runtime *util.RuntimeOptions) (_result *UpdateStudentResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.Name)) {
		body["name"] = request.Name
	}

	if !tea.BoolValue(util.IsUnset(request.Operator)) {
		body["operator"] = request.Operator
	}

	if !tea.BoolValue(util.IsUnset(request.StudentNo)) {
		body["studentNo"] = request.StudentNo
	}

	if !tea.BoolValue(util.IsUnset(request.UserId)) {
		body["userId"] = request.UserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateStudent"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/students/infos"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateStudentResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 修改学生信息
//
// @param request - UpdateStudentRequest
//
// @return UpdateStudentResponse
func (client *Client) UpdateStudent(request *UpdateStudentRequest) (_result *UpdateStudentResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateStudentHeaders{}
	_result = &UpdateStudentResponse{}
	_body, _err := client.UpdateStudentWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 更新大学课程组
//
// @param request - UpdateUniversityCourseGroupRequest
//
// @param headers - UpdateUniversityCourseGroupHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UpdateUniversityCourseGroupResponse
func (client *Client) UpdateUniversityCourseGroupWithOptions(request *UpdateUniversityCourseGroupRequest, headers *UpdateUniversityCourseGroupHeaders, runtime *util.RuntimeOptions) (_result *UpdateUniversityCourseGroupResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.OpUserId)) {
		query["opUserId"] = request.OpUserId
	}

	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.CourseGroupCode)) {
		body["courseGroupCode"] = request.CourseGroupCode
	}

	if !tea.BoolValue(util.IsUnset(request.CourseGroupIntroduce)) {
		body["courseGroupIntroduce"] = request.CourseGroupIntroduce
	}

	if !tea.BoolValue(util.IsUnset(request.CourseGroupName)) {
		body["courseGroupName"] = request.CourseGroupName
	}

	if !tea.BoolValue(util.IsUnset(request.CourserGroupItemModels)) {
		body["courserGroupItemModels"] = request.CourserGroupItemModels
	}

	if !tea.BoolValue(util.IsUnset(request.Ext)) {
		body["ext"] = request.Ext
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Query:   openapiutil.Query(query),
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UpdateUniversityCourseGroup"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/universities/courseGroups"),
		Method:      tea.String("PUT"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("json"),
		BodyType:    tea.String("json"),
	}
	_result = &UpdateUniversityCourseGroupResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 更新大学课程组
//
// @param request - UpdateUniversityCourseGroupRequest
//
// @return UpdateUniversityCourseGroupResponse
func (client *Client) UpdateUniversityCourseGroup(request *UpdateUniversityCourseGroupRequest) (_result *UpdateUniversityCourseGroupResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UpdateUniversityCourseGroupHeaders{}
	_result = &UpdateUniversityCourseGroupResponse{}
	_body, _err := client.UpdateUniversityCourseGroupWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 上传学情图片回调
//
// @param request - UploadLearningDataCallbackRequest
//
// @param headers - UploadLearningDataCallbackHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return UploadLearningDataCallbackResponse
func (client *Client) UploadLearningDataCallbackWithOptions(request *UploadLearningDataCallbackRequest, headers *UploadLearningDataCallbackHeaders, runtime *util.RuntimeOptions) (_result *UploadLearningDataCallbackResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizId)) {
		body["bizId"] = request.BizId
	}

	if !tea.BoolValue(util.IsUnset(request.BizType)) {
		body["bizType"] = request.BizType
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.DeptId)) {
		body["deptId"] = request.DeptId
	}

	if !tea.BoolValue(util.IsUnset(request.GeneratedTime)) {
		body["generatedTime"] = request.GeneratedTime
	}

	if !tea.BoolValue(util.IsUnset(request.StudentUserId)) {
		body["studentUserId"] = request.StudentUserId
	}

	if !tea.BoolValue(util.IsUnset(request.SubjectCode)) {
		body["subjectCode"] = request.SubjectCode
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("UploadLearningDataCallback"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/uploadLearnings/datas/callback"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &UploadLearningDataCallbackResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 上传学情图片回调
//
// @param request - UploadLearningDataCallbackRequest
//
// @return UploadLearningDataCallbackResponse
func (client *Client) UploadLearningDataCallback(request *UploadLearningDataCallbackRequest) (_result *UploadLearningDataCallbackResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &UploadLearningDataCallbackHeaders{}
	_result = &UploadLearningDataCallbackResponse{}
	_body, _err := client.UploadLearningDataCallbackWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 视讯PAAS接口代理
//
// @param request - VPaasProxyRequest
//
// @param headers - VPaasProxyHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return VPaasProxyResponse
func (client *Client) VPaasProxyWithOptions(request *VPaasProxyRequest, headers *VPaasProxyHeaders, runtime *util.RuntimeOptions) (_result *VPaasProxyResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ActionCode)) {
		body["actionCode"] = request.ActionCode
	}

	if !tea.BoolValue(util.IsUnset(request.Params)) {
		body["params"] = request.Params
	}

	if !tea.BoolValue(util.IsUnset(request.PublicKey)) {
		body["publicKey"] = request.PublicKey
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("VPaasProxy"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/vpaas/proxy"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &VPaasProxyResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 视讯PAAS接口代理
//
// @param request - VPaasProxyRequest
//
// @return VPaasProxyResponse
func (client *Client) VPaasProxy(request *VPaasProxyRequest) (_result *VPaasProxyResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &VPaasProxyHeaders{}
	_result = &VPaasProxyResponse{}
	_body, _err := client.VPaasProxyWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 校验开学季任务是否完成
//
// @param request - ValidateNewGradeManagerRequest
//
// @param headers - ValidateNewGradeManagerHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ValidateNewGradeManagerResponse
func (client *Client) ValidateNewGradeManagerWithOptions(request *ValidateNewGradeManagerRequest, headers *ValidateNewGradeManagerHeaders, runtime *util.RuntimeOptions) (_result *ValidateNewGradeManagerResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.UnionId)) {
		body["unionId"] = request.UnionId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("ValidateNewGradeManager"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/newGrades/tasks/validate"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ValidateNewGradeManagerResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 校验开学季任务是否完成
//
// @param request - ValidateNewGradeManagerRequest
//
// @return ValidateNewGradeManagerResponse
func (client *Client) ValidateNewGradeManager(request *ValidateNewGradeManagerRequest) (_result *ValidateNewGradeManagerResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ValidateNewGradeManagerHeaders{}
	_result = &ValidateNewGradeManagerResponse{}
	_body, _err := client.ValidateNewGradeManagerWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 校验用户的教育角色
//
// @param request - ValidateUserRoleRequest
//
// @param headers - ValidateUserRoleHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return ValidateUserRoleResponse
func (client *Client) ValidateUserRoleWithOptions(request *ValidateUserRoleRequest, headers *ValidateUserRoleHeaders, runtime *util.RuntimeOptions) (_result *ValidateUserRoleResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.TimeThreshold)) {
		body["timeThreshold"] = request.TimeThreshold
	}

	if !tea.BoolValue(util.IsUnset(request.UnionId)) {
		body["unionId"] = request.UnionId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("ValidateUserRole"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/users/roles/validate"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &ValidateUserRoleResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 校验用户的教育角色
//
// @param request - ValidateUserRoleRequest
//
// @return ValidateUserRoleResponse
func (client *Client) ValidateUserRole(request *ValidateUserRoleRequest) (_result *ValidateUserRoleResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &ValidateUserRoleHeaders{}
	_result = &ValidateUserRoleResponse{}
	_body, _err := client.ValidateUserRoleWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 校验教育组织
//
// @param request - VerifyEduOrgCertificationRequest
//
// @param headers - VerifyEduOrgCertificationHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return VerifyEduOrgCertificationResponse
func (client *Client) VerifyEduOrgCertificationWithOptions(request *VerifyEduOrgCertificationRequest, headers *VerifyEduOrgCertificationHeaders, runtime *util.RuntimeOptions) (_result *VerifyEduOrgCertificationResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.TargetCorpId)) {
		body["targetCorpId"] = request.TargetCorpId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("VerifyEduOrgCertification"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/orgs/certifications/verify"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &VerifyEduOrgCertificationResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 校验教育组织
//
// @param request - VerifyEduOrgCertificationRequest
//
// @return VerifyEduOrgCertificationResponse
func (client *Client) VerifyEduOrgCertification(request *VerifyEduOrgCertificationRequest) (_result *VerifyEduOrgCertificationResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &VerifyEduOrgCertificationHeaders{}
	_result = &VerifyEduOrgCertificationResponse{}
	_body, _err := client.VerifyEduOrgCertificationWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 校验教育用户特殊身份权限
//
// @param request - VerifyEduUserCertificationRequest
//
// @param headers - VerifyEduUserCertificationHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return VerifyEduUserCertificationResponse
func (client *Client) VerifyEduUserCertificationWithOptions(request *VerifyEduUserCertificationRequest, headers *VerifyEduUserCertificationHeaders, runtime *util.RuntimeOptions) (_result *VerifyEduUserCertificationResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.BizCode)) {
		body["bizCode"] = request.BizCode
	}

	if !tea.BoolValue(util.IsUnset(request.TargetCorpId)) {
		body["targetCorpId"] = request.TargetCorpId
	}

	if !tea.BoolValue(util.IsUnset(request.TargetUserId)) {
		body["targetUserId"] = request.TargetUserId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("VerifyEduUserCertification"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/users/certifications/verify"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &VerifyEduUserCertificationResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 校验教育用户特殊身份权限
//
// @param request - VerifyEduUserCertificationRequest
//
// @return VerifyEduUserCertificationResponse
func (client *Client) VerifyEduUserCertification(request *VerifyEduUserCertificationRequest) (_result *VerifyEduUserCertificationResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &VerifyEduUserCertificationHeaders{}
	_result = &VerifyEduUserCertificationResponse{}
	_body, _err := client.VerifyEduUserCertificationWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}

// Summary:
//
// 查询班级课程
//
// @param request - QueryClassCourseRequest
//
// @param headers - QueryClassCourseHeaders
//
// @param runtime - runtime options for this request RuntimeOptions
//
// @return QueryClassCourseResponse
func (client *Client) QueryClassCourseWithOptions(request *QueryClassCourseRequest, headers *QueryClassCourseHeaders, runtime *util.RuntimeOptions) (_result *QueryClassCourseResponse, _err error) {
	_err = util.ValidateModel(request)
	if _err != nil {
		return _result, _err
	}
	body := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.ClassId)) {
		body["classId"] = request.ClassId
	}

	if !tea.BoolValue(util.IsUnset(request.CorpId)) {
		body["corpId"] = request.CorpId
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCode)) {
		body["isvCode"] = request.IsvCode
	}

	if !tea.BoolValue(util.IsUnset(request.IsvCourseId)) {
		body["isvCourseId"] = request.IsvCourseId
	}

	realHeaders := make(map[string]*string)
	if !tea.BoolValue(util.IsUnset(headers.CommonHeaders)) {
		realHeaders = headers.CommonHeaders
	}

	if !tea.BoolValue(util.IsUnset(headers.XAcsDingtalkAccessToken)) {
		realHeaders["x-acs-dingtalk-access-token"] = util.ToJSONString(headers.XAcsDingtalkAccessToken)
	}

	req := &openapi.OpenApiRequest{
		Headers: realHeaders,
		Body:    openapiutil.ParseToMap(body),
	}
	params := &openapi.Params{
		Action:      tea.String("queryClassCourse"),
		Version:     tea.String("edu_1.0"),
		Protocol:    tea.String("HTTP"),
		Pathname:    tea.String("/v1.0/edu/kits/classes/courses/query"),
		Method:      tea.String("POST"),
		AuthType:    tea.String("AK"),
		Style:       tea.String("ROA"),
		ReqBodyType: tea.String("none"),
		BodyType:    tea.String("json"),
	}
	_result = &QueryClassCourseResponse{}
	_body, _err := client.Execute(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}

// Summary:
//
// 查询班级课程
//
// @param request - QueryClassCourseRequest
//
// @return QueryClassCourseResponse
func (client *Client) QueryClassCourse(request *QueryClassCourseRequest) (_result *QueryClassCourseResponse, _err error) {
	runtime := &util.RuntimeOptions{}
	headers := &QueryClassCourseHeaders{}
	_result = &QueryClassCourseResponse{}
	_body, _err := client.QueryClassCourseWithOptions(request, headers, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}
