gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/vc/v1/model.go (about) 1 // Package vc code generated by oapi sdk gen 2 /* 3 * MIT License 4 * 5 * Copyright (c) 2022 Lark Technologies Pte. Ltd. 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 * 9 * The above copyright notice and this permission notice, shall be included in all copies or substantial portions of the Software. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 */ 13 14 package larkvc 15 16 import ( 17 "fmt" 18 19 "context" 20 "errors" 21 22 "gitee.com/larksuite/oapi-sdk-go/v3/event" 23 24 "gitee.com/larksuite/oapi-sdk-go/v3/core" 25 ) 26 27 const ( 28 UserIdTypeUserId = "user_id" // 以user_id来识别用户 29 UserIdTypeUnionId = "union_id" // 以union_id来识别用户 30 UserIdTypeOpenId = "open_id" // 以open_id来识别用户(推荐) 31 ) 32 33 const ( 34 UserIdTypeParticipantListExportUserId = "user_id" // 以user_id来识别用户 35 UserIdTypeParticipantListExportUnionId = "union_id" // 以union_id来识别用户 36 UserIdTypeParticipantListExportOpenId = "open_id" // 以open_id来识别用户(推荐) 37 ) 38 39 const ( 40 UserIdTypeParticipantQualityListExportUserId = "user_id" // 以user_id来识别用户 41 UserIdTypeParticipantQualityListExportUnionId = "union_id" // 以union_id来识别用户 42 UserIdTypeParticipantQualityListExportOpenId = "open_id" // 以open_id来识别用户(推荐) 43 ) 44 45 const ( 46 UserIdTypeGetMeetingUserId = "user_id" // 以user_id来识别用户 47 UserIdTypeGetMeetingUnionId = "union_id" // 以union_id来识别用户 48 UserIdTypeGetMeetingOpenId = "open_id" // 以open_id来识别用户(推荐) 49 ) 50 51 const ( 52 UserIdTypeInviteMeetingUserId = "user_id" // 以user_id来识别用户 53 UserIdTypeInviteMeetingUnionId = "union_id" // 以union_id来识别用户 54 UserIdTypeInviteMeetingOpenId = "open_id" // 以open_id来识别用户(推荐) 55 ) 56 57 const ( 58 UserIdTypeKickoutMeetingUserId = "user_id" // 以user_id来识别用户 59 UserIdTypeKickoutMeetingUnionId = "union_id" // 以union_id来识别用户 60 UserIdTypeKickoutMeetingOpenId = "open_id" // 以open_id来识别用户(推荐) 61 ) 62 63 const ( 64 UserIdTypeSetHostMeetingUserId = "user_id" // 以user_id来识别用户 65 UserIdTypeSetHostMeetingUnionId = "union_id" // 以union_id来识别用户 66 UserIdTypeSetHostMeetingOpenId = "open_id" // 以open_id来识别用户(推荐) 67 ) 68 69 const ( 70 UserIdTypeSetPermissionMeetingRecordingUserId = "user_id" // 以user_id来识别用户 71 UserIdTypeSetPermissionMeetingRecordingUnionId = "union_id" // 以union_id来识别用户 72 UserIdTypeSetPermissionMeetingRecordingOpenId = "open_id" // 以open_id来识别用户(推荐) 73 ) 74 75 const ( 76 TopUserOrderByMeetingCount = 1 // 会议数量 77 TopUserOrderByMeetingDuration = 2 // 会议时长 78 79 ) 80 81 const ( 82 UserIdTypeGetTopUserReportUserId = "user_id" // 以user_id来识别用户 83 UserIdTypeGetTopUserReportUnionId = "union_id" // 以union_id来识别用户 84 UserIdTypeGetTopUserReportOpenId = "open_id" // 以open_id来识别用户 85 ) 86 87 const ( 88 UserIdTypeApplyReserveUserId = "user_id" // 以user_id来识别用户 89 UserIdTypeApplyReserveUnionId = "union_id" // 以union_id来识别用户 90 UserIdTypeApplyReserveOpenId = "open_id" // 以open_id来识别用户(推荐) 91 ) 92 93 const ( 94 UserIdTypeGetReserveUserId = "user_id" // 以user_id来识别用户 95 UserIdTypeGetReserveUnionId = "union_id" // 以union_id来识别用户 96 UserIdTypeGetReserveOpenId = "open_id" // 以open_id来识别用户 97 ) 98 99 const ( 100 UserIdTypeGetActiveMeetingReserveUserId = "user_id" // 以user_id来识别用户 101 UserIdTypeGetActiveMeetingReserveUnionId = "union_id" // 以union_id来识别用户 102 UserIdTypeGetActiveMeetingReserveOpenId = "open_id" // 以open_id来识别用户 103 ) 104 105 const ( 106 UserIdTypeUpdateReserveUserId = "user_id" // 以user_id来识别用户 107 UserIdTypeUpdateReserveUnionId = "union_id" // 以union_id来识别用户 108 UserIdTypeUpdateReserveOpenId = "open_id" // 以open_id来识别用户(推荐) 109 ) 110 111 const ( 112 NodeScopeTenant = 1 // 租户 113 NodeScopeCountryDistrict = 2 // 国家/地区 114 NodeScopeCity = 3 // 城市 115 NodeScopeBuilding = 4 // 建筑 116 NodeScopeFloor = 5 // 楼层 117 NodeScopeRoom = 6 // 会议室 118 119 ) 120 121 const ( 122 UserIdTypeQueryRoomConfigUserId = "user_id" // 以user_id来识别用户 123 UserIdTypeQueryRoomConfigUnionId = "union_id" // 以union_id来识别用户 124 UserIdTypeQueryRoomConfigOpenId = "open_id" // 以open_id来识别用户(推荐) 125 ) 126 127 const ( 128 NodeScopeSetRoomConfigTenant = 1 // 租户 129 NodeScopeSetRoomConfigCountryDistrict = 2 // 国家/地区 130 NodeScopeSetRoomConfigCity = 3 // 城市 131 NodeScopeSetRoomConfigBuilding = 4 // 建筑 132 NodeScopeSetRoomConfigFloor = 5 // 楼层 133 NodeScopeSetRoomConfigRoom = 6 // 会议室 134 135 ) 136 137 const ( 138 UserIdTypeSetRoomConfigUserId = "user_id" // 以user_id来识别用户 139 UserIdTypeSetRoomConfigUnionId = "union_id" // 以union_id来识别用户 140 UserIdTypeSetRoomConfigOpenId = "open_id" // 以open_id来识别用户(推荐) 141 ) 142 143 type Material struct { 144 Name *string `json:"name,omitempty"` // 素材名称 145 FileToken *string `json:"file_token,omitempty"` // 文件上传drive后的token 146 FileSize *int `json:"file_size,omitempty"` // 文件大小(KB) 147 DeviceType *int `json:"device_type,omitempty"` // 素材适用设备类型 148 MaterialType *int `json:"material_type,omitempty"` // 素材类型 149 ReviewResult *int `json:"review_result,omitempty"` // 审核结果 150 MaterialSource *int `json:"material_source,omitempty"` // 素材来源 151 } 152 153 type MaterialBuilder struct { 154 name string // 素材名称 155 nameFlag bool 156 fileToken string // 文件上传drive后的token 157 fileTokenFlag bool 158 fileSize int // 文件大小(KB) 159 fileSizeFlag bool 160 deviceType int // 素材适用设备类型 161 deviceTypeFlag bool 162 materialType int // 素材类型 163 materialTypeFlag bool 164 reviewResult int // 审核结果 165 reviewResultFlag bool 166 materialSource int // 素材来源 167 materialSourceFlag bool 168 } 169 170 func NewMaterialBuilder() *MaterialBuilder { 171 builder := &MaterialBuilder{} 172 return builder 173 } 174 175 // 素材名称 176 // 177 // 示例值:green 178 func (builder *MaterialBuilder) Name(name string) *MaterialBuilder { 179 builder.name = name 180 builder.nameFlag = true 181 return builder 182 } 183 184 // 文件上传drive后的token 185 // 186 // 示例值:u8ajdjadau8wqu 187 func (builder *MaterialBuilder) FileToken(fileToken string) *MaterialBuilder { 188 builder.fileToken = fileToken 189 builder.fileTokenFlag = true 190 return builder 191 } 192 193 // 文件大小(KB) 194 // 195 // 示例值:1024 196 func (builder *MaterialBuilder) FileSize(fileSize int) *MaterialBuilder { 197 builder.fileSize = fileSize 198 builder.fileSizeFlag = true 199 return builder 200 } 201 202 // 素材适用设备类型 203 // 204 // 示例值:2 205 func (builder *MaterialBuilder) DeviceType(deviceType int) *MaterialBuilder { 206 builder.deviceType = deviceType 207 builder.deviceTypeFlag = true 208 return builder 209 } 210 211 // 素材类型 212 // 213 // 示例值:2 214 func (builder *MaterialBuilder) MaterialType(materialType int) *MaterialBuilder { 215 builder.materialType = materialType 216 builder.materialTypeFlag = true 217 return builder 218 } 219 220 // 审核结果 221 // 222 // 示例值:2 223 func (builder *MaterialBuilder) ReviewResult(reviewResult int) *MaterialBuilder { 224 builder.reviewResult = reviewResult 225 builder.reviewResultFlag = true 226 return builder 227 } 228 229 // 素材来源 230 // 231 // 示例值:2 232 func (builder *MaterialBuilder) MaterialSource(materialSource int) *MaterialBuilder { 233 builder.materialSource = materialSource 234 builder.materialSourceFlag = true 235 return builder 236 } 237 238 func (builder *MaterialBuilder) Build() *Material { 239 req := &Material{} 240 if builder.nameFlag { 241 req.Name = &builder.name 242 243 } 244 if builder.fileTokenFlag { 245 req.FileToken = &builder.fileToken 246 247 } 248 if builder.fileSizeFlag { 249 req.FileSize = &builder.fileSize 250 251 } 252 if builder.deviceTypeFlag { 253 req.DeviceType = &builder.deviceType 254 255 } 256 if builder.materialTypeFlag { 257 req.MaterialType = &builder.materialType 258 259 } 260 if builder.reviewResultFlag { 261 req.ReviewResult = &builder.reviewResult 262 263 } 264 if builder.materialSourceFlag { 265 req.MaterialSource = &builder.materialSource 266 267 } 268 return req 269 } 270 271 type MaterialDeleteResult struct { 272 FileToken *string `json:"file_token,omitempty"` // 文件上传drive后的token 273 Result *int `json:"result,omitempty"` // 删除结果 274 } 275 276 type MaterialDeleteResultBuilder struct { 277 fileToken string // 文件上传drive后的token 278 fileTokenFlag bool 279 result int // 删除结果 280 resultFlag bool 281 } 282 283 func NewMaterialDeleteResultBuilder() *MaterialDeleteResultBuilder { 284 builder := &MaterialDeleteResultBuilder{} 285 return builder 286 } 287 288 // 文件上传drive后的token 289 // 290 // 示例值:u8ajdjadau8wqu 291 func (builder *MaterialDeleteResultBuilder) FileToken(fileToken string) *MaterialDeleteResultBuilder { 292 builder.fileToken = fileToken 293 builder.fileTokenFlag = true 294 return builder 295 } 296 297 // 删除结果 298 // 299 // 示例值:1 300 func (builder *MaterialDeleteResultBuilder) Result(result int) *MaterialDeleteResultBuilder { 301 builder.result = result 302 builder.resultFlag = true 303 return builder 304 } 305 306 func (builder *MaterialDeleteResultBuilder) Build() *MaterialDeleteResult { 307 req := &MaterialDeleteResult{} 308 if builder.fileTokenFlag { 309 req.FileToken = &builder.fileToken 310 311 } 312 if builder.resultFlag { 313 req.Result = &builder.result 314 315 } 316 return req 317 } 318 319 type MaterialReviewResult struct { 320 FileToken *string `json:"file_token,omitempty"` // 文件上传drive后的token 321 Result *int `json:"result,omitempty"` // 审核结果 322 } 323 324 type MaterialReviewResultBuilder struct { 325 fileToken string // 文件上传drive后的token 326 fileTokenFlag bool 327 result int // 审核结果 328 resultFlag bool 329 } 330 331 func NewMaterialReviewResultBuilder() *MaterialReviewResultBuilder { 332 builder := &MaterialReviewResultBuilder{} 333 return builder 334 } 335 336 // 文件上传drive后的token 337 // 338 // 示例值:u8ajdjadau8wqu 339 func (builder *MaterialReviewResultBuilder) FileToken(fileToken string) *MaterialReviewResultBuilder { 340 builder.fileToken = fileToken 341 builder.fileTokenFlag = true 342 return builder 343 } 344 345 // 审核结果 346 // 347 // 示例值:1 348 func (builder *MaterialReviewResultBuilder) Result(result int) *MaterialReviewResultBuilder { 349 builder.result = result 350 builder.resultFlag = true 351 return builder 352 } 353 354 func (builder *MaterialReviewResultBuilder) Build() *MaterialReviewResult { 355 req := &MaterialReviewResult{} 356 if builder.fileTokenFlag { 357 req.FileToken = &builder.fileToken 358 359 } 360 if builder.resultFlag { 361 req.Result = &builder.result 362 363 } 364 return req 365 } 366 367 type MaterialUploadResult struct { 368 FileToken *string `json:"file_token,omitempty"` // 文件上传drive后的token 369 Result *int `json:"result,omitempty"` // 上传结果 370 } 371 372 type MaterialUploadResultBuilder struct { 373 fileToken string // 文件上传drive后的token 374 fileTokenFlag bool 375 result int // 上传结果 376 resultFlag bool 377 } 378 379 func NewMaterialUploadResultBuilder() *MaterialUploadResultBuilder { 380 builder := &MaterialUploadResultBuilder{} 381 return builder 382 } 383 384 // 文件上传drive后的token 385 // 386 // 示例值:u8ajdjadau8wqu 387 func (builder *MaterialUploadResultBuilder) FileToken(fileToken string) *MaterialUploadResultBuilder { 388 builder.fileToken = fileToken 389 builder.fileTokenFlag = true 390 return builder 391 } 392 393 // 上传结果 394 // 395 // 示例值:1 396 func (builder *MaterialUploadResultBuilder) Result(result int) *MaterialUploadResultBuilder { 397 builder.result = result 398 builder.resultFlag = true 399 return builder 400 } 401 402 func (builder *MaterialUploadResultBuilder) Build() *MaterialUploadResult { 403 req := &MaterialUploadResult{} 404 if builder.fileTokenFlag { 405 req.FileToken = &builder.fileToken 406 407 } 408 if builder.resultFlag { 409 req.Result = &builder.result 410 411 } 412 return req 413 } 414 415 type Meeting struct { 416 Id *string `json:"id,omitempty"` // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 417 Topic *string `json:"topic,omitempty"` // 会议主题 418 Url *string `json:"url,omitempty"` // 会议链接(飞书用户可通过点击会议链接快捷入会) 419 MeetingNo *string `json:"meeting_no,omitempty"` // 会议号 420 CreateTime *string `json:"create_time,omitempty"` // 会议创建时间(unix时间,单位sec) 421 StartTime *string `json:"start_time,omitempty"` // 会议开始时间(unix时间,单位sec) 422 EndTime *string `json:"end_time,omitempty"` // 会议结束时间(unix时间,单位sec) 423 HostUser *MeetingUser `json:"host_user,omitempty"` // 主持人 424 Status *int `json:"status,omitempty"` // 会议状态 425 ParticipantCount *string `json:"participant_count,omitempty"` // 参会人数 426 ParticipantCountAccumulated *string `json:"participant_count_accumulated,omitempty"` // 累计参会人数 427 Participants []*MeetingParticipant `json:"participants,omitempty"` // 参会人列表 428 Ability *MeetingAbility `json:"ability,omitempty"` // 会中使用的能力 429 } 430 431 type MeetingBuilder struct { 432 id string // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 433 idFlag bool 434 topic string // 会议主题 435 topicFlag bool 436 url string // 会议链接(飞书用户可通过点击会议链接快捷入会) 437 urlFlag bool 438 meetingNo string // 会议号 439 meetingNoFlag bool 440 createTime string // 会议创建时间(unix时间,单位sec) 441 createTimeFlag bool 442 startTime string // 会议开始时间(unix时间,单位sec) 443 startTimeFlag bool 444 endTime string // 会议结束时间(unix时间,单位sec) 445 endTimeFlag bool 446 hostUser *MeetingUser // 主持人 447 hostUserFlag bool 448 status int // 会议状态 449 statusFlag bool 450 participantCount string // 参会人数 451 participantCountFlag bool 452 participantCountAccumulated string // 累计参会人数 453 participantCountAccumulatedFlag bool 454 participants []*MeetingParticipant // 参会人列表 455 participantsFlag bool 456 ability *MeetingAbility // 会中使用的能力 457 abilityFlag bool 458 } 459 460 func NewMeetingBuilder() *MeetingBuilder { 461 builder := &MeetingBuilder{} 462 return builder 463 } 464 465 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 466 // 467 // 示例值:6911188411934433028 468 func (builder *MeetingBuilder) Id(id string) *MeetingBuilder { 469 builder.id = id 470 builder.idFlag = true 471 return builder 472 } 473 474 // 会议主题 475 // 476 // 示例值:my meeting 477 func (builder *MeetingBuilder) Topic(topic string) *MeetingBuilder { 478 builder.topic = topic 479 builder.topicFlag = true 480 return builder 481 } 482 483 // 会议链接(飞书用户可通过点击会议链接快捷入会) 484 // 485 // 示例值:https://vc.feishu.cn/j/337736498 486 func (builder *MeetingBuilder) Url(url string) *MeetingBuilder { 487 builder.url = url 488 builder.urlFlag = true 489 return builder 490 } 491 492 // 会议号 493 // 494 // 示例值:123456789 495 func (builder *MeetingBuilder) MeetingNo(meetingNo string) *MeetingBuilder { 496 builder.meetingNo = meetingNo 497 builder.meetingNoFlag = true 498 return builder 499 } 500 501 // 会议创建时间(unix时间,单位sec) 502 // 503 // 示例值:1608885566 504 func (builder *MeetingBuilder) CreateTime(createTime string) *MeetingBuilder { 505 builder.createTime = createTime 506 builder.createTimeFlag = true 507 return builder 508 } 509 510 // 会议开始时间(unix时间,单位sec) 511 // 512 // 示例值:1608883322 513 func (builder *MeetingBuilder) StartTime(startTime string) *MeetingBuilder { 514 builder.startTime = startTime 515 builder.startTimeFlag = true 516 return builder 517 } 518 519 // 会议结束时间(unix时间,单位sec) 520 // 521 // 示例值:1608888867 522 func (builder *MeetingBuilder) EndTime(endTime string) *MeetingBuilder { 523 builder.endTime = endTime 524 builder.endTimeFlag = true 525 return builder 526 } 527 528 // 主持人 529 // 530 // 示例值: 531 func (builder *MeetingBuilder) HostUser(hostUser *MeetingUser) *MeetingBuilder { 532 builder.hostUser = hostUser 533 builder.hostUserFlag = true 534 return builder 535 } 536 537 // 会议状态 538 // 539 // 示例值:2 540 func (builder *MeetingBuilder) Status(status int) *MeetingBuilder { 541 builder.status = status 542 builder.statusFlag = true 543 return builder 544 } 545 546 // 参会人数 547 // 548 // 示例值:10 549 func (builder *MeetingBuilder) ParticipantCount(participantCount string) *MeetingBuilder { 550 builder.participantCount = participantCount 551 builder.participantCountFlag = true 552 return builder 553 } 554 555 // 累计参会人数 556 // 557 // 示例值:10 558 func (builder *MeetingBuilder) ParticipantCountAccumulated(participantCountAccumulated string) *MeetingBuilder { 559 builder.participantCountAccumulated = participantCountAccumulated 560 builder.participantCountAccumulatedFlag = true 561 return builder 562 } 563 564 // 参会人列表 565 // 566 // 示例值: 567 func (builder *MeetingBuilder) Participants(participants []*MeetingParticipant) *MeetingBuilder { 568 builder.participants = participants 569 builder.participantsFlag = true 570 return builder 571 } 572 573 // 会中使用的能力 574 // 575 // 示例值: 576 func (builder *MeetingBuilder) Ability(ability *MeetingAbility) *MeetingBuilder { 577 builder.ability = ability 578 builder.abilityFlag = true 579 return builder 580 } 581 582 func (builder *MeetingBuilder) Build() *Meeting { 583 req := &Meeting{} 584 if builder.idFlag { 585 req.Id = &builder.id 586 587 } 588 if builder.topicFlag { 589 req.Topic = &builder.topic 590 591 } 592 if builder.urlFlag { 593 req.Url = &builder.url 594 595 } 596 if builder.meetingNoFlag { 597 req.MeetingNo = &builder.meetingNo 598 599 } 600 if builder.createTimeFlag { 601 req.CreateTime = &builder.createTime 602 603 } 604 if builder.startTimeFlag { 605 req.StartTime = &builder.startTime 606 607 } 608 if builder.endTimeFlag { 609 req.EndTime = &builder.endTime 610 611 } 612 if builder.hostUserFlag { 613 req.HostUser = builder.hostUser 614 } 615 if builder.statusFlag { 616 req.Status = &builder.status 617 618 } 619 if builder.participantCountFlag { 620 req.ParticipantCount = &builder.participantCount 621 622 } 623 if builder.participantCountAccumulatedFlag { 624 req.ParticipantCountAccumulated = &builder.participantCountAccumulated 625 626 } 627 if builder.participantsFlag { 628 req.Participants = builder.participants 629 } 630 if builder.abilityFlag { 631 req.Ability = builder.ability 632 } 633 return req 634 } 635 636 type MeetingRecording struct { 637 Id *string `json:"id,omitempty"` // 录制ID 638 MeetingId *string `json:"meeting_id,omitempty"` // 会议ID 639 Url *string `json:"url,omitempty"` // 录制文件URL 640 Duration *string `json:"duration,omitempty"` // 录制总时长(单位msec) 641 } 642 643 type MeetingRecordingBuilder struct { 644 id string // 录制ID 645 idFlag bool 646 meetingId string // 会议ID 647 meetingIdFlag bool 648 url string // 录制文件URL 649 urlFlag bool 650 duration string // 录制总时长(单位msec) 651 durationFlag bool 652 } 653 654 func NewMeetingRecordingBuilder() *MeetingRecordingBuilder { 655 builder := &MeetingRecordingBuilder{} 656 return builder 657 } 658 659 // 录制ID 660 // 661 // 示例值:6911188411932033028 662 func (builder *MeetingRecordingBuilder) Id(id string) *MeetingRecordingBuilder { 663 builder.id = id 664 builder.idFlag = true 665 return builder 666 } 667 668 // 会议ID 669 // 670 // 示例值:6911188411932033028 671 func (builder *MeetingRecordingBuilder) MeetingId(meetingId string) *MeetingRecordingBuilder { 672 builder.meetingId = meetingId 673 builder.meetingIdFlag = true 674 return builder 675 } 676 677 // 录制文件URL 678 // 679 // 示例值:https://meetings.feishu.cn/minutes/obcn37dxcftoc3656rgyejm7 680 func (builder *MeetingRecordingBuilder) Url(url string) *MeetingRecordingBuilder { 681 builder.url = url 682 builder.urlFlag = true 683 return builder 684 } 685 686 // 录制总时长(单位msec) 687 // 688 // 示例值:30000 689 func (builder *MeetingRecordingBuilder) Duration(duration string) *MeetingRecordingBuilder { 690 builder.duration = duration 691 builder.durationFlag = true 692 return builder 693 } 694 695 func (builder *MeetingRecordingBuilder) Build() *MeetingRecording { 696 req := &MeetingRecording{} 697 if builder.idFlag { 698 req.Id = &builder.id 699 700 } 701 if builder.meetingIdFlag { 702 req.MeetingId = &builder.meetingId 703 704 } 705 if builder.urlFlag { 706 req.Url = &builder.url 707 708 } 709 if builder.durationFlag { 710 req.Duration = &builder.duration 711 712 } 713 return req 714 } 715 716 type MeetingAbility struct { 717 UseVideo *bool `json:"use_video,omitempty"` // 是否使用视频 718 UseAudio *bool `json:"use_audio,omitempty"` // 是否使用音频 719 UseShareScreen *bool `json:"use_share_screen,omitempty"` // 是否使用共享屏幕 720 UseFollowScreen *bool `json:"use_follow_screen,omitempty"` // 是否使用妙享(magic share) 721 UseRecording *bool `json:"use_recording,omitempty"` // 是否使用录制 722 UsePstn *bool `json:"use_pstn,omitempty"` // 是否使用PSTN 723 } 724 725 type MeetingAbilityBuilder struct { 726 useVideo bool // 是否使用视频 727 useVideoFlag bool 728 useAudio bool // 是否使用音频 729 useAudioFlag bool 730 useShareScreen bool // 是否使用共享屏幕 731 useShareScreenFlag bool 732 useFollowScreen bool // 是否使用妙享(magic share) 733 useFollowScreenFlag bool 734 useRecording bool // 是否使用录制 735 useRecordingFlag bool 736 usePstn bool // 是否使用PSTN 737 usePstnFlag bool 738 } 739 740 func NewMeetingAbilityBuilder() *MeetingAbilityBuilder { 741 builder := &MeetingAbilityBuilder{} 742 return builder 743 } 744 745 // 是否使用视频 746 // 747 // 示例值:true 748 func (builder *MeetingAbilityBuilder) UseVideo(useVideo bool) *MeetingAbilityBuilder { 749 builder.useVideo = useVideo 750 builder.useVideoFlag = true 751 return builder 752 } 753 754 // 是否使用音频 755 // 756 // 示例值:true 757 func (builder *MeetingAbilityBuilder) UseAudio(useAudio bool) *MeetingAbilityBuilder { 758 builder.useAudio = useAudio 759 builder.useAudioFlag = true 760 return builder 761 } 762 763 // 是否使用共享屏幕 764 // 765 // 示例值:true 766 func (builder *MeetingAbilityBuilder) UseShareScreen(useShareScreen bool) *MeetingAbilityBuilder { 767 builder.useShareScreen = useShareScreen 768 builder.useShareScreenFlag = true 769 return builder 770 } 771 772 // 是否使用妙享(magic share) 773 // 774 // 示例值:true 775 func (builder *MeetingAbilityBuilder) UseFollowScreen(useFollowScreen bool) *MeetingAbilityBuilder { 776 builder.useFollowScreen = useFollowScreen 777 builder.useFollowScreenFlag = true 778 return builder 779 } 780 781 // 是否使用录制 782 // 783 // 示例值:true 784 func (builder *MeetingAbilityBuilder) UseRecording(useRecording bool) *MeetingAbilityBuilder { 785 builder.useRecording = useRecording 786 builder.useRecordingFlag = true 787 return builder 788 } 789 790 // 是否使用PSTN 791 // 792 // 示例值:true 793 func (builder *MeetingAbilityBuilder) UsePstn(usePstn bool) *MeetingAbilityBuilder { 794 builder.usePstn = usePstn 795 builder.usePstnFlag = true 796 return builder 797 } 798 799 func (builder *MeetingAbilityBuilder) Build() *MeetingAbility { 800 req := &MeetingAbility{} 801 if builder.useVideoFlag { 802 req.UseVideo = &builder.useVideo 803 804 } 805 if builder.useAudioFlag { 806 req.UseAudio = &builder.useAudio 807 808 } 809 if builder.useShareScreenFlag { 810 req.UseShareScreen = &builder.useShareScreen 811 812 } 813 if builder.useFollowScreenFlag { 814 req.UseFollowScreen = &builder.useFollowScreen 815 816 } 817 if builder.useRecordingFlag { 818 req.UseRecording = &builder.useRecording 819 820 } 821 if builder.usePstnFlag { 822 req.UsePstn = &builder.usePstn 823 824 } 825 return req 826 } 827 828 type MeetingEventMeeting struct { 829 Id *string `json:"id,omitempty"` // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 830 Topic *string `json:"topic,omitempty"` // 会议主题 831 MeetingNo *string `json:"meeting_no,omitempty"` // 9位会议号(飞书用户可通过输入9位会议号快捷入会) 832 StartTime *string `json:"start_time,omitempty"` // 会议开始时间(unix时间,单位sec) 833 EndTime *string `json:"end_time,omitempty"` // 会议结束时间(unix时间,单位sec) 834 HostUser *MeetingEventUser `json:"host_user,omitempty"` // 会议主持人 835 Owner *MeetingEventUser `json:"owner,omitempty"` // 会议拥有者 836 } 837 838 type MeetingEventMeetingBuilder struct { 839 id string // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 840 idFlag bool 841 topic string // 会议主题 842 topicFlag bool 843 meetingNo string // 9位会议号(飞书用户可通过输入9位会议号快捷入会) 844 meetingNoFlag bool 845 startTime string // 会议开始时间(unix时间,单位sec) 846 startTimeFlag bool 847 endTime string // 会议结束时间(unix时间,单位sec) 848 endTimeFlag bool 849 hostUser *MeetingEventUser // 会议主持人 850 hostUserFlag bool 851 owner *MeetingEventUser // 会议拥有者 852 ownerFlag bool 853 } 854 855 func NewMeetingEventMeetingBuilder() *MeetingEventMeetingBuilder { 856 builder := &MeetingEventMeetingBuilder{} 857 return builder 858 } 859 860 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 861 // 862 // 示例值:6911188411934433028 863 func (builder *MeetingEventMeetingBuilder) Id(id string) *MeetingEventMeetingBuilder { 864 builder.id = id 865 builder.idFlag = true 866 return builder 867 } 868 869 // 会议主题 870 // 871 // 示例值:my meeting 872 func (builder *MeetingEventMeetingBuilder) Topic(topic string) *MeetingEventMeetingBuilder { 873 builder.topic = topic 874 builder.topicFlag = true 875 return builder 876 } 877 878 // 9位会议号(飞书用户可通过输入9位会议号快捷入会) 879 // 880 // 示例值:235812466 881 func (builder *MeetingEventMeetingBuilder) MeetingNo(meetingNo string) *MeetingEventMeetingBuilder { 882 builder.meetingNo = meetingNo 883 builder.meetingNoFlag = true 884 return builder 885 } 886 887 // 会议开始时间(unix时间,单位sec) 888 // 889 // 示例值:1608883322 890 func (builder *MeetingEventMeetingBuilder) StartTime(startTime string) *MeetingEventMeetingBuilder { 891 builder.startTime = startTime 892 builder.startTimeFlag = true 893 return builder 894 } 895 896 // 会议结束时间(unix时间,单位sec) 897 // 898 // 示例值:1608883899 899 func (builder *MeetingEventMeetingBuilder) EndTime(endTime string) *MeetingEventMeetingBuilder { 900 builder.endTime = endTime 901 builder.endTimeFlag = true 902 return builder 903 } 904 905 // 会议主持人 906 // 907 // 示例值: 908 func (builder *MeetingEventMeetingBuilder) HostUser(hostUser *MeetingEventUser) *MeetingEventMeetingBuilder { 909 builder.hostUser = hostUser 910 builder.hostUserFlag = true 911 return builder 912 } 913 914 // 会议拥有者 915 // 916 // 示例值: 917 func (builder *MeetingEventMeetingBuilder) Owner(owner *MeetingEventUser) *MeetingEventMeetingBuilder { 918 builder.owner = owner 919 builder.ownerFlag = true 920 return builder 921 } 922 923 func (builder *MeetingEventMeetingBuilder) Build() *MeetingEventMeeting { 924 req := &MeetingEventMeeting{} 925 if builder.idFlag { 926 req.Id = &builder.id 927 928 } 929 if builder.topicFlag { 930 req.Topic = &builder.topic 931 932 } 933 if builder.meetingNoFlag { 934 req.MeetingNo = &builder.meetingNo 935 936 } 937 if builder.startTimeFlag { 938 req.StartTime = &builder.startTime 939 940 } 941 if builder.endTimeFlag { 942 req.EndTime = &builder.endTime 943 944 } 945 if builder.hostUserFlag { 946 req.HostUser = builder.hostUser 947 } 948 if builder.ownerFlag { 949 req.Owner = builder.owner 950 } 951 return req 952 } 953 954 type MeetingEventUser struct { 955 Id *UserId `json:"id,omitempty"` // 用户 ID 956 UserRole *int `json:"user_role,omitempty"` // 用户会中角色 957 UserType *int `json:"user_type,omitempty"` // 用户类型 958 } 959 960 type MeetingEventUserBuilder struct { 961 id *UserId // 用户 ID 962 idFlag bool 963 userRole int // 用户会中角色 964 userRoleFlag bool 965 userType int // 用户类型 966 userTypeFlag bool 967 } 968 969 func NewMeetingEventUserBuilder() *MeetingEventUserBuilder { 970 builder := &MeetingEventUserBuilder{} 971 return builder 972 } 973 974 // 用户 ID 975 // 976 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 977 func (builder *MeetingEventUserBuilder) Id(id *UserId) *MeetingEventUserBuilder { 978 builder.id = id 979 builder.idFlag = true 980 return builder 981 } 982 983 // 用户会中角色 984 // 985 // 示例值:1 986 func (builder *MeetingEventUserBuilder) UserRole(userRole int) *MeetingEventUserBuilder { 987 builder.userRole = userRole 988 builder.userRoleFlag = true 989 return builder 990 } 991 992 // 用户类型 993 // 994 // 示例值:1 995 func (builder *MeetingEventUserBuilder) UserType(userType int) *MeetingEventUserBuilder { 996 builder.userType = userType 997 builder.userTypeFlag = true 998 return builder 999 } 1000 1001 func (builder *MeetingEventUserBuilder) Build() *MeetingEventUser { 1002 req := &MeetingEventUser{} 1003 if builder.idFlag { 1004 req.Id = builder.id 1005 } 1006 if builder.userRoleFlag { 1007 req.UserRole = &builder.userRole 1008 1009 } 1010 if builder.userTypeFlag { 1011 req.UserType = &builder.userType 1012 1013 } 1014 return req 1015 } 1016 1017 type MeetingInviteStatus struct { 1018 Id *string `json:"id,omitempty"` // 用户ID 1019 UserType *int `json:"user_type,omitempty"` // 用户类型 1020 Status *int `json:"status,omitempty"` // 邀请结果 1021 } 1022 1023 type MeetingInviteStatusBuilder struct { 1024 id string // 用户ID 1025 idFlag bool 1026 userType int // 用户类型 1027 userTypeFlag bool 1028 status int // 邀请结果 1029 statusFlag bool 1030 } 1031 1032 func NewMeetingInviteStatusBuilder() *MeetingInviteStatusBuilder { 1033 builder := &MeetingInviteStatusBuilder{} 1034 return builder 1035 } 1036 1037 // 用户ID 1038 // 1039 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 1040 func (builder *MeetingInviteStatusBuilder) Id(id string) *MeetingInviteStatusBuilder { 1041 builder.id = id 1042 builder.idFlag = true 1043 return builder 1044 } 1045 1046 // 用户类型 1047 // 1048 // 示例值:1 1049 func (builder *MeetingInviteStatusBuilder) UserType(userType int) *MeetingInviteStatusBuilder { 1050 builder.userType = userType 1051 builder.userTypeFlag = true 1052 return builder 1053 } 1054 1055 // 邀请结果 1056 // 1057 // 示例值:1 1058 func (builder *MeetingInviteStatusBuilder) Status(status int) *MeetingInviteStatusBuilder { 1059 builder.status = status 1060 builder.statusFlag = true 1061 return builder 1062 } 1063 1064 func (builder *MeetingInviteStatusBuilder) Build() *MeetingInviteStatus { 1065 req := &MeetingInviteStatus{} 1066 if builder.idFlag { 1067 req.Id = &builder.id 1068 1069 } 1070 if builder.userTypeFlag { 1071 req.UserType = &builder.userType 1072 1073 } 1074 if builder.statusFlag { 1075 req.Status = &builder.status 1076 1077 } 1078 return req 1079 } 1080 1081 type MeetingParticipant struct { 1082 Id *string `json:"id,omitempty"` // 用户ID 1083 FirstJoinTime *string `json:"first_join_time,omitempty"` // 首次入会时间,秒级Unix时间戳 1084 FinalLeaveTime *string `json:"final_leave_time,omitempty"` // 最终离会时间,秒级Unix时间戳 1085 InMeetingDuration *string `json:"in_meeting_duration,omitempty"` // 累计在会中时间,时间单位:秒 1086 UserType *int `json:"user_type,omitempty"` // 用户类型 1087 IsHost *bool `json:"is_host,omitempty"` // 是否为主持人 1088 IsCohost *bool `json:"is_cohost,omitempty"` // 是否为联席主持人 1089 IsExternal *bool `json:"is_external,omitempty"` // 是否为外部参会人 1090 Status *int `json:"status,omitempty"` // 参会人状态 1091 } 1092 1093 type MeetingParticipantBuilder struct { 1094 id string // 用户ID 1095 idFlag bool 1096 firstJoinTime string // 首次入会时间,秒级Unix时间戳 1097 firstJoinTimeFlag bool 1098 finalLeaveTime string // 最终离会时间,秒级Unix时间戳 1099 finalLeaveTimeFlag bool 1100 inMeetingDuration string // 累计在会中时间,时间单位:秒 1101 inMeetingDurationFlag bool 1102 userType int // 用户类型 1103 userTypeFlag bool 1104 isHost bool // 是否为主持人 1105 isHostFlag bool 1106 isCohost bool // 是否为联席主持人 1107 isCohostFlag bool 1108 isExternal bool // 是否为外部参会人 1109 isExternalFlag bool 1110 status int // 参会人状态 1111 statusFlag bool 1112 } 1113 1114 func NewMeetingParticipantBuilder() *MeetingParticipantBuilder { 1115 builder := &MeetingParticipantBuilder{} 1116 return builder 1117 } 1118 1119 // 用户ID 1120 // 1121 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 1122 func (builder *MeetingParticipantBuilder) Id(id string) *MeetingParticipantBuilder { 1123 builder.id = id 1124 builder.idFlag = true 1125 return builder 1126 } 1127 1128 // 首次入会时间,秒级Unix时间戳 1129 // 1130 // 示例值:1624438144 1131 func (builder *MeetingParticipantBuilder) FirstJoinTime(firstJoinTime string) *MeetingParticipantBuilder { 1132 builder.firstJoinTime = firstJoinTime 1133 builder.firstJoinTimeFlag = true 1134 return builder 1135 } 1136 1137 // 最终离会时间,秒级Unix时间戳 1138 // 1139 // 示例值:1624438144 1140 func (builder *MeetingParticipantBuilder) FinalLeaveTime(finalLeaveTime string) *MeetingParticipantBuilder { 1141 builder.finalLeaveTime = finalLeaveTime 1142 builder.finalLeaveTimeFlag = true 1143 return builder 1144 } 1145 1146 // 累计在会中时间,时间单位:秒 1147 // 1148 // 示例值:123 1149 func (builder *MeetingParticipantBuilder) InMeetingDuration(inMeetingDuration string) *MeetingParticipantBuilder { 1150 builder.inMeetingDuration = inMeetingDuration 1151 builder.inMeetingDurationFlag = true 1152 return builder 1153 } 1154 1155 // 用户类型 1156 // 1157 // 示例值:1 1158 func (builder *MeetingParticipantBuilder) UserType(userType int) *MeetingParticipantBuilder { 1159 builder.userType = userType 1160 builder.userTypeFlag = true 1161 return builder 1162 } 1163 1164 // 是否为主持人 1165 // 1166 // 示例值:true 1167 func (builder *MeetingParticipantBuilder) IsHost(isHost bool) *MeetingParticipantBuilder { 1168 builder.isHost = isHost 1169 builder.isHostFlag = true 1170 return builder 1171 } 1172 1173 // 是否为联席主持人 1174 // 1175 // 示例值:false 1176 func (builder *MeetingParticipantBuilder) IsCohost(isCohost bool) *MeetingParticipantBuilder { 1177 builder.isCohost = isCohost 1178 builder.isCohostFlag = true 1179 return builder 1180 } 1181 1182 // 是否为外部参会人 1183 // 1184 // 示例值:false 1185 func (builder *MeetingParticipantBuilder) IsExternal(isExternal bool) *MeetingParticipantBuilder { 1186 builder.isExternal = isExternal 1187 builder.isExternalFlag = true 1188 return builder 1189 } 1190 1191 // 参会人状态 1192 // 1193 // 示例值:2 1194 func (builder *MeetingParticipantBuilder) Status(status int) *MeetingParticipantBuilder { 1195 builder.status = status 1196 builder.statusFlag = true 1197 return builder 1198 } 1199 1200 func (builder *MeetingParticipantBuilder) Build() *MeetingParticipant { 1201 req := &MeetingParticipant{} 1202 if builder.idFlag { 1203 req.Id = &builder.id 1204 1205 } 1206 if builder.firstJoinTimeFlag { 1207 req.FirstJoinTime = &builder.firstJoinTime 1208 1209 } 1210 if builder.finalLeaveTimeFlag { 1211 req.FinalLeaveTime = &builder.finalLeaveTime 1212 1213 } 1214 if builder.inMeetingDurationFlag { 1215 req.InMeetingDuration = &builder.inMeetingDuration 1216 1217 } 1218 if builder.userTypeFlag { 1219 req.UserType = &builder.userType 1220 1221 } 1222 if builder.isHostFlag { 1223 req.IsHost = &builder.isHost 1224 1225 } 1226 if builder.isCohostFlag { 1227 req.IsCohost = &builder.isCohost 1228 1229 } 1230 if builder.isExternalFlag { 1231 req.IsExternal = &builder.isExternal 1232 1233 } 1234 if builder.statusFlag { 1235 req.Status = &builder.status 1236 1237 } 1238 return req 1239 } 1240 1241 type MeetingParticipantResult struct { 1242 Id *string `json:"id,omitempty"` // 用户ID 1243 UserType *int `json:"user_type,omitempty"` // 用户类型 1244 Result *int `json:"result,omitempty"` // 邀请结果 1245 } 1246 1247 type MeetingParticipantResultBuilder struct { 1248 id string // 用户ID 1249 idFlag bool 1250 userType int // 用户类型 1251 userTypeFlag bool 1252 result int // 邀请结果 1253 resultFlag bool 1254 } 1255 1256 func NewMeetingParticipantResultBuilder() *MeetingParticipantResultBuilder { 1257 builder := &MeetingParticipantResultBuilder{} 1258 return builder 1259 } 1260 1261 // 用户ID 1262 // 1263 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 1264 func (builder *MeetingParticipantResultBuilder) Id(id string) *MeetingParticipantResultBuilder { 1265 builder.id = id 1266 builder.idFlag = true 1267 return builder 1268 } 1269 1270 // 用户类型 1271 // 1272 // 示例值:1 1273 func (builder *MeetingParticipantResultBuilder) UserType(userType int) *MeetingParticipantResultBuilder { 1274 builder.userType = userType 1275 builder.userTypeFlag = true 1276 return builder 1277 } 1278 1279 // 邀请结果 1280 // 1281 // 示例值:1 1282 func (builder *MeetingParticipantResultBuilder) Result(result int) *MeetingParticipantResultBuilder { 1283 builder.result = result 1284 builder.resultFlag = true 1285 return builder 1286 } 1287 1288 func (builder *MeetingParticipantResultBuilder) Build() *MeetingParticipantResult { 1289 req := &MeetingParticipantResult{} 1290 if builder.idFlag { 1291 req.Id = &builder.id 1292 1293 } 1294 if builder.userTypeFlag { 1295 req.UserType = &builder.userType 1296 1297 } 1298 if builder.resultFlag { 1299 req.Result = &builder.result 1300 1301 } 1302 return req 1303 } 1304 1305 type MeetingUser struct { 1306 Id *string `json:"id,omitempty"` // 用户ID 1307 UserType *int `json:"user_type,omitempty"` // 用户类型 1308 } 1309 1310 type MeetingUserBuilder struct { 1311 id string // 用户ID 1312 idFlag bool 1313 userType int // 用户类型 1314 userTypeFlag bool 1315 } 1316 1317 func NewMeetingUserBuilder() *MeetingUserBuilder { 1318 builder := &MeetingUserBuilder{} 1319 return builder 1320 } 1321 1322 // 用户ID 1323 // 1324 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 1325 func (builder *MeetingUserBuilder) Id(id string) *MeetingUserBuilder { 1326 builder.id = id 1327 builder.idFlag = true 1328 return builder 1329 } 1330 1331 // 用户类型 1332 // 1333 // 示例值:1 1334 func (builder *MeetingUserBuilder) UserType(userType int) *MeetingUserBuilder { 1335 builder.userType = userType 1336 builder.userTypeFlag = true 1337 return builder 1338 } 1339 1340 func (builder *MeetingUserBuilder) Build() *MeetingUser { 1341 req := &MeetingUser{} 1342 if builder.idFlag { 1343 req.Id = &builder.id 1344 1345 } 1346 if builder.userTypeFlag { 1347 req.UserType = &builder.userType 1348 1349 } 1350 return req 1351 } 1352 1353 type PstnSipInfo struct { 1354 Nickname *string `json:"nickname,omitempty"` // 给pstn/sip用户设置的临时昵称 1355 MainAddress *string `json:"main_address,omitempty"` // pstn/sip主机号,格式为:[国际冠字]-[电话区号][电话号码],当前仅支持国内手机及固定电话号码 1356 } 1357 1358 type PstnSipInfoBuilder struct { 1359 nickname string // 给pstn/sip用户设置的临时昵称 1360 nicknameFlag bool 1361 mainAddress string // pstn/sip主机号,格式为:[国际冠字]-[电话区号][电话号码],当前仅支持国内手机及固定电话号码 1362 mainAddressFlag bool 1363 } 1364 1365 func NewPstnSipInfoBuilder() *PstnSipInfoBuilder { 1366 builder := &PstnSipInfoBuilder{} 1367 return builder 1368 } 1369 1370 // 给pstn/sip用户设置的临时昵称 1371 // 1372 // 示例值:dodo 1373 func (builder *PstnSipInfoBuilder) Nickname(nickname string) *PstnSipInfoBuilder { 1374 builder.nickname = nickname 1375 builder.nicknameFlag = true 1376 return builder 1377 } 1378 1379 // pstn/sip主机号,格式为:[国际冠字]-[电话区号][电话号码],当前仅支持国内手机及固定电话号码 1380 // 1381 // 示例值:+86-02187654321 1382 func (builder *PstnSipInfoBuilder) MainAddress(mainAddress string) *PstnSipInfoBuilder { 1383 builder.mainAddress = mainAddress 1384 builder.mainAddressFlag = true 1385 return builder 1386 } 1387 1388 func (builder *PstnSipInfoBuilder) Build() *PstnSipInfo { 1389 req := &PstnSipInfo{} 1390 if builder.nicknameFlag { 1391 req.Nickname = &builder.nickname 1392 1393 } 1394 if builder.mainAddressFlag { 1395 req.MainAddress = &builder.mainAddress 1396 1397 } 1398 return req 1399 } 1400 1401 type RecordingPermissionObject struct { 1402 Id *string `json:"id,omitempty"` // 授权对象ID 1403 Type *int `json:"type,omitempty"` // 授权对象类型 1404 Permission *int `json:"permission,omitempty"` // 权限 1405 } 1406 1407 type RecordingPermissionObjectBuilder struct { 1408 id string // 授权对象ID 1409 idFlag bool 1410 type_ int // 授权对象类型 1411 typeFlag bool 1412 permission int // 权限 1413 permissionFlag bool 1414 } 1415 1416 func NewRecordingPermissionObjectBuilder() *RecordingPermissionObjectBuilder { 1417 builder := &RecordingPermissionObjectBuilder{} 1418 return builder 1419 } 1420 1421 // 授权对象ID 1422 // 1423 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 1424 func (builder *RecordingPermissionObjectBuilder) Id(id string) *RecordingPermissionObjectBuilder { 1425 builder.id = id 1426 builder.idFlag = true 1427 return builder 1428 } 1429 1430 // 授权对象类型 1431 // 1432 // 示例值:1 1433 func (builder *RecordingPermissionObjectBuilder) Type(type_ int) *RecordingPermissionObjectBuilder { 1434 builder.type_ = type_ 1435 builder.typeFlag = true 1436 return builder 1437 } 1438 1439 // 权限 1440 // 1441 // 示例值:1 1442 func (builder *RecordingPermissionObjectBuilder) Permission(permission int) *RecordingPermissionObjectBuilder { 1443 builder.permission = permission 1444 builder.permissionFlag = true 1445 return builder 1446 } 1447 1448 func (builder *RecordingPermissionObjectBuilder) Build() *RecordingPermissionObject { 1449 req := &RecordingPermissionObject{} 1450 if builder.idFlag { 1451 req.Id = &builder.id 1452 1453 } 1454 if builder.typeFlag { 1455 req.Type = &builder.type_ 1456 1457 } 1458 if builder.permissionFlag { 1459 req.Permission = &builder.permission 1460 1461 } 1462 return req 1463 } 1464 1465 type Report struct { 1466 TotalMeetingCount *string `json:"total_meeting_count,omitempty"` // 总会议数量 1467 TotalMeetingDuration *string `json:"total_meeting_duration,omitempty"` // 总会议时长(单位sec) 1468 TotalParticipantCount *string `json:"total_participant_count,omitempty"` // 总参会人数 1469 DailyReport []*ReportMeetingDaily `json:"daily_report,omitempty"` // 每日会议报告列表 1470 } 1471 1472 type ReportBuilder struct { 1473 totalMeetingCount string // 总会议数量 1474 totalMeetingCountFlag bool 1475 totalMeetingDuration string // 总会议时长(单位sec) 1476 totalMeetingDurationFlag bool 1477 totalParticipantCount string // 总参会人数 1478 totalParticipantCountFlag bool 1479 dailyReport []*ReportMeetingDaily // 每日会议报告列表 1480 dailyReportFlag bool 1481 } 1482 1483 func NewReportBuilder() *ReportBuilder { 1484 builder := &ReportBuilder{} 1485 return builder 1486 } 1487 1488 // 总会议数量 1489 // 1490 // 示例值:100 1491 func (builder *ReportBuilder) TotalMeetingCount(totalMeetingCount string) *ReportBuilder { 1492 builder.totalMeetingCount = totalMeetingCount 1493 builder.totalMeetingCountFlag = true 1494 return builder 1495 } 1496 1497 // 总会议时长(单位sec) 1498 // 1499 // 示例值:300000 1500 func (builder *ReportBuilder) TotalMeetingDuration(totalMeetingDuration string) *ReportBuilder { 1501 builder.totalMeetingDuration = totalMeetingDuration 1502 builder.totalMeetingDurationFlag = true 1503 return builder 1504 } 1505 1506 // 总参会人数 1507 // 1508 // 示例值:20000 1509 func (builder *ReportBuilder) TotalParticipantCount(totalParticipantCount string) *ReportBuilder { 1510 builder.totalParticipantCount = totalParticipantCount 1511 builder.totalParticipantCountFlag = true 1512 return builder 1513 } 1514 1515 // 每日会议报告列表 1516 // 1517 // 示例值: 1518 func (builder *ReportBuilder) DailyReport(dailyReport []*ReportMeetingDaily) *ReportBuilder { 1519 builder.dailyReport = dailyReport 1520 builder.dailyReportFlag = true 1521 return builder 1522 } 1523 1524 func (builder *ReportBuilder) Build() *Report { 1525 req := &Report{} 1526 if builder.totalMeetingCountFlag { 1527 req.TotalMeetingCount = &builder.totalMeetingCount 1528 1529 } 1530 if builder.totalMeetingDurationFlag { 1531 req.TotalMeetingDuration = &builder.totalMeetingDuration 1532 1533 } 1534 if builder.totalParticipantCountFlag { 1535 req.TotalParticipantCount = &builder.totalParticipantCount 1536 1537 } 1538 if builder.dailyReportFlag { 1539 req.DailyReport = builder.dailyReport 1540 } 1541 return req 1542 } 1543 1544 type ReportMeetingDaily struct { 1545 Date *string `json:"date,omitempty"` // 日期(unix时间,单位sec) 1546 MeetingCount *string `json:"meeting_count,omitempty"` // 会议数量 1547 MeetingDuration *string `json:"meeting_duration,omitempty"` // 会议时长(单位sec) 1548 ParticipantCount *string `json:"participant_count,omitempty"` // 参会人数 1549 } 1550 1551 type ReportMeetingDailyBuilder struct { 1552 date string // 日期(unix时间,单位sec) 1553 dateFlag bool 1554 meetingCount string // 会议数量 1555 meetingCountFlag bool 1556 meetingDuration string // 会议时长(单位sec) 1557 meetingDurationFlag bool 1558 participantCount string // 参会人数 1559 participantCountFlag bool 1560 } 1561 1562 func NewReportMeetingDailyBuilder() *ReportMeetingDailyBuilder { 1563 builder := &ReportMeetingDailyBuilder{} 1564 return builder 1565 } 1566 1567 // 日期(unix时间,单位sec) 1568 // 1569 // 示例值:1609113600 1570 func (builder *ReportMeetingDailyBuilder) Date(date string) *ReportMeetingDailyBuilder { 1571 builder.date = date 1572 builder.dateFlag = true 1573 return builder 1574 } 1575 1576 // 会议数量 1577 // 1578 // 示例值:100 1579 func (builder *ReportMeetingDailyBuilder) MeetingCount(meetingCount string) *ReportMeetingDailyBuilder { 1580 builder.meetingCount = meetingCount 1581 builder.meetingCountFlag = true 1582 return builder 1583 } 1584 1585 // 会议时长(单位sec) 1586 // 1587 // 示例值:147680 1588 func (builder *ReportMeetingDailyBuilder) MeetingDuration(meetingDuration string) *ReportMeetingDailyBuilder { 1589 builder.meetingDuration = meetingDuration 1590 builder.meetingDurationFlag = true 1591 return builder 1592 } 1593 1594 // 参会人数 1595 // 1596 // 示例值:2000 1597 func (builder *ReportMeetingDailyBuilder) ParticipantCount(participantCount string) *ReportMeetingDailyBuilder { 1598 builder.participantCount = participantCount 1599 builder.participantCountFlag = true 1600 return builder 1601 } 1602 1603 func (builder *ReportMeetingDailyBuilder) Build() *ReportMeetingDaily { 1604 req := &ReportMeetingDaily{} 1605 if builder.dateFlag { 1606 req.Date = &builder.date 1607 1608 } 1609 if builder.meetingCountFlag { 1610 req.MeetingCount = &builder.meetingCount 1611 1612 } 1613 if builder.meetingDurationFlag { 1614 req.MeetingDuration = &builder.meetingDuration 1615 1616 } 1617 if builder.participantCountFlag { 1618 req.ParticipantCount = &builder.participantCount 1619 1620 } 1621 return req 1622 } 1623 1624 type ReportTopUser struct { 1625 Id *string `json:"id,omitempty"` // 用户ID 1626 Name *string `json:"name,omitempty"` // 用户名 1627 UserType *int `json:"user_type,omitempty"` // 用户类型 1628 MeetingCount *string `json:"meeting_count,omitempty"` // 会议数量 1629 MeetingDuration *string `json:"meeting_duration,omitempty"` // 会议时长(单位min) 1630 } 1631 1632 type ReportTopUserBuilder struct { 1633 id string // 用户ID 1634 idFlag bool 1635 name string // 用户名 1636 nameFlag bool 1637 userType int // 用户类型 1638 userTypeFlag bool 1639 meetingCount string // 会议数量 1640 meetingCountFlag bool 1641 meetingDuration string // 会议时长(单位min) 1642 meetingDurationFlag bool 1643 } 1644 1645 func NewReportTopUserBuilder() *ReportTopUserBuilder { 1646 builder := &ReportTopUserBuilder{} 1647 return builder 1648 } 1649 1650 // 用户ID 1651 // 1652 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 1653 func (builder *ReportTopUserBuilder) Id(id string) *ReportTopUserBuilder { 1654 builder.id = id 1655 builder.idFlag = true 1656 return builder 1657 } 1658 1659 // 用户名 1660 // 1661 // 示例值:name 1662 func (builder *ReportTopUserBuilder) Name(name string) *ReportTopUserBuilder { 1663 builder.name = name 1664 builder.nameFlag = true 1665 return builder 1666 } 1667 1668 // 用户类型 1669 // 1670 // 示例值:1 1671 func (builder *ReportTopUserBuilder) UserType(userType int) *ReportTopUserBuilder { 1672 builder.userType = userType 1673 builder.userTypeFlag = true 1674 return builder 1675 } 1676 1677 // 会议数量 1678 // 1679 // 示例值:100 1680 func (builder *ReportTopUserBuilder) MeetingCount(meetingCount string) *ReportTopUserBuilder { 1681 builder.meetingCount = meetingCount 1682 builder.meetingCountFlag = true 1683 return builder 1684 } 1685 1686 // 会议时长(单位min) 1687 // 1688 // 示例值:3000 1689 func (builder *ReportTopUserBuilder) MeetingDuration(meetingDuration string) *ReportTopUserBuilder { 1690 builder.meetingDuration = meetingDuration 1691 builder.meetingDurationFlag = true 1692 return builder 1693 } 1694 1695 func (builder *ReportTopUserBuilder) Build() *ReportTopUser { 1696 req := &ReportTopUser{} 1697 if builder.idFlag { 1698 req.Id = &builder.id 1699 1700 } 1701 if builder.nameFlag { 1702 req.Name = &builder.name 1703 1704 } 1705 if builder.userTypeFlag { 1706 req.UserType = &builder.userType 1707 1708 } 1709 if builder.meetingCountFlag { 1710 req.MeetingCount = &builder.meetingCount 1711 1712 } 1713 if builder.meetingDurationFlag { 1714 req.MeetingDuration = &builder.meetingDuration 1715 1716 } 1717 return req 1718 } 1719 1720 type Reserve struct { 1721 Id *string `json:"id,omitempty"` // 预约ID(预约的唯一标识) 1722 MeetingNo *string `json:"meeting_no,omitempty"` // 9位会议号(飞书用户可通过输入9位会议号快捷入会) 1723 Url *string `json:"url,omitempty"` // 会议链接(飞书用户可通过点击会议链接快捷入会) 1724 AppLink *string `json:"app_link,omitempty"` // APPLink用于唤起飞书APP入会。"{?}"为占位符,用于配置入会参数,使用时需替换具体值:0表示关闭,1表示打开。preview为入会前的设置页,mic为麦克风,speaker为扬声器,camera为摄像头 1725 LiveLink *string `json:"live_link,omitempty"` // 直播链接 1726 EndTime *string `json:"end_time,omitempty"` // 预约到期时间(unix时间,单位sec) 1727 ExpireStatus *int `json:"expire_status,omitempty"` // 过期状态 1728 ReserveUserId *string `json:"reserve_user_id,omitempty"` // 预约人ID 1729 MeetingSettings *ReserveMeetingSetting `json:"meeting_settings,omitempty"` // 会议设置 1730 } 1731 1732 type ReserveBuilder struct { 1733 id string // 预约ID(预约的唯一标识) 1734 idFlag bool 1735 meetingNo string // 9位会议号(飞书用户可通过输入9位会议号快捷入会) 1736 meetingNoFlag bool 1737 url string // 会议链接(飞书用户可通过点击会议链接快捷入会) 1738 urlFlag bool 1739 appLink string // APPLink用于唤起飞书APP入会。"{?}"为占位符,用于配置入会参数,使用时需替换具体值:0表示关闭,1表示打开。preview为入会前的设置页,mic为麦克风,speaker为扬声器,camera为摄像头 1740 appLinkFlag bool 1741 liveLink string // 直播链接 1742 liveLinkFlag bool 1743 endTime string // 预约到期时间(unix时间,单位sec) 1744 endTimeFlag bool 1745 expireStatus int // 过期状态 1746 expireStatusFlag bool 1747 reserveUserId string // 预约人ID 1748 reserveUserIdFlag bool 1749 meetingSettings *ReserveMeetingSetting // 会议设置 1750 meetingSettingsFlag bool 1751 } 1752 1753 func NewReserveBuilder() *ReserveBuilder { 1754 builder := &ReserveBuilder{} 1755 return builder 1756 } 1757 1758 // 预约ID(预约的唯一标识) 1759 // 1760 // 示例值:6911188411934973028 1761 func (builder *ReserveBuilder) Id(id string) *ReserveBuilder { 1762 builder.id = id 1763 builder.idFlag = true 1764 return builder 1765 } 1766 1767 // 9位会议号(飞书用户可通过输入9位会议号快捷入会) 1768 // 1769 // 示例值:112000358 1770 func (builder *ReserveBuilder) MeetingNo(meetingNo string) *ReserveBuilder { 1771 builder.meetingNo = meetingNo 1772 builder.meetingNoFlag = true 1773 return builder 1774 } 1775 1776 // 会议链接(飞书用户可通过点击会议链接快捷入会) 1777 // 1778 // 示例值:https://vc.feishu.cn/j/337736498 1779 func (builder *ReserveBuilder) Url(url string) *ReserveBuilder { 1780 builder.url = url 1781 builder.urlFlag = true 1782 return builder 1783 } 1784 1785 // APPLink用于唤起飞书APP入会。"{?}"为占位符,用于配置入会参数,使用时需替换具体值:0表示关闭,1表示打开。preview为入会前的设置页,mic为麦克风,speaker为扬声器,camera为摄像头 1786 // 1787 // 示例值:https://applink.feishu.cn/client/videochat/open?source=openplatform&action=join&idtype=reservationid&id={?}&preview={?}&mic={?}&speaker={?}&camera={?} 1788 func (builder *ReserveBuilder) AppLink(appLink string) *ReserveBuilder { 1789 builder.appLink = appLink 1790 builder.appLinkFlag = true 1791 return builder 1792 } 1793 1794 // 直播链接 1795 // 1796 // 示例值:https://meetings.feishu.cn/s/1gub381l4gglv 1797 func (builder *ReserveBuilder) LiveLink(liveLink string) *ReserveBuilder { 1798 builder.liveLink = liveLink 1799 builder.liveLinkFlag = true 1800 return builder 1801 } 1802 1803 // 预约到期时间(unix时间,单位sec) 1804 // 1805 // 示例值:1608883322 1806 func (builder *ReserveBuilder) EndTime(endTime string) *ReserveBuilder { 1807 builder.endTime = endTime 1808 builder.endTimeFlag = true 1809 return builder 1810 } 1811 1812 // 过期状态 1813 // 1814 // 示例值:0 1815 func (builder *ReserveBuilder) ExpireStatus(expireStatus int) *ReserveBuilder { 1816 builder.expireStatus = expireStatus 1817 builder.expireStatusFlag = true 1818 return builder 1819 } 1820 1821 // 预约人ID 1822 // 1823 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 1824 func (builder *ReserveBuilder) ReserveUserId(reserveUserId string) *ReserveBuilder { 1825 builder.reserveUserId = reserveUserId 1826 builder.reserveUserIdFlag = true 1827 return builder 1828 } 1829 1830 // 会议设置 1831 // 1832 // 示例值: 1833 func (builder *ReserveBuilder) MeetingSettings(meetingSettings *ReserveMeetingSetting) *ReserveBuilder { 1834 builder.meetingSettings = meetingSettings 1835 builder.meetingSettingsFlag = true 1836 return builder 1837 } 1838 1839 func (builder *ReserveBuilder) Build() *Reserve { 1840 req := &Reserve{} 1841 if builder.idFlag { 1842 req.Id = &builder.id 1843 1844 } 1845 if builder.meetingNoFlag { 1846 req.MeetingNo = &builder.meetingNo 1847 1848 } 1849 if builder.urlFlag { 1850 req.Url = &builder.url 1851 1852 } 1853 if builder.appLinkFlag { 1854 req.AppLink = &builder.appLink 1855 1856 } 1857 if builder.liveLinkFlag { 1858 req.LiveLink = &builder.liveLink 1859 1860 } 1861 if builder.endTimeFlag { 1862 req.EndTime = &builder.endTime 1863 1864 } 1865 if builder.expireStatusFlag { 1866 req.ExpireStatus = &builder.expireStatus 1867 1868 } 1869 if builder.reserveUserIdFlag { 1870 req.ReserveUserId = &builder.reserveUserId 1871 1872 } 1873 if builder.meetingSettingsFlag { 1874 req.MeetingSettings = builder.meetingSettings 1875 } 1876 return req 1877 } 1878 1879 type ReserveActionPermission struct { 1880 Permission *int `json:"permission,omitempty"` // 权限项 1881 PermissionCheckers []*ReservePermissionChecker `json:"permission_checkers,omitempty"` // 权限检查器列表,权限检查器之间为"逻辑或"的关系(即 有一个为true则拥有该权限) 1882 } 1883 1884 type ReserveActionPermissionBuilder struct { 1885 permission int // 权限项 1886 permissionFlag bool 1887 permissionCheckers []*ReservePermissionChecker // 权限检查器列表,权限检查器之间为"逻辑或"的关系(即 有一个为true则拥有该权限) 1888 permissionCheckersFlag bool 1889 } 1890 1891 func NewReserveActionPermissionBuilder() *ReserveActionPermissionBuilder { 1892 builder := &ReserveActionPermissionBuilder{} 1893 return builder 1894 } 1895 1896 // 权限项 1897 // 1898 // 示例值:1 1899 func (builder *ReserveActionPermissionBuilder) Permission(permission int) *ReserveActionPermissionBuilder { 1900 builder.permission = permission 1901 builder.permissionFlag = true 1902 return builder 1903 } 1904 1905 // 权限检查器列表,权限检查器之间为"逻辑或"的关系(即 有一个为true则拥有该权限) 1906 // 1907 // 示例值: 1908 func (builder *ReserveActionPermissionBuilder) PermissionCheckers(permissionCheckers []*ReservePermissionChecker) *ReserveActionPermissionBuilder { 1909 builder.permissionCheckers = permissionCheckers 1910 builder.permissionCheckersFlag = true 1911 return builder 1912 } 1913 1914 func (builder *ReserveActionPermissionBuilder) Build() *ReserveActionPermission { 1915 req := &ReserveActionPermission{} 1916 if builder.permissionFlag { 1917 req.Permission = &builder.permission 1918 1919 } 1920 if builder.permissionCheckersFlag { 1921 req.PermissionCheckers = builder.permissionCheckers 1922 } 1923 return req 1924 } 1925 1926 type ReserveCallSetting struct { 1927 Callee *ReserveCallee `json:"callee,omitempty"` // 被呼叫的用户 1928 } 1929 1930 type ReserveCallSettingBuilder struct { 1931 callee *ReserveCallee // 被呼叫的用户 1932 calleeFlag bool 1933 } 1934 1935 func NewReserveCallSettingBuilder() *ReserveCallSettingBuilder { 1936 builder := &ReserveCallSettingBuilder{} 1937 return builder 1938 } 1939 1940 // 被呼叫的用户 1941 // 1942 // 示例值: 1943 func (builder *ReserveCallSettingBuilder) Callee(callee *ReserveCallee) *ReserveCallSettingBuilder { 1944 builder.callee = callee 1945 builder.calleeFlag = true 1946 return builder 1947 } 1948 1949 func (builder *ReserveCallSettingBuilder) Build() *ReserveCallSetting { 1950 req := &ReserveCallSetting{} 1951 if builder.calleeFlag { 1952 req.Callee = builder.callee 1953 } 1954 return req 1955 } 1956 1957 type ReserveCallee struct { 1958 Id *string `json:"id,omitempty"` // 用户ID 1959 UserType *int `json:"user_type,omitempty"` // 用户类型,当前仅支持用户类型6(pstn用户) 1960 PstnSipInfo *PstnSipInfo `json:"pstn_sip_info,omitempty"` // pstn/sip信息 1961 } 1962 1963 type ReserveCalleeBuilder struct { 1964 id string // 用户ID 1965 idFlag bool 1966 userType int // 用户类型,当前仅支持用户类型6(pstn用户) 1967 userTypeFlag bool 1968 pstnSipInfo *PstnSipInfo // pstn/sip信息 1969 pstnSipInfoFlag bool 1970 } 1971 1972 func NewReserveCalleeBuilder() *ReserveCalleeBuilder { 1973 builder := &ReserveCalleeBuilder{} 1974 return builder 1975 } 1976 1977 // 用户ID 1978 // 1979 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 1980 func (builder *ReserveCalleeBuilder) Id(id string) *ReserveCalleeBuilder { 1981 builder.id = id 1982 builder.idFlag = true 1983 return builder 1984 } 1985 1986 // 用户类型,当前仅支持用户类型6(pstn用户) 1987 // 1988 // 示例值:1 1989 func (builder *ReserveCalleeBuilder) UserType(userType int) *ReserveCalleeBuilder { 1990 builder.userType = userType 1991 builder.userTypeFlag = true 1992 return builder 1993 } 1994 1995 // pstn/sip信息 1996 // 1997 // 示例值: 1998 func (builder *ReserveCalleeBuilder) PstnSipInfo(pstnSipInfo *PstnSipInfo) *ReserveCalleeBuilder { 1999 builder.pstnSipInfo = pstnSipInfo 2000 builder.pstnSipInfoFlag = true 2001 return builder 2002 } 2003 2004 func (builder *ReserveCalleeBuilder) Build() *ReserveCallee { 2005 req := &ReserveCallee{} 2006 if builder.idFlag { 2007 req.Id = &builder.id 2008 2009 } 2010 if builder.userTypeFlag { 2011 req.UserType = &builder.userType 2012 2013 } 2014 if builder.pstnSipInfoFlag { 2015 req.PstnSipInfo = builder.pstnSipInfo 2016 } 2017 return req 2018 } 2019 2020 type ReserveMeetingSetting struct { 2021 Topic *string `json:"topic,omitempty"` // 会议主题 2022 ActionPermissions []*ReserveActionPermission `json:"action_permissions,omitempty"` // 会议权限配置列表,如果存在相同的权限配置项则它们之间为"逻辑或"的关系(即 有一个为true则拥有该权限) 2023 MeetingInitialType *int `json:"meeting_initial_type,omitempty"` // 会议初始类型 2024 CallSetting *ReserveCallSetting `json:"call_setting,omitempty"` // 1v1呼叫相关参数 2025 AutoRecord *bool `json:"auto_record,omitempty"` // 使用飞书视频会议时,是否开启自动录制,默认false 2026 } 2027 2028 type ReserveMeetingSettingBuilder struct { 2029 topic string // 会议主题 2030 topicFlag bool 2031 actionPermissions []*ReserveActionPermission // 会议权限配置列表,如果存在相同的权限配置项则它们之间为"逻辑或"的关系(即 有一个为true则拥有该权限) 2032 actionPermissionsFlag bool 2033 meetingInitialType int // 会议初始类型 2034 meetingInitialTypeFlag bool 2035 callSetting *ReserveCallSetting // 1v1呼叫相关参数 2036 callSettingFlag bool 2037 autoRecord bool // 使用飞书视频会议时,是否开启自动录制,默认false 2038 autoRecordFlag bool 2039 } 2040 2041 func NewReserveMeetingSettingBuilder() *ReserveMeetingSettingBuilder { 2042 builder := &ReserveMeetingSettingBuilder{} 2043 return builder 2044 } 2045 2046 // 会议主题 2047 // 2048 // 示例值:my meeting 2049 func (builder *ReserveMeetingSettingBuilder) Topic(topic string) *ReserveMeetingSettingBuilder { 2050 builder.topic = topic 2051 builder.topicFlag = true 2052 return builder 2053 } 2054 2055 // 会议权限配置列表,如果存在相同的权限配置项则它们之间为"逻辑或"的关系(即 有一个为true则拥有该权限) 2056 // 2057 // 示例值: 2058 func (builder *ReserveMeetingSettingBuilder) ActionPermissions(actionPermissions []*ReserveActionPermission) *ReserveMeetingSettingBuilder { 2059 builder.actionPermissions = actionPermissions 2060 builder.actionPermissionsFlag = true 2061 return builder 2062 } 2063 2064 // 会议初始类型 2065 // 2066 // 示例值:1 2067 func (builder *ReserveMeetingSettingBuilder) MeetingInitialType(meetingInitialType int) *ReserveMeetingSettingBuilder { 2068 builder.meetingInitialType = meetingInitialType 2069 builder.meetingInitialTypeFlag = true 2070 return builder 2071 } 2072 2073 // 1v1呼叫相关参数 2074 // 2075 // 示例值: 2076 func (builder *ReserveMeetingSettingBuilder) CallSetting(callSetting *ReserveCallSetting) *ReserveMeetingSettingBuilder { 2077 builder.callSetting = callSetting 2078 builder.callSettingFlag = true 2079 return builder 2080 } 2081 2082 // 使用飞书视频会议时,是否开启自动录制,默认false 2083 // 2084 // 示例值:true 2085 func (builder *ReserveMeetingSettingBuilder) AutoRecord(autoRecord bool) *ReserveMeetingSettingBuilder { 2086 builder.autoRecord = autoRecord 2087 builder.autoRecordFlag = true 2088 return builder 2089 } 2090 2091 func (builder *ReserveMeetingSettingBuilder) Build() *ReserveMeetingSetting { 2092 req := &ReserveMeetingSetting{} 2093 if builder.topicFlag { 2094 req.Topic = &builder.topic 2095 2096 } 2097 if builder.actionPermissionsFlag { 2098 req.ActionPermissions = builder.actionPermissions 2099 } 2100 if builder.meetingInitialTypeFlag { 2101 req.MeetingInitialType = &builder.meetingInitialType 2102 2103 } 2104 if builder.callSettingFlag { 2105 req.CallSetting = builder.callSetting 2106 } 2107 if builder.autoRecordFlag { 2108 req.AutoRecord = &builder.autoRecord 2109 2110 } 2111 return req 2112 } 2113 2114 type ReservePermissionChecker struct { 2115 CheckField *int `json:"check_field,omitempty"` // 检查字段类型 2116 CheckMode *int `json:"check_mode,omitempty"` // 检查方式 2117 CheckList []string `json:"check_list,omitempty"` // 检查字段列表 2118 } 2119 2120 type ReservePermissionCheckerBuilder struct { 2121 checkField int // 检查字段类型 2122 checkFieldFlag bool 2123 checkMode int // 检查方式 2124 checkModeFlag bool 2125 checkList []string // 检查字段列表 2126 checkListFlag bool 2127 } 2128 2129 func NewReservePermissionCheckerBuilder() *ReservePermissionCheckerBuilder { 2130 builder := &ReservePermissionCheckerBuilder{} 2131 return builder 2132 } 2133 2134 // 检查字段类型 2135 // 2136 // 示例值:1 2137 func (builder *ReservePermissionCheckerBuilder) CheckField(checkField int) *ReservePermissionCheckerBuilder { 2138 builder.checkField = checkField 2139 builder.checkFieldFlag = true 2140 return builder 2141 } 2142 2143 // 检查方式 2144 // 2145 // 示例值:1 2146 func (builder *ReservePermissionCheckerBuilder) CheckMode(checkMode int) *ReservePermissionCheckerBuilder { 2147 builder.checkMode = checkMode 2148 builder.checkModeFlag = true 2149 return builder 2150 } 2151 2152 // 检查字段列表 2153 // 2154 // 示例值:123 2155 func (builder *ReservePermissionCheckerBuilder) CheckList(checkList []string) *ReservePermissionCheckerBuilder { 2156 builder.checkList = checkList 2157 builder.checkListFlag = true 2158 return builder 2159 } 2160 2161 func (builder *ReservePermissionCheckerBuilder) Build() *ReservePermissionChecker { 2162 req := &ReservePermissionChecker{} 2163 if builder.checkFieldFlag { 2164 req.CheckField = &builder.checkField 2165 2166 } 2167 if builder.checkModeFlag { 2168 req.CheckMode = &builder.checkMode 2169 2170 } 2171 if builder.checkListFlag { 2172 req.CheckList = builder.checkList 2173 } 2174 return req 2175 } 2176 2177 type RoomConfig struct { 2178 RoomBackground *string `json:"room_background,omitempty"` // 飞书会议室背景图 2179 DisplayBackground *string `json:"display_background,omitempty"` // 飞书签到板背景图 2180 DigitalSignage *RoomDigitalSignage `json:"digital_signage,omitempty"` // 飞书会议室数字标牌 2181 RoomBoxDigitalSignage *RoomDigitalSignage `json:"room_box_digital_signage,omitempty"` // 飞书投屏盒子数字标牌 2182 RoomStatus *RoomStatus `json:"room_status,omitempty"` // 会议室状态 2183 } 2184 2185 type RoomConfigBuilder struct { 2186 roomBackground string // 飞书会议室背景图 2187 roomBackgroundFlag bool 2188 displayBackground string // 飞书签到板背景图 2189 displayBackgroundFlag bool 2190 digitalSignage *RoomDigitalSignage // 飞书会议室数字标牌 2191 digitalSignageFlag bool 2192 roomBoxDigitalSignage *RoomDigitalSignage // 飞书投屏盒子数字标牌 2193 roomBoxDigitalSignageFlag bool 2194 roomStatus *RoomStatus // 会议室状态 2195 roomStatusFlag bool 2196 } 2197 2198 func NewRoomConfigBuilder() *RoomConfigBuilder { 2199 builder := &RoomConfigBuilder{} 2200 return builder 2201 } 2202 2203 // 飞书会议室背景图 2204 // 2205 // 示例值:https://lf1-ttcdn-tos.pstatp.com/obj/xxx 2206 func (builder *RoomConfigBuilder) RoomBackground(roomBackground string) *RoomConfigBuilder { 2207 builder.roomBackground = roomBackground 2208 builder.roomBackgroundFlag = true 2209 return builder 2210 } 2211 2212 // 飞书签到板背景图 2213 // 2214 // 示例值:https://lf1-ttcdn-tos.pstatp.com/obj/xxx 2215 func (builder *RoomConfigBuilder) DisplayBackground(displayBackground string) *RoomConfigBuilder { 2216 builder.displayBackground = displayBackground 2217 builder.displayBackgroundFlag = true 2218 return builder 2219 } 2220 2221 // 飞书会议室数字标牌 2222 // 2223 // 示例值: 2224 func (builder *RoomConfigBuilder) DigitalSignage(digitalSignage *RoomDigitalSignage) *RoomConfigBuilder { 2225 builder.digitalSignage = digitalSignage 2226 builder.digitalSignageFlag = true 2227 return builder 2228 } 2229 2230 // 飞书投屏盒子数字标牌 2231 // 2232 // 示例值: 2233 func (builder *RoomConfigBuilder) RoomBoxDigitalSignage(roomBoxDigitalSignage *RoomDigitalSignage) *RoomConfigBuilder { 2234 builder.roomBoxDigitalSignage = roomBoxDigitalSignage 2235 builder.roomBoxDigitalSignageFlag = true 2236 return builder 2237 } 2238 2239 // 会议室状态 2240 // 2241 // 示例值: 2242 func (builder *RoomConfigBuilder) RoomStatus(roomStatus *RoomStatus) *RoomConfigBuilder { 2243 builder.roomStatus = roomStatus 2244 builder.roomStatusFlag = true 2245 return builder 2246 } 2247 2248 func (builder *RoomConfigBuilder) Build() *RoomConfig { 2249 req := &RoomConfig{} 2250 if builder.roomBackgroundFlag { 2251 req.RoomBackground = &builder.roomBackground 2252 2253 } 2254 if builder.displayBackgroundFlag { 2255 req.DisplayBackground = &builder.displayBackground 2256 2257 } 2258 if builder.digitalSignageFlag { 2259 req.DigitalSignage = builder.digitalSignage 2260 } 2261 if builder.roomBoxDigitalSignageFlag { 2262 req.RoomBoxDigitalSignage = builder.roomBoxDigitalSignage 2263 } 2264 if builder.roomStatusFlag { 2265 req.RoomStatus = builder.roomStatus 2266 } 2267 return req 2268 } 2269 2270 type RoomDigitalSignage struct { 2271 Enable *bool `json:"enable,omitempty"` // 是否开启数字标牌功能 2272 Mute *bool `json:"mute,omitempty"` // 是否静音播放 2273 StartDisplay *int `json:"start_display,omitempty"` // 日程会议开始前n分钟结束播放 2274 StopDisplay *int `json:"stop_display,omitempty"` // 会议结束后n分钟开始播放 2275 Materials []*RoomDigitalSignageMaterial `json:"materials,omitempty"` // 素材列表 2276 } 2277 2278 type RoomDigitalSignageBuilder struct { 2279 enable bool // 是否开启数字标牌功能 2280 enableFlag bool 2281 mute bool // 是否静音播放 2282 muteFlag bool 2283 startDisplay int // 日程会议开始前n分钟结束播放 2284 startDisplayFlag bool 2285 stopDisplay int // 会议结束后n分钟开始播放 2286 stopDisplayFlag bool 2287 materials []*RoomDigitalSignageMaterial // 素材列表 2288 materialsFlag bool 2289 } 2290 2291 func NewRoomDigitalSignageBuilder() *RoomDigitalSignageBuilder { 2292 builder := &RoomDigitalSignageBuilder{} 2293 return builder 2294 } 2295 2296 // 是否开启数字标牌功能 2297 // 2298 // 示例值:true 2299 func (builder *RoomDigitalSignageBuilder) Enable(enable bool) *RoomDigitalSignageBuilder { 2300 builder.enable = enable 2301 builder.enableFlag = true 2302 return builder 2303 } 2304 2305 // 是否静音播放 2306 // 2307 // 示例值:true 2308 func (builder *RoomDigitalSignageBuilder) Mute(mute bool) *RoomDigitalSignageBuilder { 2309 builder.mute = mute 2310 builder.muteFlag = true 2311 return builder 2312 } 2313 2314 // 日程会议开始前n分钟结束播放 2315 // 2316 // 示例值:3 2317 func (builder *RoomDigitalSignageBuilder) StartDisplay(startDisplay int) *RoomDigitalSignageBuilder { 2318 builder.startDisplay = startDisplay 2319 builder.startDisplayFlag = true 2320 return builder 2321 } 2322 2323 // 会议结束后n分钟开始播放 2324 // 2325 // 示例值:3 2326 func (builder *RoomDigitalSignageBuilder) StopDisplay(stopDisplay int) *RoomDigitalSignageBuilder { 2327 builder.stopDisplay = stopDisplay 2328 builder.stopDisplayFlag = true 2329 return builder 2330 } 2331 2332 // 素材列表 2333 // 2334 // 示例值: 2335 func (builder *RoomDigitalSignageBuilder) Materials(materials []*RoomDigitalSignageMaterial) *RoomDigitalSignageBuilder { 2336 builder.materials = materials 2337 builder.materialsFlag = true 2338 return builder 2339 } 2340 2341 func (builder *RoomDigitalSignageBuilder) Build() *RoomDigitalSignage { 2342 req := &RoomDigitalSignage{} 2343 if builder.enableFlag { 2344 req.Enable = &builder.enable 2345 2346 } 2347 if builder.muteFlag { 2348 req.Mute = &builder.mute 2349 2350 } 2351 if builder.startDisplayFlag { 2352 req.StartDisplay = &builder.startDisplay 2353 2354 } 2355 if builder.stopDisplayFlag { 2356 req.StopDisplay = &builder.stopDisplay 2357 2358 } 2359 if builder.materialsFlag { 2360 req.Materials = builder.materials 2361 } 2362 return req 2363 } 2364 2365 type RoomDigitalSignageMaterial struct { 2366 Id *string `json:"id,omitempty"` // 素材ID 2367 Name *string `json:"name,omitempty"` // 素材名称 2368 MaterialType *int `json:"material_type,omitempty"` // 素材类型 2369 Url *string `json:"url,omitempty"` // 素材url 2370 Duration *int `json:"duration,omitempty"` // 播放时长(单位sec) 2371 Cover *string `json:"cover,omitempty"` // 素材封面url 2372 Md5 *string `json:"md5,omitempty"` // 素材文件md5 2373 Vid *string `json:"vid,omitempty"` // 素材文件vid 2374 Size *string `json:"size,omitempty"` // 素材文件大小(单位byte) 2375 } 2376 2377 type RoomDigitalSignageMaterialBuilder struct { 2378 id string // 素材ID 2379 idFlag bool 2380 name string // 素材名称 2381 nameFlag bool 2382 materialType int // 素材类型 2383 materialTypeFlag bool 2384 url string // 素材url 2385 urlFlag bool 2386 duration int // 播放时长(单位sec) 2387 durationFlag bool 2388 cover string // 素材封面url 2389 coverFlag bool 2390 md5 string // 素材文件md5 2391 md5Flag bool 2392 vid string // 素材文件vid 2393 vidFlag bool 2394 size string // 素材文件大小(单位byte) 2395 sizeFlag bool 2396 } 2397 2398 func NewRoomDigitalSignageMaterialBuilder() *RoomDigitalSignageMaterialBuilder { 2399 builder := &RoomDigitalSignageMaterialBuilder{} 2400 return builder 2401 } 2402 2403 // 素材ID 2404 // 2405 // 示例值:7847784676276 2406 func (builder *RoomDigitalSignageMaterialBuilder) Id(id string) *RoomDigitalSignageMaterialBuilder { 2407 builder.id = id 2408 builder.idFlag = true 2409 return builder 2410 } 2411 2412 // 素材名称 2413 // 2414 // 示例值:name 2415 func (builder *RoomDigitalSignageMaterialBuilder) Name(name string) *RoomDigitalSignageMaterialBuilder { 2416 builder.name = name 2417 builder.nameFlag = true 2418 return builder 2419 } 2420 2421 // 素材类型 2422 // 2423 // 示例值:0 2424 func (builder *RoomDigitalSignageMaterialBuilder) MaterialType(materialType int) *RoomDigitalSignageMaterialBuilder { 2425 builder.materialType = materialType 2426 builder.materialTypeFlag = true 2427 return builder 2428 } 2429 2430 // 素材url 2431 // 2432 // 示例值:url 2433 func (builder *RoomDigitalSignageMaterialBuilder) Url(url string) *RoomDigitalSignageMaterialBuilder { 2434 builder.url = url 2435 builder.urlFlag = true 2436 return builder 2437 } 2438 2439 // 播放时长(单位sec) 2440 // 2441 // 示例值:15 2442 func (builder *RoomDigitalSignageMaterialBuilder) Duration(duration int) *RoomDigitalSignageMaterialBuilder { 2443 builder.duration = duration 2444 builder.durationFlag = true 2445 return builder 2446 } 2447 2448 // 素材封面url 2449 // 2450 // 示例值:url 2451 func (builder *RoomDigitalSignageMaterialBuilder) Cover(cover string) *RoomDigitalSignageMaterialBuilder { 2452 builder.cover = cover 2453 builder.coverFlag = true 2454 return builder 2455 } 2456 2457 // 素材文件md5 2458 // 2459 // 示例值:md5 2460 func (builder *RoomDigitalSignageMaterialBuilder) Md5(md5 string) *RoomDigitalSignageMaterialBuilder { 2461 builder.md5 = md5 2462 builder.md5Flag = true 2463 return builder 2464 } 2465 2466 // 素材文件vid 2467 // 2468 // 示例值:vid 2469 func (builder *RoomDigitalSignageMaterialBuilder) Vid(vid string) *RoomDigitalSignageMaterialBuilder { 2470 builder.vid = vid 2471 builder.vidFlag = true 2472 return builder 2473 } 2474 2475 // 素材文件大小(单位byte) 2476 // 2477 // 示例值:100 2478 func (builder *RoomDigitalSignageMaterialBuilder) Size(size string) *RoomDigitalSignageMaterialBuilder { 2479 builder.size = size 2480 builder.sizeFlag = true 2481 return builder 2482 } 2483 2484 func (builder *RoomDigitalSignageMaterialBuilder) Build() *RoomDigitalSignageMaterial { 2485 req := &RoomDigitalSignageMaterial{} 2486 if builder.idFlag { 2487 req.Id = &builder.id 2488 2489 } 2490 if builder.nameFlag { 2491 req.Name = &builder.name 2492 2493 } 2494 if builder.materialTypeFlag { 2495 req.MaterialType = &builder.materialType 2496 2497 } 2498 if builder.urlFlag { 2499 req.Url = &builder.url 2500 2501 } 2502 if builder.durationFlag { 2503 req.Duration = &builder.duration 2504 2505 } 2506 if builder.coverFlag { 2507 req.Cover = &builder.cover 2508 2509 } 2510 if builder.md5Flag { 2511 req.Md5 = &builder.md5 2512 2513 } 2514 if builder.vidFlag { 2515 req.Vid = &builder.vid 2516 2517 } 2518 if builder.sizeFlag { 2519 req.Size = &builder.size 2520 2521 } 2522 return req 2523 } 2524 2525 type RoomStatus struct { 2526 Status *bool `json:"status,omitempty"` // 是否启用会议室 2527 ScheduleStatus *bool `json:"schedule_status,omitempty"` // 会议室未来状态为启用或禁用 2528 DisableStartTime *string `json:"disable_start_time,omitempty"` // 禁用开始时间(unix时间,单位sec) 2529 DisableEndTime *string `json:"disable_end_time,omitempty"` // 禁用结束时间(unix时间,单位sec,数值0表示永久禁用) 2530 DisableReason *string `json:"disable_reason,omitempty"` // 禁用原因 2531 ContactIds []string `json:"contact_ids,omitempty"` // 联系人列表,id类型由user_id_type参数决定 2532 DisableNotice *bool `json:"disable_notice,omitempty"` // 是否在禁用时发送通知给预定了该会议室的员工 2533 ResumeNotice *bool `json:"resume_notice,omitempty"` // 是否在恢复启用时发送通知给预定了该会议室的员工 2534 } 2535 2536 type RoomStatusBuilder struct { 2537 status bool // 是否启用会议室 2538 statusFlag bool 2539 scheduleStatus bool // 会议室未来状态为启用或禁用 2540 scheduleStatusFlag bool 2541 disableStartTime string // 禁用开始时间(unix时间,单位sec) 2542 disableStartTimeFlag bool 2543 disableEndTime string // 禁用结束时间(unix时间,单位sec,数值0表示永久禁用) 2544 disableEndTimeFlag bool 2545 disableReason string // 禁用原因 2546 disableReasonFlag bool 2547 contactIds []string // 联系人列表,id类型由user_id_type参数决定 2548 contactIdsFlag bool 2549 disableNotice bool // 是否在禁用时发送通知给预定了该会议室的员工 2550 disableNoticeFlag bool 2551 resumeNotice bool // 是否在恢复启用时发送通知给预定了该会议室的员工 2552 resumeNoticeFlag bool 2553 } 2554 2555 func NewRoomStatusBuilder() *RoomStatusBuilder { 2556 builder := &RoomStatusBuilder{} 2557 return builder 2558 } 2559 2560 // 是否启用会议室 2561 // 2562 // 示例值:true 2563 func (builder *RoomStatusBuilder) Status(status bool) *RoomStatusBuilder { 2564 builder.status = status 2565 builder.statusFlag = true 2566 return builder 2567 } 2568 2569 // 会议室未来状态为启用或禁用 2570 // 2571 // 示例值:true 2572 func (builder *RoomStatusBuilder) ScheduleStatus(scheduleStatus bool) *RoomStatusBuilder { 2573 builder.scheduleStatus = scheduleStatus 2574 builder.scheduleStatusFlag = true 2575 return builder 2576 } 2577 2578 // 禁用开始时间(unix时间,单位sec) 2579 // 2580 // 示例值:1652356050 2581 func (builder *RoomStatusBuilder) DisableStartTime(disableStartTime string) *RoomStatusBuilder { 2582 builder.disableStartTime = disableStartTime 2583 builder.disableStartTimeFlag = true 2584 return builder 2585 } 2586 2587 // 禁用结束时间(unix时间,单位sec,数值0表示永久禁用) 2588 // 2589 // 示例值:1652442450 2590 func (builder *RoomStatusBuilder) DisableEndTime(disableEndTime string) *RoomStatusBuilder { 2591 builder.disableEndTime = disableEndTime 2592 builder.disableEndTimeFlag = true 2593 return builder 2594 } 2595 2596 // 禁用原因 2597 // 2598 // 示例值:测试占用 2599 func (builder *RoomStatusBuilder) DisableReason(disableReason string) *RoomStatusBuilder { 2600 builder.disableReason = disableReason 2601 builder.disableReasonFlag = true 2602 return builder 2603 } 2604 2605 // 联系人列表,id类型由user_id_type参数决定 2606 // 2607 // 示例值:["ou_3ec3f6a28a0d08c45d895276e8e5e19b"] 2608 func (builder *RoomStatusBuilder) ContactIds(contactIds []string) *RoomStatusBuilder { 2609 builder.contactIds = contactIds 2610 builder.contactIdsFlag = true 2611 return builder 2612 } 2613 2614 // 是否在禁用时发送通知给预定了该会议室的员工 2615 // 2616 // 示例值:true 2617 func (builder *RoomStatusBuilder) DisableNotice(disableNotice bool) *RoomStatusBuilder { 2618 builder.disableNotice = disableNotice 2619 builder.disableNoticeFlag = true 2620 return builder 2621 } 2622 2623 // 是否在恢复启用时发送通知给预定了该会议室的员工 2624 // 2625 // 示例值:true 2626 func (builder *RoomStatusBuilder) ResumeNotice(resumeNotice bool) *RoomStatusBuilder { 2627 builder.resumeNotice = resumeNotice 2628 builder.resumeNoticeFlag = true 2629 return builder 2630 } 2631 2632 func (builder *RoomStatusBuilder) Build() *RoomStatus { 2633 req := &RoomStatus{} 2634 if builder.statusFlag { 2635 req.Status = &builder.status 2636 2637 } 2638 if builder.scheduleStatusFlag { 2639 req.ScheduleStatus = &builder.scheduleStatus 2640 2641 } 2642 if builder.disableStartTimeFlag { 2643 req.DisableStartTime = &builder.disableStartTime 2644 2645 } 2646 if builder.disableEndTimeFlag { 2647 req.DisableEndTime = &builder.disableEndTime 2648 2649 } 2650 if builder.disableReasonFlag { 2651 req.DisableReason = &builder.disableReason 2652 2653 } 2654 if builder.contactIdsFlag { 2655 req.ContactIds = builder.contactIds 2656 } 2657 if builder.disableNoticeFlag { 2658 req.DisableNotice = &builder.disableNotice 2659 2660 } 2661 if builder.resumeNoticeFlag { 2662 req.ResumeNotice = &builder.resumeNotice 2663 2664 } 2665 return req 2666 } 2667 2668 type UserId struct { 2669 UserId *string `json:"user_id,omitempty"` // 2670 OpenId *string `json:"open_id,omitempty"` // 2671 UnionId *string `json:"union_id,omitempty"` // 2672 } 2673 2674 type UserIdBuilder struct { 2675 userId string // 2676 userIdFlag bool 2677 openId string // 2678 openIdFlag bool 2679 unionId string // 2680 unionIdFlag bool 2681 } 2682 2683 func NewUserIdBuilder() *UserIdBuilder { 2684 builder := &UserIdBuilder{} 2685 return builder 2686 } 2687 2688 // 2689 // 2690 // 示例值: 2691 func (builder *UserIdBuilder) UserId(userId string) *UserIdBuilder { 2692 builder.userId = userId 2693 builder.userIdFlag = true 2694 return builder 2695 } 2696 2697 // 2698 // 2699 // 示例值: 2700 func (builder *UserIdBuilder) OpenId(openId string) *UserIdBuilder { 2701 builder.openId = openId 2702 builder.openIdFlag = true 2703 return builder 2704 } 2705 2706 // 2707 // 2708 // 示例值: 2709 func (builder *UserIdBuilder) UnionId(unionId string) *UserIdBuilder { 2710 builder.unionId = unionId 2711 builder.unionIdFlag = true 2712 return builder 2713 } 2714 2715 func (builder *UserIdBuilder) Build() *UserId { 2716 req := &UserId{} 2717 if builder.userIdFlag { 2718 req.UserId = &builder.userId 2719 2720 } 2721 if builder.openIdFlag { 2722 req.OpenId = &builder.openId 2723 2724 } 2725 if builder.unionIdFlag { 2726 req.UnionId = &builder.unionId 2727 2728 } 2729 return req 2730 } 2731 2732 type GetExportReqBuilder struct { 2733 apiReq *larkcore.ApiReq 2734 } 2735 2736 func NewGetExportReqBuilder() *GetExportReqBuilder { 2737 builder := &GetExportReqBuilder{} 2738 builder.apiReq = &larkcore.ApiReq{ 2739 PathParams: larkcore.PathParams{}, 2740 QueryParams: larkcore.QueryParams{}, 2741 } 2742 return builder 2743 } 2744 2745 // 任务id 2746 // 2747 // 示例值:7108646852144136212 2748 func (builder *GetExportReqBuilder) TaskId(taskId string) *GetExportReqBuilder { 2749 builder.apiReq.PathParams.Set("task_id", fmt.Sprint(taskId)) 2750 return builder 2751 } 2752 2753 func (builder *GetExportReqBuilder) Build() *GetExportReq { 2754 req := &GetExportReq{} 2755 req.apiReq = &larkcore.ApiReq{} 2756 req.apiReq.PathParams = builder.apiReq.PathParams 2757 return req 2758 } 2759 2760 type GetExportReq struct { 2761 apiReq *larkcore.ApiReq 2762 } 2763 2764 type GetExportRespData struct { 2765 Status *int `json:"status,omitempty"` // 任务状态 2766 Url *string `json:"url,omitempty"` // 文件下载地址 2767 } 2768 2769 type GetExportResp struct { 2770 *larkcore.ApiResp `json:"-"` 2771 larkcore.CodeError 2772 Data *GetExportRespData `json:"data"` // 业务数据 2773 } 2774 2775 func (resp *GetExportResp) Success() bool { 2776 return resp.Code == 0 2777 } 2778 2779 type MeetingListExportReqBodyBuilder struct { 2780 startTime string // 查询开始时间(unix时间,单位sec) 2781 startTimeFlag bool 2782 endTime string // 查询结束时间(unix时间,单位sec) 2783 endTimeFlag bool 2784 meetingNo string // 按9位会议号筛选(最多一个筛选条件) 2785 meetingNoFlag bool 2786 userId string // 按参会Lark用户筛选(最多一个筛选条件) 2787 userIdFlag bool 2788 roomId string // 按参会Rooms筛选(最多一个筛选条件) 2789 roomIdFlag bool 2790 } 2791 2792 func NewMeetingListExportReqBodyBuilder() *MeetingListExportReqBodyBuilder { 2793 builder := &MeetingListExportReqBodyBuilder{} 2794 return builder 2795 } 2796 2797 // 查询开始时间(unix时间,单位sec) 2798 // 2799 //示例值:1655276858 2800 func (builder *MeetingListExportReqBodyBuilder) StartTime(startTime string) *MeetingListExportReqBodyBuilder { 2801 builder.startTime = startTime 2802 builder.startTimeFlag = true 2803 return builder 2804 } 2805 2806 // 查询结束时间(unix时间,单位sec) 2807 // 2808 //示例值:1655276858 2809 func (builder *MeetingListExportReqBodyBuilder) EndTime(endTime string) *MeetingListExportReqBodyBuilder { 2810 builder.endTime = endTime 2811 builder.endTimeFlag = true 2812 return builder 2813 } 2814 2815 // 按9位会议号筛选(最多一个筛选条件) 2816 // 2817 //示例值:123456789 2818 func (builder *MeetingListExportReqBodyBuilder) MeetingNo(meetingNo string) *MeetingListExportReqBodyBuilder { 2819 builder.meetingNo = meetingNo 2820 builder.meetingNoFlag = true 2821 return builder 2822 } 2823 2824 // 按参会Lark用户筛选(最多一个筛选条件) 2825 // 2826 //示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 2827 func (builder *MeetingListExportReqBodyBuilder) UserId(userId string) *MeetingListExportReqBodyBuilder { 2828 builder.userId = userId 2829 builder.userIdFlag = true 2830 return builder 2831 } 2832 2833 // 按参会Rooms筛选(最多一个筛选条件) 2834 // 2835 //示例值:omm_eada1d61a550955240c28757e7dec3af 2836 func (builder *MeetingListExportReqBodyBuilder) RoomId(roomId string) *MeetingListExportReqBodyBuilder { 2837 builder.roomId = roomId 2838 builder.roomIdFlag = true 2839 return builder 2840 } 2841 2842 func (builder *MeetingListExportReqBodyBuilder) Build() *MeetingListExportReqBody { 2843 req := &MeetingListExportReqBody{} 2844 if builder.startTimeFlag { 2845 req.StartTime = &builder.startTime 2846 } 2847 if builder.endTimeFlag { 2848 req.EndTime = &builder.endTime 2849 } 2850 if builder.meetingNoFlag { 2851 req.MeetingNo = &builder.meetingNo 2852 } 2853 if builder.userIdFlag { 2854 req.UserId = &builder.userId 2855 } 2856 if builder.roomIdFlag { 2857 req.RoomId = &builder.roomId 2858 } 2859 return req 2860 } 2861 2862 type MeetingListExportPathReqBodyBuilder struct { 2863 startTime string // 查询开始时间(unix时间,单位sec) 2864 startTimeFlag bool 2865 endTime string // 查询结束时间(unix时间,单位sec) 2866 endTimeFlag bool 2867 meetingNo string // 按9位会议号筛选(最多一个筛选条件) 2868 meetingNoFlag bool 2869 userId string // 按参会Lark用户筛选(最多一个筛选条件) 2870 userIdFlag bool 2871 roomId string // 按参会Rooms筛选(最多一个筛选条件) 2872 roomIdFlag bool 2873 } 2874 2875 func NewMeetingListExportPathReqBodyBuilder() *MeetingListExportPathReqBodyBuilder { 2876 builder := &MeetingListExportPathReqBodyBuilder{} 2877 return builder 2878 } 2879 2880 // 查询开始时间(unix时间,单位sec) 2881 // 2882 // 示例值:1655276858 2883 func (builder *MeetingListExportPathReqBodyBuilder) StartTime(startTime string) *MeetingListExportPathReqBodyBuilder { 2884 builder.startTime = startTime 2885 builder.startTimeFlag = true 2886 return builder 2887 } 2888 2889 // 查询结束时间(unix时间,单位sec) 2890 // 2891 // 示例值:1655276858 2892 func (builder *MeetingListExportPathReqBodyBuilder) EndTime(endTime string) *MeetingListExportPathReqBodyBuilder { 2893 builder.endTime = endTime 2894 builder.endTimeFlag = true 2895 return builder 2896 } 2897 2898 // 按9位会议号筛选(最多一个筛选条件) 2899 // 2900 // 示例值:123456789 2901 func (builder *MeetingListExportPathReqBodyBuilder) MeetingNo(meetingNo string) *MeetingListExportPathReqBodyBuilder { 2902 builder.meetingNo = meetingNo 2903 builder.meetingNoFlag = true 2904 return builder 2905 } 2906 2907 // 按参会Lark用户筛选(最多一个筛选条件) 2908 // 2909 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 2910 func (builder *MeetingListExportPathReqBodyBuilder) UserId(userId string) *MeetingListExportPathReqBodyBuilder { 2911 builder.userId = userId 2912 builder.userIdFlag = true 2913 return builder 2914 } 2915 2916 // 按参会Rooms筛选(最多一个筛选条件) 2917 // 2918 // 示例值:omm_eada1d61a550955240c28757e7dec3af 2919 func (builder *MeetingListExportPathReqBodyBuilder) RoomId(roomId string) *MeetingListExportPathReqBodyBuilder { 2920 builder.roomId = roomId 2921 builder.roomIdFlag = true 2922 return builder 2923 } 2924 2925 func (builder *MeetingListExportPathReqBodyBuilder) Build() (*MeetingListExportReqBody, error) { 2926 req := &MeetingListExportReqBody{} 2927 if builder.startTimeFlag { 2928 req.StartTime = &builder.startTime 2929 } 2930 if builder.endTimeFlag { 2931 req.EndTime = &builder.endTime 2932 } 2933 if builder.meetingNoFlag { 2934 req.MeetingNo = &builder.meetingNo 2935 } 2936 if builder.userIdFlag { 2937 req.UserId = &builder.userId 2938 } 2939 if builder.roomIdFlag { 2940 req.RoomId = &builder.roomId 2941 } 2942 return req, nil 2943 } 2944 2945 type MeetingListExportReqBuilder struct { 2946 apiReq *larkcore.ApiReq 2947 body *MeetingListExportReqBody 2948 } 2949 2950 func NewMeetingListExportReqBuilder() *MeetingListExportReqBuilder { 2951 builder := &MeetingListExportReqBuilder{} 2952 builder.apiReq = &larkcore.ApiReq{ 2953 PathParams: larkcore.PathParams{}, 2954 QueryParams: larkcore.QueryParams{}, 2955 } 2956 return builder 2957 } 2958 2959 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 2960 // 2961 // 示例值: 2962 func (builder *MeetingListExportReqBuilder) UserIdType(userIdType string) *MeetingListExportReqBuilder { 2963 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 2964 return builder 2965 } 2966 2967 // 导出会议明细 2968 func (builder *MeetingListExportReqBuilder) Body(body *MeetingListExportReqBody) *MeetingListExportReqBuilder { 2969 builder.body = body 2970 return builder 2971 } 2972 2973 func (builder *MeetingListExportReqBuilder) Build() *MeetingListExportReq { 2974 req := &MeetingListExportReq{} 2975 req.apiReq = &larkcore.ApiReq{} 2976 req.apiReq.QueryParams = builder.apiReq.QueryParams 2977 req.apiReq.Body = builder.body 2978 return req 2979 } 2980 2981 type MeetingListExportReqBody struct { 2982 StartTime *string `json:"start_time,omitempty"` // 查询开始时间(unix时间,单位sec) 2983 EndTime *string `json:"end_time,omitempty"` // 查询结束时间(unix时间,单位sec) 2984 MeetingNo *string `json:"meeting_no,omitempty"` // 按9位会议号筛选(最多一个筛选条件) 2985 UserId *string `json:"user_id,omitempty"` // 按参会Lark用户筛选(最多一个筛选条件) 2986 RoomId *string `json:"room_id,omitempty"` // 按参会Rooms筛选(最多一个筛选条件) 2987 } 2988 2989 type MeetingListExportReq struct { 2990 apiReq *larkcore.ApiReq 2991 Body *MeetingListExportReqBody `body:""` 2992 } 2993 2994 type MeetingListExportRespData struct { 2995 TaskId *string `json:"task_id,omitempty"` // 任务id 2996 } 2997 2998 type MeetingListExportResp struct { 2999 *larkcore.ApiResp `json:"-"` 3000 larkcore.CodeError 3001 Data *MeetingListExportRespData `json:"data"` // 业务数据 3002 } 3003 3004 func (resp *MeetingListExportResp) Success() bool { 3005 return resp.Code == 0 3006 } 3007 3008 type ParticipantListExportReqBodyBuilder struct { 3009 meetingStartTime string // 会议开始时间(unix时间,单位sec) 3010 meetingStartTimeFlag bool 3011 meetingEndTime string // 会议结束时间(unix时间,单位sec) 3012 meetingEndTimeFlag bool 3013 meetingNo string // 9位会议号 3014 meetingNoFlag bool 3015 userId string // 按参会Lark用户筛选(最多一个筛选条件) 3016 userIdFlag bool 3017 roomId string // 按参会Rooms筛选(最多一个筛选条件) 3018 roomIdFlag bool 3019 } 3020 3021 func NewParticipantListExportReqBodyBuilder() *ParticipantListExportReqBodyBuilder { 3022 builder := &ParticipantListExportReqBodyBuilder{} 3023 return builder 3024 } 3025 3026 // 会议开始时间(unix时间,单位sec) 3027 // 3028 //示例值:1655276858 3029 func (builder *ParticipantListExportReqBodyBuilder) MeetingStartTime(meetingStartTime string) *ParticipantListExportReqBodyBuilder { 3030 builder.meetingStartTime = meetingStartTime 3031 builder.meetingStartTimeFlag = true 3032 return builder 3033 } 3034 3035 // 会议结束时间(unix时间,单位sec) 3036 // 3037 //示例值:1655276858 3038 func (builder *ParticipantListExportReqBodyBuilder) MeetingEndTime(meetingEndTime string) *ParticipantListExportReqBodyBuilder { 3039 builder.meetingEndTime = meetingEndTime 3040 builder.meetingEndTimeFlag = true 3041 return builder 3042 } 3043 3044 // 9位会议号 3045 // 3046 //示例值:123456789 3047 func (builder *ParticipantListExportReqBodyBuilder) MeetingNo(meetingNo string) *ParticipantListExportReqBodyBuilder { 3048 builder.meetingNo = meetingNo 3049 builder.meetingNoFlag = true 3050 return builder 3051 } 3052 3053 // 按参会Lark用户筛选(最多一个筛选条件) 3054 // 3055 //示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 3056 func (builder *ParticipantListExportReqBodyBuilder) UserId(userId string) *ParticipantListExportReqBodyBuilder { 3057 builder.userId = userId 3058 builder.userIdFlag = true 3059 return builder 3060 } 3061 3062 // 按参会Rooms筛选(最多一个筛选条件) 3063 // 3064 //示例值:omm_eada1d61a550955240c28757e7dec3af 3065 func (builder *ParticipantListExportReqBodyBuilder) RoomId(roomId string) *ParticipantListExportReqBodyBuilder { 3066 builder.roomId = roomId 3067 builder.roomIdFlag = true 3068 return builder 3069 } 3070 3071 func (builder *ParticipantListExportReqBodyBuilder) Build() *ParticipantListExportReqBody { 3072 req := &ParticipantListExportReqBody{} 3073 if builder.meetingStartTimeFlag { 3074 req.MeetingStartTime = &builder.meetingStartTime 3075 } 3076 if builder.meetingEndTimeFlag { 3077 req.MeetingEndTime = &builder.meetingEndTime 3078 } 3079 if builder.meetingNoFlag { 3080 req.MeetingNo = &builder.meetingNo 3081 } 3082 if builder.userIdFlag { 3083 req.UserId = &builder.userId 3084 } 3085 if builder.roomIdFlag { 3086 req.RoomId = &builder.roomId 3087 } 3088 return req 3089 } 3090 3091 type ParticipantListExportPathReqBodyBuilder struct { 3092 meetingStartTime string // 会议开始时间(unix时间,单位sec) 3093 meetingStartTimeFlag bool 3094 meetingEndTime string // 会议结束时间(unix时间,单位sec) 3095 meetingEndTimeFlag bool 3096 meetingNo string // 9位会议号 3097 meetingNoFlag bool 3098 userId string // 按参会Lark用户筛选(最多一个筛选条件) 3099 userIdFlag bool 3100 roomId string // 按参会Rooms筛选(最多一个筛选条件) 3101 roomIdFlag bool 3102 } 3103 3104 func NewParticipantListExportPathReqBodyBuilder() *ParticipantListExportPathReqBodyBuilder { 3105 builder := &ParticipantListExportPathReqBodyBuilder{} 3106 return builder 3107 } 3108 3109 // 会议开始时间(unix时间,单位sec) 3110 // 3111 // 示例值:1655276858 3112 func (builder *ParticipantListExportPathReqBodyBuilder) MeetingStartTime(meetingStartTime string) *ParticipantListExportPathReqBodyBuilder { 3113 builder.meetingStartTime = meetingStartTime 3114 builder.meetingStartTimeFlag = true 3115 return builder 3116 } 3117 3118 // 会议结束时间(unix时间,单位sec) 3119 // 3120 // 示例值:1655276858 3121 func (builder *ParticipantListExportPathReqBodyBuilder) MeetingEndTime(meetingEndTime string) *ParticipantListExportPathReqBodyBuilder { 3122 builder.meetingEndTime = meetingEndTime 3123 builder.meetingEndTimeFlag = true 3124 return builder 3125 } 3126 3127 // 9位会议号 3128 // 3129 // 示例值:123456789 3130 func (builder *ParticipantListExportPathReqBodyBuilder) MeetingNo(meetingNo string) *ParticipantListExportPathReqBodyBuilder { 3131 builder.meetingNo = meetingNo 3132 builder.meetingNoFlag = true 3133 return builder 3134 } 3135 3136 // 按参会Lark用户筛选(最多一个筛选条件) 3137 // 3138 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 3139 func (builder *ParticipantListExportPathReqBodyBuilder) UserId(userId string) *ParticipantListExportPathReqBodyBuilder { 3140 builder.userId = userId 3141 builder.userIdFlag = true 3142 return builder 3143 } 3144 3145 // 按参会Rooms筛选(最多一个筛选条件) 3146 // 3147 // 示例值:omm_eada1d61a550955240c28757e7dec3af 3148 func (builder *ParticipantListExportPathReqBodyBuilder) RoomId(roomId string) *ParticipantListExportPathReqBodyBuilder { 3149 builder.roomId = roomId 3150 builder.roomIdFlag = true 3151 return builder 3152 } 3153 3154 func (builder *ParticipantListExportPathReqBodyBuilder) Build() (*ParticipantListExportReqBody, error) { 3155 req := &ParticipantListExportReqBody{} 3156 if builder.meetingStartTimeFlag { 3157 req.MeetingStartTime = &builder.meetingStartTime 3158 } 3159 if builder.meetingEndTimeFlag { 3160 req.MeetingEndTime = &builder.meetingEndTime 3161 } 3162 if builder.meetingNoFlag { 3163 req.MeetingNo = &builder.meetingNo 3164 } 3165 if builder.userIdFlag { 3166 req.UserId = &builder.userId 3167 } 3168 if builder.roomIdFlag { 3169 req.RoomId = &builder.roomId 3170 } 3171 return req, nil 3172 } 3173 3174 type ParticipantListExportReqBuilder struct { 3175 apiReq *larkcore.ApiReq 3176 body *ParticipantListExportReqBody 3177 } 3178 3179 func NewParticipantListExportReqBuilder() *ParticipantListExportReqBuilder { 3180 builder := &ParticipantListExportReqBuilder{} 3181 builder.apiReq = &larkcore.ApiReq{ 3182 PathParams: larkcore.PathParams{}, 3183 QueryParams: larkcore.QueryParams{}, 3184 } 3185 return builder 3186 } 3187 3188 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 3189 // 3190 // 示例值: 3191 func (builder *ParticipantListExportReqBuilder) UserIdType(userIdType string) *ParticipantListExportReqBuilder { 3192 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 3193 return builder 3194 } 3195 3196 // 导出某个会议的参会人详情列表 3197 func (builder *ParticipantListExportReqBuilder) Body(body *ParticipantListExportReqBody) *ParticipantListExportReqBuilder { 3198 builder.body = body 3199 return builder 3200 } 3201 3202 func (builder *ParticipantListExportReqBuilder) Build() *ParticipantListExportReq { 3203 req := &ParticipantListExportReq{} 3204 req.apiReq = &larkcore.ApiReq{} 3205 req.apiReq.QueryParams = builder.apiReq.QueryParams 3206 req.apiReq.Body = builder.body 3207 return req 3208 } 3209 3210 type ParticipantListExportReqBody struct { 3211 MeetingStartTime *string `json:"meeting_start_time,omitempty"` // 会议开始时间(unix时间,单位sec) 3212 MeetingEndTime *string `json:"meeting_end_time,omitempty"` // 会议结束时间(unix时间,单位sec) 3213 MeetingNo *string `json:"meeting_no,omitempty"` // 9位会议号 3214 UserId *string `json:"user_id,omitempty"` // 按参会Lark用户筛选(最多一个筛选条件) 3215 RoomId *string `json:"room_id,omitempty"` // 按参会Rooms筛选(最多一个筛选条件) 3216 } 3217 3218 type ParticipantListExportReq struct { 3219 apiReq *larkcore.ApiReq 3220 Body *ParticipantListExportReqBody `body:""` 3221 } 3222 3223 type ParticipantListExportRespData struct { 3224 TaskId *string `json:"task_id,omitempty"` // 任务id 3225 } 3226 3227 type ParticipantListExportResp struct { 3228 *larkcore.ApiResp `json:"-"` 3229 larkcore.CodeError 3230 Data *ParticipantListExportRespData `json:"data"` // 业务数据 3231 } 3232 3233 func (resp *ParticipantListExportResp) Success() bool { 3234 return resp.Code == 0 3235 } 3236 3237 type ParticipantQualityListExportReqBodyBuilder struct { 3238 meetingStartTime string // 会议开始时间(unix时间,单位sec) 3239 meetingStartTimeFlag bool 3240 meetingEndTime string // 会议结束时间(unix时间,单位sec) 3241 meetingEndTimeFlag bool 3242 meetingNo string // 9位会议号 3243 meetingNoFlag bool 3244 joinTime string // 参会人入会时间(unix时间,单位sec) 3245 joinTimeFlag bool 3246 userId string // 参会人为Lark用户时填入 3247 userIdFlag bool 3248 roomId string // 参会人为Rooms时填入 3249 roomIdFlag bool 3250 } 3251 3252 func NewParticipantQualityListExportReqBodyBuilder() *ParticipantQualityListExportReqBodyBuilder { 3253 builder := &ParticipantQualityListExportReqBodyBuilder{} 3254 return builder 3255 } 3256 3257 // 会议开始时间(unix时间,单位sec) 3258 // 3259 //示例值:1655276858 3260 func (builder *ParticipantQualityListExportReqBodyBuilder) MeetingStartTime(meetingStartTime string) *ParticipantQualityListExportReqBodyBuilder { 3261 builder.meetingStartTime = meetingStartTime 3262 builder.meetingStartTimeFlag = true 3263 return builder 3264 } 3265 3266 // 会议结束时间(unix时间,单位sec) 3267 // 3268 //示例值:1655276858 3269 func (builder *ParticipantQualityListExportReqBodyBuilder) MeetingEndTime(meetingEndTime string) *ParticipantQualityListExportReqBodyBuilder { 3270 builder.meetingEndTime = meetingEndTime 3271 builder.meetingEndTimeFlag = true 3272 return builder 3273 } 3274 3275 // 9位会议号 3276 // 3277 //示例值:123456789 3278 func (builder *ParticipantQualityListExportReqBodyBuilder) MeetingNo(meetingNo string) *ParticipantQualityListExportReqBodyBuilder { 3279 builder.meetingNo = meetingNo 3280 builder.meetingNoFlag = true 3281 return builder 3282 } 3283 3284 // 参会人入会时间(unix时间,单位sec) 3285 // 3286 //示例值:1655276858 3287 func (builder *ParticipantQualityListExportReqBodyBuilder) JoinTime(joinTime string) *ParticipantQualityListExportReqBodyBuilder { 3288 builder.joinTime = joinTime 3289 builder.joinTimeFlag = true 3290 return builder 3291 } 3292 3293 // 参会人为Lark用户时填入 3294 // 3295 //示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 3296 func (builder *ParticipantQualityListExportReqBodyBuilder) UserId(userId string) *ParticipantQualityListExportReqBodyBuilder { 3297 builder.userId = userId 3298 builder.userIdFlag = true 3299 return builder 3300 } 3301 3302 // 参会人为Rooms时填入 3303 // 3304 //示例值:omm_eada1d61a550955240c28757e7dec3af 3305 func (builder *ParticipantQualityListExportReqBodyBuilder) RoomId(roomId string) *ParticipantQualityListExportReqBodyBuilder { 3306 builder.roomId = roomId 3307 builder.roomIdFlag = true 3308 return builder 3309 } 3310 3311 func (builder *ParticipantQualityListExportReqBodyBuilder) Build() *ParticipantQualityListExportReqBody { 3312 req := &ParticipantQualityListExportReqBody{} 3313 if builder.meetingStartTimeFlag { 3314 req.MeetingStartTime = &builder.meetingStartTime 3315 } 3316 if builder.meetingEndTimeFlag { 3317 req.MeetingEndTime = &builder.meetingEndTime 3318 } 3319 if builder.meetingNoFlag { 3320 req.MeetingNo = &builder.meetingNo 3321 } 3322 if builder.joinTimeFlag { 3323 req.JoinTime = &builder.joinTime 3324 } 3325 if builder.userIdFlag { 3326 req.UserId = &builder.userId 3327 } 3328 if builder.roomIdFlag { 3329 req.RoomId = &builder.roomId 3330 } 3331 return req 3332 } 3333 3334 type ParticipantQualityListExportPathReqBodyBuilder struct { 3335 meetingStartTime string // 会议开始时间(unix时间,单位sec) 3336 meetingStartTimeFlag bool 3337 meetingEndTime string // 会议结束时间(unix时间,单位sec) 3338 meetingEndTimeFlag bool 3339 meetingNo string // 9位会议号 3340 meetingNoFlag bool 3341 joinTime string // 参会人入会时间(unix时间,单位sec) 3342 joinTimeFlag bool 3343 userId string // 参会人为Lark用户时填入 3344 userIdFlag bool 3345 roomId string // 参会人为Rooms时填入 3346 roomIdFlag bool 3347 } 3348 3349 func NewParticipantQualityListExportPathReqBodyBuilder() *ParticipantQualityListExportPathReqBodyBuilder { 3350 builder := &ParticipantQualityListExportPathReqBodyBuilder{} 3351 return builder 3352 } 3353 3354 // 会议开始时间(unix时间,单位sec) 3355 // 3356 // 示例值:1655276858 3357 func (builder *ParticipantQualityListExportPathReqBodyBuilder) MeetingStartTime(meetingStartTime string) *ParticipantQualityListExportPathReqBodyBuilder { 3358 builder.meetingStartTime = meetingStartTime 3359 builder.meetingStartTimeFlag = true 3360 return builder 3361 } 3362 3363 // 会议结束时间(unix时间,单位sec) 3364 // 3365 // 示例值:1655276858 3366 func (builder *ParticipantQualityListExportPathReqBodyBuilder) MeetingEndTime(meetingEndTime string) *ParticipantQualityListExportPathReqBodyBuilder { 3367 builder.meetingEndTime = meetingEndTime 3368 builder.meetingEndTimeFlag = true 3369 return builder 3370 } 3371 3372 // 9位会议号 3373 // 3374 // 示例值:123456789 3375 func (builder *ParticipantQualityListExportPathReqBodyBuilder) MeetingNo(meetingNo string) *ParticipantQualityListExportPathReqBodyBuilder { 3376 builder.meetingNo = meetingNo 3377 builder.meetingNoFlag = true 3378 return builder 3379 } 3380 3381 // 参会人入会时间(unix时间,单位sec) 3382 // 3383 // 示例值:1655276858 3384 func (builder *ParticipantQualityListExportPathReqBodyBuilder) JoinTime(joinTime string) *ParticipantQualityListExportPathReqBodyBuilder { 3385 builder.joinTime = joinTime 3386 builder.joinTimeFlag = true 3387 return builder 3388 } 3389 3390 // 参会人为Lark用户时填入 3391 // 3392 // 示例值:ou_3ec3f6a28a0d08c45d895276e8e5e19b 3393 func (builder *ParticipantQualityListExportPathReqBodyBuilder) UserId(userId string) *ParticipantQualityListExportPathReqBodyBuilder { 3394 builder.userId = userId 3395 builder.userIdFlag = true 3396 return builder 3397 } 3398 3399 // 参会人为Rooms时填入 3400 // 3401 // 示例值:omm_eada1d61a550955240c28757e7dec3af 3402 func (builder *ParticipantQualityListExportPathReqBodyBuilder) RoomId(roomId string) *ParticipantQualityListExportPathReqBodyBuilder { 3403 builder.roomId = roomId 3404 builder.roomIdFlag = true 3405 return builder 3406 } 3407 3408 func (builder *ParticipantQualityListExportPathReqBodyBuilder) Build() (*ParticipantQualityListExportReqBody, error) { 3409 req := &ParticipantQualityListExportReqBody{} 3410 if builder.meetingStartTimeFlag { 3411 req.MeetingStartTime = &builder.meetingStartTime 3412 } 3413 if builder.meetingEndTimeFlag { 3414 req.MeetingEndTime = &builder.meetingEndTime 3415 } 3416 if builder.meetingNoFlag { 3417 req.MeetingNo = &builder.meetingNo 3418 } 3419 if builder.joinTimeFlag { 3420 req.JoinTime = &builder.joinTime 3421 } 3422 if builder.userIdFlag { 3423 req.UserId = &builder.userId 3424 } 3425 if builder.roomIdFlag { 3426 req.RoomId = &builder.roomId 3427 } 3428 return req, nil 3429 } 3430 3431 type ParticipantQualityListExportReqBuilder struct { 3432 apiReq *larkcore.ApiReq 3433 body *ParticipantQualityListExportReqBody 3434 } 3435 3436 func NewParticipantQualityListExportReqBuilder() *ParticipantQualityListExportReqBuilder { 3437 builder := &ParticipantQualityListExportReqBuilder{} 3438 builder.apiReq = &larkcore.ApiReq{ 3439 PathParams: larkcore.PathParams{}, 3440 QueryParams: larkcore.QueryParams{}, 3441 } 3442 return builder 3443 } 3444 3445 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 3446 // 3447 // 示例值: 3448 func (builder *ParticipantQualityListExportReqBuilder) UserIdType(userIdType string) *ParticipantQualityListExportReqBuilder { 3449 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 3450 return builder 3451 } 3452 3453 // 导出某场会议某个参会人的音视频&共享质量数据 3454 func (builder *ParticipantQualityListExportReqBuilder) Body(body *ParticipantQualityListExportReqBody) *ParticipantQualityListExportReqBuilder { 3455 builder.body = body 3456 return builder 3457 } 3458 3459 func (builder *ParticipantQualityListExportReqBuilder) Build() *ParticipantQualityListExportReq { 3460 req := &ParticipantQualityListExportReq{} 3461 req.apiReq = &larkcore.ApiReq{} 3462 req.apiReq.QueryParams = builder.apiReq.QueryParams 3463 req.apiReq.Body = builder.body 3464 return req 3465 } 3466 3467 type ParticipantQualityListExportReqBody struct { 3468 MeetingStartTime *string `json:"meeting_start_time,omitempty"` // 会议开始时间(unix时间,单位sec) 3469 MeetingEndTime *string `json:"meeting_end_time,omitempty"` // 会议结束时间(unix时间,单位sec) 3470 MeetingNo *string `json:"meeting_no,omitempty"` // 9位会议号 3471 JoinTime *string `json:"join_time,omitempty"` // 参会人入会时间(unix时间,单位sec) 3472 UserId *string `json:"user_id,omitempty"` // 参会人为Lark用户时填入 3473 RoomId *string `json:"room_id,omitempty"` // 参会人为Rooms时填入 3474 } 3475 3476 type ParticipantQualityListExportReq struct { 3477 apiReq *larkcore.ApiReq 3478 Body *ParticipantQualityListExportReqBody `body:""` 3479 } 3480 3481 type ParticipantQualityListExportRespData struct { 3482 TaskId *string `json:"task_id,omitempty"` // 任务id 3483 } 3484 3485 type ParticipantQualityListExportResp struct { 3486 *larkcore.ApiResp `json:"-"` 3487 larkcore.CodeError 3488 Data *ParticipantQualityListExportRespData `json:"data"` // 业务数据 3489 } 3490 3491 func (resp *ParticipantQualityListExportResp) Success() bool { 3492 return resp.Code == 0 3493 } 3494 3495 type EndMeetingReqBuilder struct { 3496 apiReq *larkcore.ApiReq 3497 } 3498 3499 func NewEndMeetingReqBuilder() *EndMeetingReqBuilder { 3500 builder := &EndMeetingReqBuilder{} 3501 builder.apiReq = &larkcore.ApiReq{ 3502 PathParams: larkcore.PathParams{}, 3503 QueryParams: larkcore.QueryParams{}, 3504 } 3505 return builder 3506 } 3507 3508 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 3509 // 3510 // 示例值:6911188411932033028 3511 func (builder *EndMeetingReqBuilder) MeetingId(meetingId string) *EndMeetingReqBuilder { 3512 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 3513 return builder 3514 } 3515 3516 func (builder *EndMeetingReqBuilder) Build() *EndMeetingReq { 3517 req := &EndMeetingReq{} 3518 req.apiReq = &larkcore.ApiReq{} 3519 req.apiReq.PathParams = builder.apiReq.PathParams 3520 return req 3521 } 3522 3523 type EndMeetingReq struct { 3524 apiReq *larkcore.ApiReq 3525 } 3526 3527 type EndMeetingResp struct { 3528 *larkcore.ApiResp `json:"-"` 3529 larkcore.CodeError 3530 } 3531 3532 func (resp *EndMeetingResp) Success() bool { 3533 return resp.Code == 0 3534 } 3535 3536 type GetMeetingReqBuilder struct { 3537 apiReq *larkcore.ApiReq 3538 } 3539 3540 func NewGetMeetingReqBuilder() *GetMeetingReqBuilder { 3541 builder := &GetMeetingReqBuilder{} 3542 builder.apiReq = &larkcore.ApiReq{ 3543 PathParams: larkcore.PathParams{}, 3544 QueryParams: larkcore.QueryParams{}, 3545 } 3546 return builder 3547 } 3548 3549 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 3550 // 3551 // 示例值:6911188411932033028 3552 func (builder *GetMeetingReqBuilder) MeetingId(meetingId string) *GetMeetingReqBuilder { 3553 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 3554 return builder 3555 } 3556 3557 // 是否需要参会人列表 3558 // 3559 // 示例值:false 3560 func (builder *GetMeetingReqBuilder) WithParticipants(withParticipants bool) *GetMeetingReqBuilder { 3561 builder.apiReq.QueryParams.Set("with_participants", fmt.Sprint(withParticipants)) 3562 return builder 3563 } 3564 3565 // 是否需要会中使用能力统计(仅限tenant_access_token) 3566 // 3567 // 示例值:false 3568 func (builder *GetMeetingReqBuilder) WithMeetingAbility(withMeetingAbility bool) *GetMeetingReqBuilder { 3569 builder.apiReq.QueryParams.Set("with_meeting_ability", fmt.Sprint(withMeetingAbility)) 3570 return builder 3571 } 3572 3573 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 3574 // 3575 // 示例值: 3576 func (builder *GetMeetingReqBuilder) UserIdType(userIdType string) *GetMeetingReqBuilder { 3577 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 3578 return builder 3579 } 3580 3581 func (builder *GetMeetingReqBuilder) Build() *GetMeetingReq { 3582 req := &GetMeetingReq{} 3583 req.apiReq = &larkcore.ApiReq{} 3584 req.apiReq.PathParams = builder.apiReq.PathParams 3585 req.apiReq.QueryParams = builder.apiReq.QueryParams 3586 return req 3587 } 3588 3589 type GetMeetingReq struct { 3590 apiReq *larkcore.ApiReq 3591 } 3592 3593 type GetMeetingRespData struct { 3594 Meeting *Meeting `json:"meeting,omitempty"` // 会议数据 3595 } 3596 3597 type GetMeetingResp struct { 3598 *larkcore.ApiResp `json:"-"` 3599 larkcore.CodeError 3600 Data *GetMeetingRespData `json:"data"` // 业务数据 3601 } 3602 3603 func (resp *GetMeetingResp) Success() bool { 3604 return resp.Code == 0 3605 } 3606 3607 type InviteMeetingReqBodyBuilder struct { 3608 invitees []*MeetingUser // 被邀请的用户列表 3609 inviteesFlag bool 3610 } 3611 3612 func NewInviteMeetingReqBodyBuilder() *InviteMeetingReqBodyBuilder { 3613 builder := &InviteMeetingReqBodyBuilder{} 3614 return builder 3615 } 3616 3617 // 被邀请的用户列表 3618 // 3619 //示例值: 3620 func (builder *InviteMeetingReqBodyBuilder) Invitees(invitees []*MeetingUser) *InviteMeetingReqBodyBuilder { 3621 builder.invitees = invitees 3622 builder.inviteesFlag = true 3623 return builder 3624 } 3625 3626 func (builder *InviteMeetingReqBodyBuilder) Build() *InviteMeetingReqBody { 3627 req := &InviteMeetingReqBody{} 3628 if builder.inviteesFlag { 3629 req.Invitees = builder.invitees 3630 } 3631 return req 3632 } 3633 3634 type InviteMeetingPathReqBodyBuilder struct { 3635 invitees []*MeetingUser // 被邀请的用户列表 3636 inviteesFlag bool 3637 } 3638 3639 func NewInviteMeetingPathReqBodyBuilder() *InviteMeetingPathReqBodyBuilder { 3640 builder := &InviteMeetingPathReqBodyBuilder{} 3641 return builder 3642 } 3643 3644 // 被邀请的用户列表 3645 // 3646 // 示例值: 3647 func (builder *InviteMeetingPathReqBodyBuilder) Invitees(invitees []*MeetingUser) *InviteMeetingPathReqBodyBuilder { 3648 builder.invitees = invitees 3649 builder.inviteesFlag = true 3650 return builder 3651 } 3652 3653 func (builder *InviteMeetingPathReqBodyBuilder) Build() (*InviteMeetingReqBody, error) { 3654 req := &InviteMeetingReqBody{} 3655 if builder.inviteesFlag { 3656 req.Invitees = builder.invitees 3657 } 3658 return req, nil 3659 } 3660 3661 type InviteMeetingReqBuilder struct { 3662 apiReq *larkcore.ApiReq 3663 body *InviteMeetingReqBody 3664 } 3665 3666 func NewInviteMeetingReqBuilder() *InviteMeetingReqBuilder { 3667 builder := &InviteMeetingReqBuilder{} 3668 builder.apiReq = &larkcore.ApiReq{ 3669 PathParams: larkcore.PathParams{}, 3670 QueryParams: larkcore.QueryParams{}, 3671 } 3672 return builder 3673 } 3674 3675 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 3676 // 3677 // 示例值:6911188411932033028 3678 func (builder *InviteMeetingReqBuilder) MeetingId(meetingId string) *InviteMeetingReqBuilder { 3679 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 3680 return builder 3681 } 3682 3683 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 3684 // 3685 // 示例值: 3686 func (builder *InviteMeetingReqBuilder) UserIdType(userIdType string) *InviteMeetingReqBuilder { 3687 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 3688 return builder 3689 } 3690 3691 // 邀请参会人进入会议 3692 func (builder *InviteMeetingReqBuilder) Body(body *InviteMeetingReqBody) *InviteMeetingReqBuilder { 3693 builder.body = body 3694 return builder 3695 } 3696 3697 func (builder *InviteMeetingReqBuilder) Build() *InviteMeetingReq { 3698 req := &InviteMeetingReq{} 3699 req.apiReq = &larkcore.ApiReq{} 3700 req.apiReq.PathParams = builder.apiReq.PathParams 3701 req.apiReq.QueryParams = builder.apiReq.QueryParams 3702 req.apiReq.Body = builder.body 3703 return req 3704 } 3705 3706 type InviteMeetingReqBody struct { 3707 Invitees []*MeetingUser `json:"invitees,omitempty"` // 被邀请的用户列表 3708 } 3709 3710 type InviteMeetingReq struct { 3711 apiReq *larkcore.ApiReq 3712 Body *InviteMeetingReqBody `body:""` 3713 } 3714 3715 type InviteMeetingRespData struct { 3716 InviteResults []*MeetingInviteStatus `json:"invite_results,omitempty"` // 邀请结果 3717 } 3718 3719 type InviteMeetingResp struct { 3720 *larkcore.ApiResp `json:"-"` 3721 larkcore.CodeError 3722 Data *InviteMeetingRespData `json:"data"` // 业务数据 3723 } 3724 3725 func (resp *InviteMeetingResp) Success() bool { 3726 return resp.Code == 0 3727 } 3728 3729 type KickoutMeetingReqBodyBuilder struct { 3730 kickoutUsers []*MeetingUser // 需踢出的用户列表 3731 kickoutUsersFlag bool 3732 } 3733 3734 func NewKickoutMeetingReqBodyBuilder() *KickoutMeetingReqBodyBuilder { 3735 builder := &KickoutMeetingReqBodyBuilder{} 3736 return builder 3737 } 3738 3739 // 需踢出的用户列表 3740 // 3741 //示例值: 3742 func (builder *KickoutMeetingReqBodyBuilder) KickoutUsers(kickoutUsers []*MeetingUser) *KickoutMeetingReqBodyBuilder { 3743 builder.kickoutUsers = kickoutUsers 3744 builder.kickoutUsersFlag = true 3745 return builder 3746 } 3747 3748 func (builder *KickoutMeetingReqBodyBuilder) Build() *KickoutMeetingReqBody { 3749 req := &KickoutMeetingReqBody{} 3750 if builder.kickoutUsersFlag { 3751 req.KickoutUsers = builder.kickoutUsers 3752 } 3753 return req 3754 } 3755 3756 type KickoutMeetingPathReqBodyBuilder struct { 3757 kickoutUsers []*MeetingUser // 需踢出的用户列表 3758 kickoutUsersFlag bool 3759 } 3760 3761 func NewKickoutMeetingPathReqBodyBuilder() *KickoutMeetingPathReqBodyBuilder { 3762 builder := &KickoutMeetingPathReqBodyBuilder{} 3763 return builder 3764 } 3765 3766 // 需踢出的用户列表 3767 // 3768 // 示例值: 3769 func (builder *KickoutMeetingPathReqBodyBuilder) KickoutUsers(kickoutUsers []*MeetingUser) *KickoutMeetingPathReqBodyBuilder { 3770 builder.kickoutUsers = kickoutUsers 3771 builder.kickoutUsersFlag = true 3772 return builder 3773 } 3774 3775 func (builder *KickoutMeetingPathReqBodyBuilder) Build() (*KickoutMeetingReqBody, error) { 3776 req := &KickoutMeetingReqBody{} 3777 if builder.kickoutUsersFlag { 3778 req.KickoutUsers = builder.kickoutUsers 3779 } 3780 return req, nil 3781 } 3782 3783 type KickoutMeetingReqBuilder struct { 3784 apiReq *larkcore.ApiReq 3785 body *KickoutMeetingReqBody 3786 } 3787 3788 func NewKickoutMeetingReqBuilder() *KickoutMeetingReqBuilder { 3789 builder := &KickoutMeetingReqBuilder{} 3790 builder.apiReq = &larkcore.ApiReq{ 3791 PathParams: larkcore.PathParams{}, 3792 QueryParams: larkcore.QueryParams{}, 3793 } 3794 return builder 3795 } 3796 3797 // 会议ID 3798 // 3799 // 示例值:6911188411932033028 3800 func (builder *KickoutMeetingReqBuilder) MeetingId(meetingId string) *KickoutMeetingReqBuilder { 3801 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 3802 return builder 3803 } 3804 3805 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 3806 // 3807 // 示例值: 3808 func (builder *KickoutMeetingReqBuilder) UserIdType(userIdType string) *KickoutMeetingReqBuilder { 3809 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 3810 return builder 3811 } 3812 3813 // 将参会人从会议中移除 3814 func (builder *KickoutMeetingReqBuilder) Body(body *KickoutMeetingReqBody) *KickoutMeetingReqBuilder { 3815 builder.body = body 3816 return builder 3817 } 3818 3819 func (builder *KickoutMeetingReqBuilder) Build() *KickoutMeetingReq { 3820 req := &KickoutMeetingReq{} 3821 req.apiReq = &larkcore.ApiReq{} 3822 req.apiReq.PathParams = builder.apiReq.PathParams 3823 req.apiReq.QueryParams = builder.apiReq.QueryParams 3824 req.apiReq.Body = builder.body 3825 return req 3826 } 3827 3828 type KickoutMeetingReqBody struct { 3829 KickoutUsers []*MeetingUser `json:"kickout_users,omitempty"` // 需踢出的用户列表 3830 } 3831 3832 type KickoutMeetingReq struct { 3833 apiReq *larkcore.ApiReq 3834 Body *KickoutMeetingReqBody `body:""` 3835 } 3836 3837 type KickoutMeetingRespData struct { 3838 KickoutResults []*MeetingParticipantResult `json:"kickout_results,omitempty"` // 踢出结果 3839 } 3840 3841 type KickoutMeetingResp struct { 3842 *larkcore.ApiResp `json:"-"` 3843 larkcore.CodeError 3844 Data *KickoutMeetingRespData `json:"data"` // 业务数据 3845 } 3846 3847 func (resp *KickoutMeetingResp) Success() bool { 3848 return resp.Code == 0 3849 } 3850 3851 type ListByNoMeetingReqBuilder struct { 3852 apiReq *larkcore.ApiReq 3853 limit int // 最大返回多少记录,当使用迭代器访问时才有效 3854 } 3855 3856 func NewListByNoMeetingReqBuilder() *ListByNoMeetingReqBuilder { 3857 builder := &ListByNoMeetingReqBuilder{} 3858 builder.apiReq = &larkcore.ApiReq{ 3859 PathParams: larkcore.PathParams{}, 3860 QueryParams: larkcore.QueryParams{}, 3861 } 3862 return builder 3863 } 3864 3865 // 最大返回多少记录,当使用迭代器访问时才有效 3866 func (builder *ListByNoMeetingReqBuilder) Limit(limit int) *ListByNoMeetingReqBuilder { 3867 builder.limit = limit 3868 return builder 3869 } 3870 3871 // 9位会议号 3872 // 3873 // 示例值:123456789 3874 func (builder *ListByNoMeetingReqBuilder) MeetingNo(meetingNo string) *ListByNoMeetingReqBuilder { 3875 builder.apiReq.QueryParams.Set("meeting_no", fmt.Sprint(meetingNo)) 3876 return builder 3877 } 3878 3879 // 查询开始时间(unix时间,单位sec) 3880 // 3881 // 示例值:1608888867 3882 func (builder *ListByNoMeetingReqBuilder) StartTime(startTime string) *ListByNoMeetingReqBuilder { 3883 builder.apiReq.QueryParams.Set("start_time", fmt.Sprint(startTime)) 3884 return builder 3885 } 3886 3887 // 查询结束时间(unix时间,单位sec) 3888 // 3889 // 示例值:1608888867 3890 func (builder *ListByNoMeetingReqBuilder) EndTime(endTime string) *ListByNoMeetingReqBuilder { 3891 builder.apiReq.QueryParams.Set("end_time", fmt.Sprint(endTime)) 3892 return builder 3893 } 3894 3895 // 3896 // 3897 // 示例值:5 3898 func (builder *ListByNoMeetingReqBuilder) PageToken(pageToken string) *ListByNoMeetingReqBuilder { 3899 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 3900 return builder 3901 } 3902 3903 // 3904 // 3905 // 示例值:10 3906 func (builder *ListByNoMeetingReqBuilder) PageSize(pageSize int) *ListByNoMeetingReqBuilder { 3907 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 3908 return builder 3909 } 3910 3911 func (builder *ListByNoMeetingReqBuilder) Build() *ListByNoMeetingReq { 3912 req := &ListByNoMeetingReq{} 3913 req.apiReq = &larkcore.ApiReq{} 3914 req.Limit = builder.limit 3915 req.apiReq.QueryParams = builder.apiReq.QueryParams 3916 return req 3917 } 3918 3919 type ListByNoMeetingReq struct { 3920 apiReq *larkcore.ApiReq 3921 Limit int // 最多返回多少记录,只有在使用迭代器访问时,才有效 3922 3923 } 3924 3925 type ListByNoMeetingRespData struct { 3926 HasMore *bool `json:"has_more,omitempty"` // 是否还有数据 3927 PageToken *string `json:"page_token,omitempty"` // 下一页分页的token,下次请求时传入 3928 MeetingBriefs []*Meeting `json:"meeting_briefs,omitempty"` // 会议简要信息列表 3929 } 3930 3931 type ListByNoMeetingResp struct { 3932 *larkcore.ApiResp `json:"-"` 3933 larkcore.CodeError 3934 Data *ListByNoMeetingRespData `json:"data"` // 业务数据 3935 } 3936 3937 func (resp *ListByNoMeetingResp) Success() bool { 3938 return resp.Code == 0 3939 } 3940 3941 type SetHostMeetingReqBodyBuilder struct { 3942 hostUser *MeetingUser // 将要设置的主持人 3943 hostUserFlag bool 3944 oldHostUser *MeetingUser // 当前主持人(CAS并发安全:如果和会中当前主持人不符则会设置失败,可使用返回的最新数据重新设置) 3945 oldHostUserFlag bool 3946 } 3947 3948 func NewSetHostMeetingReqBodyBuilder() *SetHostMeetingReqBodyBuilder { 3949 builder := &SetHostMeetingReqBodyBuilder{} 3950 return builder 3951 } 3952 3953 // 将要设置的主持人 3954 // 3955 //示例值: 3956 func (builder *SetHostMeetingReqBodyBuilder) HostUser(hostUser *MeetingUser) *SetHostMeetingReqBodyBuilder { 3957 builder.hostUser = hostUser 3958 builder.hostUserFlag = true 3959 return builder 3960 } 3961 3962 // 当前主持人(CAS并发安全:如果和会中当前主持人不符则会设置失败,可使用返回的最新数据重新设置) 3963 // 3964 //示例值: 3965 func (builder *SetHostMeetingReqBodyBuilder) OldHostUser(oldHostUser *MeetingUser) *SetHostMeetingReqBodyBuilder { 3966 builder.oldHostUser = oldHostUser 3967 builder.oldHostUserFlag = true 3968 return builder 3969 } 3970 3971 func (builder *SetHostMeetingReqBodyBuilder) Build() *SetHostMeetingReqBody { 3972 req := &SetHostMeetingReqBody{} 3973 if builder.hostUserFlag { 3974 req.HostUser = builder.hostUser 3975 } 3976 if builder.oldHostUserFlag { 3977 req.OldHostUser = builder.oldHostUser 3978 } 3979 return req 3980 } 3981 3982 type SetHostMeetingPathReqBodyBuilder struct { 3983 hostUser *MeetingUser // 将要设置的主持人 3984 hostUserFlag bool 3985 oldHostUser *MeetingUser // 当前主持人(CAS并发安全:如果和会中当前主持人不符则会设置失败,可使用返回的最新数据重新设置) 3986 oldHostUserFlag bool 3987 } 3988 3989 func NewSetHostMeetingPathReqBodyBuilder() *SetHostMeetingPathReqBodyBuilder { 3990 builder := &SetHostMeetingPathReqBodyBuilder{} 3991 return builder 3992 } 3993 3994 // 将要设置的主持人 3995 // 3996 // 示例值: 3997 func (builder *SetHostMeetingPathReqBodyBuilder) HostUser(hostUser *MeetingUser) *SetHostMeetingPathReqBodyBuilder { 3998 builder.hostUser = hostUser 3999 builder.hostUserFlag = true 4000 return builder 4001 } 4002 4003 // 当前主持人(CAS并发安全:如果和会中当前主持人不符则会设置失败,可使用返回的最新数据重新设置) 4004 // 4005 // 示例值: 4006 func (builder *SetHostMeetingPathReqBodyBuilder) OldHostUser(oldHostUser *MeetingUser) *SetHostMeetingPathReqBodyBuilder { 4007 builder.oldHostUser = oldHostUser 4008 builder.oldHostUserFlag = true 4009 return builder 4010 } 4011 4012 func (builder *SetHostMeetingPathReqBodyBuilder) Build() (*SetHostMeetingReqBody, error) { 4013 req := &SetHostMeetingReqBody{} 4014 if builder.hostUserFlag { 4015 req.HostUser = builder.hostUser 4016 } 4017 if builder.oldHostUserFlag { 4018 req.OldHostUser = builder.oldHostUser 4019 } 4020 return req, nil 4021 } 4022 4023 type SetHostMeetingReqBuilder struct { 4024 apiReq *larkcore.ApiReq 4025 body *SetHostMeetingReqBody 4026 } 4027 4028 func NewSetHostMeetingReqBuilder() *SetHostMeetingReqBuilder { 4029 builder := &SetHostMeetingReqBuilder{} 4030 builder.apiReq = &larkcore.ApiReq{ 4031 PathParams: larkcore.PathParams{}, 4032 QueryParams: larkcore.QueryParams{}, 4033 } 4034 return builder 4035 } 4036 4037 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 4038 // 4039 // 示例值:6911188411932033028 4040 func (builder *SetHostMeetingReqBuilder) MeetingId(meetingId string) *SetHostMeetingReqBuilder { 4041 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 4042 return builder 4043 } 4044 4045 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 4046 // 4047 // 示例值: 4048 func (builder *SetHostMeetingReqBuilder) UserIdType(userIdType string) *SetHostMeetingReqBuilder { 4049 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4050 return builder 4051 } 4052 4053 // 设置会议的主持人 4054 func (builder *SetHostMeetingReqBuilder) Body(body *SetHostMeetingReqBody) *SetHostMeetingReqBuilder { 4055 builder.body = body 4056 return builder 4057 } 4058 4059 func (builder *SetHostMeetingReqBuilder) Build() *SetHostMeetingReq { 4060 req := &SetHostMeetingReq{} 4061 req.apiReq = &larkcore.ApiReq{} 4062 req.apiReq.PathParams = builder.apiReq.PathParams 4063 req.apiReq.QueryParams = builder.apiReq.QueryParams 4064 req.apiReq.Body = builder.body 4065 return req 4066 } 4067 4068 type SetHostMeetingReqBody struct { 4069 HostUser *MeetingUser `json:"host_user,omitempty"` // 将要设置的主持人 4070 OldHostUser *MeetingUser `json:"old_host_user,omitempty"` // 当前主持人(CAS并发安全:如果和会中当前主持人不符则会设置失败,可使用返回的最新数据重新设置) 4071 } 4072 4073 type SetHostMeetingReq struct { 4074 apiReq *larkcore.ApiReq 4075 Body *SetHostMeetingReqBody `body:""` 4076 } 4077 4078 type SetHostMeetingRespData struct { 4079 HostUser *MeetingUser `json:"host_user,omitempty"` // 会中当前主持人 4080 } 4081 4082 type SetHostMeetingResp struct { 4083 *larkcore.ApiResp `json:"-"` 4084 larkcore.CodeError 4085 Data *SetHostMeetingRespData `json:"data"` // 业务数据 4086 } 4087 4088 func (resp *SetHostMeetingResp) Success() bool { 4089 return resp.Code == 0 4090 } 4091 4092 type GetMeetingRecordingReqBuilder struct { 4093 apiReq *larkcore.ApiReq 4094 } 4095 4096 func NewGetMeetingRecordingReqBuilder() *GetMeetingRecordingReqBuilder { 4097 builder := &GetMeetingRecordingReqBuilder{} 4098 builder.apiReq = &larkcore.ApiReq{ 4099 PathParams: larkcore.PathParams{}, 4100 QueryParams: larkcore.QueryParams{}, 4101 } 4102 return builder 4103 } 4104 4105 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 4106 // 4107 // 示例值:6911188411932033028 4108 func (builder *GetMeetingRecordingReqBuilder) MeetingId(meetingId string) *GetMeetingRecordingReqBuilder { 4109 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 4110 return builder 4111 } 4112 4113 func (builder *GetMeetingRecordingReqBuilder) Build() *GetMeetingRecordingReq { 4114 req := &GetMeetingRecordingReq{} 4115 req.apiReq = &larkcore.ApiReq{} 4116 req.apiReq.PathParams = builder.apiReq.PathParams 4117 return req 4118 } 4119 4120 type GetMeetingRecordingReq struct { 4121 apiReq *larkcore.ApiReq 4122 } 4123 4124 type GetMeetingRecordingRespData struct { 4125 Recording *MeetingRecording `json:"recording,omitempty"` // 录制文件数据 4126 } 4127 4128 type GetMeetingRecordingResp struct { 4129 *larkcore.ApiResp `json:"-"` 4130 larkcore.CodeError 4131 Data *GetMeetingRecordingRespData `json:"data"` // 业务数据 4132 } 4133 4134 func (resp *GetMeetingRecordingResp) Success() bool { 4135 return resp.Code == 0 4136 } 4137 4138 type SetPermissionMeetingRecordingReqBodyBuilder struct { 4139 permissionObjects []*RecordingPermissionObject // 授权对象列表 4140 permissionObjectsFlag bool 4141 } 4142 4143 func NewSetPermissionMeetingRecordingReqBodyBuilder() *SetPermissionMeetingRecordingReqBodyBuilder { 4144 builder := &SetPermissionMeetingRecordingReqBodyBuilder{} 4145 return builder 4146 } 4147 4148 // 授权对象列表 4149 // 4150 //示例值: 4151 func (builder *SetPermissionMeetingRecordingReqBodyBuilder) PermissionObjects(permissionObjects []*RecordingPermissionObject) *SetPermissionMeetingRecordingReqBodyBuilder { 4152 builder.permissionObjects = permissionObjects 4153 builder.permissionObjectsFlag = true 4154 return builder 4155 } 4156 4157 func (builder *SetPermissionMeetingRecordingReqBodyBuilder) Build() *SetPermissionMeetingRecordingReqBody { 4158 req := &SetPermissionMeetingRecordingReqBody{} 4159 if builder.permissionObjectsFlag { 4160 req.PermissionObjects = builder.permissionObjects 4161 } 4162 return req 4163 } 4164 4165 type SetPermissionMeetingRecordingPathReqBodyBuilder struct { 4166 permissionObjects []*RecordingPermissionObject // 授权对象列表 4167 permissionObjectsFlag bool 4168 } 4169 4170 func NewSetPermissionMeetingRecordingPathReqBodyBuilder() *SetPermissionMeetingRecordingPathReqBodyBuilder { 4171 builder := &SetPermissionMeetingRecordingPathReqBodyBuilder{} 4172 return builder 4173 } 4174 4175 // 授权对象列表 4176 // 4177 // 示例值: 4178 func (builder *SetPermissionMeetingRecordingPathReqBodyBuilder) PermissionObjects(permissionObjects []*RecordingPermissionObject) *SetPermissionMeetingRecordingPathReqBodyBuilder { 4179 builder.permissionObjects = permissionObjects 4180 builder.permissionObjectsFlag = true 4181 return builder 4182 } 4183 4184 func (builder *SetPermissionMeetingRecordingPathReqBodyBuilder) Build() (*SetPermissionMeetingRecordingReqBody, error) { 4185 req := &SetPermissionMeetingRecordingReqBody{} 4186 if builder.permissionObjectsFlag { 4187 req.PermissionObjects = builder.permissionObjects 4188 } 4189 return req, nil 4190 } 4191 4192 type SetPermissionMeetingRecordingReqBuilder struct { 4193 apiReq *larkcore.ApiReq 4194 body *SetPermissionMeetingRecordingReqBody 4195 } 4196 4197 func NewSetPermissionMeetingRecordingReqBuilder() *SetPermissionMeetingRecordingReqBuilder { 4198 builder := &SetPermissionMeetingRecordingReqBuilder{} 4199 builder.apiReq = &larkcore.ApiReq{ 4200 PathParams: larkcore.PathParams{}, 4201 QueryParams: larkcore.QueryParams{}, 4202 } 4203 return builder 4204 } 4205 4206 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 4207 // 4208 // 示例值:6911188411932033028 4209 func (builder *SetPermissionMeetingRecordingReqBuilder) MeetingId(meetingId string) *SetPermissionMeetingRecordingReqBuilder { 4210 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 4211 return builder 4212 } 4213 4214 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 4215 // 4216 // 示例值: 4217 func (builder *SetPermissionMeetingRecordingReqBuilder) UserIdType(userIdType string) *SetPermissionMeetingRecordingReqBuilder { 4218 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4219 return builder 4220 } 4221 4222 // 将一个会议的录制文件授权给组织、用户或公开到公网 4223 func (builder *SetPermissionMeetingRecordingReqBuilder) Body(body *SetPermissionMeetingRecordingReqBody) *SetPermissionMeetingRecordingReqBuilder { 4224 builder.body = body 4225 return builder 4226 } 4227 4228 func (builder *SetPermissionMeetingRecordingReqBuilder) Build() *SetPermissionMeetingRecordingReq { 4229 req := &SetPermissionMeetingRecordingReq{} 4230 req.apiReq = &larkcore.ApiReq{} 4231 req.apiReq.PathParams = builder.apiReq.PathParams 4232 req.apiReq.QueryParams = builder.apiReq.QueryParams 4233 req.apiReq.Body = builder.body 4234 return req 4235 } 4236 4237 type SetPermissionMeetingRecordingReqBody struct { 4238 PermissionObjects []*RecordingPermissionObject `json:"permission_objects,omitempty"` // 授权对象列表 4239 } 4240 4241 type SetPermissionMeetingRecordingReq struct { 4242 apiReq *larkcore.ApiReq 4243 Body *SetPermissionMeetingRecordingReqBody `body:""` 4244 } 4245 4246 type SetPermissionMeetingRecordingResp struct { 4247 *larkcore.ApiResp `json:"-"` 4248 larkcore.CodeError 4249 } 4250 4251 func (resp *SetPermissionMeetingRecordingResp) Success() bool { 4252 return resp.Code == 0 4253 } 4254 4255 type StartMeetingRecordingReqBodyBuilder struct { 4256 timezone int // 录制文件时间显示使用的时区[-12,12] 4257 timezoneFlag bool 4258 } 4259 4260 func NewStartMeetingRecordingReqBodyBuilder() *StartMeetingRecordingReqBodyBuilder { 4261 builder := &StartMeetingRecordingReqBodyBuilder{} 4262 return builder 4263 } 4264 4265 // 录制文件时间显示使用的时区[-12,12] 4266 // 4267 //示例值:8 4268 func (builder *StartMeetingRecordingReqBodyBuilder) Timezone(timezone int) *StartMeetingRecordingReqBodyBuilder { 4269 builder.timezone = timezone 4270 builder.timezoneFlag = true 4271 return builder 4272 } 4273 4274 func (builder *StartMeetingRecordingReqBodyBuilder) Build() *StartMeetingRecordingReqBody { 4275 req := &StartMeetingRecordingReqBody{} 4276 if builder.timezoneFlag { 4277 req.Timezone = &builder.timezone 4278 } 4279 return req 4280 } 4281 4282 type StartMeetingRecordingPathReqBodyBuilder struct { 4283 timezone int // 录制文件时间显示使用的时区[-12,12] 4284 timezoneFlag bool 4285 } 4286 4287 func NewStartMeetingRecordingPathReqBodyBuilder() *StartMeetingRecordingPathReqBodyBuilder { 4288 builder := &StartMeetingRecordingPathReqBodyBuilder{} 4289 return builder 4290 } 4291 4292 // 录制文件时间显示使用的时区[-12,12] 4293 // 4294 // 示例值:8 4295 func (builder *StartMeetingRecordingPathReqBodyBuilder) Timezone(timezone int) *StartMeetingRecordingPathReqBodyBuilder { 4296 builder.timezone = timezone 4297 builder.timezoneFlag = true 4298 return builder 4299 } 4300 4301 func (builder *StartMeetingRecordingPathReqBodyBuilder) Build() (*StartMeetingRecordingReqBody, error) { 4302 req := &StartMeetingRecordingReqBody{} 4303 if builder.timezoneFlag { 4304 req.Timezone = &builder.timezone 4305 } 4306 return req, nil 4307 } 4308 4309 type StartMeetingRecordingReqBuilder struct { 4310 apiReq *larkcore.ApiReq 4311 body *StartMeetingRecordingReqBody 4312 } 4313 4314 func NewStartMeetingRecordingReqBuilder() *StartMeetingRecordingReqBuilder { 4315 builder := &StartMeetingRecordingReqBuilder{} 4316 builder.apiReq = &larkcore.ApiReq{ 4317 PathParams: larkcore.PathParams{}, 4318 QueryParams: larkcore.QueryParams{}, 4319 } 4320 return builder 4321 } 4322 4323 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 4324 // 4325 // 示例值:6911188411932033028 4326 func (builder *StartMeetingRecordingReqBuilder) MeetingId(meetingId string) *StartMeetingRecordingReqBuilder { 4327 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 4328 return builder 4329 } 4330 4331 // 在会议中开始录制。 4332 func (builder *StartMeetingRecordingReqBuilder) Body(body *StartMeetingRecordingReqBody) *StartMeetingRecordingReqBuilder { 4333 builder.body = body 4334 return builder 4335 } 4336 4337 func (builder *StartMeetingRecordingReqBuilder) Build() *StartMeetingRecordingReq { 4338 req := &StartMeetingRecordingReq{} 4339 req.apiReq = &larkcore.ApiReq{} 4340 req.apiReq.PathParams = builder.apiReq.PathParams 4341 req.apiReq.Body = builder.body 4342 return req 4343 } 4344 4345 type StartMeetingRecordingReqBody struct { 4346 Timezone *int `json:"timezone,omitempty"` // 录制文件时间显示使用的时区[-12,12] 4347 } 4348 4349 type StartMeetingRecordingReq struct { 4350 apiReq *larkcore.ApiReq 4351 Body *StartMeetingRecordingReqBody `body:""` 4352 } 4353 4354 type StartMeetingRecordingResp struct { 4355 *larkcore.ApiResp `json:"-"` 4356 larkcore.CodeError 4357 } 4358 4359 func (resp *StartMeetingRecordingResp) Success() bool { 4360 return resp.Code == 0 4361 } 4362 4363 type StopMeetingRecordingReqBuilder struct { 4364 apiReq *larkcore.ApiReq 4365 } 4366 4367 func NewStopMeetingRecordingReqBuilder() *StopMeetingRecordingReqBuilder { 4368 builder := &StopMeetingRecordingReqBuilder{} 4369 builder.apiReq = &larkcore.ApiReq{ 4370 PathParams: larkcore.PathParams{}, 4371 QueryParams: larkcore.QueryParams{}, 4372 } 4373 return builder 4374 } 4375 4376 // 会议ID(视频会议的唯一标识,视频会议开始后才会产生) 4377 // 4378 // 示例值:6911188411932033028 4379 func (builder *StopMeetingRecordingReqBuilder) MeetingId(meetingId string) *StopMeetingRecordingReqBuilder { 4380 builder.apiReq.PathParams.Set("meeting_id", fmt.Sprint(meetingId)) 4381 return builder 4382 } 4383 4384 func (builder *StopMeetingRecordingReqBuilder) Build() *StopMeetingRecordingReq { 4385 req := &StopMeetingRecordingReq{} 4386 req.apiReq = &larkcore.ApiReq{} 4387 req.apiReq.PathParams = builder.apiReq.PathParams 4388 return req 4389 } 4390 4391 type StopMeetingRecordingReq struct { 4392 apiReq *larkcore.ApiReq 4393 } 4394 4395 type StopMeetingRecordingResp struct { 4396 *larkcore.ApiResp `json:"-"` 4397 larkcore.CodeError 4398 } 4399 4400 func (resp *StopMeetingRecordingResp) Success() bool { 4401 return resp.Code == 0 4402 } 4403 4404 type GetDailyReportReqBuilder struct { 4405 apiReq *larkcore.ApiReq 4406 } 4407 4408 func NewGetDailyReportReqBuilder() *GetDailyReportReqBuilder { 4409 builder := &GetDailyReportReqBuilder{} 4410 builder.apiReq = &larkcore.ApiReq{ 4411 PathParams: larkcore.PathParams{}, 4412 QueryParams: larkcore.QueryParams{}, 4413 } 4414 return builder 4415 } 4416 4417 // 开始时间(unix时间,单位sec) 4418 // 4419 // 示例值:1608888867 4420 func (builder *GetDailyReportReqBuilder) StartTime(startTime string) *GetDailyReportReqBuilder { 4421 builder.apiReq.QueryParams.Set("start_time", fmt.Sprint(startTime)) 4422 return builder 4423 } 4424 4425 // 结束时间(unix时间,单位sec) 4426 // 4427 // 示例值:1608888966 4428 func (builder *GetDailyReportReqBuilder) EndTime(endTime string) *GetDailyReportReqBuilder { 4429 builder.apiReq.QueryParams.Set("end_time", fmt.Sprint(endTime)) 4430 return builder 4431 } 4432 4433 func (builder *GetDailyReportReqBuilder) Build() *GetDailyReportReq { 4434 req := &GetDailyReportReq{} 4435 req.apiReq = &larkcore.ApiReq{} 4436 req.apiReq.QueryParams = builder.apiReq.QueryParams 4437 return req 4438 } 4439 4440 type GetDailyReportReq struct { 4441 apiReq *larkcore.ApiReq 4442 } 4443 4444 type GetDailyReportRespData struct { 4445 MeetingReport *Report `json:"meeting_report,omitempty"` // 会议报告 4446 } 4447 4448 type GetDailyReportResp struct { 4449 *larkcore.ApiResp `json:"-"` 4450 larkcore.CodeError 4451 Data *GetDailyReportRespData `json:"data"` // 业务数据 4452 } 4453 4454 func (resp *GetDailyReportResp) Success() bool { 4455 return resp.Code == 0 4456 } 4457 4458 type GetTopUserReportReqBuilder struct { 4459 apiReq *larkcore.ApiReq 4460 } 4461 4462 func NewGetTopUserReportReqBuilder() *GetTopUserReportReqBuilder { 4463 builder := &GetTopUserReportReqBuilder{} 4464 builder.apiReq = &larkcore.ApiReq{ 4465 PathParams: larkcore.PathParams{}, 4466 QueryParams: larkcore.QueryParams{}, 4467 } 4468 return builder 4469 } 4470 4471 // 开始时间(unix时间,单位sec) 4472 // 4473 // 示例值:1608888867 4474 func (builder *GetTopUserReportReqBuilder) StartTime(startTime string) *GetTopUserReportReqBuilder { 4475 builder.apiReq.QueryParams.Set("start_time", fmt.Sprint(startTime)) 4476 return builder 4477 } 4478 4479 // 结束时间(unix时间,单位sec) 4480 // 4481 // 示例值:1608889966 4482 func (builder *GetTopUserReportReqBuilder) EndTime(endTime string) *GetTopUserReportReqBuilder { 4483 builder.apiReq.QueryParams.Set("end_time", fmt.Sprint(endTime)) 4484 return builder 4485 } 4486 4487 // 取前多少位 4488 // 4489 // 示例值:10 4490 func (builder *GetTopUserReportReqBuilder) Limit(limit int) *GetTopUserReportReqBuilder { 4491 builder.apiReq.QueryParams.Set("limit", fmt.Sprint(limit)) 4492 return builder 4493 } 4494 4495 // 排序依据(降序) 4496 // 4497 // 示例值:1 4498 func (builder *GetTopUserReportReqBuilder) OrderBy(orderBy int) *GetTopUserReportReqBuilder { 4499 builder.apiReq.QueryParams.Set("order_by", fmt.Sprint(orderBy)) 4500 return builder 4501 } 4502 4503 // 此次调用中使用的用户ID的类型 4504 // 4505 // 示例值: 4506 func (builder *GetTopUserReportReqBuilder) UserIdType(userIdType string) *GetTopUserReportReqBuilder { 4507 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4508 return builder 4509 } 4510 4511 func (builder *GetTopUserReportReqBuilder) Build() *GetTopUserReportReq { 4512 req := &GetTopUserReportReq{} 4513 req.apiReq = &larkcore.ApiReq{} 4514 req.apiReq.QueryParams = builder.apiReq.QueryParams 4515 return req 4516 } 4517 4518 type GetTopUserReportReq struct { 4519 apiReq *larkcore.ApiReq 4520 } 4521 4522 type GetTopUserReportRespData struct { 4523 TopUserReport []*ReportTopUser `json:"top_user_report,omitempty"` // top用户列表 4524 } 4525 4526 type GetTopUserReportResp struct { 4527 *larkcore.ApiResp `json:"-"` 4528 larkcore.CodeError 4529 Data *GetTopUserReportRespData `json:"data"` // 业务数据 4530 } 4531 4532 func (resp *GetTopUserReportResp) Success() bool { 4533 return resp.Code == 0 4534 } 4535 4536 type ApplyReserveReqBodyBuilder struct { 4537 endTime string // 预约到期时间(unix时间,单位sec),多人会议必填 4538 endTimeFlag bool 4539 meetingSettings *ReserveMeetingSetting // 会议设置 4540 meetingSettingsFlag bool 4541 } 4542 4543 func NewApplyReserveReqBodyBuilder() *ApplyReserveReqBodyBuilder { 4544 builder := &ApplyReserveReqBodyBuilder{} 4545 return builder 4546 } 4547 4548 // 预约到期时间(unix时间,单位sec),多人会议必填 4549 // 4550 //示例值:1608888867 4551 func (builder *ApplyReserveReqBodyBuilder) EndTime(endTime string) *ApplyReserveReqBodyBuilder { 4552 builder.endTime = endTime 4553 builder.endTimeFlag = true 4554 return builder 4555 } 4556 4557 // 会议设置 4558 // 4559 //示例值: 4560 func (builder *ApplyReserveReqBodyBuilder) MeetingSettings(meetingSettings *ReserveMeetingSetting) *ApplyReserveReqBodyBuilder { 4561 builder.meetingSettings = meetingSettings 4562 builder.meetingSettingsFlag = true 4563 return builder 4564 } 4565 4566 func (builder *ApplyReserveReqBodyBuilder) Build() *ApplyReserveReqBody { 4567 req := &ApplyReserveReqBody{} 4568 if builder.endTimeFlag { 4569 req.EndTime = &builder.endTime 4570 } 4571 if builder.meetingSettingsFlag { 4572 req.MeetingSettings = builder.meetingSettings 4573 } 4574 return req 4575 } 4576 4577 type ApplyReservePathReqBodyBuilder struct { 4578 endTime string // 预约到期时间(unix时间,单位sec),多人会议必填 4579 endTimeFlag bool 4580 meetingSettings *ReserveMeetingSetting // 会议设置 4581 meetingSettingsFlag bool 4582 } 4583 4584 func NewApplyReservePathReqBodyBuilder() *ApplyReservePathReqBodyBuilder { 4585 builder := &ApplyReservePathReqBodyBuilder{} 4586 return builder 4587 } 4588 4589 // 预约到期时间(unix时间,单位sec),多人会议必填 4590 // 4591 // 示例值:1608888867 4592 func (builder *ApplyReservePathReqBodyBuilder) EndTime(endTime string) *ApplyReservePathReqBodyBuilder { 4593 builder.endTime = endTime 4594 builder.endTimeFlag = true 4595 return builder 4596 } 4597 4598 // 会议设置 4599 // 4600 // 示例值: 4601 func (builder *ApplyReservePathReqBodyBuilder) MeetingSettings(meetingSettings *ReserveMeetingSetting) *ApplyReservePathReqBodyBuilder { 4602 builder.meetingSettings = meetingSettings 4603 builder.meetingSettingsFlag = true 4604 return builder 4605 } 4606 4607 func (builder *ApplyReservePathReqBodyBuilder) Build() (*ApplyReserveReqBody, error) { 4608 req := &ApplyReserveReqBody{} 4609 if builder.endTimeFlag { 4610 req.EndTime = &builder.endTime 4611 } 4612 if builder.meetingSettingsFlag { 4613 req.MeetingSettings = builder.meetingSettings 4614 } 4615 return req, nil 4616 } 4617 4618 type ApplyReserveReqBuilder struct { 4619 apiReq *larkcore.ApiReq 4620 body *ApplyReserveReqBody 4621 } 4622 4623 func NewApplyReserveReqBuilder() *ApplyReserveReqBuilder { 4624 builder := &ApplyReserveReqBuilder{} 4625 builder.apiReq = &larkcore.ApiReq{ 4626 PathParams: larkcore.PathParams{}, 4627 QueryParams: larkcore.QueryParams{}, 4628 } 4629 return builder 4630 } 4631 4632 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 4633 // 4634 // 示例值: 4635 func (builder *ApplyReserveReqBuilder) UserIdType(userIdType string) *ApplyReserveReqBuilder { 4636 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4637 return builder 4638 } 4639 4640 // 创建一个会议预约。 4641 func (builder *ApplyReserveReqBuilder) Body(body *ApplyReserveReqBody) *ApplyReserveReqBuilder { 4642 builder.body = body 4643 return builder 4644 } 4645 4646 func (builder *ApplyReserveReqBuilder) Build() *ApplyReserveReq { 4647 req := &ApplyReserveReq{} 4648 req.apiReq = &larkcore.ApiReq{} 4649 req.apiReq.QueryParams = builder.apiReq.QueryParams 4650 req.apiReq.Body = builder.body 4651 return req 4652 } 4653 4654 type ApplyReserveReqBody struct { 4655 EndTime *string `json:"end_time,omitempty"` // 预约到期时间(unix时间,单位sec),多人会议必填 4656 MeetingSettings *ReserveMeetingSetting `json:"meeting_settings,omitempty"` // 会议设置 4657 } 4658 4659 type ApplyReserveReq struct { 4660 apiReq *larkcore.ApiReq 4661 Body *ApplyReserveReqBody `body:""` 4662 } 4663 4664 type ApplyReserveRespData struct { 4665 Reserve *Reserve `json:"reserve,omitempty"` // 预约数据 4666 } 4667 4668 type ApplyReserveResp struct { 4669 *larkcore.ApiResp `json:"-"` 4670 larkcore.CodeError 4671 Data *ApplyReserveRespData `json:"data"` // 业务数据 4672 } 4673 4674 func (resp *ApplyReserveResp) Success() bool { 4675 return resp.Code == 0 4676 } 4677 4678 type DeleteReserveReqBuilder struct { 4679 apiReq *larkcore.ApiReq 4680 } 4681 4682 func NewDeleteReserveReqBuilder() *DeleteReserveReqBuilder { 4683 builder := &DeleteReserveReqBuilder{} 4684 builder.apiReq = &larkcore.ApiReq{ 4685 PathParams: larkcore.PathParams{}, 4686 QueryParams: larkcore.QueryParams{}, 4687 } 4688 return builder 4689 } 4690 4691 // 预约ID(预约的唯一标识) 4692 // 4693 // 示例值:6911188411932033028 4694 func (builder *DeleteReserveReqBuilder) ReserveId(reserveId string) *DeleteReserveReqBuilder { 4695 builder.apiReq.PathParams.Set("reserve_id", fmt.Sprint(reserveId)) 4696 return builder 4697 } 4698 4699 func (builder *DeleteReserveReqBuilder) Build() *DeleteReserveReq { 4700 req := &DeleteReserveReq{} 4701 req.apiReq = &larkcore.ApiReq{} 4702 req.apiReq.PathParams = builder.apiReq.PathParams 4703 return req 4704 } 4705 4706 type DeleteReserveReq struct { 4707 apiReq *larkcore.ApiReq 4708 } 4709 4710 type DeleteReserveResp struct { 4711 *larkcore.ApiResp `json:"-"` 4712 larkcore.CodeError 4713 } 4714 4715 func (resp *DeleteReserveResp) Success() bool { 4716 return resp.Code == 0 4717 } 4718 4719 type GetReserveReqBuilder struct { 4720 apiReq *larkcore.ApiReq 4721 } 4722 4723 func NewGetReserveReqBuilder() *GetReserveReqBuilder { 4724 builder := &GetReserveReqBuilder{} 4725 builder.apiReq = &larkcore.ApiReq{ 4726 PathParams: larkcore.PathParams{}, 4727 QueryParams: larkcore.QueryParams{}, 4728 } 4729 return builder 4730 } 4731 4732 // 预约ID(预约的唯一标识) 4733 // 4734 // 示例值:6911188411932033028 4735 func (builder *GetReserveReqBuilder) ReserveId(reserveId string) *GetReserveReqBuilder { 4736 builder.apiReq.PathParams.Set("reserve_id", fmt.Sprint(reserveId)) 4737 return builder 4738 } 4739 4740 // 此次调用中使用的用户ID的类型 4741 // 4742 // 示例值: 4743 func (builder *GetReserveReqBuilder) UserIdType(userIdType string) *GetReserveReqBuilder { 4744 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4745 return builder 4746 } 4747 4748 func (builder *GetReserveReqBuilder) Build() *GetReserveReq { 4749 req := &GetReserveReq{} 4750 req.apiReq = &larkcore.ApiReq{} 4751 req.apiReq.PathParams = builder.apiReq.PathParams 4752 req.apiReq.QueryParams = builder.apiReq.QueryParams 4753 return req 4754 } 4755 4756 type GetReserveReq struct { 4757 apiReq *larkcore.ApiReq 4758 } 4759 4760 type GetReserveRespData struct { 4761 Reserve *Reserve `json:"reserve,omitempty"` // 预约数据 4762 } 4763 4764 type GetReserveResp struct { 4765 *larkcore.ApiResp `json:"-"` 4766 larkcore.CodeError 4767 Data *GetReserveRespData `json:"data"` // 业务数据 4768 } 4769 4770 func (resp *GetReserveResp) Success() bool { 4771 return resp.Code == 0 4772 } 4773 4774 type GetActiveMeetingReserveReqBuilder struct { 4775 apiReq *larkcore.ApiReq 4776 } 4777 4778 func NewGetActiveMeetingReserveReqBuilder() *GetActiveMeetingReserveReqBuilder { 4779 builder := &GetActiveMeetingReserveReqBuilder{} 4780 builder.apiReq = &larkcore.ApiReq{ 4781 PathParams: larkcore.PathParams{}, 4782 QueryParams: larkcore.QueryParams{}, 4783 } 4784 return builder 4785 } 4786 4787 // 预约ID(预约的唯一标识) 4788 // 4789 // 示例值:6911188411932033028 4790 func (builder *GetActiveMeetingReserveReqBuilder) ReserveId(reserveId string) *GetActiveMeetingReserveReqBuilder { 4791 builder.apiReq.PathParams.Set("reserve_id", fmt.Sprint(reserveId)) 4792 return builder 4793 } 4794 4795 // 是否需要参会人列表,默认为false 4796 // 4797 // 示例值:false 4798 func (builder *GetActiveMeetingReserveReqBuilder) WithParticipants(withParticipants bool) *GetActiveMeetingReserveReqBuilder { 4799 builder.apiReq.QueryParams.Set("with_participants", fmt.Sprint(withParticipants)) 4800 return builder 4801 } 4802 4803 // 此次调用中使用的用户ID的类型 4804 // 4805 // 示例值: 4806 func (builder *GetActiveMeetingReserveReqBuilder) UserIdType(userIdType string) *GetActiveMeetingReserveReqBuilder { 4807 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4808 return builder 4809 } 4810 4811 func (builder *GetActiveMeetingReserveReqBuilder) Build() *GetActiveMeetingReserveReq { 4812 req := &GetActiveMeetingReserveReq{} 4813 req.apiReq = &larkcore.ApiReq{} 4814 req.apiReq.PathParams = builder.apiReq.PathParams 4815 req.apiReq.QueryParams = builder.apiReq.QueryParams 4816 return req 4817 } 4818 4819 type GetActiveMeetingReserveReq struct { 4820 apiReq *larkcore.ApiReq 4821 } 4822 4823 type GetActiveMeetingReserveRespData struct { 4824 Meeting *Meeting `json:"meeting,omitempty"` // 会议数据 4825 } 4826 4827 type GetActiveMeetingReserveResp struct { 4828 *larkcore.ApiResp `json:"-"` 4829 larkcore.CodeError 4830 Data *GetActiveMeetingReserveRespData `json:"data"` // 业务数据 4831 } 4832 4833 func (resp *GetActiveMeetingReserveResp) Success() bool { 4834 return resp.Code == 0 4835 } 4836 4837 type UpdateReserveReqBodyBuilder struct { 4838 endTime string // 预约到期时间(unix时间,单位sec) 4839 endTimeFlag bool 4840 meetingSettings *ReserveMeetingSetting // 会议设置 4841 meetingSettingsFlag bool 4842 } 4843 4844 func NewUpdateReserveReqBodyBuilder() *UpdateReserveReqBodyBuilder { 4845 builder := &UpdateReserveReqBodyBuilder{} 4846 return builder 4847 } 4848 4849 // 预约到期时间(unix时间,单位sec) 4850 // 4851 //示例值:1608888867 4852 func (builder *UpdateReserveReqBodyBuilder) EndTime(endTime string) *UpdateReserveReqBodyBuilder { 4853 builder.endTime = endTime 4854 builder.endTimeFlag = true 4855 return builder 4856 } 4857 4858 // 会议设置 4859 // 4860 //示例值: 4861 func (builder *UpdateReserveReqBodyBuilder) MeetingSettings(meetingSettings *ReserveMeetingSetting) *UpdateReserveReqBodyBuilder { 4862 builder.meetingSettings = meetingSettings 4863 builder.meetingSettingsFlag = true 4864 return builder 4865 } 4866 4867 func (builder *UpdateReserveReqBodyBuilder) Build() *UpdateReserveReqBody { 4868 req := &UpdateReserveReqBody{} 4869 if builder.endTimeFlag { 4870 req.EndTime = &builder.endTime 4871 } 4872 if builder.meetingSettingsFlag { 4873 req.MeetingSettings = builder.meetingSettings 4874 } 4875 return req 4876 } 4877 4878 type UpdateReservePathReqBodyBuilder struct { 4879 endTime string // 预约到期时间(unix时间,单位sec) 4880 endTimeFlag bool 4881 meetingSettings *ReserveMeetingSetting // 会议设置 4882 meetingSettingsFlag bool 4883 } 4884 4885 func NewUpdateReservePathReqBodyBuilder() *UpdateReservePathReqBodyBuilder { 4886 builder := &UpdateReservePathReqBodyBuilder{} 4887 return builder 4888 } 4889 4890 // 预约到期时间(unix时间,单位sec) 4891 // 4892 // 示例值:1608888867 4893 func (builder *UpdateReservePathReqBodyBuilder) EndTime(endTime string) *UpdateReservePathReqBodyBuilder { 4894 builder.endTime = endTime 4895 builder.endTimeFlag = true 4896 return builder 4897 } 4898 4899 // 会议设置 4900 // 4901 // 示例值: 4902 func (builder *UpdateReservePathReqBodyBuilder) MeetingSettings(meetingSettings *ReserveMeetingSetting) *UpdateReservePathReqBodyBuilder { 4903 builder.meetingSettings = meetingSettings 4904 builder.meetingSettingsFlag = true 4905 return builder 4906 } 4907 4908 func (builder *UpdateReservePathReqBodyBuilder) Build() (*UpdateReserveReqBody, error) { 4909 req := &UpdateReserveReqBody{} 4910 if builder.endTimeFlag { 4911 req.EndTime = &builder.endTime 4912 } 4913 if builder.meetingSettingsFlag { 4914 req.MeetingSettings = builder.meetingSettings 4915 } 4916 return req, nil 4917 } 4918 4919 type UpdateReserveReqBuilder struct { 4920 apiReq *larkcore.ApiReq 4921 body *UpdateReserveReqBody 4922 } 4923 4924 func NewUpdateReserveReqBuilder() *UpdateReserveReqBuilder { 4925 builder := &UpdateReserveReqBuilder{} 4926 builder.apiReq = &larkcore.ApiReq{ 4927 PathParams: larkcore.PathParams{}, 4928 QueryParams: larkcore.QueryParams{}, 4929 } 4930 return builder 4931 } 4932 4933 // 预约ID(预约的唯一标识) 4934 // 4935 // 示例值:6911188411932033028 4936 func (builder *UpdateReserveReqBuilder) ReserveId(reserveId string) *UpdateReserveReqBuilder { 4937 builder.apiReq.PathParams.Set("reserve_id", fmt.Sprint(reserveId)) 4938 return builder 4939 } 4940 4941 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 4942 // 4943 // 示例值: 4944 func (builder *UpdateReserveReqBuilder) UserIdType(userIdType string) *UpdateReserveReqBuilder { 4945 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4946 return builder 4947 } 4948 4949 // 更新一个预约 4950 func (builder *UpdateReserveReqBuilder) Body(body *UpdateReserveReqBody) *UpdateReserveReqBuilder { 4951 builder.body = body 4952 return builder 4953 } 4954 4955 func (builder *UpdateReserveReqBuilder) Build() *UpdateReserveReq { 4956 req := &UpdateReserveReq{} 4957 req.apiReq = &larkcore.ApiReq{} 4958 req.apiReq.PathParams = builder.apiReq.PathParams 4959 req.apiReq.QueryParams = builder.apiReq.QueryParams 4960 req.apiReq.Body = builder.body 4961 return req 4962 } 4963 4964 type UpdateReserveReqBody struct { 4965 EndTime *string `json:"end_time,omitempty"` // 预约到期时间(unix时间,单位sec) 4966 MeetingSettings *ReserveMeetingSetting `json:"meeting_settings,omitempty"` // 会议设置 4967 } 4968 4969 type UpdateReserveReq struct { 4970 apiReq *larkcore.ApiReq 4971 Body *UpdateReserveReqBody `body:""` 4972 } 4973 4974 type UpdateReserveRespData struct { 4975 Reserve *Reserve `json:"reserve,omitempty"` // 预约数据 4976 } 4977 4978 type UpdateReserveResp struct { 4979 *larkcore.ApiResp `json:"-"` 4980 larkcore.CodeError 4981 Data *UpdateReserveRespData `json:"data"` // 业务数据 4982 } 4983 4984 func (resp *UpdateReserveResp) Success() bool { 4985 return resp.Code == 0 4986 } 4987 4988 type QueryRoomConfigReqBuilder struct { 4989 apiReq *larkcore.ApiReq 4990 } 4991 4992 func NewQueryRoomConfigReqBuilder() *QueryRoomConfigReqBuilder { 4993 builder := &QueryRoomConfigReqBuilder{} 4994 builder.apiReq = &larkcore.ApiReq{ 4995 PathParams: larkcore.PathParams{}, 4996 QueryParams: larkcore.QueryParams{}, 4997 } 4998 return builder 4999 } 5000 5001 // 查询节点范围 5002 // 5003 // 示例值:5 5004 func (builder *QueryRoomConfigReqBuilder) Scope(scope int) *QueryRoomConfigReqBuilder { 5005 builder.apiReq.QueryParams.Set("scope", fmt.Sprint(scope)) 5006 return builder 5007 } 5008 5009 // 国家/地区ID scope为2,3时需要此参数 5010 // 5011 // 示例值:086 5012 func (builder *QueryRoomConfigReqBuilder) CountryId(countryId string) *QueryRoomConfigReqBuilder { 5013 builder.apiReq.QueryParams.Set("country_id", fmt.Sprint(countryId)) 5014 return builder 5015 } 5016 5017 // 城市ID scope为3时需要此参数 5018 // 5019 // 示例值:001 5020 func (builder *QueryRoomConfigReqBuilder) DistrictId(districtId string) *QueryRoomConfigReqBuilder { 5021 builder.apiReq.QueryParams.Set("district_id", fmt.Sprint(districtId)) 5022 return builder 5023 } 5024 5025 // 建筑ID scope为4,5时需要此参数 5026 // 5027 // 示例值:22 5028 func (builder *QueryRoomConfigReqBuilder) BuildingId(buildingId string) *QueryRoomConfigReqBuilder { 5029 builder.apiReq.QueryParams.Set("building_id", fmt.Sprint(buildingId)) 5030 return builder 5031 } 5032 5033 // 楼层 scope为5时需要此参数 5034 // 5035 // 示例值:4 5036 func (builder *QueryRoomConfigReqBuilder) FloorName(floorName string) *QueryRoomConfigReqBuilder { 5037 builder.apiReq.QueryParams.Set("floor_name", fmt.Sprint(floorName)) 5038 return builder 5039 } 5040 5041 // 会议室ID scope为6时需要此参数 5042 // 5043 // 示例值:6383786266263 5044 func (builder *QueryRoomConfigReqBuilder) RoomId(roomId string) *QueryRoomConfigReqBuilder { 5045 builder.apiReq.QueryParams.Set("room_id", fmt.Sprint(roomId)) 5046 return builder 5047 } 5048 5049 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 5050 // 5051 // 示例值: 5052 func (builder *QueryRoomConfigReqBuilder) UserIdType(userIdType string) *QueryRoomConfigReqBuilder { 5053 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 5054 return builder 5055 } 5056 5057 func (builder *QueryRoomConfigReqBuilder) Build() *QueryRoomConfigReq { 5058 req := &QueryRoomConfigReq{} 5059 req.apiReq = &larkcore.ApiReq{} 5060 req.apiReq.QueryParams = builder.apiReq.QueryParams 5061 return req 5062 } 5063 5064 type QueryRoomConfigReq struct { 5065 apiReq *larkcore.ApiReq 5066 } 5067 5068 type QueryRoomConfigRespData struct { 5069 RoomBackground *string `json:"room_background,omitempty"` // 飞书会议室背景图 5070 DisplayBackground *string `json:"display_background,omitempty"` // 飞书签到板背景图 5071 DigitalSignage *RoomDigitalSignage `json:"digital_signage,omitempty"` // 飞书会议室数字标牌 5072 RoomBoxDigitalSignage *RoomDigitalSignage `json:"room_box_digital_signage,omitempty"` // 飞书投屏盒子数字标牌 5073 RoomStatus *RoomStatus `json:"room_status,omitempty"` // 会议室状态 5074 } 5075 5076 type QueryRoomConfigResp struct { 5077 *larkcore.ApiResp `json:"-"` 5078 larkcore.CodeError 5079 Data *QueryRoomConfigRespData `json:"data"` // 业务数据 5080 } 5081 5082 func (resp *QueryRoomConfigResp) Success() bool { 5083 return resp.Code == 0 5084 } 5085 5086 type SetRoomConfigReqBodyBuilder struct { 5087 scope int // 设置节点范围 5088 scopeFlag bool 5089 countryId string // 国家/地区ID scope为2,3时需要此参数 5090 countryIdFlag bool 5091 districtId string // 城市ID scope为3时需要此参数 5092 districtIdFlag bool 5093 buildingId string // 建筑ID scope为4,5时需要此参数 5094 buildingIdFlag bool 5095 floorName string // 楼层 scope为5时需要此参数 5096 floorNameFlag bool 5097 roomId string // 会议室ID scope为6时需要此参数 5098 roomIdFlag bool 5099 roomConfig *RoomConfig // 会议室设置 5100 roomConfigFlag bool 5101 } 5102 5103 func NewSetRoomConfigReqBodyBuilder() *SetRoomConfigReqBodyBuilder { 5104 builder := &SetRoomConfigReqBodyBuilder{} 5105 return builder 5106 } 5107 5108 // 设置节点范围 5109 // 5110 //示例值:5 5111 func (builder *SetRoomConfigReqBodyBuilder) Scope(scope int) *SetRoomConfigReqBodyBuilder { 5112 builder.scope = scope 5113 builder.scopeFlag = true 5114 return builder 5115 } 5116 5117 // 国家/地区ID scope为2,3时需要此参数 5118 // 5119 //示例值:086 5120 func (builder *SetRoomConfigReqBodyBuilder) CountryId(countryId string) *SetRoomConfigReqBodyBuilder { 5121 builder.countryId = countryId 5122 builder.countryIdFlag = true 5123 return builder 5124 } 5125 5126 // 城市ID scope为3时需要此参数 5127 // 5128 //示例值:223 5129 func (builder *SetRoomConfigReqBodyBuilder) DistrictId(districtId string) *SetRoomConfigReqBodyBuilder { 5130 builder.districtId = districtId 5131 builder.districtIdFlag = true 5132 return builder 5133 } 5134 5135 // 建筑ID scope为4,5时需要此参数 5136 // 5137 //示例值:66 5138 func (builder *SetRoomConfigReqBodyBuilder) BuildingId(buildingId string) *SetRoomConfigReqBodyBuilder { 5139 builder.buildingId = buildingId 5140 builder.buildingIdFlag = true 5141 return builder 5142 } 5143 5144 // 楼层 scope为5时需要此参数 5145 // 5146 //示例值:3 5147 func (builder *SetRoomConfigReqBodyBuilder) FloorName(floorName string) *SetRoomConfigReqBodyBuilder { 5148 builder.floorName = floorName 5149 builder.floorNameFlag = true 5150 return builder 5151 } 5152 5153 // 会议室ID scope为6时需要此参数 5154 // 5155 //示例值:67687262867363 5156 func (builder *SetRoomConfigReqBodyBuilder) RoomId(roomId string) *SetRoomConfigReqBodyBuilder { 5157 builder.roomId = roomId 5158 builder.roomIdFlag = true 5159 return builder 5160 } 5161 5162 // 会议室设置 5163 // 5164 //示例值: 5165 func (builder *SetRoomConfigReqBodyBuilder) RoomConfig(roomConfig *RoomConfig) *SetRoomConfigReqBodyBuilder { 5166 builder.roomConfig = roomConfig 5167 builder.roomConfigFlag = true 5168 return builder 5169 } 5170 5171 func (builder *SetRoomConfigReqBodyBuilder) Build() *SetRoomConfigReqBody { 5172 req := &SetRoomConfigReqBody{} 5173 if builder.scopeFlag { 5174 req.Scope = &builder.scope 5175 } 5176 if builder.countryIdFlag { 5177 req.CountryId = &builder.countryId 5178 } 5179 if builder.districtIdFlag { 5180 req.DistrictId = &builder.districtId 5181 } 5182 if builder.buildingIdFlag { 5183 req.BuildingId = &builder.buildingId 5184 } 5185 if builder.floorNameFlag { 5186 req.FloorName = &builder.floorName 5187 } 5188 if builder.roomIdFlag { 5189 req.RoomId = &builder.roomId 5190 } 5191 if builder.roomConfigFlag { 5192 req.RoomConfig = builder.roomConfig 5193 } 5194 return req 5195 } 5196 5197 type SetRoomConfigPathReqBodyBuilder struct { 5198 scope int // 设置节点范围 5199 scopeFlag bool 5200 countryId string // 国家/地区ID scope为2,3时需要此参数 5201 countryIdFlag bool 5202 districtId string // 城市ID scope为3时需要此参数 5203 districtIdFlag bool 5204 buildingId string // 建筑ID scope为4,5时需要此参数 5205 buildingIdFlag bool 5206 floorName string // 楼层 scope为5时需要此参数 5207 floorNameFlag bool 5208 roomId string // 会议室ID scope为6时需要此参数 5209 roomIdFlag bool 5210 roomConfig *RoomConfig // 会议室设置 5211 roomConfigFlag bool 5212 } 5213 5214 func NewSetRoomConfigPathReqBodyBuilder() *SetRoomConfigPathReqBodyBuilder { 5215 builder := &SetRoomConfigPathReqBodyBuilder{} 5216 return builder 5217 } 5218 5219 // 设置节点范围 5220 // 5221 // 示例值:5 5222 func (builder *SetRoomConfigPathReqBodyBuilder) Scope(scope int) *SetRoomConfigPathReqBodyBuilder { 5223 builder.scope = scope 5224 builder.scopeFlag = true 5225 return builder 5226 } 5227 5228 // 国家/地区ID scope为2,3时需要此参数 5229 // 5230 // 示例值:086 5231 func (builder *SetRoomConfigPathReqBodyBuilder) CountryId(countryId string) *SetRoomConfigPathReqBodyBuilder { 5232 builder.countryId = countryId 5233 builder.countryIdFlag = true 5234 return builder 5235 } 5236 5237 // 城市ID scope为3时需要此参数 5238 // 5239 // 示例值:223 5240 func (builder *SetRoomConfigPathReqBodyBuilder) DistrictId(districtId string) *SetRoomConfigPathReqBodyBuilder { 5241 builder.districtId = districtId 5242 builder.districtIdFlag = true 5243 return builder 5244 } 5245 5246 // 建筑ID scope为4,5时需要此参数 5247 // 5248 // 示例值:66 5249 func (builder *SetRoomConfigPathReqBodyBuilder) BuildingId(buildingId string) *SetRoomConfigPathReqBodyBuilder { 5250 builder.buildingId = buildingId 5251 builder.buildingIdFlag = true 5252 return builder 5253 } 5254 5255 // 楼层 scope为5时需要此参数 5256 // 5257 // 示例值:3 5258 func (builder *SetRoomConfigPathReqBodyBuilder) FloorName(floorName string) *SetRoomConfigPathReqBodyBuilder { 5259 builder.floorName = floorName 5260 builder.floorNameFlag = true 5261 return builder 5262 } 5263 5264 // 会议室ID scope为6时需要此参数 5265 // 5266 // 示例值:67687262867363 5267 func (builder *SetRoomConfigPathReqBodyBuilder) RoomId(roomId string) *SetRoomConfigPathReqBodyBuilder { 5268 builder.roomId = roomId 5269 builder.roomIdFlag = true 5270 return builder 5271 } 5272 5273 // 会议室设置 5274 // 5275 // 示例值: 5276 func (builder *SetRoomConfigPathReqBodyBuilder) RoomConfig(roomConfig *RoomConfig) *SetRoomConfigPathReqBodyBuilder { 5277 builder.roomConfig = roomConfig 5278 builder.roomConfigFlag = true 5279 return builder 5280 } 5281 5282 func (builder *SetRoomConfigPathReqBodyBuilder) Build() (*SetRoomConfigReqBody, error) { 5283 req := &SetRoomConfigReqBody{} 5284 if builder.scopeFlag { 5285 req.Scope = &builder.scope 5286 } 5287 if builder.countryIdFlag { 5288 req.CountryId = &builder.countryId 5289 } 5290 if builder.districtIdFlag { 5291 req.DistrictId = &builder.districtId 5292 } 5293 if builder.buildingIdFlag { 5294 req.BuildingId = &builder.buildingId 5295 } 5296 if builder.floorNameFlag { 5297 req.FloorName = &builder.floorName 5298 } 5299 if builder.roomIdFlag { 5300 req.RoomId = &builder.roomId 5301 } 5302 if builder.roomConfigFlag { 5303 req.RoomConfig = builder.roomConfig 5304 } 5305 return req, nil 5306 } 5307 5308 type SetRoomConfigReqBuilder struct { 5309 apiReq *larkcore.ApiReq 5310 body *SetRoomConfigReqBody 5311 } 5312 5313 func NewSetRoomConfigReqBuilder() *SetRoomConfigReqBuilder { 5314 builder := &SetRoomConfigReqBuilder{} 5315 builder.apiReq = &larkcore.ApiReq{ 5316 PathParams: larkcore.PathParams{}, 5317 QueryParams: larkcore.QueryParams{}, 5318 } 5319 return builder 5320 } 5321 5322 // 此次调用中使用的用户ID的类型,默认使用open_id可不填 5323 // 5324 // 示例值: 5325 func (builder *SetRoomConfigReqBuilder) UserIdType(userIdType string) *SetRoomConfigReqBuilder { 5326 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 5327 return builder 5328 } 5329 5330 // 设置一个范围内的会议室配置。 5331 func (builder *SetRoomConfigReqBuilder) Body(body *SetRoomConfigReqBody) *SetRoomConfigReqBuilder { 5332 builder.body = body 5333 return builder 5334 } 5335 5336 func (builder *SetRoomConfigReqBuilder) Build() *SetRoomConfigReq { 5337 req := &SetRoomConfigReq{} 5338 req.apiReq = &larkcore.ApiReq{} 5339 req.apiReq.QueryParams = builder.apiReq.QueryParams 5340 req.apiReq.Body = builder.body 5341 return req 5342 } 5343 5344 type SetRoomConfigReqBody struct { 5345 Scope *int `json:"scope,omitempty"` // 设置节点范围 5346 CountryId *string `json:"country_id,omitempty"` // 国家/地区ID scope为2,3时需要此参数 5347 DistrictId *string `json:"district_id,omitempty"` // 城市ID scope为3时需要此参数 5348 BuildingId *string `json:"building_id,omitempty"` // 建筑ID scope为4,5时需要此参数 5349 FloorName *string `json:"floor_name,omitempty"` // 楼层 scope为5时需要此参数 5350 RoomId *string `json:"room_id,omitempty"` // 会议室ID scope为6时需要此参数 5351 RoomConfig *RoomConfig `json:"room_config,omitempty"` // 会议室设置 5352 } 5353 5354 type SetRoomConfigReq struct { 5355 apiReq *larkcore.ApiReq 5356 Body *SetRoomConfigReqBody `body:""` 5357 } 5358 5359 type SetRoomConfigResp struct { 5360 *larkcore.ApiResp `json:"-"` 5361 larkcore.CodeError 5362 } 5363 5364 func (resp *SetRoomConfigResp) Success() bool { 5365 return resp.Code == 0 5366 } 5367 5368 type P2MeetingJoinMeetingV1Data struct { 5369 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5370 Operator *MeetingEventUser `json:"operator,omitempty"` // 事件操作人 5371 } 5372 5373 type P2MeetingJoinMeetingV1 struct { 5374 *larkevent.EventV2Base // 事件基础数据 5375 *larkevent.EventReq // 请求原生数据 5376 Event *P2MeetingJoinMeetingV1Data `json:"event"` // 事件内容 5377 } 5378 5379 func (m *P2MeetingJoinMeetingV1) RawReq(req *larkevent.EventReq) { 5380 m.EventReq = req 5381 } 5382 5383 type P2MeetingLeaveMeetingV1Data struct { 5384 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5385 Operator *MeetingEventUser `json:"operator,omitempty"` // 事件操作人 5386 LeaveReason *int `json:"leave_reason,omitempty"` // 离开会议原因 5387 } 5388 5389 type P2MeetingLeaveMeetingV1 struct { 5390 *larkevent.EventV2Base // 事件基础数据 5391 *larkevent.EventReq // 请求原生数据 5392 Event *P2MeetingLeaveMeetingV1Data `json:"event"` // 事件内容 5393 } 5394 5395 func (m *P2MeetingLeaveMeetingV1) RawReq(req *larkevent.EventReq) { 5396 m.EventReq = req 5397 } 5398 5399 type P2MeetingEndedV1Data struct { 5400 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5401 Operator *MeetingEventUser `json:"operator,omitempty"` // 事件操作人 5402 } 5403 5404 type P2MeetingEndedV1 struct { 5405 *larkevent.EventV2Base // 事件基础数据 5406 *larkevent.EventReq // 请求原生数据 5407 Event *P2MeetingEndedV1Data `json:"event"` // 事件内容 5408 } 5409 5410 func (m *P2MeetingEndedV1) RawReq(req *larkevent.EventReq) { 5411 m.EventReq = req 5412 } 5413 5414 type P2MeetingStartedV1Data struct { 5415 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5416 Operator *MeetingEventUser `json:"operator,omitempty"` // 事件操作人 5417 } 5418 5419 type P2MeetingStartedV1 struct { 5420 *larkevent.EventV2Base // 事件基础数据 5421 *larkevent.EventReq // 请求原生数据 5422 Event *P2MeetingStartedV1Data `json:"event"` // 事件内容 5423 } 5424 5425 func (m *P2MeetingStartedV1) RawReq(req *larkevent.EventReq) { 5426 m.EventReq = req 5427 } 5428 5429 type P2MeetingRecordingEndedV1Data struct { 5430 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5431 Operator *MeetingEventUser `json:"operator,omitempty"` // 事件操作人 5432 } 5433 5434 type P2MeetingRecordingEndedV1 struct { 5435 *larkevent.EventV2Base // 事件基础数据 5436 *larkevent.EventReq // 请求原生数据 5437 Event *P2MeetingRecordingEndedV1Data `json:"event"` // 事件内容 5438 } 5439 5440 func (m *P2MeetingRecordingEndedV1) RawReq(req *larkevent.EventReq) { 5441 m.EventReq = req 5442 } 5443 5444 type P2MeetingRecordingReadyV1Data struct { 5445 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5446 Url *string `json:"url,omitempty"` // 会议录制链接 5447 Duration *string `json:"duration,omitempty"` // 录制总时长(单位msec) 5448 } 5449 5450 type P2MeetingRecordingReadyV1 struct { 5451 *larkevent.EventV2Base // 事件基础数据 5452 *larkevent.EventReq // 请求原生数据 5453 Event *P2MeetingRecordingReadyV1Data `json:"event"` // 事件内容 5454 } 5455 5456 func (m *P2MeetingRecordingReadyV1) RawReq(req *larkevent.EventReq) { 5457 m.EventReq = req 5458 } 5459 5460 type P2MeetingRecordingStartedV1Data struct { 5461 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5462 Operator *MeetingEventUser `json:"operator,omitempty"` // 事件操作人 5463 } 5464 5465 type P2MeetingRecordingStartedV1 struct { 5466 *larkevent.EventV2Base // 事件基础数据 5467 *larkevent.EventReq // 请求原生数据 5468 Event *P2MeetingRecordingStartedV1Data `json:"event"` // 事件内容 5469 } 5470 5471 func (m *P2MeetingRecordingStartedV1) RawReq(req *larkevent.EventReq) { 5472 m.EventReq = req 5473 } 5474 5475 type P2MeetingShareEndedV1Data struct { 5476 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5477 Operator *MeetingEventUser `json:"operator,omitempty"` // 事件操作人 5478 } 5479 5480 type P2MeetingShareEndedV1 struct { 5481 *larkevent.EventV2Base // 事件基础数据 5482 *larkevent.EventReq // 请求原生数据 5483 Event *P2MeetingShareEndedV1Data `json:"event"` // 事件内容 5484 } 5485 5486 func (m *P2MeetingShareEndedV1) RawReq(req *larkevent.EventReq) { 5487 m.EventReq = req 5488 } 5489 5490 type P2MeetingShareStartedV1Data struct { 5491 Meeting *MeetingEventMeeting `json:"meeting,omitempty"` // 会议数据 5492 Operator *MeetingEventUser `json:"operator,omitempty"` // 事件操作人 5493 } 5494 5495 type P2MeetingShareStartedV1 struct { 5496 *larkevent.EventV2Base // 事件基础数据 5497 *larkevent.EventReq // 请求原生数据 5498 Event *P2MeetingShareStartedV1Data `json:"event"` // 事件内容 5499 } 5500 5501 func (m *P2MeetingShareStartedV1) RawReq(req *larkevent.EventReq) { 5502 m.EventReq = req 5503 } 5504 5505 type ListByNoMeetingIterator struct { 5506 nextPageToken *string 5507 items []*Meeting 5508 index int 5509 limit int 5510 ctx context.Context 5511 req *ListByNoMeetingReq 5512 listFunc func(ctx context.Context, req *ListByNoMeetingReq, options ...larkcore.RequestOptionFunc) (*ListByNoMeetingResp, error) 5513 options []larkcore.RequestOptionFunc 5514 curlNum int 5515 } 5516 5517 func (iterator *ListByNoMeetingIterator) Next() (bool, *Meeting, error) { 5518 // 达到最大量,则返回 5519 if iterator.limit > 0 && iterator.curlNum >= iterator.limit { 5520 return false, nil, nil 5521 } 5522 5523 // 为0则拉取数据 5524 if iterator.index == 0 || iterator.index >= len(iterator.items) { 5525 if iterator.index != 0 && iterator.nextPageToken == nil { 5526 return false, nil, nil 5527 } 5528 if iterator.nextPageToken != nil { 5529 iterator.req.apiReq.QueryParams.Set("page_token", *iterator.nextPageToken) 5530 } 5531 resp, err := iterator.listFunc(iterator.ctx, iterator.req, iterator.options...) 5532 if err != nil { 5533 return false, nil, err 5534 } 5535 5536 if resp.Code != 0 { 5537 return false, nil, errors.New(fmt.Sprintf("Code:%d,Msg:%s", resp.Code, resp.Msg)) 5538 } 5539 5540 if len(resp.Data.MeetingBriefs) == 0 { 5541 return false, nil, nil 5542 } 5543 5544 iterator.nextPageToken = resp.Data.PageToken 5545 iterator.items = resp.Data.MeetingBriefs 5546 iterator.index = 0 5547 } 5548 5549 block := iterator.items[iterator.index] 5550 iterator.index++ 5551 iterator.curlNum++ 5552 return true, block, nil 5553 } 5554 5555 func (iterator *ListByNoMeetingIterator) NextPageToken() *string { 5556 return iterator.nextPageToken 5557 }