quguofeng 1 年之前
父节点
当前提交
0979d0b593
共有 100 个文件被更改,包括 7139 次插入490 次删除
  1. 18 1
      application/api/controller/Subscribe.php
  2. 2 1
      composer.json
  3. 21 6
      vendor/adbario/php-dot-notation/src/Dot.php
  4. 5 4
      vendor/adbario/php-dot-notation/src/helpers.php
  5. 1 1
      vendor/alibabacloud/credentials/README-zh-CN.md
  6. 1 1
      vendor/alibabacloud/credentials/README.md
  7. 5 2
      vendor/alibabacloud/credentials/composer.json
  8. 4 4
      vendor/alibabacloud/credentials/src/BearerTokenCredential.php
  9. 1 0
      vendor/alibabacloud/credentials/src/Credential.php
  10. 2 2
      vendor/alibabacloud/credentials/src/Filter.php
  11. 2 2
      vendor/alibabacloud/darabonba-openapi/composer.json
  12. 44 0
      vendor/alibabacloud/darabonba-openapi/src/Models/Config.php
  13. 28 4
      vendor/alibabacloud/darabonba-openapi/src/OpenApiClient.php
  14. 192 0
      vendor/alibabacloud/dingtalk/ChangeLog.md
  15. 62 55
      vendor/alibabacloud/dingtalk/composer.json
  16. 157 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Dingtalk.php
  17. 55 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailHeaders.php
  18. 147 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest.php
  19. 234 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/jobInfo.php
  20. 133 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/jobInfo/address.php
  21. 77 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/jobInfo/fullTimeInfo.php
  22. 175 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/jobInfo/partTimeInfo.php
  23. 91 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/recruitUserInfo.php
  24. 61 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailResponse.php
  25. 49 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailResponseBody.php
  26. 49 6
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeDetailRequest.php
  27. 77 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeDetailRequest/resumeFile.php
  28. 55 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailHeaders.php
  29. 204 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailRequest.php
  30. 77 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailRequest/resumeFile.php
  31. 61 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailResponse.php
  32. 49 0
      vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailResponseBody.php
  33. 111 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Dingtalk.php
  34. 55 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsHeaders.php
  35. 107 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsRequest.php
  36. 61 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsResponse.php
  37. 65 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsResponseBody.php
  38. 76 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsResponseBody/result.php
  39. 259 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsResponseBody/result/leaveRecords.php
  40. 3 19
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddRequest.php
  41. 16 1
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddRequest/freeCheckSetting.php
  42. 0 147
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddRequest/resourcePermissionMap.php
  43. 16 18
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddResponseBody.php
  44. 12 16
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddResponseBody/result.php
  45. 3 18
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateRequest.php
  46. 16 1
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateRequest/freeCheckSetting.php
  47. 0 147
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateRequest/resourcePermissionMap.php
  48. 16 18
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateResponseBody.php
  49. 12 16
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateResponseBody/result.php
  50. 55 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersHeaders.php
  51. 93 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersRequest.php
  52. 61 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersResponse.php
  53. 60 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersResponseBody.php
  54. 161 0
      vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersResponseBody/result.php
  55. 390 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Dingtalk.php
  56. 28 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/BatchCreateCustomerRequest/createCustomerRequestList.php
  57. 28 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/CreateCustomerRequest.php
  58. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/GetProductHeaders.php
  59. 49 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/GetProductRequest.php
  60. 61 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/GetProductResponse.php
  61. 147 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/GetProductResponseBody.php
  62. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/ProfessionBenefitConsumeHeaders.php
  63. 79 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/ProfessionBenefitConsumeRequest.php
  64. 61 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/ProfessionBenefitConsumeResponse.php
  65. 49 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/ProfessionBenefitConsumeResponseBody.php
  66. 28 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryCustomerInfoResponseBody/list_.php
  67. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageHeaders.php
  68. 63 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageRequest.php
  69. 61 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageResponse.php
  70. 72 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageResponseBody.php
  71. 147 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageResponseBody/list_.php
  72. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceHeaders.php
  73. 49 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceRequest.php
  74. 61 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponse.php
  75. 50 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody.php
  76. 358 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody/result.php
  77. 77 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody/result/creator.php
  78. 63 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody/result/customer.php
  79. 133 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody/result/productInfoList.php
  80. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptForInvoiceResponseBody/list_.php
  81. 133 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptForInvoiceResponseBody/list_/productInfoList.php
  82. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListHeaders.php
  83. 49 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListRequest.php
  84. 61 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListResponse.php
  85. 60 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListResponseBody.php
  86. 63 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListResponseBody/roleVOList.php
  87. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateDigitalInvoiceOrgInfoHeaders.php
  88. 93 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateDigitalInvoiceOrgInfoRequest.php
  89. 61 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateDigitalInvoiceOrgInfoResponse.php
  90. 49 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateDigitalInvoiceOrgInfoResponseBody.php
  91. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateHeaders.php
  92. 76 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateRequest.php
  93. 91 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateRequest/invoiceFinanceInfoVOList.php
  94. 61 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateResponse.php
  95. 48 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateResponseBody.php
  96. 90 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateResponseBody/result.php
  97. 91 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateResponseBody/result/failInvoices.php
  98. 55 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingStatusHeaders.php
  99. 76 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingStatusRequest.php
  100. 91 0
      vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingStatusRequest/invoiceFinanceInfoVOList.php

+ 18 - 1
application/api/controller/Subscribe.php

@@ -28,7 +28,24 @@ class Subscribe extends Base
         $url = 'https://'.$_SERVER['HTTP_HOST'].'/template.xlsx';
         $this->success('获取成功',$url);
     }
-
+    /**
+     * @Apidoc\Title("获取商品导入后的商品信息")
+     * @Apidoc\Desc("获取审批流程")
+     * @Apidoc\Method("GET")
+     * @Apidoc\Author("HG")
+     * @Apidoc\Tag("")
+     * @Apidoc\Query("url", type="string", desc="导入文件上传后的路径")
+     * @Apidoc\Returned("", type="string", desc="模板链接地址")
+     */
+    public function goods_info()
+    {
+        $url = input('url');
+        $import_path = $_SERVER['DOCUMENT_ROOT'].'/upload/excel/template.xlsx';
+        $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
+        $objExcel = $objReader->load($import_path);
+        $list = $objExcel->getActiveSheet()->toArray();
+        $this->success('获取成功',$url);
+    }
 }
 
 

+ 2 - 1
composer.json

@@ -26,7 +26,8 @@
     "alibabacloud/client": "^1.5",
     "alipaysdk/easysdk": "^2.2",
     "alibabacloud/dingtalk": "^1.4",
-    "hg/apidoc": "^4.1"
+    "hg/apidoc": "^4.1",
+    "phpoffice/phpspreadsheet": "^1.19"
   },
   "repositories": {
     "packagist": {

+ 21 - 6
vendor/adbario/php-dot-notation/src/Dot.php

@@ -29,14 +29,25 @@ class Dot implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
      */
     protected $items = [];
 
+
+    /**
+     * The delimiter (alternative to a '.') to be used.
+     *
+     * @var string
+     */
+    protected $delimiter = '.';
+
+
     /**
      * Create a new Dot instance
      *
      * @param mixed $items
+     * @param string $delimiter
      */
-    public function __construct($items = [])
+    public function __construct($items = [], $delimiter = '.')
     {
         $this->items = $this->getArrayItems($items);
+        $this->delimiter = strlen($delimiter) ? $delimiter : '.';
     }
 
     /**
@@ -104,7 +115,7 @@ class Dot implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
             }
 
             $items = &$this->items;
-            $segments = explode('.', $key);
+            $segments = explode($this->delimiter, $key);
             $lastSegment = array_pop($segments);
 
             foreach ($segments as $segment) {
@@ -148,6 +159,10 @@ class Dot implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
             $items = $this->items;
         }
 
+        if (!func_num_args()) {
+            $delimiter = $this->delimiter;
+        }
+
         foreach ($items as $key => $value) {
             if (is_array($value) && !empty($value)) {
                 $flatten = array_merge(
@@ -179,13 +194,13 @@ class Dot implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
             return $this->items[$key];
         }
 
-        if (strpos($key, '.') === false) {
+        if (strpos($key, $this->delimiter) === false) {
             return $default;
         }
 
         $items = $this->items;
 
-        foreach (explode('.', $key) as $segment) {
+        foreach (explode($this->delimiter, $key) as $segment) {
             if (!is_array($items) || !$this->exists($items, $segment)) {
                 return $default;
             }
@@ -234,7 +249,7 @@ class Dot implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
                 continue;
             }
 
-            foreach (explode('.', $key) as $segment) {
+            foreach (explode($this->delimiter, $key) as $segment) {
                 if (!is_array($items) || !$this->exists($items, $segment)) {
                     return false;
                 }
@@ -446,7 +461,7 @@ class Dot implements ArrayAccess, Countable, IteratorAggregate, JsonSerializable
 
         $items = &$this->items;
 
-        foreach (explode('.', $keys) as $key) {
+        foreach (explode($this->delimiter, $keys) as $key) {
             if (!isset($items[$key]) || !is_array($items[$key])) {
                 $items[$key] = [];
             }

+ 5 - 4
vendor/adbario/php-dot-notation/src/helpers.php

@@ -11,13 +11,14 @@ use Adbar\Dot;
 
 if (! function_exists('dot')) {
     /**
-     * Create a new Dot object with the given items
+     * Create a new Dot object with the given items and optional delimiter
      *
-     * @param  mixed $items
+     * @param  mixed  $items
+     * @param  string $delimiter
      * @return \Adbar\Dot
      */
-    function dot($items)
+    function dot($items, $delimiter = '.')
     {
-        return new Dot($items);
+        return new Dot($items, $delimiter);
     }
 }

+ 1 - 1
vendor/alibabacloud/credentials/README-zh-CN.md

@@ -149,7 +149,7 @@ $rsaKeyPair->getPrivateKey();
 use AlibabaCloud\Credentials\Credential;
 
 $bearerToken = new Credential([
-    'type'         => 'bearer_token',
+    'type'         => 'bearer',
     'bearer_token' => '<bearer_token>',
 ]);
 $bearerToken->getBearerToken();

+ 1 - 1
vendor/alibabacloud/credentials/README.md

@@ -150,7 +150,7 @@ If credential is required by the Cloud Call Centre (CCC), please apply for Beare
 use AlibabaCloud\Credentials\Credential;
 
 $bearerToken = new Credential([
-    'type'         => 'bearer_token',
+    'type'         => 'bearer',
     'bearer_token' => '<bearer_token>',
 ]);
 $bearerToken->getBearerToken();

+ 5 - 2
vendor/alibabacloud/credentials/composer.json

@@ -47,7 +47,7 @@
         "ext-sockets": "*",
         "drupal/coder": "^8.3",
         "symfony/dotenv": "^3.4",
-        "phpunit/phpunit": "^4.8.35|^5.4.3",
+        "phpunit/phpunit": "^5.7|^6.6|^7.5",
         "monolog/monolog": "^1.24",
         "composer/composer": "^1.8",
         "mikey179/vfsstream": "^1.6",
@@ -68,7 +68,10 @@
     },
     "config": {
         "preferred-install": "dist",
-        "optimize-autoloader": true
+        "optimize-autoloader": true,
+        "allow-plugins": {
+            "dealerdirect/phpcodesniffer-composer-installer": true
+        }
     },
     "minimum-stability": "dev",
     "prefer-stable": true,

+ 4 - 4
vendor/alibabacloud/credentials/src/BearerTokenCredential.php

@@ -18,13 +18,13 @@ class BearerTokenCredential implements CredentialsInterface
     /**
      * BearerTokenCredential constructor.
      *
-     * @param $bearerToken
+     * @param $bearer_token
      */
-    public function __construct($bearerToken)
+    public function __construct($bearer_token)
     {
-        Filter::bearerToken($bearerToken);
+        Filter::bearerToken($bearer_token);
 
-        $this->bearerToken = $bearerToken;
+        $this->bearerToken = $bearer_token;
     }
 
     /**

+ 1 - 0
vendor/alibabacloud/credentials/src/Credential.php

@@ -35,6 +35,7 @@ class Credential
         'ecs_ram_role' => EcsRamRoleCredential::class,
         'ram_role_arn' => RamRoleArnCredential::class,
         'rsa_key_pair' => RsaKeyPairCredential::class,
+        'bearer' => BearerTokenCredential::class,
     ];
 
     /**

+ 2 - 2
vendor/alibabacloud/credentials/src/Filter.php

@@ -35,11 +35,11 @@ class Filter
     public static function bearerToken($bearerToken)
     {
         if (!is_string($bearerToken)) {
-            throw new InvalidArgumentException('Bearer Token must be a string');
+            throw new InvalidArgumentException('bearer_token must be a string');
         }
 
         if ($bearerToken === '') {
-            throw new InvalidArgumentException('Bearer Token cannot be empty');
+            throw new InvalidArgumentException('bearer_token cannot be empty');
         }
 
         return $bearerToken;

+ 2 - 2
vendor/alibabacloud/darabonba-openapi/composer.json

@@ -11,9 +11,9 @@
   ],
   "require": {
     "php": ">5.5",
-    "alibabacloud/tea-utils": "^0.2.16",
+    "alibabacloud/tea-utils": "^0.2.17",
     "alibabacloud/credentials": "^1.1",
-    "alibabacloud/openapi-util": "^0.1.10",
+    "alibabacloud/openapi-util": "^0.1.10|^0.2.1",
     "alibabacloud/gateway-spi": "^1",
     "alibabacloud/tea-xml": "^0.2"
   },

+ 44 - 0
vendor/alibabacloud/darabonba-openapi/src/Models/Config.php

@@ -38,6 +38,9 @@ class Config extends Model
         'type' => '',
         'signatureVersion' => '',
         'signatureAlgorithm' => '',
+        'key' => '',
+        'cert' => '',
+        'ca' => '',
     ];
     public function validate()
     {
@@ -120,6 +123,15 @@ class Config extends Model
         if (null !== $this->globalParameters) {
             $res['globalParameters'] = null !== $this->globalParameters ? $this->globalParameters->toMap() : null;
         }
+        if (null !== $this->key) {
+            $res['key'] = $this->key;
+        }
+        if (null !== $this->cert) {
+            $res['cert'] = $this->cert;
+        }
+        if (null !== $this->ca) {
+            $res['ca'] = $this->ca;
+        }
         return $res;
     }
     /**
@@ -204,6 +216,15 @@ class Config extends Model
         if (isset($map['globalParameters'])) {
             $model->globalParameters = GlobalParameters::fromMap($map['globalParameters']);
         }
+        if (isset($map['key'])) {
+            $model->key = $map['key'];
+        }
+        if (isset($map['cert'])) {
+            $model->cert = $map['cert'];
+        }
+        if (isset($map['ca'])) {
+            $model->ca = $map['ca'];
+        }
         return $model;
     }
     /**
@@ -377,4 +398,27 @@ class Config extends Model
      * @var GlobalParameters
      */
     public $globalParameters;
+
+    /**
+     * @description privite key for client certificate
+     * @example MIIEvQ
+     * @var string
+     */
+    public $key;
+
+    /**
+     * @description client certificate
+     * @example -----BEGIN CERTIFICATE-----
+xxx-----END CERTIFICATE-----
+     * @var string
+     */
+    public $cert;
+
+    /**
+     * @description server certificate
+     * @example -----BEGIN CERTIFICATE-----
+xxx-----END CERTIFICATE-----
+     * @var string
+     */
+    public $ca;
 }

+ 28 - 4
vendor/alibabacloud/darabonba-openapi/src/OpenApiClient.php

@@ -80,6 +80,12 @@ class OpenApiClient
 
     protected $_globalParameters;
 
+    protected $_key;
+
+    protected $_cert;
+
+    protected $_ca;
+
     /**
      * Init client with Config
      * @param config config contains the necessary information to create a client
@@ -127,6 +133,9 @@ class OpenApiClient
         $this->_signatureVersion = $config->signatureVersion;
         $this->_signatureAlgorithm = $config->signatureAlgorithm;
         $this->_globalParameters = $config->globalParameters;
+        $this->_key = $config->key;
+        $this->_cert = $config->cert;
+        $this->_ca = $config->ca;
     }
 
     /**
@@ -150,6 +159,9 @@ class OpenApiClient
         $runtime->validate();
         $_runtime = [
             "timeouted" => "retry",
+            "key" => Utils::defaultString($runtime->key, $this->_key),
+            "cert" => Utils::defaultString($runtime->cert, $this->_cert),
+            "ca" => Utils::defaultString($runtime->ca, $this->_ca),
             "readTimeout" => Utils::defaultNumber($runtime->readTimeout, $this->_readTimeout),
             "connectTimeout" => Utils::defaultNumber($runtime->connectTimeout, $this->_connectTimeout),
             "httpProxy" => Utils::defaultString($runtime->httpProxy, $this->_httpProxy),
@@ -255,7 +267,7 @@ class OpenApiClient
                         "message" => "code: " . (string) ($_response->statusCode) . ", " . (string) (self::defaultAny(@$err["Message"], @$err["message"])) . " request id: " . (string) ($requestId) . "",
                         "data" => $err,
                         "description" => "" . (string) (self::defaultAny(@$err["Description"], @$err["description"])) . "",
-                        "accessDeniedDetail" => @$err["AccessDeniedDetail"]
+                        "accessDeniedDetail" => self::defaultAny(@$err["AccessDeniedDetail"], @$err["accessDeniedDetail"])
                     ]);
                 }
                 if (Utils::equalString($bodyType, "binary")) {
@@ -336,6 +348,9 @@ class OpenApiClient
         $runtime->validate();
         $_runtime = [
             "timeouted" => "retry",
+            "key" => Utils::defaultString($runtime->key, $this->_key),
+            "cert" => Utils::defaultString($runtime->cert, $this->_cert),
+            "ca" => Utils::defaultString($runtime->ca, $this->_ca),
             "readTimeout" => Utils::defaultNumber($runtime->readTimeout, $this->_readTimeout),
             "connectTimeout" => Utils::defaultNumber($runtime->connectTimeout, $this->_connectTimeout),
             "httpProxy" => Utils::defaultString($runtime->httpProxy, $this->_httpProxy),
@@ -430,7 +445,7 @@ class OpenApiClient
                         "message" => "code: " . (string) ($_response->statusCode) . ", " . (string) (self::defaultAny(@$err["Message"], @$err["message"])) . " request id: " . (string) ($requestId) . "",
                         "data" => $err,
                         "description" => "" . (string) (self::defaultAny(@$err["Description"], @$err["description"])) . "",
-                        "accessDeniedDetail" => @$err["AccessDeniedDetail"]
+                        "accessDeniedDetail" => self::defaultAny(@$err["AccessDeniedDetail"], @$err["accessDeniedDetail"])
                     ]);
                 }
                 if (Utils::equalString($bodyType, "binary")) {
@@ -511,6 +526,9 @@ class OpenApiClient
         $runtime->validate();
         $_runtime = [
             "timeouted" => "retry",
+            "key" => Utils::defaultString($runtime->key, $this->_key),
+            "cert" => Utils::defaultString($runtime->cert, $this->_cert),
+            "ca" => Utils::defaultString($runtime->ca, $this->_ca),
             "readTimeout" => Utils::defaultNumber($runtime->readTimeout, $this->_readTimeout),
             "connectTimeout" => Utils::defaultNumber($runtime->connectTimeout, $this->_connectTimeout),
             "httpProxy" => Utils::defaultString($runtime->httpProxy, $this->_httpProxy),
@@ -604,7 +622,7 @@ class OpenApiClient
                         "message" => "code: " . (string) ($_response->statusCode) . ", " . (string) (self::defaultAny(@$err["Message"], @$err["message"])) . " request id: " . (string) (self::defaultAny(@$err["RequestId"], @$err["requestId"])) . "",
                         "data" => $err,
                         "description" => "" . (string) (self::defaultAny(@$err["Description"], @$err["description"])) . "",
-                        "accessDeniedDetail" => @$err["AccessDeniedDetail"]
+                        "accessDeniedDetail" => self::defaultAny(@$err["AccessDeniedDetail"], @$err["accessDeniedDetail"])
                     ]);
                 }
                 if (Utils::equalString($bodyType, "binary")) {
@@ -680,6 +698,9 @@ class OpenApiClient
         $runtime->validate();
         $_runtime = [
             "timeouted" => "retry",
+            "key" => Utils::defaultString($runtime->key, $this->_key),
+            "cert" => Utils::defaultString($runtime->cert, $this->_cert),
+            "ca" => Utils::defaultString($runtime->ca, $this->_ca),
             "readTimeout" => Utils::defaultNumber($runtime->readTimeout, $this->_readTimeout),
             "connectTimeout" => Utils::defaultNumber($runtime->connectTimeout, $this->_connectTimeout),
             "httpProxy" => Utils::defaultString($runtime->httpProxy, $this->_httpProxy),
@@ -794,7 +815,7 @@ class OpenApiClient
                         "message" => "code: " . (string) ($_response->statusCode) . ", " . (string) (self::defaultAny(@$err["Message"], @$err["message"])) . " request id: " . (string) (self::defaultAny(@$err["RequestId"], @$err["requestId"])) . "",
                         "data" => $err,
                         "description" => "" . (string) (self::defaultAny(@$err["Description"], @$err["description"])) . "",
-                        "accessDeniedDetail" => @$err["AccessDeniedDetail"]
+                        "accessDeniedDetail" => self::defaultAny(@$err["AccessDeniedDetail"], @$err["accessDeniedDetail"])
                     ]);
                 }
                 if (Utils::equalString($params->bodyType, "binary")) {
@@ -870,6 +891,9 @@ class OpenApiClient
         $runtime->validate();
         $_runtime = [
             "timeouted" => "retry",
+            "key" => Utils::defaultString($runtime->key, $this->_key),
+            "cert" => Utils::defaultString($runtime->cert, $this->_cert),
+            "ca" => Utils::defaultString($runtime->ca, $this->_ca),
             "readTimeout" => Utils::defaultNumber($runtime->readTimeout, $this->_readTimeout),
             "connectTimeout" => Utils::defaultNumber($runtime->connectTimeout, $this->_connectTimeout),
             "httpProxy" => Utils::defaultString($runtime->httpProxy, $this->_httpProxy),

+ 192 - 0
vendor/alibabacloud/dingtalk/ChangeLog.md

@@ -1,3 +1,195 @@
+2023-04-21 Version: 1.5.65
+- Update AddOfficialAccountFollower.
+
+2023-04-14 Version: 1.5.64
+- Update AddOfficialAccountFollower.
+
+2023-04-11 Version: 1.5.63
+- Update AddOfficialAccountFollower.
+
+2023-04-07 Version: 1.5.62
+- Update AddOfficialAccountFollower.
+
+2023-04-04 Version: 1.5.61
+- Update AddOfficialAccountFollower.
+
+2023-03-29 Version: 1.5.60
+- Update AddOfficialAccountFollower.
+
+2023-03-27 Version: 1.5.59
+- Update AddOfficialAccountFollower.
+
+2023-03-21 Version: 1.5.58
+- Update AddOfficialAccountFollower.
+
+2023-03-15 Version: 1.5.55
+- Update AddOfficialAccountFollower.
+
+2023-03-14 Version: 1.5.54
+- Update AddOfficialAccountFollower.
+
+2023-03-13 Version: 1.5.53
+- Update AddOfficialAccountFollower.
+
+2023-03-09 Version: 1.5.52
+- Update AddOfficialAccountFollower.
+
+2023-03-08 Version: 1.5.51
+- Update AddOfficialAccountFollower.
+
+2023-03-07 Version: 1.5.50
+- Update AddOfficialAccountFollower.
+
+2023-03-07 Version: 1.5.49
+- Update AddOfficialAccountFollower.
+
+2023-03-02 Version: 1.5.48
+- Update AddOfficialAccountFollower.
+
+2023-03-01 Version: 1.5.47
+- Update sync interface.
+
+2023-02-28 Version: 1.5.46
+- Update sync interface.
+
+2023-02-23 Version: 1.5.45
+- Update sync interface.
+
+2023-02-22 Version: 1.5.44
+- Update sync interface.
+
+2023-02-17 Version: 1.5.43
+- Update sync interface.
+
+2023-02-17 Version: 1.5.42
+- Update sync interface.
+
+2023-02-15 Version: 1.5.41
+- Update sync interface.
+
+2023-02-13 Version: 1.5.40
+- Update sync interface.
+
+2023-02-10 Version: 1.5.39
+- Update sync interface.
+
+2023-02-07 Version: 1.5.38
+- Update sync interface.
+
+2023-02-06 Version: 1.5.37
+- Update sync interface.
+
+2023-02-03 Version: 1.5.36
+- Update sync interface.
+
+2023-02-02 Version: 1.5.35
+- Update sync interface.
+
+2023-02-02 Version: 1.5.34
+- Update sync interface.
+
+2023-02-01 Version: 1.5.33
+- Update sync interface.
+
+2023-01-31 Version: 1.5.32
+- Update sync interface.
+
+2023-01-30 Version: 1.5.31
+- Update sync interface.
+
+2023-01-20 Version: 1.5.30
+- Update sync interface.
+
+2023-01-19 Version: 1.5.29
+- Update sync interface.
+
+2023-01-18 Version: 1.5.28
+- Update sync interface.
+
+2023-01-17 Version: 1.5.27
+- Update sync interface.
+
+2023-01-16 Version: 1.5.26
+- Update sync interface.
+
+2023-01-13 Version: 1.5.25
+- Update sync interface.
+
+2023-01-12 Version: 1.5.24
+- Update sync interface.
+
+2023-01-11 Version: 1.5.23
+- Update sync interface.
+
+2023-01-10 Version: 1.5.22
+- Update sync interface.
+
+2023-01-09 Version: 1.5.21
+- Update sync interface.
+
+2023-01-06 Version: 1.5.20
+- Update sync interface.
+
+2023-01-05 Version: 1.5.19
+- Update sync interface.
+
+2023-01-04 Version: 1.5.18
+- Update sync interface.
+
+2023-01-04 Version: 1.5.17
+- Update sync interface.
+
+2023-01-03 Version: 1.5.17
+- Update sync interface.
+
+2023-01-03 Version: 1.5.17
+- Update sync interface.
+
+2022-12-30 Version: 1.5.16
+- Update sync interface.
+
+2022-12-29 Version: 1.5.15
+- Update sync interface.
+
+2022-12-28 Version: 1.5.14
+- Update sync interface.
+
+2022-12-27 Version: 1.5.13
+- Update sync interface.
+
+2022-12-26 Version: 1.5.12
+- Update sync interface.
+
+2022-12-23 Version: 1.5.11
+- Update sync interface.
+
+2022-12-22 Version: 1.5.10
+- Update sync interface.
+
+2022-12-21 Version: 1.4.99
+- Update sync interface.
+
+2022-12-20 Version: 1.4.98
+- Update sync interface.
+
+2022-12-19 Version: 1.4.97
+- Update sync interface.
+
+2022-12-16 Version: 1.4.96
+- Update sync interface.
+
+2022-12-15 Version: 1.4.95
+- Update sync interface.
+
+2022-12-14 Version: 1.4.94
+- Update sync interface.
+
+2022-12-13 Version: 1.4.93
+- Update sync interface.
+
+2022-12-12 Version: 1.4.92
+- Update sync interface.
+
 2022-12-09 Version: 1.4.91
 - Update sync interface.
 

+ 62 - 55
vendor/alibabacloud/dingtalk/composer.json

@@ -12,89 +12,96 @@
   "require": {
     "php": ">5.5",
     "alibabacloud/darabonba-openapi": "^0.2.8",
-    "alibabacloud/tea-utils": "^0.2.17",
-    "alibabacloud/openapi-util": "^0.1.10|^0.2.0",
+    "alibabacloud/tea-utils": "^0.2.18",
+    "alibabacloud/openapi-util": "^0.1.10|^0.2.1",
     "alibabacloud/endpoint-util": "^0.1.0"
   },
   "autoload": {
     "psr-4": {
-      "AlibabaCloud\\SDK\\Dingtalk\\Vevent_1_0\\": "src/event_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vwatt_1_0\\": "src/watt_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Valgo_1_0\\": "src/algo_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vflashmeeting_1_0\\": "src/flashmeeting_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vwms_1_0\\": "src/wms_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vhrbrain_1_0\\": "src/hrbrain_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vrcs_call_1_0\\": "src/rcs_call_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Voccupationauth_1_0\\": "src/occupationauth_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vgateway_1_0\\": "src/gateway_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vhrbrain_1_0\\": "src/hrbrain_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vblackboard_1_0\\": "src/blackboard_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcrm_2_0\\": "src/crm_2_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcontract_1_0\\": "src/contract_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vworkrecord_1_0\\": "src/workrecord_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vtrade_1_0\\": "src/trade_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vbadge_1_0\\": "src/badge_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vcontent_1_0\\": "src/content_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vrooms_1_0\\": "src/rooms_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vdiot_1_0\\": "src/diot_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vh5package_1_0\\": "src/h5package_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Voauth2_1_0\\": "src/oauth2_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vcustomer_service_1_0\\": "src/customer_service_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vmanufacturing_1_0\\": "src/manufacturing_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vsearch_1_0\\": "src/search_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vworkbench_1_0\\": "src/workbench_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vswform_1_0\\": "src/swform_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vapaas_1_0\\": "src/apaas_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vcarbon_1_0\\": "src/carbon_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vevent_1_0\\": "src/event_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vconv_file_1_0\\": "src/conv_file_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Valgo_1_0\\": "src/algo_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vim_2_0\\": "src/im_2_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vh5package_1_0\\": "src/h5package_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vproject_integration_1_0\\": "src/project_integration_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vapp_market_1_0\\": "src/app_market_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vtrip_1_0\\": "src/trip_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vtranscribe_1_0\\": "src/transcribe_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vsmart_device_1_0\\": "src/smart_device_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vwiki_1_0\\": "src/wiki_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vstorage_2_0\\": "src/storage_2_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vswform_1_0\\": "src/swform_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vgroup_blackboard_1_0\\": "src/group_blackboard_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vtrade_1_0\\": "src/trade_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vproject_integration_1_0\\": "src/project_integration_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcustomer_service_1_0\\": "src/customer_service_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vrcs_call_1_0\\": "src/rcs_call_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vmanufacturing_1_0\\": "src/manufacturing_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vtrajectory_1_0\\": "src/trajectory_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vflashmeeting_1_0\\": "src/flashmeeting_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vconnector_1_0\\": "src/connector_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vconference_1_0\\": "src/conference_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vorg_culture_1_0\\": "src/org_culture_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vlink_1_0\\": "src/link_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vcard_1_0\\": "src/card_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vapaas_1_0\\": "src/apaas_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vpedia_1_0\\": "src/pedia_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vminiapp_1_0\\": "src/miniapp_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vdingmi_1_0\\": "src/dingmi_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vvillage_1_0\\": "src/village_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vesign_1_0\\": "src/esign_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vpackage_1_0\\": "src/package_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vvillage_1_0\\": "src/village_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vdiot_1_0\\": "src/diot_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcontent_1_0\\": "src/content_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vsns_storage_1_0\\": "src/sns_storage_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vlive_1_0\\": "src/live_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vdevicemng_1_0\\": "src/devicemng_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vrobot_1_0\\": "src/robot_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vats_1_0\\": "src/ats_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vconference_1_0\\": "src/conference_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vhrm_1_0\\": "src/hrm_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vimpaas_1_0\\": "src/impaas_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vjzcrm_1_0\\": "src/jzcrm_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vtodo_1_0\\": "src/todo_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vh3yun_1_0\\": "src/h3yun_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vimpaas_1_0\\": "src/impaas_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vats_1_0\\": "src/ats_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vrooms_1_0\\": "src/rooms_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vmicro_app_1_0\\": "src/micro_app_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vdevicemng_1_0\\": "src/devicemng_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vokr_1_0\\": "src/okr_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vproject_1_0\\": "src/project_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vdrive_1_0\\": "src/drive_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vresident_1_0\\": "src/resident_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vesign_2_0\\": "src/esign_2_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vdoc_2_0\\": "src/doc_2_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vmicro_app_1_0\\": "src/micro_app_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vchengfeng_1_0\\": "src/chengfeng_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vlink_1_0\\": "src/link_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vjzcrm_1_0\\": "src/jzcrm_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vrobot_1_0\\": "src/robot_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Valitrip_1_0\\": "src/alitrip_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vcalendar_1_0\\": "src/calendar_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vattendance_1_0\\": "src/attendance_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vworkbench_1_0\\": "src/workbench_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vresident_1_0\\": "src/resident_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vfinance_1_0\\": "src/finance_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vcontact_1_0\\": "src/contact_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vim_1_0\\": "src/im_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcarbon_1_0\\": "src/carbon_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcalendar_1_0\\": "src/calendar_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vbadge_1_0\\": "src/badge_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vdoc_2_0\\": "src/doc_2_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vdoc_1_0\\": "src/doc_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vexclusive_1_0\\": "src/exclusive_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vapp_market_1_0\\": "src/app_market_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vlive_1_0\\": "src/live_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vbizfinance_1_0\\": "src/bizfinance_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vdingmi_1_0\\": "src/dingmi_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vtrip_1_0\\": "src/trip_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vworkflow_1_0\\": "src/workflow_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vdatacenter_1_0\\": "src/datacenter_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vservice_group_1_0\\": "src/service_group_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vcrm_1_0\\": "src/crm_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vattendance_1_0\\": "src/attendance_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcard_1_0\\": "src/card_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vproject_1_0\\": "src/project_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vsearch_1_0\\": "src/search_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vim_2_0\\": "src/im_2_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vstorage_1_0\\": "src/storage_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vtranscribe_1_0\\": "src/transcribe_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vconnector_1_0\\": "src/connector_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vim_1_0\\": "src/im_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vesign_1_0\\": "src/esign_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcontact_1_0\\": "src/contact_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vorg_culture_1_0\\": "src/org_culture_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vexclusive_1_0\\": "src/exclusive_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vcrm_1_0\\": "src/crm_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vservice_group_1_0\\": "src/service_group_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vdatacenter_1_0\\": "src/datacenter_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vedu_1_0\\": "src/edu_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vtodo_1_0\\": "src/todo_1_0/",
       "AlibabaCloud\\SDK\\Dingtalk\\Vindustry_1_0\\": "src/industry_1_0/",
-      "AlibabaCloud\\SDK\\Dingtalk\\Vyida_1_0\\": "src/yida_1_0/"
+      "AlibabaCloud\\SDK\\Dingtalk\\Vyida_1_0\\": "src/yida_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vsmart_device_1_0\\": "src/smart_device_1_0/",
+      "AlibabaCloud\\SDK\\Dingtalk\\Vdrive_1_0\\": "src/drive_1_0/"
     }
   },
   "scripts": {

+ 157 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Dingtalk.php

@@ -14,9 +14,15 @@ use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\AddFileResponse;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\AddUserAccountHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\AddUserAccountRequest;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\AddUserAccountResponse;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailResponse;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeDetailHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeDetailRequest;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeDetailResponse;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeMailHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeMailRequest;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeMailResponse;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\ConfirmRightsHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\ConfirmRightsRequest;
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\ConfirmRightsResponse;
@@ -241,6 +247,71 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param CollectRecruitJobDetailRequest $request
+     *
+     * @return CollectRecruitJobDetailResponse
+     */
+    public function collectRecruitJobDetail($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new CollectRecruitJobDetailHeaders([]);
+
+        return $this->collectRecruitJobDetailWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param CollectRecruitJobDetailRequest $request
+     * @param CollectRecruitJobDetailHeaders $headers
+     * @param RuntimeOptions                 $runtime
+     *
+     * @return CollectRecruitJobDetailResponse
+     */
+    public function collectRecruitJobDetailWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $query = [];
+        if (!Utils::isUnset($request->bizCode)) {
+            @$query['bizCode'] = $request->bizCode;
+        }
+        $body = [];
+        if (!Utils::isUnset($request->channel)) {
+            @$body['channel'] = $request->channel;
+        }
+        if (!Utils::isUnset($request->jobInfo)) {
+            @$body['jobInfo'] = $request->jobInfo;
+        }
+        if (!Utils::isUnset($request->outCorpId)) {
+            @$body['outCorpId'] = $request->outCorpId;
+        }
+        if (!Utils::isUnset($request->outCorpName)) {
+            @$body['outCorpName'] = $request->outCorpName;
+        }
+        if (!Utils::isUnset($request->recruitUserInfo)) {
+            @$body['recruitUserInfo'] = $request->recruitUserInfo;
+        }
+        if (!Utils::isUnset($request->source)) {
+            @$body['source'] = $request->source;
+        }
+        if (!Utils::isUnset($request->updateTime)) {
+            @$body['updateTime'] = $request->updateTime;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'query'   => OpenApiUtilClient::query($query),
+            'body'    => OpenApiUtilClient::parseToMap($body),
+        ]);
+
+        return CollectRecruitJobDetailResponse::fromMap($this->doROARequest('CollectRecruitJobDetail', 'ats_1.0', 'HTTP', 'POST', 'AK', '/v1.0/ats/channels/jobs/import', 'json', $req, $runtime));
+    }
+
+    /**
      * @param CollectResumeDetailRequest $request
      *
      * @return CollectResumeDetailResponse
@@ -268,6 +339,9 @@ class Dingtalk extends OpenApiClient
             @$query['bizCode'] = $request->bizCode;
         }
         $body = [];
+        if (!Utils::isUnset($request->channelCode)) {
+            @$body['channelCode'] = $request->channelCode;
+        }
         if (!Utils::isUnset($request->channelOuterId)) {
             @$body['channelOuterId'] = $request->channelOuterId;
         }
@@ -280,9 +354,15 @@ class Dingtalk extends OpenApiClient
         if (!Utils::isUnset($request->optUserId)) {
             @$body['optUserId'] = $request->optUserId;
         }
+        if (!Utils::isUnset($request->resumeChannelUrl)) {
+            @$body['resumeChannelUrl'] = $request->resumeChannelUrl;
+        }
         if (!Utils::isUnset($request->resumeData)) {
             @$body['resumeData'] = $request->resumeData;
         }
+        if (!Utils::isUnset($request->resumeFile)) {
+            @$body['resumeFile'] = $request->resumeFile;
+        }
         $realHeaders = [];
         if (!Utils::isUnset($headers->commonHeaders)) {
             $realHeaders = $headers->commonHeaders;
@@ -300,6 +380,83 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param CollectResumeMailRequest $request
+     *
+     * @return CollectResumeMailResponse
+     */
+    public function collectResumeMail($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new CollectResumeMailHeaders([]);
+
+        return $this->collectResumeMailWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param CollectResumeMailRequest $request
+     * @param CollectResumeMailHeaders $headers
+     * @param RuntimeOptions           $runtime
+     *
+     * @return CollectResumeMailResponse
+     */
+    public function collectResumeMailWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $query = [];
+        if (!Utils::isUnset($request->bizCode)) {
+            @$query['bizCode'] = $request->bizCode;
+        }
+        $body = [];
+        if (!Utils::isUnset($request->channelCode)) {
+            @$body['channelCode'] = $request->channelCode;
+        }
+        if (!Utils::isUnset($request->deliverJobId)) {
+            @$body['deliverJobId'] = $request->deliverJobId;
+        }
+        if (!Utils::isUnset($request->fromMailAddress)) {
+            @$body['fromMailAddress'] = $request->fromMailAddress;
+        }
+        if (!Utils::isUnset($request->mailId)) {
+            @$body['mailId'] = $request->mailId;
+        }
+        if (!Utils::isUnset($request->mailTitle)) {
+            @$body['mailTitle'] = $request->mailTitle;
+        }
+        if (!Utils::isUnset($request->optUserId)) {
+            @$body['optUserId'] = $request->optUserId;
+        }
+        if (!Utils::isUnset($request->receiveMailAddress)) {
+            @$body['receiveMailAddress'] = $request->receiveMailAddress;
+        }
+        if (!Utils::isUnset($request->receiveMailType)) {
+            @$body['receiveMailType'] = $request->receiveMailType;
+        }
+        if (!Utils::isUnset($request->receivedTime)) {
+            @$body['receivedTime'] = $request->receivedTime;
+        }
+        if (!Utils::isUnset($request->resumeChannelUrl)) {
+            @$body['resumeChannelUrl'] = $request->resumeChannelUrl;
+        }
+        if (!Utils::isUnset($request->resumeFile)) {
+            @$body['resumeFile'] = $request->resumeFile;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'query'   => OpenApiUtilClient::query($query),
+            'body'    => OpenApiUtilClient::parseToMap($body),
+        ]);
+
+        return CollectResumeMailResponse::fromMap($this->doROARequest('CollectResumeMail', 'ats_1.0', 'HTTP', 'POST', 'AK', '/v1.0/ats/resumes/mails', 'json', $req, $runtime));
+    }
+
+    /**
      * @param string               $rightsCode
      * @param ConfirmRightsRequest $request
      *

+ 55 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class CollectRecruitJobDetailHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return CollectRecruitJobDetailHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 147 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest.php

@@ -0,0 +1,147 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest\jobInfo;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest\recruitUserInfo;
+use AlibabaCloud\Tea\Model;
+
+class CollectRecruitJobDetailRequest extends Model
+{
+    /**
+     * @description 业务标识,目前固定为ddats
+     *
+     * @var string
+     */
+    public $bizCode;
+
+    /**
+     * @description 渠道ID
+     *
+     * @var string
+     */
+    public $channel;
+
+    /**
+     * @var jobInfo
+     */
+    public $jobInfo;
+
+    /**
+     * @description 渠道侧外部企业唯一ID
+     *
+     * @var string
+     */
+    public $outCorpId;
+
+    /**
+     * @description 企业名称
+     *
+     * @var string
+     */
+    public $outCorpName;
+
+    /**
+     * @description 招聘人信息
+     *
+     * @var recruitUserInfo
+     */
+    public $recruitUserInfo;
+
+    /**
+     * @description 来源
+     *
+     * @var string
+     */
+    public $source;
+
+    /**
+     * @description 数据源更新时间
+     *
+     * @var int
+     */
+    public $updateTime;
+    protected $_name = [
+        'bizCode'         => 'bizCode',
+        'channel'         => 'channel',
+        'jobInfo'         => 'jobInfo',
+        'outCorpId'       => 'outCorpId',
+        'outCorpName'     => 'outCorpName',
+        'recruitUserInfo' => 'recruitUserInfo',
+        'source'          => 'source',
+        'updateTime'      => 'updateTime',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->bizCode) {
+            $res['bizCode'] = $this->bizCode;
+        }
+        if (null !== $this->channel) {
+            $res['channel'] = $this->channel;
+        }
+        if (null !== $this->jobInfo) {
+            $res['jobInfo'] = null !== $this->jobInfo ? $this->jobInfo->toMap() : null;
+        }
+        if (null !== $this->outCorpId) {
+            $res['outCorpId'] = $this->outCorpId;
+        }
+        if (null !== $this->outCorpName) {
+            $res['outCorpName'] = $this->outCorpName;
+        }
+        if (null !== $this->recruitUserInfo) {
+            $res['recruitUserInfo'] = null !== $this->recruitUserInfo ? $this->recruitUserInfo->toMap() : null;
+        }
+        if (null !== $this->source) {
+            $res['source'] = $this->source;
+        }
+        if (null !== $this->updateTime) {
+            $res['updateTime'] = $this->updateTime;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return CollectRecruitJobDetailRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['bizCode'])) {
+            $model->bizCode = $map['bizCode'];
+        }
+        if (isset($map['channel'])) {
+            $model->channel = $map['channel'];
+        }
+        if (isset($map['jobInfo'])) {
+            $model->jobInfo = jobInfo::fromMap($map['jobInfo']);
+        }
+        if (isset($map['outCorpId'])) {
+            $model->outCorpId = $map['outCorpId'];
+        }
+        if (isset($map['outCorpName'])) {
+            $model->outCorpName = $map['outCorpName'];
+        }
+        if (isset($map['recruitUserInfo'])) {
+            $model->recruitUserInfo = recruitUserInfo::fromMap($map['recruitUserInfo']);
+        }
+        if (isset($map['source'])) {
+            $model->source = $map['source'];
+        }
+        if (isset($map['updateTime'])) {
+            $model->updateTime = $map['updateTime'];
+        }
+
+        return $model;
+    }
+}

+ 234 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/jobInfo.php

@@ -0,0 +1,234 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest;
+
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest\jobInfo\address;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest\jobInfo\fullTimeInfo;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest\jobInfo\partTimeInfo;
+use AlibabaCloud\Tea\Model;
+
+class jobInfo extends Model
+{
+    /**
+     * @description 地址信息
+     *
+     * @var address
+     */
+    public $address;
+
+    /**
+     * @description 职位分类编码
+     *
+     * @var string
+     */
+    public $category;
+
+    /**
+     * @description 职位描述
+     *
+     * @var string
+     */
+    public $description;
+
+    /**
+     * @var string
+     */
+    public $extInfo;
+
+    /**
+     * @description 全职信息
+     *
+     * @var fullTimeInfo
+     */
+    public $fullTimeInfo;
+
+    /**
+     * @description 招聘人数
+     *
+     * @var string
+     */
+    public $headCount;
+
+    /**
+     * @description 职位性质
+     *
+     * @var string
+     */
+    public $jobNature;
+
+    /**
+     * @description 职位标签,字符串列表
+     *
+     * @var string[]
+     */
+    public $jobTags;
+
+    /**
+     * @description 最高薪资
+     *
+     * @var string
+     */
+    public $maxSalary;
+
+    /**
+     * @description 最低薪资
+     *
+     * @var string
+     */
+    public $minSalary;
+
+    /**
+     * @description 职位名称
+     *
+     * @var string
+     */
+    public $name;
+
+    /**
+     * @description 渠道职位ID
+     *
+     * @var string
+     */
+    public $outJobId;
+
+    /**
+     * @description 兼职信息
+     *
+     * @var partTimeInfo
+     */
+    public $partTimeInfo;
+
+    /**
+     * @description 学历要求
+     *
+     * @var string
+     */
+    public $requiredEdu;
+    protected $_name = [
+        'address'      => 'address',
+        'category'     => 'category',
+        'description'  => 'description',
+        'extInfo'      => 'extInfo',
+        'fullTimeInfo' => 'fullTimeInfo',
+        'headCount'    => 'headCount',
+        'jobNature'    => 'jobNature',
+        'jobTags'      => 'jobTags',
+        'maxSalary'    => 'maxSalary',
+        'minSalary'    => 'minSalary',
+        'name'         => 'name',
+        'outJobId'     => 'outJobId',
+        'partTimeInfo' => 'partTimeInfo',
+        'requiredEdu'  => 'requiredEdu',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->address) {
+            $res['address'] = null !== $this->address ? $this->address->toMap() : null;
+        }
+        if (null !== $this->category) {
+            $res['category'] = $this->category;
+        }
+        if (null !== $this->description) {
+            $res['description'] = $this->description;
+        }
+        if (null !== $this->extInfo) {
+            $res['extInfo'] = $this->extInfo;
+        }
+        if (null !== $this->fullTimeInfo) {
+            $res['fullTimeInfo'] = null !== $this->fullTimeInfo ? $this->fullTimeInfo->toMap() : null;
+        }
+        if (null !== $this->headCount) {
+            $res['headCount'] = $this->headCount;
+        }
+        if (null !== $this->jobNature) {
+            $res['jobNature'] = $this->jobNature;
+        }
+        if (null !== $this->jobTags) {
+            $res['jobTags'] = $this->jobTags;
+        }
+        if (null !== $this->maxSalary) {
+            $res['maxSalary'] = $this->maxSalary;
+        }
+        if (null !== $this->minSalary) {
+            $res['minSalary'] = $this->minSalary;
+        }
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
+        }
+        if (null !== $this->outJobId) {
+            $res['outJobId'] = $this->outJobId;
+        }
+        if (null !== $this->partTimeInfo) {
+            $res['partTimeInfo'] = null !== $this->partTimeInfo ? $this->partTimeInfo->toMap() : null;
+        }
+        if (null !== $this->requiredEdu) {
+            $res['requiredEdu'] = $this->requiredEdu;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return jobInfo
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['address'])) {
+            $model->address = address::fromMap($map['address']);
+        }
+        if (isset($map['category'])) {
+            $model->category = $map['category'];
+        }
+        if (isset($map['description'])) {
+            $model->description = $map['description'];
+        }
+        if (isset($map['extInfo'])) {
+            $model->extInfo = $map['extInfo'];
+        }
+        if (isset($map['fullTimeInfo'])) {
+            $model->fullTimeInfo = fullTimeInfo::fromMap($map['fullTimeInfo']);
+        }
+        if (isset($map['headCount'])) {
+            $model->headCount = $map['headCount'];
+        }
+        if (isset($map['jobNature'])) {
+            $model->jobNature = $map['jobNature'];
+        }
+        if (isset($map['jobTags'])) {
+            if (!empty($map['jobTags'])) {
+                $model->jobTags = $map['jobTags'];
+            }
+        }
+        if (isset($map['maxSalary'])) {
+            $model->maxSalary = $map['maxSalary'];
+        }
+        if (isset($map['minSalary'])) {
+            $model->minSalary = $map['minSalary'];
+        }
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
+        }
+        if (isset($map['outJobId'])) {
+            $model->outJobId = $map['outJobId'];
+        }
+        if (isset($map['partTimeInfo'])) {
+            $model->partTimeInfo = partTimeInfo::fromMap($map['partTimeInfo']);
+        }
+        if (isset($map['requiredEdu'])) {
+            $model->requiredEdu = $map['requiredEdu'];
+        }
+
+        return $model;
+    }
+}

+ 133 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/jobInfo/address.php

@@ -0,0 +1,133 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest\jobInfo;
+
+use AlibabaCloud\Tea\Model;
+
+class address extends Model
+{
+    /**
+     * @description 城市编码
+     *
+     * @var string
+     */
+    public $cityCode;
+
+    /**
+     * @description 位置详情描述
+     *
+     * @var string
+     */
+    public $detail;
+
+    /**
+     * @description 区县编码
+     *
+     * @var string
+     */
+    public $districtCode;
+
+    /**
+     * @description 经度(高德地图选点)
+     *
+     * @var string
+     */
+    public $latitude;
+
+    /**
+     * @description 纬度(高德地图选点)
+     *
+     * @var string
+     */
+    public $longitude;
+
+    /**
+     * @description 位置名称
+     *
+     * @var string
+     */
+    public $name;
+
+    /**
+     * @description 省份编码
+     *
+     * @var string
+     */
+    public $provinceCode;
+    protected $_name = [
+        'cityCode'     => 'cityCode',
+        'detail'       => 'detail',
+        'districtCode' => 'districtCode',
+        'latitude'     => 'latitude',
+        'longitude'    => 'longitude',
+        'name'         => 'name',
+        'provinceCode' => 'provinceCode',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->cityCode) {
+            $res['cityCode'] = $this->cityCode;
+        }
+        if (null !== $this->detail) {
+            $res['detail'] = $this->detail;
+        }
+        if (null !== $this->districtCode) {
+            $res['districtCode'] = $this->districtCode;
+        }
+        if (null !== $this->latitude) {
+            $res['latitude'] = $this->latitude;
+        }
+        if (null !== $this->longitude) {
+            $res['longitude'] = $this->longitude;
+        }
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
+        }
+        if (null !== $this->provinceCode) {
+            $res['provinceCode'] = $this->provinceCode;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return address
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['cityCode'])) {
+            $model->cityCode = $map['cityCode'];
+        }
+        if (isset($map['detail'])) {
+            $model->detail = $map['detail'];
+        }
+        if (isset($map['districtCode'])) {
+            $model->districtCode = $map['districtCode'];
+        }
+        if (isset($map['latitude'])) {
+            $model->latitude = $map['latitude'];
+        }
+        if (isset($map['longitude'])) {
+            $model->longitude = $map['longitude'];
+        }
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
+        }
+        if (isset($map['provinceCode'])) {
+            $model->provinceCode = $map['provinceCode'];
+        }
+
+        return $model;
+    }
+}

+ 77 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/jobInfo/fullTimeInfo.php

@@ -0,0 +1,77 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest\jobInfo;
+
+use AlibabaCloud\Tea\Model;
+
+class fullTimeInfo extends Model
+{
+    /**
+     * @description 工作经验要求最高年限
+     *
+     * @var string
+     */
+    public $maxJobExperience;
+
+    /**
+     * @description 工作经验要求最低年限
+     *
+     * @var string
+     */
+    public $minJobExperience;
+
+    /**
+     * @description 薪资发放月数
+     *
+     * @var string
+     */
+    public $salaryMonth;
+    protected $_name = [
+        'maxJobExperience' => 'maxJobExperience',
+        'minJobExperience' => 'minJobExperience',
+        'salaryMonth'      => 'salaryMonth',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->maxJobExperience) {
+            $res['maxJobExperience'] = $this->maxJobExperience;
+        }
+        if (null !== $this->minJobExperience) {
+            $res['minJobExperience'] = $this->minJobExperience;
+        }
+        if (null !== $this->salaryMonth) {
+            $res['salaryMonth'] = $this->salaryMonth;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return fullTimeInfo
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['maxJobExperience'])) {
+            $model->maxJobExperience = $map['maxJobExperience'];
+        }
+        if (isset($map['minJobExperience'])) {
+            $model->minJobExperience = $map['minJobExperience'];
+        }
+        if (isset($map['salaryMonth'])) {
+            $model->salaryMonth = $map['salaryMonth'];
+        }
+
+        return $model;
+    }
+}

+ 175 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/jobInfo/partTimeInfo.php

@@ -0,0 +1,175 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest\jobInfo;
+
+use AlibabaCloud\Tea\Model;
+
+class partTimeInfo extends Model
+{
+    /**
+     * @description 联系电话
+     *
+     * @var string
+     */
+    public $contactNumber;
+
+    /**
+     * @description 薪资发放周期
+     *
+     * @var string
+     */
+    public $salaryPeriod;
+
+    /**
+     * @description 薪资结算类型
+     *
+     * @var string
+     */
+    public $settleType;
+
+    /**
+     * @description 是否指定工作日期
+     *
+     * @var string
+     */
+    public $specifyWorkDate;
+
+    /**
+     * @description 是否指定工作时间
+     *
+     * @var string
+     */
+    public $specifyWorkTime;
+
+    /**
+     * @description 工作开始时间
+     *
+     * @var string
+     */
+    public $workBeginTimeMin;
+
+    /**
+     * @description 工作日期类型
+     *
+     * @var string
+     */
+    public $workDateType;
+
+    /**
+     * @description 工作结束日期
+     *
+     * @var string
+     */
+    public $workEndDate;
+
+    /**
+     * @description 工作结束时间
+     *
+     * @var string
+     */
+    public $workEndTimeMin;
+
+    /**
+     * @description 工作开始日期
+     *
+     * @var string
+     */
+    public $workStartDate;
+    protected $_name = [
+        'contactNumber'    => 'contactNumber',
+        'salaryPeriod'     => 'salaryPeriod',
+        'settleType'       => 'settleType',
+        'specifyWorkDate'  => 'specifyWorkDate',
+        'specifyWorkTime'  => 'specifyWorkTime',
+        'workBeginTimeMin' => 'workBeginTimeMin',
+        'workDateType'     => 'workDateType',
+        'workEndDate'      => 'workEndDate',
+        'workEndTimeMin'   => 'workEndTimeMin',
+        'workStartDate'    => 'workStartDate',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->contactNumber) {
+            $res['contactNumber'] = $this->contactNumber;
+        }
+        if (null !== $this->salaryPeriod) {
+            $res['salaryPeriod'] = $this->salaryPeriod;
+        }
+        if (null !== $this->settleType) {
+            $res['settleType'] = $this->settleType;
+        }
+        if (null !== $this->specifyWorkDate) {
+            $res['specifyWorkDate'] = $this->specifyWorkDate;
+        }
+        if (null !== $this->specifyWorkTime) {
+            $res['specifyWorkTime'] = $this->specifyWorkTime;
+        }
+        if (null !== $this->workBeginTimeMin) {
+            $res['workBeginTimeMin'] = $this->workBeginTimeMin;
+        }
+        if (null !== $this->workDateType) {
+            $res['workDateType'] = $this->workDateType;
+        }
+        if (null !== $this->workEndDate) {
+            $res['workEndDate'] = $this->workEndDate;
+        }
+        if (null !== $this->workEndTimeMin) {
+            $res['workEndTimeMin'] = $this->workEndTimeMin;
+        }
+        if (null !== $this->workStartDate) {
+            $res['workStartDate'] = $this->workStartDate;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return partTimeInfo
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['contactNumber'])) {
+            $model->contactNumber = $map['contactNumber'];
+        }
+        if (isset($map['salaryPeriod'])) {
+            $model->salaryPeriod = $map['salaryPeriod'];
+        }
+        if (isset($map['settleType'])) {
+            $model->settleType = $map['settleType'];
+        }
+        if (isset($map['specifyWorkDate'])) {
+            $model->specifyWorkDate = $map['specifyWorkDate'];
+        }
+        if (isset($map['specifyWorkTime'])) {
+            $model->specifyWorkTime = $map['specifyWorkTime'];
+        }
+        if (isset($map['workBeginTimeMin'])) {
+            $model->workBeginTimeMin = $map['workBeginTimeMin'];
+        }
+        if (isset($map['workDateType'])) {
+            $model->workDateType = $map['workDateType'];
+        }
+        if (isset($map['workEndDate'])) {
+            $model->workEndDate = $map['workEndDate'];
+        }
+        if (isset($map['workEndTimeMin'])) {
+            $model->workEndTimeMin = $map['workEndTimeMin'];
+        }
+        if (isset($map['workStartDate'])) {
+            $model->workStartDate = $map['workStartDate'];
+        }
+
+        return $model;
+    }
+}

+ 91 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailRequest/recruitUserInfo.php

@@ -0,0 +1,91 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectRecruitJobDetailRequest;
+
+use AlibabaCloud\Tea\Model;
+
+class recruitUserInfo extends Model
+{
+    /**
+     * @description 额外信息
+     *
+     * @var string
+     */
+    public $extInfo;
+
+    /**
+     * @description 招聘员工唯一ID
+     *
+     * @var string
+     */
+    public $outUserId;
+
+    /**
+     * @description 招聘员工手机号码
+     *
+     * @var string
+     */
+    public $userMobile;
+
+    /**
+     * @description 招聘员工姓名
+     *
+     * @var string
+     */
+    public $userName;
+    protected $_name = [
+        'extInfo'    => 'extInfo',
+        'outUserId'  => 'outUserId',
+        'userMobile' => 'userMobile',
+        'userName'   => 'userName',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->extInfo) {
+            $res['extInfo'] = $this->extInfo;
+        }
+        if (null !== $this->outUserId) {
+            $res['outUserId'] = $this->outUserId;
+        }
+        if (null !== $this->userMobile) {
+            $res['userMobile'] = $this->userMobile;
+        }
+        if (null !== $this->userName) {
+            $res['userName'] = $this->userName;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return recruitUserInfo
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['extInfo'])) {
+            $model->extInfo = $map['extInfo'];
+        }
+        if (isset($map['outUserId'])) {
+            $model->outUserId = $map['outUserId'];
+        }
+        if (isset($map['userMobile'])) {
+            $model->userMobile = $map['userMobile'];
+        }
+        if (isset($map['userName'])) {
+            $model->userName = $map['userName'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class CollectRecruitJobDetailResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var CollectRecruitJobDetailResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return CollectRecruitJobDetailResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = CollectRecruitJobDetailResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 49 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectRecruitJobDetailResponseBody.php

@@ -0,0 +1,49 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class CollectRecruitJobDetailResponseBody extends Model
+{
+    /**
+     * @description 是否成功
+     *
+     * @var bool
+     */
+    public $result;
+    protected $_name = [
+        'result' => 'result',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->result) {
+            $res['result'] = $this->result;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return CollectRecruitJobDetailResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['result'])) {
+            $model->result = $map['result'];
+        }
+
+        return $model;
+    }
+}

+ 49 - 6
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeDetailRequest.php

@@ -5,6 +5,7 @@
 namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
 
 use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeDetailRequest\resumeData;
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeDetailRequest\resumeFile;
 use AlibabaCloud\Tea\Model;
 
 class CollectResumeDetailRequest extends Model
@@ -17,6 +18,13 @@ class CollectResumeDetailRequest extends Model
     public $bizCode;
 
     /**
+     * @description 渠道编码
+     *
+     * @var string
+     */
+    public $channelCode;
+
+    /**
      * @description 渠道侧简历标识
      *
      * @var string
@@ -43,18 +51,35 @@ class CollectResumeDetailRequest extends Model
     public $optUserId;
 
     /**
+     * @description 渠道简历链接
+     *
+     * @var string
+     */
+    public $resumeChannelUrl;
+
+    /**
      * @description 简历详情信息
      *
      * @var resumeData
      */
     public $resumeData;
+
+    /**
+     * @description 原始简历文件
+     *
+     * @var resumeFile
+     */
+    public $resumeFile;
     protected $_name = [
-        'bizCode'         => 'bizCode',
-        'channelOuterId'  => 'channelOuterId',
-        'channelTalentId' => 'channelTalentId',
-        'deliverJobId'    => 'deliverJobId',
-        'optUserId'       => 'optUserId',
-        'resumeData'      => 'resumeData',
+        'bizCode'          => 'bizCode',
+        'channelCode'      => 'channelCode',
+        'channelOuterId'   => 'channelOuterId',
+        'channelTalentId'  => 'channelTalentId',
+        'deliverJobId'     => 'deliverJobId',
+        'optUserId'        => 'optUserId',
+        'resumeChannelUrl' => 'resumeChannelUrl',
+        'resumeData'       => 'resumeData',
+        'resumeFile'       => 'resumeFile',
     ];
 
     public function validate()
@@ -67,6 +92,9 @@ class CollectResumeDetailRequest extends Model
         if (null !== $this->bizCode) {
             $res['bizCode'] = $this->bizCode;
         }
+        if (null !== $this->channelCode) {
+            $res['channelCode'] = $this->channelCode;
+        }
         if (null !== $this->channelOuterId) {
             $res['channelOuterId'] = $this->channelOuterId;
         }
@@ -79,9 +107,15 @@ class CollectResumeDetailRequest extends Model
         if (null !== $this->optUserId) {
             $res['optUserId'] = $this->optUserId;
         }
+        if (null !== $this->resumeChannelUrl) {
+            $res['resumeChannelUrl'] = $this->resumeChannelUrl;
+        }
         if (null !== $this->resumeData) {
             $res['resumeData'] = null !== $this->resumeData ? $this->resumeData->toMap() : null;
         }
+        if (null !== $this->resumeFile) {
+            $res['resumeFile'] = null !== $this->resumeFile ? $this->resumeFile->toMap() : null;
+        }
 
         return $res;
     }
@@ -97,6 +131,9 @@ class CollectResumeDetailRequest extends Model
         if (isset($map['bizCode'])) {
             $model->bizCode = $map['bizCode'];
         }
+        if (isset($map['channelCode'])) {
+            $model->channelCode = $map['channelCode'];
+        }
         if (isset($map['channelOuterId'])) {
             $model->channelOuterId = $map['channelOuterId'];
         }
@@ -109,9 +146,15 @@ class CollectResumeDetailRequest extends Model
         if (isset($map['optUserId'])) {
             $model->optUserId = $map['optUserId'];
         }
+        if (isset($map['resumeChannelUrl'])) {
+            $model->resumeChannelUrl = $map['resumeChannelUrl'];
+        }
         if (isset($map['resumeData'])) {
             $model->resumeData = resumeData::fromMap($map['resumeData']);
         }
+        if (isset($map['resumeFile'])) {
+            $model->resumeFile = resumeFile::fromMap($map['resumeFile']);
+        }
 
         return $model;
     }

+ 77 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeDetailRequest/resumeFile.php

@@ -0,0 +1,77 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeDetailRequest;
+
+use AlibabaCloud\Tea\Model;
+
+class resumeFile extends Model
+{
+    /**
+     * @description 简历文件下载链接
+     *
+     * @var string
+     */
+    public $downloadUrl;
+
+    /**
+     * @description 文件名称
+     *
+     * @var string
+     */
+    public $fileName;
+
+    /**
+     * @description 文件类型
+     *
+     * @var string
+     */
+    public $fileType;
+    protected $_name = [
+        'downloadUrl' => 'downloadUrl',
+        'fileName'    => 'fileName',
+        'fileType'    => 'fileType',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->downloadUrl) {
+            $res['downloadUrl'] = $this->downloadUrl;
+        }
+        if (null !== $this->fileName) {
+            $res['fileName'] = $this->fileName;
+        }
+        if (null !== $this->fileType) {
+            $res['fileType'] = $this->fileType;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return resumeFile
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['downloadUrl'])) {
+            $model->downloadUrl = $map['downloadUrl'];
+        }
+        if (isset($map['fileName'])) {
+            $model->fileName = $map['fileName'];
+        }
+        if (isset($map['fileType'])) {
+            $model->fileType = $map['fileType'];
+        }
+
+        return $model;
+    }
+}

+ 55 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class CollectResumeMailHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return CollectResumeMailHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 204 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailRequest.php

@@ -0,0 +1,204 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeMailRequest\resumeFile;
+use AlibabaCloud\Tea\Model;
+
+class CollectResumeMailRequest extends Model
+{
+    /**
+     * @description 业务标识
+     *
+     * @var string
+     */
+    public $bizCode;
+
+    /**
+     * @description 渠道编码
+     *
+     * @var string
+     */
+    public $channelCode;
+
+    /**
+     * @description 候选人投递职位标识
+     *
+     * @var string
+     */
+    public $deliverJobId;
+
+    /**
+     * @description 邮件来源地址
+     *
+     * @var string
+     */
+    public $fromMailAddress;
+
+    /**
+     * @description 邮件唯一标识
+     *
+     * @var string
+     */
+    public $mailId;
+
+    /**
+     * @description 邮件标题
+     *
+     * @var string
+     */
+    public $mailTitle;
+
+    /**
+     * @description 操作人userId
+     *
+     * @var string
+     */
+    public $optUserId;
+
+    /**
+     * @description 收件邮箱地址
+     *
+     * @var string
+     */
+    public $receiveMailAddress;
+
+    /**
+     * @description 收件邮箱类型
+     *
+     * @var int
+     */
+    public $receiveMailType;
+
+    /**
+     * @description 收件时间
+     *
+     * @var int
+     */
+    public $receivedTime;
+
+    /**
+     * @description 渠道简历跳转链接
+     *
+     * @var string
+     */
+    public $resumeChannelUrl;
+
+    /**
+     * @description 简历原始文件
+     *
+     * @var resumeFile
+     */
+    public $resumeFile;
+    protected $_name = [
+        'bizCode'            => 'bizCode',
+        'channelCode'        => 'channelCode',
+        'deliverJobId'       => 'deliverJobId',
+        'fromMailAddress'    => 'fromMailAddress',
+        'mailId'             => 'mailId',
+        'mailTitle'          => 'mailTitle',
+        'optUserId'          => 'optUserId',
+        'receiveMailAddress' => 'receiveMailAddress',
+        'receiveMailType'    => 'receiveMailType',
+        'receivedTime'       => 'receivedTime',
+        'resumeChannelUrl'   => 'resumeChannelUrl',
+        'resumeFile'         => 'resumeFile',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->bizCode) {
+            $res['bizCode'] = $this->bizCode;
+        }
+        if (null !== $this->channelCode) {
+            $res['channelCode'] = $this->channelCode;
+        }
+        if (null !== $this->deliverJobId) {
+            $res['deliverJobId'] = $this->deliverJobId;
+        }
+        if (null !== $this->fromMailAddress) {
+            $res['fromMailAddress'] = $this->fromMailAddress;
+        }
+        if (null !== $this->mailId) {
+            $res['mailId'] = $this->mailId;
+        }
+        if (null !== $this->mailTitle) {
+            $res['mailTitle'] = $this->mailTitle;
+        }
+        if (null !== $this->optUserId) {
+            $res['optUserId'] = $this->optUserId;
+        }
+        if (null !== $this->receiveMailAddress) {
+            $res['receiveMailAddress'] = $this->receiveMailAddress;
+        }
+        if (null !== $this->receiveMailType) {
+            $res['receiveMailType'] = $this->receiveMailType;
+        }
+        if (null !== $this->receivedTime) {
+            $res['receivedTime'] = $this->receivedTime;
+        }
+        if (null !== $this->resumeChannelUrl) {
+            $res['resumeChannelUrl'] = $this->resumeChannelUrl;
+        }
+        if (null !== $this->resumeFile) {
+            $res['resumeFile'] = null !== $this->resumeFile ? $this->resumeFile->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return CollectResumeMailRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['bizCode'])) {
+            $model->bizCode = $map['bizCode'];
+        }
+        if (isset($map['channelCode'])) {
+            $model->channelCode = $map['channelCode'];
+        }
+        if (isset($map['deliverJobId'])) {
+            $model->deliverJobId = $map['deliverJobId'];
+        }
+        if (isset($map['fromMailAddress'])) {
+            $model->fromMailAddress = $map['fromMailAddress'];
+        }
+        if (isset($map['mailId'])) {
+            $model->mailId = $map['mailId'];
+        }
+        if (isset($map['mailTitle'])) {
+            $model->mailTitle = $map['mailTitle'];
+        }
+        if (isset($map['optUserId'])) {
+            $model->optUserId = $map['optUserId'];
+        }
+        if (isset($map['receiveMailAddress'])) {
+            $model->receiveMailAddress = $map['receiveMailAddress'];
+        }
+        if (isset($map['receiveMailType'])) {
+            $model->receiveMailType = $map['receiveMailType'];
+        }
+        if (isset($map['receivedTime'])) {
+            $model->receivedTime = $map['receivedTime'];
+        }
+        if (isset($map['resumeChannelUrl'])) {
+            $model->resumeChannelUrl = $map['resumeChannelUrl'];
+        }
+        if (isset($map['resumeFile'])) {
+            $model->resumeFile = resumeFile::fromMap($map['resumeFile']);
+        }
+
+        return $model;
+    }
+}

+ 77 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailRequest/resumeFile.php

@@ -0,0 +1,77 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models\CollectResumeMailRequest;
+
+use AlibabaCloud\Tea\Model;
+
+class resumeFile extends Model
+{
+    /**
+     * @description 文件下载地址
+     *
+     * @var string
+     */
+    public $downloadUrl;
+
+    /**
+     * @description 文件名称
+     *
+     * @var string
+     */
+    public $fileName;
+
+    /**
+     * @description 文件类型
+     *
+     * @var string
+     */
+    public $fileType;
+    protected $_name = [
+        'downloadUrl' => 'downloadUrl',
+        'fileName'    => 'fileName',
+        'fileType'    => 'fileType',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->downloadUrl) {
+            $res['downloadUrl'] = $this->downloadUrl;
+        }
+        if (null !== $this->fileName) {
+            $res['fileName'] = $this->fileName;
+        }
+        if (null !== $this->fileType) {
+            $res['fileType'] = $this->fileType;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return resumeFile
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['downloadUrl'])) {
+            $model->downloadUrl = $map['downloadUrl'];
+        }
+        if (isset($map['fileName'])) {
+            $model->fileName = $map['fileName'];
+        }
+        if (isset($map['fileType'])) {
+            $model->fileType = $map['fileType'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class CollectResumeMailResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var CollectResumeMailResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return CollectResumeMailResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = CollectResumeMailResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 49 - 0
vendor/alibabacloud/dingtalk/src/ats_1_0/Models/CollectResumeMailResponseBody.php

@@ -0,0 +1,49 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vats_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class CollectResumeMailResponseBody extends Model
+{
+    /**
+     * @description 简历标识
+     *
+     * @var string
+     */
+    public $resumeId;
+    protected $_name = [
+        'resumeId' => 'resumeId',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->resumeId) {
+            $res['resumeId'] = $this->resumeId;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return CollectResumeMailResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['resumeId'])) {
+            $model->resumeId = $map['resumeId'];
+        }
+
+        return $model;
+    }
+}

+ 111 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Dingtalk.php

@@ -44,6 +44,9 @@ use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetCheckInSchemaTemplateRes
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetClosingAccountsHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetClosingAccountsRequest;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetClosingAccountsResponse;
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveRecordsHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveRecordsRequest;
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveRecordsResponse;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveTypeHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveTypeRequest;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveTypeResponse;
@@ -70,6 +73,9 @@ use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupUpdateResponse;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\InitAndGetLeaveALlocationQuotasHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\InitAndGetLeaveALlocationQuotasRequest;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\InitAndGetLeaveALlocationQuotasResponse;
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\ListApproveByUsersHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\ListApproveByUsersRequest;
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\ListApproveByUsersResponse;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\ModifyWaterMarkTemplateHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\ModifyWaterMarkTemplateRequest;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\ModifyWaterMarkTemplateResponse;
@@ -764,6 +770,60 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param GetLeaveRecordsRequest $request
+     *
+     * @return GetLeaveRecordsResponse
+     */
+    public function getLeaveRecords($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new GetLeaveRecordsHeaders([]);
+
+        return $this->getLeaveRecordsWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param GetLeaveRecordsRequest $request
+     * @param GetLeaveRecordsHeaders $headers
+     * @param RuntimeOptions         $runtime
+     *
+     * @return GetLeaveRecordsResponse
+     */
+    public function getLeaveRecordsWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $body = [];
+        if (!Utils::isUnset($request->leaveCode)) {
+            @$body['leaveCode'] = $request->leaveCode;
+        }
+        if (!Utils::isUnset($request->opUserId)) {
+            @$body['opUserId'] = $request->opUserId;
+        }
+        if (!Utils::isUnset($request->pageNumber)) {
+            @$body['pageNumber'] = $request->pageNumber;
+        }
+        if (!Utils::isUnset($request->pageSize)) {
+            @$body['pageSize'] = $request->pageSize;
+        }
+        if (!Utils::isUnset($request->userIds)) {
+            @$body['userIds'] = $request->userIds;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'body'    => OpenApiUtilClient::parseToMap($body),
+        ]);
+
+        return GetLeaveRecordsResponse::fromMap($this->doROARequest('GetLeaveRecords', 'attendance_1.0', 'HTTP', 'POST', 'AK', '/v1.0/attendance/vacations/records/query', 'json', $req, $runtime));
+    }
+
+    /**
      * @param GetLeaveTypeRequest $request
      *
      * @return GetLeaveTypeResponse
@@ -1378,6 +1438,57 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param ListApproveByUsersRequest $request
+     *
+     * @return ListApproveByUsersResponse
+     */
+    public function listApproveByUsers($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new ListApproveByUsersHeaders([]);
+
+        return $this->listApproveByUsersWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param ListApproveByUsersRequest $request
+     * @param ListApproveByUsersHeaders $headers
+     * @param RuntimeOptions            $runtime
+     *
+     * @return ListApproveByUsersResponse
+     */
+    public function listApproveByUsersWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $body = [];
+        if (!Utils::isUnset($request->bizTypes)) {
+            @$body['bizTypes'] = $request->bizTypes;
+        }
+        if (!Utils::isUnset($request->fromDateTime)) {
+            @$body['fromDateTime'] = $request->fromDateTime;
+        }
+        if (!Utils::isUnset($request->toDateTime)) {
+            @$body['toDateTime'] = $request->toDateTime;
+        }
+        if (!Utils::isUnset($request->userIds)) {
+            @$body['userIds'] = $request->userIds;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'body'    => OpenApiUtilClient::parseToMap($body),
+        ]);
+
+        return ListApproveByUsersResponse::fromMap($this->doROARequest('ListApproveByUsers', 'attendance_1.0', 'HTTP', 'POST', 'AK', '/v1.0/attendance/approvals/query', 'json', $req, $runtime));
+    }
+
+    /**
      * @param ModifyWaterMarkTemplateRequest $request
      *
      * @return ModifyWaterMarkTemplateResponse

+ 55 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class GetLeaveRecordsHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return GetLeaveRecordsHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 107 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsRequest.php

@@ -0,0 +1,107 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class GetLeaveRecordsRequest extends Model
+{
+    /**
+     * @description 假期类型唯一标识。
+     *
+     * @var string
+     */
+    public $leaveCode;
+
+    /**
+     * @description 操作人userId。
+     *
+     * @var string
+     */
+    public $opUserId;
+
+    /**
+     * @description 分页页码。
+     *
+     * @var int
+     */
+    public $pageNumber;
+
+    /**
+     * @description 分页大小。
+     *
+     * @var int
+     */
+    public $pageSize;
+
+    /**
+     * @description 查询员工userId列表。一次最多支持50个。
+     *
+     * @var string[]
+     */
+    public $userIds;
+    protected $_name = [
+        'leaveCode'  => 'leaveCode',
+        'opUserId'   => 'opUserId',
+        'pageNumber' => 'pageNumber',
+        'pageSize'   => 'pageSize',
+        'userIds'    => 'userIds',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->leaveCode) {
+            $res['leaveCode'] = $this->leaveCode;
+        }
+        if (null !== $this->opUserId) {
+            $res['opUserId'] = $this->opUserId;
+        }
+        if (null !== $this->pageNumber) {
+            $res['pageNumber'] = $this->pageNumber;
+        }
+        if (null !== $this->pageSize) {
+            $res['pageSize'] = $this->pageSize;
+        }
+        if (null !== $this->userIds) {
+            $res['userIds'] = $this->userIds;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return GetLeaveRecordsRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['leaveCode'])) {
+            $model->leaveCode = $map['leaveCode'];
+        }
+        if (isset($map['opUserId'])) {
+            $model->opUserId = $map['opUserId'];
+        }
+        if (isset($map['pageNumber'])) {
+            $model->pageNumber = $map['pageNumber'];
+        }
+        if (isset($map['pageSize'])) {
+            $model->pageSize = $map['pageSize'];
+        }
+        if (isset($map['userIds'])) {
+            if (!empty($map['userIds'])) {
+                $model->userIds = $map['userIds'];
+            }
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class GetLeaveRecordsResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var GetLeaveRecordsResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return GetLeaveRecordsResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = GetLeaveRecordsResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 65 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsResponseBody.php

@@ -0,0 +1,65 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveRecordsResponseBody\result;
+use AlibabaCloud\Tea\Model;
+
+class GetLeaveRecordsResponseBody extends Model
+{
+    /**
+     * @description 返回结果。
+     *
+     *
+     * @var result
+     */
+    public $result;
+
+    /**
+     * @description 是否正确访问。
+     *
+     * @var bool
+     */
+    public $success;
+    protected $_name = [
+        'result'  => 'result',
+        'success' => 'success',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->result) {
+            $res['result'] = null !== $this->result ? $this->result->toMap() : null;
+        }
+        if (null !== $this->success) {
+            $res['success'] = $this->success;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return GetLeaveRecordsResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['result'])) {
+            $model->result = result::fromMap($map['result']);
+        }
+        if (isset($map['success'])) {
+            $model->success = $map['success'];
+        }
+
+        return $model;
+    }
+}

+ 76 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsResponseBody/result.php

@@ -0,0 +1,76 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveRecordsResponseBody;
+
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveRecordsResponseBody\result\leaveRecords;
+use AlibabaCloud\Tea\Model;
+
+class result extends Model
+{
+    /**
+     * @description 是否有更多结果。
+     *
+     * @var bool
+     */
+    public $hasMore;
+
+    /**
+     * @description 假期消费记录列表。
+     *
+     * @var leaveRecords[]
+     */
+    public $leaveRecords;
+    protected $_name = [
+        'hasMore'      => 'hasMore',
+        'leaveRecords' => 'leaveRecords',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->hasMore) {
+            $res['hasMore'] = $this->hasMore;
+        }
+        if (null !== $this->leaveRecords) {
+            $res['leaveRecords'] = [];
+            if (null !== $this->leaveRecords && \is_array($this->leaveRecords)) {
+                $n = 0;
+                foreach ($this->leaveRecords as $item) {
+                    $res['leaveRecords'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return result
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['hasMore'])) {
+            $model->hasMore = $map['hasMore'];
+        }
+        if (isset($map['leaveRecords'])) {
+            if (!empty($map['leaveRecords'])) {
+                $model->leaveRecords = [];
+                $n                   = 0;
+                foreach ($map['leaveRecords'] as $item) {
+                    $model->leaveRecords[$n++] = null !== $item ? leaveRecords::fromMap($item) : $item;
+                }
+            }
+        }
+
+        return $model;
+    }
+}

+ 259 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GetLeaveRecordsResponseBody/result/leaveRecords.php

@@ -0,0 +1,259 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GetLeaveRecordsResponseBody\result;
+
+use AlibabaCloud\Tea\Model;
+
+class leaveRecords extends Model
+{
+    /**
+     * @description 计算类型。
+     *
+     * @var string
+     */
+    public $calType;
+
+    /**
+     * @description 额度有效期结束时间或请假结束时间,毫秒级时间戳。
+     *
+     * @var int
+     */
+    public $endTime;
+
+    /**
+     * @description 记录创建时间。
+     *
+     * @var int
+     */
+    public $gmtCreate;
+
+    /**
+     * @description 记录修改时间。
+     *
+     * @var int
+     */
+    public $gmtModified;
+
+    /**
+     * @description 假期类型唯一标识。
+     *
+     * @var string
+     */
+    public $leaveCode;
+
+    /**
+     * @description 原因。
+     *
+     * @var string
+     */
+    public $leaveReason;
+
+    /**
+     * @description 假期记录类型。
+     *
+     * @var string
+     */
+    public $leaveRecordType;
+
+    /**
+     * @description 请假状态。
+     *
+     * @var string
+     */
+    public $leaveStatus;
+
+    /**
+     * @description 显示单位。
+     *
+     * @var string
+     */
+    public $leaveViewUnit;
+
+    /**
+     * @description 操作人userId。
+     *
+     * @var string
+     */
+    public $opUserId;
+
+    /**
+     * @description 额度唯一标识。
+     *
+     * @var string
+     */
+    public $quotaId;
+
+    /**
+     * @description 假期记录唯一标识。
+     *
+     * @var string
+     */
+    public $recordId;
+
+    /**
+     * @description 以天计算的消费额度。
+     *
+     * @var int
+     */
+    public $recordNumPerDay;
+
+    /**
+     * @description 以小时计算的消费额度。
+     *
+     * @var int
+     */
+    public $recordNumPerHour;
+
+    /**
+     * @description 额度有效期开始时间或请假开始时间,毫秒级时间戳。
+     *
+     * @var int
+     */
+    public $startTime;
+
+    /**
+     * @description 员工userId。
+     *
+     * @var string
+     */
+    public $userId;
+    protected $_name = [
+        'calType'          => 'calType',
+        'endTime'          => 'endTime',
+        'gmtCreate'        => 'gmtCreate',
+        'gmtModified'      => 'gmtModified',
+        'leaveCode'        => 'leaveCode',
+        'leaveReason'      => 'leaveReason',
+        'leaveRecordType'  => 'leaveRecordType',
+        'leaveStatus'      => 'leaveStatus',
+        'leaveViewUnit'    => 'leaveViewUnit',
+        'opUserId'         => 'opUserId',
+        'quotaId'          => 'quotaId',
+        'recordId'         => 'recordId',
+        'recordNumPerDay'  => 'recordNumPerDay',
+        'recordNumPerHour' => 'recordNumPerHour',
+        'startTime'        => 'startTime',
+        'userId'           => 'userId',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->calType) {
+            $res['calType'] = $this->calType;
+        }
+        if (null !== $this->endTime) {
+            $res['endTime'] = $this->endTime;
+        }
+        if (null !== $this->gmtCreate) {
+            $res['gmtCreate'] = $this->gmtCreate;
+        }
+        if (null !== $this->gmtModified) {
+            $res['gmtModified'] = $this->gmtModified;
+        }
+        if (null !== $this->leaveCode) {
+            $res['leaveCode'] = $this->leaveCode;
+        }
+        if (null !== $this->leaveReason) {
+            $res['leaveReason'] = $this->leaveReason;
+        }
+        if (null !== $this->leaveRecordType) {
+            $res['leaveRecordType'] = $this->leaveRecordType;
+        }
+        if (null !== $this->leaveStatus) {
+            $res['leaveStatus'] = $this->leaveStatus;
+        }
+        if (null !== $this->leaveViewUnit) {
+            $res['leaveViewUnit'] = $this->leaveViewUnit;
+        }
+        if (null !== $this->opUserId) {
+            $res['opUserId'] = $this->opUserId;
+        }
+        if (null !== $this->quotaId) {
+            $res['quotaId'] = $this->quotaId;
+        }
+        if (null !== $this->recordId) {
+            $res['recordId'] = $this->recordId;
+        }
+        if (null !== $this->recordNumPerDay) {
+            $res['recordNumPerDay'] = $this->recordNumPerDay;
+        }
+        if (null !== $this->recordNumPerHour) {
+            $res['recordNumPerHour'] = $this->recordNumPerHour;
+        }
+        if (null !== $this->startTime) {
+            $res['startTime'] = $this->startTime;
+        }
+        if (null !== $this->userId) {
+            $res['userId'] = $this->userId;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return leaveRecords
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['calType'])) {
+            $model->calType = $map['calType'];
+        }
+        if (isset($map['endTime'])) {
+            $model->endTime = $map['endTime'];
+        }
+        if (isset($map['gmtCreate'])) {
+            $model->gmtCreate = $map['gmtCreate'];
+        }
+        if (isset($map['gmtModified'])) {
+            $model->gmtModified = $map['gmtModified'];
+        }
+        if (isset($map['leaveCode'])) {
+            $model->leaveCode = $map['leaveCode'];
+        }
+        if (isset($map['leaveReason'])) {
+            $model->leaveReason = $map['leaveReason'];
+        }
+        if (isset($map['leaveRecordType'])) {
+            $model->leaveRecordType = $map['leaveRecordType'];
+        }
+        if (isset($map['leaveStatus'])) {
+            $model->leaveStatus = $map['leaveStatus'];
+        }
+        if (isset($map['leaveViewUnit'])) {
+            $model->leaveViewUnit = $map['leaveViewUnit'];
+        }
+        if (isset($map['opUserId'])) {
+            $model->opUserId = $map['opUserId'];
+        }
+        if (isset($map['quotaId'])) {
+            $model->quotaId = $map['quotaId'];
+        }
+        if (isset($map['recordId'])) {
+            $model->recordId = $map['recordId'];
+        }
+        if (isset($map['recordNumPerDay'])) {
+            $model->recordNumPerDay = $map['recordNumPerDay'];
+        }
+        if (isset($map['recordNumPerHour'])) {
+            $model->recordNumPerHour = $map['recordNumPerHour'];
+        }
+        if (isset($map['startTime'])) {
+            $model->startTime = $map['startTime'];
+        }
+        if (isset($map['userId'])) {
+            $model->userId = $map['userId'];
+        }
+
+        return $model;
+    }
+}

+ 3 - 19
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddRequest.php

@@ -8,7 +8,6 @@ use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupAddRequest\bleDeviceLi
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupAddRequest\freeCheckSetting;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupAddRequest\members;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupAddRequest\positions;
-use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupAddRequest\resourcePermissionMap;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupAddRequest\shiftVOList;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupAddRequest\wifis;
 use AlibabaCloud\Tea\Model;
@@ -262,10 +261,7 @@ class GroupAddRequest extends Model
     public $positions;
 
     /**
-     * @description 子管理员权限范围。
-     *
-     * r:可读
-     * @var resourcePermissionMap[]
+     * @var mixed[]
      */
     public $resourcePermissionMap;
 
@@ -500,13 +496,7 @@ class GroupAddRequest extends Model
             }
         }
         if (null !== $this->resourcePermissionMap) {
-            $res['resourcePermissionMap'] = [];
-            if (null !== $this->resourcePermissionMap && \is_array($this->resourcePermissionMap)) {
-                $n = 0;
-                foreach ($this->resourcePermissionMap as $item) {
-                    $res['resourcePermissionMap'][$n++] = null !== $item ? $item->toMap() : $item;
-                }
-            }
+            $res['resourcePermissionMap'] = $this->resourcePermissionMap;
         }
         if (null !== $this->shiftVOList) {
             $res['shiftVOList'] = [];
@@ -681,13 +671,7 @@ class GroupAddRequest extends Model
             }
         }
         if (isset($map['resourcePermissionMap'])) {
-            if (!empty($map['resourcePermissionMap'])) {
-                $model->resourcePermissionMap = [];
-                $n                            = 0;
-                foreach ($map['resourcePermissionMap'] as $item) {
-                    $model->resourcePermissionMap[$n++] = null !== $item ? resourcePermissionMap::fromMap($item) : $item;
-                }
-            }
+            $model->resourcePermissionMap = $map['resourcePermissionMap'];
         }
         if (isset($map['shiftVOList'])) {
             if (!empty($map['shiftVOList'])) {

+ 16 - 1
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddRequest/freeCheckSetting.php

@@ -10,13 +10,22 @@ use AlibabaCloud\Tea\Model;
 class freeCheckSetting extends Model
 {
     /**
+     * @description 自由工时考勤组考勤开始时间与当天0点偏移分钟数。
+     *
+     * 例如:540表示9:00
+     * @var int
+     */
+    public $delimitOffsetMinutesBetweenDays;
+
+    /**
      * @description 休息日打卡间隔设置。
      *
      * @var freeCheckGap
      */
     public $freeCheckGap;
     protected $_name = [
-        'freeCheckGap' => 'freeCheckGap',
+        'delimitOffsetMinutesBetweenDays' => 'delimitOffsetMinutesBetweenDays',
+        'freeCheckGap'                    => 'freeCheckGap',
     ];
 
     public function validate()
@@ -26,6 +35,9 @@ class freeCheckSetting extends Model
     public function toMap()
     {
         $res = [];
+        if (null !== $this->delimitOffsetMinutesBetweenDays) {
+            $res['delimitOffsetMinutesBetweenDays'] = $this->delimitOffsetMinutesBetweenDays;
+        }
         if (null !== $this->freeCheckGap) {
             $res['freeCheckGap'] = null !== $this->freeCheckGap ? $this->freeCheckGap->toMap() : null;
         }
@@ -41,6 +53,9 @@ class freeCheckSetting extends Model
     public static function fromMap($map = [])
     {
         $model = new self();
+        if (isset($map['delimitOffsetMinutesBetweenDays'])) {
+            $model->delimitOffsetMinutesBetweenDays = $map['delimitOffsetMinutesBetweenDays'];
+        }
         if (isset($map['freeCheckGap'])) {
             $model->freeCheckGap = freeCheckGap::fromMap($map['freeCheckGap']);
         }

+ 0 - 147
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddRequest/resourcePermissionMap.php

@@ -1,147 +0,0 @@
-<?php
-
-// This file is auto-generated, don't edit it. Thanks.
-
-namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupAddRequest;
-
-use AlibabaCloud\Tea\Model;
-
-class resourcePermissionMap extends Model
-{
-    /**
-     * @description 设置拍照打卡规则。
-     *
-     * @var string
-     */
-    public $cameraCheck;
-
-    /**
-     * @description 设置打卡方式。
-     *
-     * @var string
-     */
-    public $checkPositionType;
-
-    /**
-     * @description 设置考勤时间。
-     *
-     * @var string
-     */
-    public $checkTime;
-
-    /**
-     * @description 设置参与考勤人员。
-     *
-     * @var string
-     */
-    public $groupMember;
-
-    /**
-     * @description 设置考勤类型。
-     *
-     * @var string
-     */
-    public $groupType;
-
-    /**
-     * @description 设置外勤打卡。
-     *
-     * @var string
-     */
-    public $outSideCheck;
-
-    /**
-     * @description 设置加班规则。
-     *
-     * @var string
-     */
-    public $overTimeRule;
-
-    /**
-     * @description 员工排班。
-     *
-     * @var string
-     */
-    public $schedule;
-    protected $_name = [
-        'cameraCheck'       => 'cameraCheck',
-        'checkPositionType' => 'checkPositionType',
-        'checkTime'         => 'checkTime',
-        'groupMember'       => 'groupMember',
-        'groupType'         => 'groupType',
-        'outSideCheck'      => 'outSideCheck',
-        'overTimeRule'      => 'overTimeRule',
-        'schedule'          => 'schedule',
-    ];
-
-    public function validate()
-    {
-    }
-
-    public function toMap()
-    {
-        $res = [];
-        if (null !== $this->cameraCheck) {
-            $res['cameraCheck'] = $this->cameraCheck;
-        }
-        if (null !== $this->checkPositionType) {
-            $res['checkPositionType'] = $this->checkPositionType;
-        }
-        if (null !== $this->checkTime) {
-            $res['checkTime'] = $this->checkTime;
-        }
-        if (null !== $this->groupMember) {
-            $res['groupMember'] = $this->groupMember;
-        }
-        if (null !== $this->groupType) {
-            $res['groupType'] = $this->groupType;
-        }
-        if (null !== $this->outSideCheck) {
-            $res['outSideCheck'] = $this->outSideCheck;
-        }
-        if (null !== $this->overTimeRule) {
-            $res['overTimeRule'] = $this->overTimeRule;
-        }
-        if (null !== $this->schedule) {
-            $res['schedule'] = $this->schedule;
-        }
-
-        return $res;
-    }
-
-    /**
-     * @param array $map
-     *
-     * @return resourcePermissionMap
-     */
-    public static function fromMap($map = [])
-    {
-        $model = new self();
-        if (isset($map['cameraCheck'])) {
-            $model->cameraCheck = $map['cameraCheck'];
-        }
-        if (isset($map['checkPositionType'])) {
-            $model->checkPositionType = $map['checkPositionType'];
-        }
-        if (isset($map['checkTime'])) {
-            $model->checkTime = $map['checkTime'];
-        }
-        if (isset($map['groupMember'])) {
-            $model->groupMember = $map['groupMember'];
-        }
-        if (isset($map['groupType'])) {
-            $model->groupType = $map['groupType'];
-        }
-        if (isset($map['outSideCheck'])) {
-            $model->outSideCheck = $map['outSideCheck'];
-        }
-        if (isset($map['overTimeRule'])) {
-            $model->overTimeRule = $map['overTimeRule'];
-        }
-        if (isset($map['schedule'])) {
-            $model->schedule = $map['schedule'];
-        }
-
-        return $model;
-    }
-}

+ 16 - 18
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddResponseBody.php

@@ -10,13 +10,17 @@ use AlibabaCloud\Tea\Model;
 class GroupAddResponseBody extends Model
 {
     /**
-     * @description Id of the request
-     *
-     * @var result[]
+     * @var result
      */
     public $result;
+
+    /**
+     * @var bool
+     */
+    public $success;
     protected $_name = [
-        'result' => 'result',
+        'result'  => 'result',
+        'success' => 'success',
     ];
 
     public function validate()
@@ -27,13 +31,10 @@ class GroupAddResponseBody extends Model
     {
         $res = [];
         if (null !== $this->result) {
-            $res['result'] = [];
-            if (null !== $this->result && \is_array($this->result)) {
-                $n = 0;
-                foreach ($this->result as $item) {
-                    $res['result'][$n++] = null !== $item ? $item->toMap() : $item;
-                }
-            }
+            $res['result'] = null !== $this->result ? $this->result->toMap() : null;
+        }
+        if (null !== $this->success) {
+            $res['success'] = $this->success;
         }
 
         return $res;
@@ -48,13 +49,10 @@ class GroupAddResponseBody extends Model
     {
         $model = new self();
         if (isset($map['result'])) {
-            if (!empty($map['result'])) {
-                $model->result = [];
-                $n             = 0;
-                foreach ($map['result'] as $item) {
-                    $model->result[$n++] = null !== $item ? result::fromMap($item) : $item;
-                }
-            }
+            $model->result = result::fromMap($map['result']);
+        }
+        if (isset($map['success'])) {
+            $model->success = $map['success'];
         }
 
         return $model;

+ 12 - 16
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupAddResponseBody/result.php

@@ -9,21 +9,17 @@ use AlibabaCloud\Tea\Model;
 class result extends Model
 {
     /**
-     * @description 考勤组id
-     *
      * @var int
      */
-    public $groupId;
+    public $id;
 
     /**
-     * @description 考勤组名
-     *
      * @var string
      */
-    public $groupName;
+    public $name;
     protected $_name = [
-        'groupId'   => 'groupId',
-        'groupName' => 'groupName',
+        'id'   => 'id',
+        'name' => 'name',
     ];
 
     public function validate()
@@ -33,11 +29,11 @@ class result extends Model
     public function toMap()
     {
         $res = [];
-        if (null !== $this->groupId) {
-            $res['groupId'] = $this->groupId;
+        if (null !== $this->id) {
+            $res['id'] = $this->id;
         }
-        if (null !== $this->groupName) {
-            $res['groupName'] = $this->groupName;
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
         }
 
         return $res;
@@ -51,11 +47,11 @@ class result extends Model
     public static function fromMap($map = [])
     {
         $model = new self();
-        if (isset($map['groupId'])) {
-            $model->groupId = $map['groupId'];
+        if (isset($map['id'])) {
+            $model->id = $map['id'];
         }
-        if (isset($map['groupName'])) {
-            $model->groupName = $map['groupName'];
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
         }
 
         return $model;

+ 3 - 18
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateRequest.php

@@ -6,7 +6,6 @@ namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
 
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupUpdateRequest\freeCheckSetting;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupUpdateRequest\positions;
-use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupUpdateRequest\resourcePermissionMap;
 use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupUpdateRequest\shiftVOList;
 use AlibabaCloud\Tea\Model;
 
@@ -181,9 +180,7 @@ class GroupUpdateRequest extends Model
     public $positions;
 
     /**
-     * @description 子管理员权限范围。w:可管理r:可读
-     *
-     * @var resourcePermissionMap[]
+     * @var mixed[]
      */
     public $resourcePermissionMap;
 
@@ -340,13 +337,7 @@ class GroupUpdateRequest extends Model
             }
         }
         if (null !== $this->resourcePermissionMap) {
-            $res['resourcePermissionMap'] = [];
-            if (null !== $this->resourcePermissionMap && \is_array($this->resourcePermissionMap)) {
-                $n = 0;
-                foreach ($this->resourcePermissionMap as $item) {
-                    $res['resourcePermissionMap'][$n++] = null !== $item ? $item->toMap() : $item;
-                }
-            }
+            $res['resourcePermissionMap'] = $this->resourcePermissionMap;
         }
         if (null !== $this->shiftVOList) {
             $res['shiftVOList'] = [];
@@ -462,13 +453,7 @@ class GroupUpdateRequest extends Model
             }
         }
         if (isset($map['resourcePermissionMap'])) {
-            if (!empty($map['resourcePermissionMap'])) {
-                $model->resourcePermissionMap = [];
-                $n                            = 0;
-                foreach ($map['resourcePermissionMap'] as $item) {
-                    $model->resourcePermissionMap[$n++] = null !== $item ? resourcePermissionMap::fromMap($item) : $item;
-                }
-            }
+            $model->resourcePermissionMap = $map['resourcePermissionMap'];
         }
         if (isset($map['shiftVOList'])) {
             if (!empty($map['shiftVOList'])) {

+ 16 - 1
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateRequest/freeCheckSetting.php

@@ -10,13 +10,22 @@ use AlibabaCloud\Tea\Model;
 class freeCheckSetting extends Model
 {
     /**
+     * @description 自由工时考勤组考勤开始时间与当天0点偏移分钟数。
+     *
+     * 例如:540表示9:00
+     * @var int
+     */
+    public $delimitOffsetMinutesBetweenDays;
+
+    /**
      * @description 休息日打卡间隔设置。
      *
      * @var freeCheckGap
      */
     public $freeCheckGap;
     protected $_name = [
-        'freeCheckGap' => 'freeCheckGap',
+        'delimitOffsetMinutesBetweenDays' => 'delimitOffsetMinutesBetweenDays',
+        'freeCheckGap'                    => 'freeCheckGap',
     ];
 
     public function validate()
@@ -26,6 +35,9 @@ class freeCheckSetting extends Model
     public function toMap()
     {
         $res = [];
+        if (null !== $this->delimitOffsetMinutesBetweenDays) {
+            $res['delimitOffsetMinutesBetweenDays'] = $this->delimitOffsetMinutesBetweenDays;
+        }
         if (null !== $this->freeCheckGap) {
             $res['freeCheckGap'] = null !== $this->freeCheckGap ? $this->freeCheckGap->toMap() : null;
         }
@@ -41,6 +53,9 @@ class freeCheckSetting extends Model
     public static function fromMap($map = [])
     {
         $model = new self();
+        if (isset($map['delimitOffsetMinutesBetweenDays'])) {
+            $model->delimitOffsetMinutesBetweenDays = $map['delimitOffsetMinutesBetweenDays'];
+        }
         if (isset($map['freeCheckGap'])) {
             $model->freeCheckGap = freeCheckGap::fromMap($map['freeCheckGap']);
         }

+ 0 - 147
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateRequest/resourcePermissionMap.php

@@ -1,147 +0,0 @@
-<?php
-
-// This file is auto-generated, don't edit it. Thanks.
-
-namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\GroupUpdateRequest;
-
-use AlibabaCloud\Tea\Model;
-
-class resourcePermissionMap extends Model
-{
-    /**
-     * @description 设置拍照打卡规则。
-     *
-     * @var string
-     */
-    public $cameraCheck;
-
-    /**
-     * @description 设置打卡方式。
-     *
-     * @var string
-     */
-    public $checkPositionType;
-
-    /**
-     * @description 设置考勤时间。
-     *
-     * @var string
-     */
-    public $checkTime;
-
-    /**
-     * @description 设置参与考勤人员。
-     *
-     * @var string
-     */
-    public $groupMember;
-
-    /**
-     * @description 设置考勤类型。
-     *
-     * @var string
-     */
-    public $groupType;
-
-    /**
-     * @description 设置外勤打卡。
-     *
-     * @var string
-     */
-    public $outSideCheck;
-
-    /**
-     * @description 设置加班规则。
-     *
-     * @var string
-     */
-    public $overTimeRule;
-
-    /**
-     * @description 员工排班。
-     *
-     * @var string
-     */
-    public $schedule;
-    protected $_name = [
-        'cameraCheck'       => 'cameraCheck',
-        'checkPositionType' => 'checkPositionType',
-        'checkTime'         => 'checkTime',
-        'groupMember'       => 'groupMember',
-        'groupType'         => 'groupType',
-        'outSideCheck'      => 'outSideCheck',
-        'overTimeRule'      => 'overTimeRule',
-        'schedule'          => 'schedule',
-    ];
-
-    public function validate()
-    {
-    }
-
-    public function toMap()
-    {
-        $res = [];
-        if (null !== $this->cameraCheck) {
-            $res['cameraCheck'] = $this->cameraCheck;
-        }
-        if (null !== $this->checkPositionType) {
-            $res['checkPositionType'] = $this->checkPositionType;
-        }
-        if (null !== $this->checkTime) {
-            $res['checkTime'] = $this->checkTime;
-        }
-        if (null !== $this->groupMember) {
-            $res['groupMember'] = $this->groupMember;
-        }
-        if (null !== $this->groupType) {
-            $res['groupType'] = $this->groupType;
-        }
-        if (null !== $this->outSideCheck) {
-            $res['outSideCheck'] = $this->outSideCheck;
-        }
-        if (null !== $this->overTimeRule) {
-            $res['overTimeRule'] = $this->overTimeRule;
-        }
-        if (null !== $this->schedule) {
-            $res['schedule'] = $this->schedule;
-        }
-
-        return $res;
-    }
-
-    /**
-     * @param array $map
-     *
-     * @return resourcePermissionMap
-     */
-    public static function fromMap($map = [])
-    {
-        $model = new self();
-        if (isset($map['cameraCheck'])) {
-            $model->cameraCheck = $map['cameraCheck'];
-        }
-        if (isset($map['checkPositionType'])) {
-            $model->checkPositionType = $map['checkPositionType'];
-        }
-        if (isset($map['checkTime'])) {
-            $model->checkTime = $map['checkTime'];
-        }
-        if (isset($map['groupMember'])) {
-            $model->groupMember = $map['groupMember'];
-        }
-        if (isset($map['groupType'])) {
-            $model->groupType = $map['groupType'];
-        }
-        if (isset($map['outSideCheck'])) {
-            $model->outSideCheck = $map['outSideCheck'];
-        }
-        if (isset($map['overTimeRule'])) {
-            $model->overTimeRule = $map['overTimeRule'];
-        }
-        if (isset($map['schedule'])) {
-            $model->schedule = $map['schedule'];
-        }
-
-        return $model;
-    }
-}

+ 16 - 18
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateResponseBody.php

@@ -10,13 +10,17 @@ use AlibabaCloud\Tea\Model;
 class GroupUpdateResponseBody extends Model
 {
     /**
-     * @description Id of the request
-     *
-     * @var result[]
+     * @var result
      */
     public $result;
+
+    /**
+     * @var bool
+     */
+    public $success;
     protected $_name = [
-        'result' => 'result',
+        'result'  => 'result',
+        'success' => 'success',
     ];
 
     public function validate()
@@ -27,13 +31,10 @@ class GroupUpdateResponseBody extends Model
     {
         $res = [];
         if (null !== $this->result) {
-            $res['result'] = [];
-            if (null !== $this->result && \is_array($this->result)) {
-                $n = 0;
-                foreach ($this->result as $item) {
-                    $res['result'][$n++] = null !== $item ? $item->toMap() : $item;
-                }
-            }
+            $res['result'] = null !== $this->result ? $this->result->toMap() : null;
+        }
+        if (null !== $this->success) {
+            $res['success'] = $this->success;
         }
 
         return $res;
@@ -48,13 +49,10 @@ class GroupUpdateResponseBody extends Model
     {
         $model = new self();
         if (isset($map['result'])) {
-            if (!empty($map['result'])) {
-                $model->result = [];
-                $n             = 0;
-                foreach ($map['result'] as $item) {
-                    $model->result[$n++] = null !== $item ? result::fromMap($item) : $item;
-                }
-            }
+            $model->result = result::fromMap($map['result']);
+        }
+        if (isset($map['success'])) {
+            $model->success = $map['success'];
         }
 
         return $model;

+ 12 - 16
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/GroupUpdateResponseBody/result.php

@@ -9,21 +9,17 @@ use AlibabaCloud\Tea\Model;
 class result extends Model
 {
     /**
-     * @description 考勤组id
-     *
      * @var int
      */
-    public $groupId;
+    public $id;
 
     /**
-     * @description 考勤组名
-     *
      * @var string
      */
-    public $groupName;
+    public $name;
     protected $_name = [
-        'groupId'   => 'groupId',
-        'groupName' => 'groupName',
+        'id'   => 'id',
+        'name' => 'name',
     ];
 
     public function validate()
@@ -33,11 +29,11 @@ class result extends Model
     public function toMap()
     {
         $res = [];
-        if (null !== $this->groupId) {
-            $res['groupId'] = $this->groupId;
+        if (null !== $this->id) {
+            $res['id'] = $this->id;
         }
-        if (null !== $this->groupName) {
-            $res['groupName'] = $this->groupName;
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
         }
 
         return $res;
@@ -51,11 +47,11 @@ class result extends Model
     public static function fromMap($map = [])
     {
         $model = new self();
-        if (isset($map['groupId'])) {
-            $model->groupId = $map['groupId'];
+        if (isset($map['id'])) {
+            $model->id = $map['id'];
         }
-        if (isset($map['groupName'])) {
-            $model->groupName = $map['groupName'];
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
         }
 
         return $model;

+ 55 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class ListApproveByUsersHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return ListApproveByUsersHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 93 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersRequest.php

@@ -0,0 +1,93 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class ListApproveByUsersRequest extends Model
+{
+    /**
+     * @description 传入需要查询的审批单类型:
+     * ● 5:外勤审批
+     * @var int[]
+     */
+    public $bizTypes;
+
+    /**
+     * @description 起始日期,Unix时间戳,单位毫秒。(不支持180天前)
+     *
+     * @var int
+     */
+    public $fromDateTime;
+
+    /**
+     * @description 结束日期,Unix时间戳,单位毫秒。(不支持180天前,开始和结束不能超过30天)
+     *
+     * @var int
+     */
+    public $toDateTime;
+
+    /**
+     * @description 要查询的人员userId列表,多个userId用逗号分隔,一次最多可传50个
+     *
+     * @var string
+     */
+    public $userIds;
+    protected $_name = [
+        'bizTypes'     => 'bizTypes',
+        'fromDateTime' => 'fromDateTime',
+        'toDateTime'   => 'toDateTime',
+        'userIds'      => 'userIds',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->bizTypes) {
+            $res['bizTypes'] = $this->bizTypes;
+        }
+        if (null !== $this->fromDateTime) {
+            $res['fromDateTime'] = $this->fromDateTime;
+        }
+        if (null !== $this->toDateTime) {
+            $res['toDateTime'] = $this->toDateTime;
+        }
+        if (null !== $this->userIds) {
+            $res['userIds'] = $this->userIds;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return ListApproveByUsersRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['bizTypes'])) {
+            if (!empty($map['bizTypes'])) {
+                $model->bizTypes = $map['bizTypes'];
+            }
+        }
+        if (isset($map['fromDateTime'])) {
+            $model->fromDateTime = $map['fromDateTime'];
+        }
+        if (isset($map['toDateTime'])) {
+            $model->toDateTime = $map['toDateTime'];
+        }
+        if (isset($map['userIds'])) {
+            $model->userIds = $map['userIds'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class ListApproveByUsersResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var ListApproveByUsersResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return ListApproveByUsersResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = ListApproveByUsersResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 60 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersResponseBody.php

@@ -0,0 +1,60 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\ListApproveByUsersResponseBody\result;
+use AlibabaCloud\Tea\Model;
+
+class ListApproveByUsersResponseBody extends Model
+{
+    /**
+     * @var result[]
+     */
+    public $result;
+    protected $_name = [
+        'result' => 'result',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->result) {
+            $res['result'] = [];
+            if (null !== $this->result && \is_array($this->result)) {
+                $n = 0;
+                foreach ($this->result as $item) {
+                    $res['result'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return ListApproveByUsersResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['result'])) {
+            if (!empty($map['result'])) {
+                $model->result = [];
+                $n             = 0;
+                foreach ($map['result'] as $item) {
+                    $model->result[$n++] = null !== $item ? result::fromMap($item) : $item;
+                }
+            }
+        }
+
+        return $model;
+    }
+}

+ 161 - 0
vendor/alibabacloud/dingtalk/src/attendance_1_0/Models/ListApproveByUsersResponseBody/result.php

@@ -0,0 +1,161 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vattendance_1_0\Models\ListApproveByUsersResponseBody;
+
+use AlibabaCloud\Tea\Model;
+
+class result extends Model
+{
+    /**
+     * @description 审批单自定义id
+     *
+     * @var string
+     */
+    public $approveId;
+
+    /**
+     * @description 审批单开始时间原始格式
+     *
+     * @var string
+     */
+    public $beginTime;
+
+    /**
+     * @description 审批单类型:
+     * ● 5:外勤审批
+     * @var int
+     */
+    public $bizType;
+
+    /**
+     * @description 计算方法:
+     * ● 1:按工作日计算
+     * @var int
+     */
+    public $calculateModel;
+
+    /**
+     * @description 时长单位,支持格式如下:
+     * ● 2019-08-15 12:43对应hour
+     * @var string
+     */
+    public $durationUnit;
+
+    /**
+     * @description 审批单结束时间原始格式
+     *
+     * @var string
+     */
+    public $endTime;
+
+    /**
+     * @description 子类型名称,最大长度20个字符
+     *
+     * @var string
+     */
+    public $subType;
+
+    /**
+     * @description 审批单类型名称,最大长度20个字符
+     *
+     * @var string
+     */
+    public $tagName;
+
+    /**
+     * @description 用户userid
+     *
+     * @var string
+     */
+    public $userId;
+    protected $_name = [
+        'approveId'      => 'approveId',
+        'beginTime'      => 'beginTime',
+        'bizType'        => 'bizType',
+        'calculateModel' => 'calculateModel',
+        'durationUnit'   => 'durationUnit',
+        'endTime'        => 'endTime',
+        'subType'        => 'subType',
+        'tagName'        => 'tagName',
+        'userId'         => 'userId',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->approveId) {
+            $res['approveId'] = $this->approveId;
+        }
+        if (null !== $this->beginTime) {
+            $res['beginTime'] = $this->beginTime;
+        }
+        if (null !== $this->bizType) {
+            $res['bizType'] = $this->bizType;
+        }
+        if (null !== $this->calculateModel) {
+            $res['calculateModel'] = $this->calculateModel;
+        }
+        if (null !== $this->durationUnit) {
+            $res['durationUnit'] = $this->durationUnit;
+        }
+        if (null !== $this->endTime) {
+            $res['endTime'] = $this->endTime;
+        }
+        if (null !== $this->subType) {
+            $res['subType'] = $this->subType;
+        }
+        if (null !== $this->tagName) {
+            $res['tagName'] = $this->tagName;
+        }
+        if (null !== $this->userId) {
+            $res['userId'] = $this->userId;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return result
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['approveId'])) {
+            $model->approveId = $map['approveId'];
+        }
+        if (isset($map['beginTime'])) {
+            $model->beginTime = $map['beginTime'];
+        }
+        if (isset($map['bizType'])) {
+            $model->bizType = $map['bizType'];
+        }
+        if (isset($map['calculateModel'])) {
+            $model->calculateModel = $map['calculateModel'];
+        }
+        if (isset($map['durationUnit'])) {
+            $model->durationUnit = $map['durationUnit'];
+        }
+        if (isset($map['endTime'])) {
+            $model->endTime = $map['endTime'];
+        }
+        if (isset($map['subType'])) {
+            $model->subType = $map['subType'];
+        }
+        if (isset($map['tagName'])) {
+            $model->tagName = $map['tagName'];
+        }
+        if (isset($map['userId'])) {
+            $model->userId = $map['userId'];
+        }
+
+        return $model;
+    }
+}

+ 390 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Dingtalk.php

@@ -40,6 +40,9 @@ use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetInvoiceByPageResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetInvoiceByPageShrinkRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetIsNewVersionHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetIsNewVersionResponse;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetProductHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetProductRequest;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetProductResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetProjectHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetProjectRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetProjectResponse;
@@ -49,6 +52,9 @@ use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetReceiptResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetSupplierHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetSupplierRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\GetSupplierResponse;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\ProfessionBenefitConsumeHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\ProfessionBenefitConsumeRequest;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\ProfessionBenefitConsumeResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryCategoryByPageHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryCategoryByPageRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryCategoryByPageResponse;
@@ -71,9 +77,15 @@ use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryPermissionByUserIdResp
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryPermissionRoleMemberHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryPermissionRoleMemberRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryPermissionRoleMemberResponse;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryProductByPageHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryProductByPageRequest;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryProductByPageResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryProjectByPageHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryProjectByPageRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryProjectByPageResponse;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceRequest;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptForInvoiceHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptForInvoiceRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptForInvoiceResponse;
@@ -86,18 +98,30 @@ use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptsByPageResponse
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QuerySupplierByPageHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QuerySupplierByPageRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QuerySupplierByPageResponse;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryUserRoleListHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryUserRoleListRequest;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryUserRoleListResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UnbindApplyReceiptAndInvoiceRelatedHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UnbindApplyReceiptAndInvoiceRelatedRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UnbindApplyReceiptAndInvoiceRelatedResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateApplyReceiptAndInvoiceRelatedHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateApplyReceiptAndInvoiceRelatedRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateApplyReceiptAndInvoiceRelatedResponse;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateDigitalInvoiceOrgInfoHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateDigitalInvoiceOrgInfoRequest;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateDigitalInvoiceOrgInfoResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateFinanceCompanyInfoHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateFinanceCompanyInfoRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateFinanceCompanyInfoResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAbandonStatusHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAbandonStatusRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAbandonStatusResponse;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateRequest;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateResponse;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingStatusHeaders;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingStatusRequest;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingStatusResponse;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountPeriodHeaders;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountPeriodRequest;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountPeriodResponse;
@@ -321,6 +345,12 @@ class Dingtalk extends OpenApiClient
         if (!Utils::isUnset($request->description)) {
             @$body['description'] = $request->description;
         }
+        if (!Utils::isUnset($request->drawerEmail)) {
+            @$body['drawerEmail'] = $request->drawerEmail;
+        }
+        if (!Utils::isUnset($request->drawerTelephone)) {
+            @$body['drawerTelephone'] = $request->drawerTelephone;
+        }
         if (!Utils::isUnset($request->name)) {
             @$body['name'] = $request->name;
         }
@@ -681,6 +711,48 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param GetProductRequest $request
+     *
+     * @return GetProductResponse
+     */
+    public function getProduct($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new GetProductHeaders([]);
+
+        return $this->getProductWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param GetProductRequest $request
+     * @param GetProductHeaders $headers
+     * @param RuntimeOptions    $runtime
+     *
+     * @return GetProductResponse
+     */
+    public function getProductWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $query = [];
+        if (!Utils::isUnset($request->code)) {
+            @$query['code'] = $request->code;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'query'   => OpenApiUtilClient::query($query),
+        ]);
+
+        return GetProductResponse::fromMap($this->doROARequest('GetProduct', 'bizfinance_1.0', 'HTTP', 'GET', 'AK', '/v1.0/bizfinance/products', 'json', $req, $runtime));
+    }
+
+    /**
      * @param GetProjectRequest $request
      *
      * @return GetProjectResponse
@@ -810,6 +882,54 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param ProfessionBenefitConsumeRequest $request
+     *
+     * @return ProfessionBenefitConsumeResponse
+     */
+    public function professionBenefitConsume($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new ProfessionBenefitConsumeHeaders([]);
+
+        return $this->professionBenefitConsumeWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param ProfessionBenefitConsumeRequest $request
+     * @param ProfessionBenefitConsumeHeaders $headers
+     * @param RuntimeOptions                  $runtime
+     *
+     * @return ProfessionBenefitConsumeResponse
+     */
+    public function professionBenefitConsumeWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $body = [];
+        if (!Utils::isUnset($request->benefitCode)) {
+            @$body['benefitCode'] = $request->benefitCode;
+        }
+        if (!Utils::isUnset($request->bizRequestId)) {
+            @$body['bizRequestId'] = $request->bizRequestId;
+        }
+        if (!Utils::isUnset($request->quota)) {
+            @$body['quota'] = $request->quota;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'body'    => OpenApiUtilClient::parseToMap($body),
+        ]);
+
+        return ProfessionBenefitConsumeResponse::fromMap($this->doROARequest('ProfessionBenefitConsume', 'bizfinance_1.0', 'HTTP', 'POST', 'AK', '/v1.0/bizfinance/professions/benefits/consume', 'json', $req, $runtime));
+    }
+
+    /**
      * @param QueryCategoryByPageRequest $request
      *
      * @return QueryCategoryByPageResponse
@@ -1146,6 +1266,51 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param QueryProductByPageRequest $request
+     *
+     * @return QueryProductByPageResponse
+     */
+    public function queryProductByPage($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new QueryProductByPageHeaders([]);
+
+        return $this->queryProductByPageWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param QueryProductByPageRequest $request
+     * @param QueryProductByPageHeaders $headers
+     * @param RuntimeOptions            $runtime
+     *
+     * @return QueryProductByPageResponse
+     */
+    public function queryProductByPageWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $query = [];
+        if (!Utils::isUnset($request->pageNumber)) {
+            @$query['pageNumber'] = $request->pageNumber;
+        }
+        if (!Utils::isUnset($request->pageSize)) {
+            @$query['pageSize'] = $request->pageSize;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'query'   => OpenApiUtilClient::query($query),
+        ]);
+
+        return QueryProductByPageResponse::fromMap($this->doROARequest('QueryProductByPage', 'bizfinance_1.0', 'HTTP', 'POST', 'AK', '/v1.0/bizfinance/products/query', 'json', $req, $runtime));
+    }
+
+    /**
      * @param QueryProjectByPageRequest $request
      *
      * @return QueryProjectByPageResponse
@@ -1191,6 +1356,48 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param QueryReceiptDetailForInvoiceRequest $request
+     *
+     * @return QueryReceiptDetailForInvoiceResponse
+     */
+    public function queryReceiptDetailForInvoice($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new QueryReceiptDetailForInvoiceHeaders([]);
+
+        return $this->queryReceiptDetailForInvoiceWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param QueryReceiptDetailForInvoiceRequest $request
+     * @param QueryReceiptDetailForInvoiceHeaders $headers
+     * @param RuntimeOptions                      $runtime
+     *
+     * @return QueryReceiptDetailForInvoiceResponse
+     */
+    public function queryReceiptDetailForInvoiceWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $query = [];
+        if (!Utils::isUnset($request->instanceId)) {
+            @$query['instanceId'] = $request->instanceId;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'query'   => OpenApiUtilClient::query($query),
+        ]);
+
+        return QueryReceiptDetailForInvoiceResponse::fromMap($this->doROARequest('QueryReceiptDetailForInvoice', 'bizfinance_1.0', 'HTTP', 'GET', 'AK', '/v1.0/bizfinance/invoices/receipts/details', 'json', $req, $runtime));
+    }
+
+    /**
      * @param QueryReceiptForInvoiceRequest $request
      *
      * @return QueryReceiptForInvoiceResponse
@@ -1413,6 +1620,48 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param QueryUserRoleListRequest $request
+     *
+     * @return QueryUserRoleListResponse
+     */
+    public function queryUserRoleList($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new QueryUserRoleListHeaders([]);
+
+        return $this->queryUserRoleListWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param QueryUserRoleListRequest $request
+     * @param QueryUserRoleListHeaders $headers
+     * @param RuntimeOptions           $runtime
+     *
+     * @return QueryUserRoleListResponse
+     */
+    public function queryUserRoleListWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $query = [];
+        if (!Utils::isUnset($request->userId)) {
+            @$query['userId'] = $request->userId;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'query'   => OpenApiUtilClient::query($query),
+        ]);
+
+        return QueryUserRoleListResponse::fromMap($this->doROARequest('QueryUserRoleList', 'bizfinance_1.0', 'HTTP', 'GET', 'AK', '/v1.0/bizfinance/users/roles', 'json', $req, $runtime));
+    }
+
+    /**
      * @param UnbindApplyReceiptAndInvoiceRelatedRequest $request
      *
      * @return UnbindApplyReceiptAndInvoiceRelatedResponse
@@ -1509,6 +1758,57 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param UpdateDigitalInvoiceOrgInfoRequest $request
+     *
+     * @return UpdateDigitalInvoiceOrgInfoResponse
+     */
+    public function updateDigitalInvoiceOrgInfo($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new UpdateDigitalInvoiceOrgInfoHeaders([]);
+
+        return $this->updateDigitalInvoiceOrgInfoWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param UpdateDigitalInvoiceOrgInfoRequest $request
+     * @param UpdateDigitalInvoiceOrgInfoHeaders $headers
+     * @param RuntimeOptions                     $runtime
+     *
+     * @return UpdateDigitalInvoiceOrgInfoResponse
+     */
+    public function updateDigitalInvoiceOrgInfoWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $body = [];
+        if (!Utils::isUnset($request->digitalInvoiceType)) {
+            @$body['digitalInvoiceType'] = $request->digitalInvoiceType;
+        }
+        if (!Utils::isUnset($request->isDigitalOrg)) {
+            @$body['isDigitalOrg'] = $request->isDigitalOrg;
+        }
+        if (!Utils::isUnset($request->location)) {
+            @$body['location'] = $request->location;
+        }
+        if (!Utils::isUnset($request->operator)) {
+            @$body['operator'] = $request->operator;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'body'    => OpenApiUtilClient::parseToMap($body),
+        ]);
+
+        return UpdateDigitalInvoiceOrgInfoResponse::fromMap($this->doROARequest('UpdateDigitalInvoiceOrgInfo', 'bizfinance_1.0', 'HTTP', 'PUT', 'AK', '/v1.0/bizfinance/invoices/organizationInfos', 'json', $req, $runtime));
+    }
+
+    /**
      * @param UpdateFinanceCompanyInfoRequest $request
      *
      * @return UpdateFinanceCompanyInfoResponse
@@ -1680,6 +1980,96 @@ class Dingtalk extends OpenApiClient
     }
 
     /**
+     * @param UpdateInvoiceAccountingPeriodDateRequest $request
+     *
+     * @return UpdateInvoiceAccountingPeriodDateResponse
+     */
+    public function updateInvoiceAccountingPeriodDate($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new UpdateInvoiceAccountingPeriodDateHeaders([]);
+
+        return $this->updateInvoiceAccountingPeriodDateWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param UpdateInvoiceAccountingPeriodDateRequest $request
+     * @param UpdateInvoiceAccountingPeriodDateHeaders $headers
+     * @param RuntimeOptions                           $runtime
+     *
+     * @return UpdateInvoiceAccountingPeriodDateResponse
+     */
+    public function updateInvoiceAccountingPeriodDateWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $body = [];
+        if (!Utils::isUnset($request->invoiceFinanceInfoVOList)) {
+            @$body['invoiceFinanceInfoVOList'] = $request->invoiceFinanceInfoVOList;
+        }
+        if (!Utils::isUnset($request->operator)) {
+            @$body['operator'] = $request->operator;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'body'    => OpenApiUtilClient::parseToMap($body),
+        ]);
+
+        return UpdateInvoiceAccountingPeriodDateResponse::fromMap($this->doROARequest('UpdateInvoiceAccountingPeriodDate', 'bizfinance_1.0', 'HTTP', 'PUT', 'AK', '/v1.0/bizfinance/invoices/accounts/periodDates', 'json', $req, $runtime));
+    }
+
+    /**
+     * @param UpdateInvoiceAccountingStatusRequest $request
+     *
+     * @return UpdateInvoiceAccountingStatusResponse
+     */
+    public function updateInvoiceAccountingStatus($request)
+    {
+        $runtime = new RuntimeOptions([]);
+        $headers = new UpdateInvoiceAccountingStatusHeaders([]);
+
+        return $this->updateInvoiceAccountingStatusWithOptions($request, $headers, $runtime);
+    }
+
+    /**
+     * @param UpdateInvoiceAccountingStatusRequest $request
+     * @param UpdateInvoiceAccountingStatusHeaders $headers
+     * @param RuntimeOptions                       $runtime
+     *
+     * @return UpdateInvoiceAccountingStatusResponse
+     */
+    public function updateInvoiceAccountingStatusWithOptions($request, $headers, $runtime)
+    {
+        Utils::validateModel($request);
+        $body = [];
+        if (!Utils::isUnset($request->invoiceFinanceInfoVOList)) {
+            @$body['invoiceFinanceInfoVOList'] = $request->invoiceFinanceInfoVOList;
+        }
+        if (!Utils::isUnset($request->operator)) {
+            @$body['operator'] = $request->operator;
+        }
+        $realHeaders = [];
+        if (!Utils::isUnset($headers->commonHeaders)) {
+            $realHeaders = $headers->commonHeaders;
+        }
+        if (!Utils::isUnset($headers->xAcsDingtalkAccessToken)) {
+            @$realHeaders['x-acs-dingtalk-access-token'] = Utils::toJSONString($headers->xAcsDingtalkAccessToken);
+        }
+        $req = new OpenApiRequest([
+            'headers' => $realHeaders,
+            'body'    => OpenApiUtilClient::parseToMap($body),
+        ]);
+
+        return UpdateInvoiceAccountingStatusResponse::fromMap($this->doROARequest('UpdateInvoiceAccountingStatus', 'bizfinance_1.0', 'HTTP', 'PUT', 'AK', '/v1.0/bizfinance/invoices/accounts/statuses', 'json', $req, $runtime));
+    }
+
+    /**
      * @param UpdateInvoiceAndReceiptRelatedRequest $request
      *
      * @return UpdateInvoiceAndReceiptRelatedResponse

+ 28 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/BatchCreateCustomerRequest/createCustomerRequestList.php

@@ -16,6 +16,20 @@ class createCustomerRequestList extends Model
     public $description;
 
     /**
+     * @description 开票人邮箱
+     *
+     * @var string
+     */
+    public $drawerEmail;
+
+    /**
+     * @description 开票人手机号
+     *
+     * @var string
+     */
+    public $drawerTelephone;
+
+    /**
      * @description 客户名字
      *
      * @var string
@@ -65,6 +79,8 @@ class createCustomerRequestList extends Model
     public $purchaserTel;
     protected $_name = [
         'description'       => 'description',
+        'drawerEmail'       => 'drawerEmail',
+        'drawerTelephone'   => 'drawerTelephone',
         'name'              => 'name',
         'purchaserAccount'  => 'purchaserAccount',
         'purchaserAddress'  => 'purchaserAddress',
@@ -84,6 +100,12 @@ class createCustomerRequestList extends Model
         if (null !== $this->description) {
             $res['description'] = $this->description;
         }
+        if (null !== $this->drawerEmail) {
+            $res['drawerEmail'] = $this->drawerEmail;
+        }
+        if (null !== $this->drawerTelephone) {
+            $res['drawerTelephone'] = $this->drawerTelephone;
+        }
         if (null !== $this->name) {
             $res['name'] = $this->name;
         }
@@ -120,6 +142,12 @@ class createCustomerRequestList extends Model
         if (isset($map['description'])) {
             $model->description = $map['description'];
         }
+        if (isset($map['drawerEmail'])) {
+            $model->drawerEmail = $map['drawerEmail'];
+        }
+        if (isset($map['drawerTelephone'])) {
+            $model->drawerTelephone = $map['drawerTelephone'];
+        }
         if (isset($map['name'])) {
             $model->name = $map['name'];
         }

+ 28 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/CreateCustomerRequest.php

@@ -23,6 +23,20 @@ class CreateCustomerRequest extends Model
     public $description;
 
     /**
+     * @description 开票人邮箱
+     *
+     * @var string
+     */
+    public $drawerEmail;
+
+    /**
+     * @description 开票人手机号
+     *
+     * @var string
+     */
+    public $drawerTelephone;
+
+    /**
      * @description 客户名字
      *
      * @var string
@@ -73,6 +87,8 @@ class CreateCustomerRequest extends Model
     protected $_name = [
         'creator'           => 'creator',
         'description'       => 'description',
+        'drawerEmail'       => 'drawerEmail',
+        'drawerTelephone'   => 'drawerTelephone',
         'name'              => 'name',
         'purchaserAccount'  => 'purchaserAccount',
         'purchaserAddress'  => 'purchaserAddress',
@@ -95,6 +111,12 @@ class CreateCustomerRequest extends Model
         if (null !== $this->description) {
             $res['description'] = $this->description;
         }
+        if (null !== $this->drawerEmail) {
+            $res['drawerEmail'] = $this->drawerEmail;
+        }
+        if (null !== $this->drawerTelephone) {
+            $res['drawerTelephone'] = $this->drawerTelephone;
+        }
         if (null !== $this->name) {
             $res['name'] = $this->name;
         }
@@ -134,6 +156,12 @@ class CreateCustomerRequest extends Model
         if (isset($map['description'])) {
             $model->description = $map['description'];
         }
+        if (isset($map['drawerEmail'])) {
+            $model->drawerEmail = $map['drawerEmail'];
+        }
+        if (isset($map['drawerTelephone'])) {
+            $model->drawerTelephone = $map['drawerTelephone'];
+        }
         if (isset($map['name'])) {
             $model->name = $map['name'];
         }

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/GetProductHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class GetProductHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return GetProductHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 49 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/GetProductRequest.php

@@ -0,0 +1,49 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class GetProductRequest extends Model
+{
+    /**
+     * @description 商品code
+     *
+     * @var string
+     */
+    public $code;
+    protected $_name = [
+        'code' => 'code',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->code) {
+            $res['code'] = $this->code;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return GetProductRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['code'])) {
+            $model->code = $map['code'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/GetProductResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class GetProductResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var GetProductResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return GetProductResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = GetProductResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 147 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/GetProductResponseBody.php

@@ -0,0 +1,147 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class GetProductResponseBody extends Model
+{
+    /**
+     * @description Id of the request
+     *
+     * @var string
+     */
+    public $code;
+
+    /**
+     * @description 创建时间
+     *
+     * @var int
+     */
+    public $createTime;
+
+    /**
+     * @description 商品备注
+     *
+     * @var string
+     */
+    public $description;
+
+    /**
+     * @description 商品名称
+     *
+     * @var string
+     */
+    public $name;
+
+    /**
+     * @description 规格型号
+     *
+     * @var string
+     */
+    public $specification;
+
+    /**
+     * @description 商品状态
+     *
+     * @var string
+     */
+    public $status;
+
+    /**
+     * @description 商品单位
+     *
+     * @var string
+     */
+    public $unit;
+
+    /**
+     * @description 商品用户自定义码
+     *
+     * @var string
+     */
+    public $userDefineCode;
+    protected $_name = [
+        'code'           => 'code',
+        'createTime'     => 'createTime',
+        'description'    => 'description',
+        'name'           => 'name',
+        'specification'  => 'specification',
+        'status'         => 'status',
+        'unit'           => 'unit',
+        'userDefineCode' => 'userDefineCode',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->code) {
+            $res['code'] = $this->code;
+        }
+        if (null !== $this->createTime) {
+            $res['createTime'] = $this->createTime;
+        }
+        if (null !== $this->description) {
+            $res['description'] = $this->description;
+        }
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
+        }
+        if (null !== $this->specification) {
+            $res['specification'] = $this->specification;
+        }
+        if (null !== $this->status) {
+            $res['status'] = $this->status;
+        }
+        if (null !== $this->unit) {
+            $res['unit'] = $this->unit;
+        }
+        if (null !== $this->userDefineCode) {
+            $res['userDefineCode'] = $this->userDefineCode;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return GetProductResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['code'])) {
+            $model->code = $map['code'];
+        }
+        if (isset($map['createTime'])) {
+            $model->createTime = $map['createTime'];
+        }
+        if (isset($map['description'])) {
+            $model->description = $map['description'];
+        }
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
+        }
+        if (isset($map['specification'])) {
+            $model->specification = $map['specification'];
+        }
+        if (isset($map['status'])) {
+            $model->status = $map['status'];
+        }
+        if (isset($map['unit'])) {
+            $model->unit = $map['unit'];
+        }
+        if (isset($map['userDefineCode'])) {
+            $model->userDefineCode = $map['userDefineCode'];
+        }
+
+        return $model;
+    }
+}

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/ProfessionBenefitConsumeHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class ProfessionBenefitConsumeHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return ProfessionBenefitConsumeHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 79 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/ProfessionBenefitConsumeRequest.php

@@ -0,0 +1,79 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class ProfessionBenefitConsumeRequest extends Model
+{
+    /**
+     * @description 权益编码
+     *
+     *
+     * @var string
+     */
+    public $benefitCode;
+
+    /**
+     * @description 幂等ID
+     *
+     *
+     * @var string
+     */
+    public $bizRequestId;
+
+    /**
+     * @description 核销数量
+     *
+     * @var int
+     */
+    public $quota;
+    protected $_name = [
+        'benefitCode'  => 'benefitCode',
+        'bizRequestId' => 'bizRequestId',
+        'quota'        => 'quota',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->benefitCode) {
+            $res['benefitCode'] = $this->benefitCode;
+        }
+        if (null !== $this->bizRequestId) {
+            $res['bizRequestId'] = $this->bizRequestId;
+        }
+        if (null !== $this->quota) {
+            $res['quota'] = $this->quota;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return ProfessionBenefitConsumeRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['benefitCode'])) {
+            $model->benefitCode = $map['benefitCode'];
+        }
+        if (isset($map['bizRequestId'])) {
+            $model->bizRequestId = $map['bizRequestId'];
+        }
+        if (isset($map['quota'])) {
+            $model->quota = $map['quota'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/ProfessionBenefitConsumeResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class ProfessionBenefitConsumeResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var ProfessionBenefitConsumeResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return ProfessionBenefitConsumeResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = ProfessionBenefitConsumeResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 49 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/ProfessionBenefitConsumeResponseBody.php

@@ -0,0 +1,49 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class ProfessionBenefitConsumeResponseBody extends Model
+{
+    /**
+     * @description 是否成功
+     *
+     * @var bool
+     */
+    public $success;
+    protected $_name = [
+        'success' => 'success',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->success) {
+            $res['success'] = $this->success;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return ProfessionBenefitConsumeResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['success'])) {
+            $model->success = $map['success'];
+        }
+
+        return $model;
+    }
+}

+ 28 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryCustomerInfoResponseBody/list_.php

@@ -48,6 +48,20 @@ class list_ extends Model
     public $description;
 
     /**
+     * @description 开票人邮箱
+     *
+     * @var string
+     */
+    public $drawerEmail;
+
+    /**
+     * @description 开票人手机号
+     *
+     * @var string
+     */
+    public $drawerTelephone;
+
+    /**
      * @description 客户名字
      *
      * @var string
@@ -117,6 +131,8 @@ class list_ extends Model
         'contactName'             => 'contactName',
         'contactTelephone'        => 'contactTelephone',
         'description'             => 'description',
+        'drawerEmail'             => 'drawerEmail',
+        'drawerTelephone'         => 'drawerTelephone',
         'name'                    => 'name',
         'purchaserAccount'        => 'purchaserAccount',
         'purchaserAddress'        => 'purchaserAddress',
@@ -156,6 +172,12 @@ class list_ extends Model
         if (null !== $this->description) {
             $res['description'] = $this->description;
         }
+        if (null !== $this->drawerEmail) {
+            $res['drawerEmail'] = $this->drawerEmail;
+        }
+        if (null !== $this->drawerTelephone) {
+            $res['drawerTelephone'] = $this->drawerTelephone;
+        }
         if (null !== $this->name) {
             $res['name'] = $this->name;
         }
@@ -216,6 +238,12 @@ class list_ extends Model
         if (isset($map['description'])) {
             $model->description = $map['description'];
         }
+        if (isset($map['drawerEmail'])) {
+            $model->drawerEmail = $map['drawerEmail'];
+        }
+        if (isset($map['drawerTelephone'])) {
+            $model->drawerTelephone = $map['drawerTelephone'];
+        }
         if (isset($map['name'])) {
             $model->name = $map['name'];
         }

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryProductByPageHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryProductByPageHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 63 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageRequest.php

@@ -0,0 +1,63 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryProductByPageRequest extends Model
+{
+    /**
+     * @description 分页数
+     *
+     * @var int
+     */
+    public $pageNumber;
+
+    /**
+     * @description 分页大小
+     *
+     * @var int
+     */
+    public $pageSize;
+    protected $_name = [
+        'pageNumber' => 'pageNumber',
+        'pageSize'   => 'pageSize',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->pageNumber) {
+            $res['pageNumber'] = $this->pageNumber;
+        }
+        if (null !== $this->pageSize) {
+            $res['pageSize'] = $this->pageSize;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryProductByPageRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['pageNumber'])) {
+            $model->pageNumber = $map['pageNumber'];
+        }
+        if (isset($map['pageSize'])) {
+            $model->pageSize = $map['pageSize'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryProductByPageResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var QueryProductByPageResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryProductByPageResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = QueryProductByPageResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 72 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageResponseBody.php

@@ -0,0 +1,72 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryProductByPageResponseBody\list_;
+use AlibabaCloud\Tea\Model;
+
+class QueryProductByPageResponseBody extends Model
+{
+    /**
+     * @var bool
+     */
+    public $hasMore;
+
+    /**
+     * @var list_[]
+     */
+    public $list;
+    protected $_name = [
+        'hasMore' => 'hasMore',
+        'list'    => 'list',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->hasMore) {
+            $res['hasMore'] = $this->hasMore;
+        }
+        if (null !== $this->list) {
+            $res['list'] = [];
+            if (null !== $this->list && \is_array($this->list)) {
+                $n = 0;
+                foreach ($this->list as $item) {
+                    $res['list'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryProductByPageResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['hasMore'])) {
+            $model->hasMore = $map['hasMore'];
+        }
+        if (isset($map['list'])) {
+            if (!empty($map['list'])) {
+                $model->list = [];
+                $n           = 0;
+                foreach ($map['list'] as $item) {
+                    $model->list[$n++] = null !== $item ? list_::fromMap($item) : $item;
+                }
+            }
+        }
+
+        return $model;
+    }
+}

+ 147 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryProductByPageResponseBody/list_.php

@@ -0,0 +1,147 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryProductByPageResponseBody;
+
+use AlibabaCloud\Tea\Model;
+
+class list_ extends Model
+{
+    /**
+     * @description 商品code
+     *
+     * @var string
+     */
+    public $code;
+
+    /**
+     * @description 创建时间
+     *
+     * @var int
+     */
+    public $createTime;
+
+    /**
+     * @description 商品备注
+     *
+     * @var string
+     */
+    public $description;
+
+    /**
+     * @description 商品名称
+     *
+     * @var string
+     */
+    public $name;
+
+    /**
+     * @description 商品规格
+     *
+     * @var string
+     */
+    public $specification;
+
+    /**
+     * @description 商品状态
+     *
+     * @var string
+     */
+    public $status;
+
+    /**
+     * @description 商品单位
+     *
+     * @var string
+     */
+    public $unit;
+
+    /**
+     * @description 商品用户自定义码
+     *
+     * @var string
+     */
+    public $userDefineCode;
+    protected $_name = [
+        'code'           => 'code',
+        'createTime'     => 'createTime',
+        'description'    => 'description',
+        'name'           => 'name',
+        'specification'  => 'specification',
+        'status'         => 'status',
+        'unit'           => 'unit',
+        'userDefineCode' => 'userDefineCode',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->code) {
+            $res['code'] = $this->code;
+        }
+        if (null !== $this->createTime) {
+            $res['createTime'] = $this->createTime;
+        }
+        if (null !== $this->description) {
+            $res['description'] = $this->description;
+        }
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
+        }
+        if (null !== $this->specification) {
+            $res['specification'] = $this->specification;
+        }
+        if (null !== $this->status) {
+            $res['status'] = $this->status;
+        }
+        if (null !== $this->unit) {
+            $res['unit'] = $this->unit;
+        }
+        if (null !== $this->userDefineCode) {
+            $res['userDefineCode'] = $this->userDefineCode;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return list_
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['code'])) {
+            $model->code = $map['code'];
+        }
+        if (isset($map['createTime'])) {
+            $model->createTime = $map['createTime'];
+        }
+        if (isset($map['description'])) {
+            $model->description = $map['description'];
+        }
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
+        }
+        if (isset($map['specification'])) {
+            $model->specification = $map['specification'];
+        }
+        if (isset($map['status'])) {
+            $model->status = $map['status'];
+        }
+        if (isset($map['unit'])) {
+            $model->unit = $map['unit'];
+        }
+        if (isset($map['userDefineCode'])) {
+            $model->userDefineCode = $map['userDefineCode'];
+        }
+
+        return $model;
+    }
+}

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryReceiptDetailForInvoiceHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryReceiptDetailForInvoiceHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 49 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceRequest.php

@@ -0,0 +1,49 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryReceiptDetailForInvoiceRequest extends Model
+{
+    /**
+     * @description 审批单id
+     *
+     * @var string
+     */
+    public $instanceId;
+    protected $_name = [
+        'instanceId' => 'instanceId',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->instanceId) {
+            $res['instanceId'] = $this->instanceId;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryReceiptDetailForInvoiceRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['instanceId'])) {
+            $model->instanceId = $map['instanceId'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryReceiptDetailForInvoiceResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var QueryReceiptDetailForInvoiceResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryReceiptDetailForInvoiceResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = QueryReceiptDetailForInvoiceResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 50 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody.php

@@ -0,0 +1,50 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponseBody\result;
+use AlibabaCloud\Tea\Model;
+
+class QueryReceiptDetailForInvoiceResponseBody extends Model
+{
+    /**
+     * @description 结果
+     *
+     * @var result
+     */
+    public $result;
+    protected $_name = [
+        'result' => 'result',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->result) {
+            $res['result'] = null !== $this->result ? $this->result->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryReceiptDetailForInvoiceResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['result'])) {
+            $model->result = result::fromMap($map['result']);
+        }
+
+        return $model;
+    }
+}

+ 358 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody/result.php

@@ -0,0 +1,358 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponseBody;
+
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponseBody\result\creator;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponseBody\result\customer;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponseBody\result\productInfoList;
+use AlibabaCloud\Tea\Model;
+
+class result extends Model
+{
+    /**
+     * @description 金额
+     *
+     * @var string
+     */
+    public $amount;
+
+    /**
+     * @description 开票状态
+     *
+     * @var string
+     */
+    public $applyStatus;
+
+    /**
+     * @description 创建时间
+     *
+     * @var string
+     */
+    public $createTime;
+
+    /**
+     * @description 创建人
+     *
+     * @var creator
+     */
+    public $creator;
+
+    /**
+     * @description 客户
+     *
+     * @var customer
+     */
+    public $customer;
+
+    /**
+     * @description 开票人邮箱
+     *
+     * @var string
+     */
+    public $drawerEmail;
+
+    /**
+     * @description 开票人手机号码
+     *
+     * @var string
+     */
+    public $drawerTelephone;
+
+    /**
+     * @description 发票种类
+     *
+     * @var string
+     */
+    public $invoiceType;
+
+    /**
+     * @description 主数据modelId
+     *
+     * @var string
+     */
+    public $modelId;
+
+    /**
+     * @description 商品列表
+     *
+     * @var productInfoList[]
+     */
+    public $productInfoList;
+
+    /**
+     * @description 购方账户
+     *
+     * @var string
+     */
+    public $purchaserAccount;
+
+    /**
+     * @description 购方地址
+     *
+     * @var string
+     */
+    public $purchaserAddress;
+
+    /**
+     * @description 购方银行
+     *
+     * @var string
+     */
+    public $purchaserBankName;
+
+    /**
+     * @description 购方抬头
+     *
+     * @var string
+     */
+    public $purchaserName;
+
+    /**
+     * @description 购方税号
+     *
+     * @var string
+     */
+    public $purchaserTaxNo;
+
+    /**
+     * @description 购方电话
+     *
+     * @var string
+     */
+    public $purchaserTel;
+
+    /**
+     * @description 单据ID
+     *
+     * @var string
+     */
+    public $receiptId;
+
+    /**
+     * @description 记录时间,默认为审批通过时间
+     *
+     * @var string
+     */
+    public $recordTime;
+
+    /**
+     * @description 备注
+     *
+     * @var string
+     */
+    public $remark;
+
+    /**
+     * @description 来源
+     *
+     * @var string
+     */
+    public $source;
+
+    /**
+     * @description 状态 agree running
+     *
+     * @var string
+     */
+    public $status;
+
+    /**
+     * @description 单据标题
+     *
+     * @var string
+     */
+    public $title;
+    protected $_name = [
+        'amount'            => 'amount',
+        'applyStatus'       => 'applyStatus',
+        'createTime'        => 'createTime',
+        'creator'           => 'creator',
+        'customer'          => 'customer',
+        'drawerEmail'       => 'drawerEmail',
+        'drawerTelephone'   => 'drawerTelephone',
+        'invoiceType'       => 'invoiceType',
+        'modelId'           => 'modelId',
+        'productInfoList'   => 'productInfoList',
+        'purchaserAccount'  => 'purchaserAccount',
+        'purchaserAddress'  => 'purchaserAddress',
+        'purchaserBankName' => 'purchaserBankName',
+        'purchaserName'     => 'purchaserName',
+        'purchaserTaxNo'    => 'purchaserTaxNo',
+        'purchaserTel'      => 'purchaserTel',
+        'receiptId'         => 'receiptId',
+        'recordTime'        => 'recordTime',
+        'remark'            => 'remark',
+        'source'            => 'source',
+        'status'            => 'status',
+        'title'             => 'title',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->amount) {
+            $res['amount'] = $this->amount;
+        }
+        if (null !== $this->applyStatus) {
+            $res['applyStatus'] = $this->applyStatus;
+        }
+        if (null !== $this->createTime) {
+            $res['createTime'] = $this->createTime;
+        }
+        if (null !== $this->creator) {
+            $res['creator'] = null !== $this->creator ? $this->creator->toMap() : null;
+        }
+        if (null !== $this->customer) {
+            $res['customer'] = null !== $this->customer ? $this->customer->toMap() : null;
+        }
+        if (null !== $this->drawerEmail) {
+            $res['drawerEmail'] = $this->drawerEmail;
+        }
+        if (null !== $this->drawerTelephone) {
+            $res['drawerTelephone'] = $this->drawerTelephone;
+        }
+        if (null !== $this->invoiceType) {
+            $res['invoiceType'] = $this->invoiceType;
+        }
+        if (null !== $this->modelId) {
+            $res['modelId'] = $this->modelId;
+        }
+        if (null !== $this->productInfoList) {
+            $res['productInfoList'] = [];
+            if (null !== $this->productInfoList && \is_array($this->productInfoList)) {
+                $n = 0;
+                foreach ($this->productInfoList as $item) {
+                    $res['productInfoList'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
+        if (null !== $this->purchaserAccount) {
+            $res['purchaserAccount'] = $this->purchaserAccount;
+        }
+        if (null !== $this->purchaserAddress) {
+            $res['purchaserAddress'] = $this->purchaserAddress;
+        }
+        if (null !== $this->purchaserBankName) {
+            $res['purchaserBankName'] = $this->purchaserBankName;
+        }
+        if (null !== $this->purchaserName) {
+            $res['purchaserName'] = $this->purchaserName;
+        }
+        if (null !== $this->purchaserTaxNo) {
+            $res['purchaserTaxNo'] = $this->purchaserTaxNo;
+        }
+        if (null !== $this->purchaserTel) {
+            $res['purchaserTel'] = $this->purchaserTel;
+        }
+        if (null !== $this->receiptId) {
+            $res['receiptId'] = $this->receiptId;
+        }
+        if (null !== $this->recordTime) {
+            $res['recordTime'] = $this->recordTime;
+        }
+        if (null !== $this->remark) {
+            $res['remark'] = $this->remark;
+        }
+        if (null !== $this->source) {
+            $res['source'] = $this->source;
+        }
+        if (null !== $this->status) {
+            $res['status'] = $this->status;
+        }
+        if (null !== $this->title) {
+            $res['title'] = $this->title;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return result
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['amount'])) {
+            $model->amount = $map['amount'];
+        }
+        if (isset($map['applyStatus'])) {
+            $model->applyStatus = $map['applyStatus'];
+        }
+        if (isset($map['createTime'])) {
+            $model->createTime = $map['createTime'];
+        }
+        if (isset($map['creator'])) {
+            $model->creator = creator::fromMap($map['creator']);
+        }
+        if (isset($map['customer'])) {
+            $model->customer = customer::fromMap($map['customer']);
+        }
+        if (isset($map['drawerEmail'])) {
+            $model->drawerEmail = $map['drawerEmail'];
+        }
+        if (isset($map['drawerTelephone'])) {
+            $model->drawerTelephone = $map['drawerTelephone'];
+        }
+        if (isset($map['invoiceType'])) {
+            $model->invoiceType = $map['invoiceType'];
+        }
+        if (isset($map['modelId'])) {
+            $model->modelId = $map['modelId'];
+        }
+        if (isset($map['productInfoList'])) {
+            if (!empty($map['productInfoList'])) {
+                $model->productInfoList = [];
+                $n                      = 0;
+                foreach ($map['productInfoList'] as $item) {
+                    $model->productInfoList[$n++] = null !== $item ? productInfoList::fromMap($item) : $item;
+                }
+            }
+        }
+        if (isset($map['purchaserAccount'])) {
+            $model->purchaserAccount = $map['purchaserAccount'];
+        }
+        if (isset($map['purchaserAddress'])) {
+            $model->purchaserAddress = $map['purchaserAddress'];
+        }
+        if (isset($map['purchaserBankName'])) {
+            $model->purchaserBankName = $map['purchaserBankName'];
+        }
+        if (isset($map['purchaserName'])) {
+            $model->purchaserName = $map['purchaserName'];
+        }
+        if (isset($map['purchaserTaxNo'])) {
+            $model->purchaserTaxNo = $map['purchaserTaxNo'];
+        }
+        if (isset($map['purchaserTel'])) {
+            $model->purchaserTel = $map['purchaserTel'];
+        }
+        if (isset($map['receiptId'])) {
+            $model->receiptId = $map['receiptId'];
+        }
+        if (isset($map['recordTime'])) {
+            $model->recordTime = $map['recordTime'];
+        }
+        if (isset($map['remark'])) {
+            $model->remark = $map['remark'];
+        }
+        if (isset($map['source'])) {
+            $model->source = $map['source'];
+        }
+        if (isset($map['status'])) {
+            $model->status = $map['status'];
+        }
+        if (isset($map['title'])) {
+            $model->title = $map['title'];
+        }
+
+        return $model;
+    }
+}

+ 77 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody/result/creator.php

@@ -0,0 +1,77 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponseBody\result;
+
+use AlibabaCloud\Tea\Model;
+
+class creator extends Model
+{
+    /**
+     * @description 创建人头像
+     *
+     * @var string
+     */
+    public $avatarUrl;
+
+    /**
+     * @description 创建人昵称
+     *
+     * @var string
+     */
+    public $nick;
+
+    /**
+     * @description 创建人工号
+     *
+     * @var string
+     */
+    public $userId;
+    protected $_name = [
+        'avatarUrl' => 'avatarUrl',
+        'nick'      => 'nick',
+        'userId'    => 'userId',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->avatarUrl) {
+            $res['avatarUrl'] = $this->avatarUrl;
+        }
+        if (null !== $this->nick) {
+            $res['nick'] = $this->nick;
+        }
+        if (null !== $this->userId) {
+            $res['userId'] = $this->userId;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return creator
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['avatarUrl'])) {
+            $model->avatarUrl = $map['avatarUrl'];
+        }
+        if (isset($map['nick'])) {
+            $model->nick = $map['nick'];
+        }
+        if (isset($map['userId'])) {
+            $model->userId = $map['userId'];
+        }
+
+        return $model;
+    }
+}

+ 63 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody/result/customer.php

@@ -0,0 +1,63 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponseBody\result;
+
+use AlibabaCloud\Tea\Model;
+
+class customer extends Model
+{
+    /**
+     * @description 客户code
+     *
+     * @var string
+     */
+    public $code;
+
+    /**
+     * @description 客户名字
+     *
+     * @var string
+     */
+    public $name;
+    protected $_name = [
+        'code' => 'code',
+        'name' => 'name',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->code) {
+            $res['code'] = $this->code;
+        }
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return customer
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['code'])) {
+            $model->code = $map['code'];
+        }
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
+        }
+
+        return $model;
+    }
+}

+ 133 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptDetailForInvoiceResponseBody/result/productInfoList.php

@@ -0,0 +1,133 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptDetailForInvoiceResponseBody\result;
+
+use AlibabaCloud\Tea\Model;
+
+class productInfoList extends Model
+{
+    /**
+     * @description 含税金额
+     *
+     * @var string
+     */
+    public $amountWithTax;
+
+    /**
+     * @description 商品名称
+     *
+     * @var string
+     */
+    public $name;
+
+    /**
+     * @description 数量
+     *
+     * @var string
+     */
+    public $quantity;
+
+    /**
+     * @description 规格型号
+     *
+     * @var string
+     */
+    public $specification;
+
+    /**
+     * @description 税率
+     *
+     * @var string
+     */
+    public $taxRate;
+
+    /**
+     * @description 计量单位
+     *
+     * @var string
+     */
+    public $unit;
+
+    /**
+     * @description 含税单价
+     *
+     * @var string
+     */
+    public $unitPriceWithTax;
+    protected $_name = [
+        'amountWithTax'    => 'amountWithTax',
+        'name'             => 'name',
+        'quantity'         => 'quantity',
+        'specification'    => 'specification',
+        'taxRate'          => 'taxRate',
+        'unit'             => 'unit',
+        'unitPriceWithTax' => 'unitPriceWithTax',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->amountWithTax) {
+            $res['amountWithTax'] = $this->amountWithTax;
+        }
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
+        }
+        if (null !== $this->quantity) {
+            $res['quantity'] = $this->quantity;
+        }
+        if (null !== $this->specification) {
+            $res['specification'] = $this->specification;
+        }
+        if (null !== $this->taxRate) {
+            $res['taxRate'] = $this->taxRate;
+        }
+        if (null !== $this->unit) {
+            $res['unit'] = $this->unit;
+        }
+        if (null !== $this->unitPriceWithTax) {
+            $res['unitPriceWithTax'] = $this->unitPriceWithTax;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return productInfoList
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['amountWithTax'])) {
+            $model->amountWithTax = $map['amountWithTax'];
+        }
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
+        }
+        if (isset($map['quantity'])) {
+            $model->quantity = $map['quantity'];
+        }
+        if (isset($map['specification'])) {
+            $model->specification = $map['specification'];
+        }
+        if (isset($map['taxRate'])) {
+            $model->taxRate = $map['taxRate'];
+        }
+        if (isset($map['unit'])) {
+            $model->unit = $map['unit'];
+        }
+        if (isset($map['unitPriceWithTax'])) {
+            $model->unitPriceWithTax = $map['unitPriceWithTax'];
+        }
+
+        return $model;
+    }
+}

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptForInvoiceResponseBody/list_.php

@@ -6,6 +6,7 @@ namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptForInvoic
 
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptForInvoiceResponseBody\list_\creator;
 use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptForInvoiceResponseBody\list_\customer;
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptForInvoiceResponseBody\list_\productInfoList;
 use AlibabaCloud\Tea\Model;
 
 class list_ extends Model
@@ -46,6 +47,20 @@ class list_ extends Model
     public $customer;
 
     /**
+     * @description 开票人邮箱
+     *
+     * @var string
+     */
+    public $drawerEmail;
+
+    /**
+     * @description 开票人手机号码
+     *
+     * @var string
+     */
+    public $drawerTelephone;
+
+    /**
      * @description 发票种类
      *
      * @var string
@@ -60,6 +75,13 @@ class list_ extends Model
     public $modelId;
 
     /**
+     * @description 商品列表
+     *
+     * @var productInfoList[]
+     */
+    public $productInfoList;
+
+    /**
      * @description 购方账户
      *
      * @var string
@@ -148,8 +170,11 @@ class list_ extends Model
         'createTime'        => 'createTime',
         'creator'           => 'creator',
         'customer'          => 'customer',
+        'drawerEmail'       => 'drawerEmail',
+        'drawerTelephone'   => 'drawerTelephone',
         'invoiceType'       => 'invoiceType',
         'modelId'           => 'modelId',
+        'productInfoList'   => 'productInfoList',
         'purchaserAccount'  => 'purchaserAccount',
         'purchaserAddress'  => 'purchaserAddress',
         'purchaserBankName' => 'purchaserBankName',
@@ -186,12 +211,27 @@ class list_ extends Model
         if (null !== $this->customer) {
             $res['customer'] = null !== $this->customer ? $this->customer->toMap() : null;
         }
+        if (null !== $this->drawerEmail) {
+            $res['drawerEmail'] = $this->drawerEmail;
+        }
+        if (null !== $this->drawerTelephone) {
+            $res['drawerTelephone'] = $this->drawerTelephone;
+        }
         if (null !== $this->invoiceType) {
             $res['invoiceType'] = $this->invoiceType;
         }
         if (null !== $this->modelId) {
             $res['modelId'] = $this->modelId;
         }
+        if (null !== $this->productInfoList) {
+            $res['productInfoList'] = [];
+            if (null !== $this->productInfoList && \is_array($this->productInfoList)) {
+                $n = 0;
+                foreach ($this->productInfoList as $item) {
+                    $res['productInfoList'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
         if (null !== $this->purchaserAccount) {
             $res['purchaserAccount'] = $this->purchaserAccount;
         }
@@ -255,12 +295,27 @@ class list_ extends Model
         if (isset($map['customer'])) {
             $model->customer = customer::fromMap($map['customer']);
         }
+        if (isset($map['drawerEmail'])) {
+            $model->drawerEmail = $map['drawerEmail'];
+        }
+        if (isset($map['drawerTelephone'])) {
+            $model->drawerTelephone = $map['drawerTelephone'];
+        }
         if (isset($map['invoiceType'])) {
             $model->invoiceType = $map['invoiceType'];
         }
         if (isset($map['modelId'])) {
             $model->modelId = $map['modelId'];
         }
+        if (isset($map['productInfoList'])) {
+            if (!empty($map['productInfoList'])) {
+                $model->productInfoList = [];
+                $n                      = 0;
+                foreach ($map['productInfoList'] as $item) {
+                    $model->productInfoList[$n++] = null !== $item ? productInfoList::fromMap($item) : $item;
+                }
+            }
+        }
         if (isset($map['purchaserAccount'])) {
             $model->purchaserAccount = $map['purchaserAccount'];
         }

+ 133 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryReceiptForInvoiceResponseBody/list_/productInfoList.php

@@ -0,0 +1,133 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryReceiptForInvoiceResponseBody\list_;
+
+use AlibabaCloud\Tea\Model;
+
+class productInfoList extends Model
+{
+    /**
+     * @description 含税金额
+     *
+     * @var string
+     */
+    public $amountWithTax;
+
+    /**
+     * @description 商品名称
+     *
+     * @var string
+     */
+    public $name;
+
+    /**
+     * @description 数量
+     *
+     * @var string
+     */
+    public $quantity;
+
+    /**
+     * @description 规格型号
+     *
+     * @var string
+     */
+    public $specification;
+
+    /**
+     * @description 税率
+     *
+     * @var string
+     */
+    public $taxRate;
+
+    /**
+     * @description 计量单位
+     *
+     * @var string
+     */
+    public $unit;
+
+    /**
+     * @description 含税单价
+     *
+     * @var string
+     */
+    public $unitPriceWithTax;
+    protected $_name = [
+        'amountWithTax'    => 'amountWithTax',
+        'name'             => 'name',
+        'quantity'         => 'quantity',
+        'specification'    => 'specification',
+        'taxRate'          => 'taxRate',
+        'unit'             => 'unit',
+        'unitPriceWithTax' => 'unitPriceWithTax',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->amountWithTax) {
+            $res['amountWithTax'] = $this->amountWithTax;
+        }
+        if (null !== $this->name) {
+            $res['name'] = $this->name;
+        }
+        if (null !== $this->quantity) {
+            $res['quantity'] = $this->quantity;
+        }
+        if (null !== $this->specification) {
+            $res['specification'] = $this->specification;
+        }
+        if (null !== $this->taxRate) {
+            $res['taxRate'] = $this->taxRate;
+        }
+        if (null !== $this->unit) {
+            $res['unit'] = $this->unit;
+        }
+        if (null !== $this->unitPriceWithTax) {
+            $res['unitPriceWithTax'] = $this->unitPriceWithTax;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return productInfoList
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['amountWithTax'])) {
+            $model->amountWithTax = $map['amountWithTax'];
+        }
+        if (isset($map['name'])) {
+            $model->name = $map['name'];
+        }
+        if (isset($map['quantity'])) {
+            $model->quantity = $map['quantity'];
+        }
+        if (isset($map['specification'])) {
+            $model->specification = $map['specification'];
+        }
+        if (isset($map['taxRate'])) {
+            $model->taxRate = $map['taxRate'];
+        }
+        if (isset($map['unit'])) {
+            $model->unit = $map['unit'];
+        }
+        if (isset($map['unitPriceWithTax'])) {
+            $model->unitPriceWithTax = $map['unitPriceWithTax'];
+        }
+
+        return $model;
+    }
+}

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryUserRoleListHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryUserRoleListHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 49 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListRequest.php

@@ -0,0 +1,49 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryUserRoleListRequest extends Model
+{
+    /**
+     * @description 用户id
+     *
+     * @var string
+     */
+    public $userId;
+    protected $_name = [
+        'userId' => 'userId',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->userId) {
+            $res['userId'] = $this->userId;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryUserRoleListRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['userId'])) {
+            $model->userId = $map['userId'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class QueryUserRoleListResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var QueryUserRoleListResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryUserRoleListResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = QueryUserRoleListResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 60 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListResponseBody.php

@@ -0,0 +1,60 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryUserRoleListResponseBody\roleVOList;
+use AlibabaCloud\Tea\Model;
+
+class QueryUserRoleListResponseBody extends Model
+{
+    /**
+     * @var roleVOList[]
+     */
+    public $roleVOList;
+    protected $_name = [
+        'roleVOList' => 'roleVOList',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->roleVOList) {
+            $res['roleVOList'] = [];
+            if (null !== $this->roleVOList && \is_array($this->roleVOList)) {
+                $n = 0;
+                foreach ($this->roleVOList as $item) {
+                    $res['roleVOList'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return QueryUserRoleListResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['roleVOList'])) {
+            if (!empty($map['roleVOList'])) {
+                $model->roleVOList = [];
+                $n                 = 0;
+                foreach ($map['roleVOList'] as $item) {
+                    $model->roleVOList[$n++] = null !== $item ? roleVOList::fromMap($item) : $item;
+                }
+            }
+        }
+
+        return $model;
+    }
+}

+ 63 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/QueryUserRoleListResponseBody/roleVOList.php

@@ -0,0 +1,63 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\QueryUserRoleListResponseBody;
+
+use AlibabaCloud\Tea\Model;
+
+class roleVOList extends Model
+{
+    /**
+     * @description 角色Code
+     *
+     * @var string
+     */
+    public $roleCode;
+
+    /**
+     * @description 角色名字
+     *
+     * @var string
+     */
+    public $roleName;
+    protected $_name = [
+        'roleCode' => 'roleCode',
+        'roleName' => 'roleName',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->roleCode) {
+            $res['roleCode'] = $this->roleCode;
+        }
+        if (null !== $this->roleName) {
+            $res['roleName'] = $this->roleName;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return roleVOList
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['roleCode'])) {
+            $model->roleCode = $map['roleCode'];
+        }
+        if (isset($map['roleName'])) {
+            $model->roleName = $map['roleName'];
+        }
+
+        return $model;
+    }
+}

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateDigitalInvoiceOrgInfoHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class UpdateDigitalInvoiceOrgInfoHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateDigitalInvoiceOrgInfoHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 93 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateDigitalInvoiceOrgInfoRequest.php

@@ -0,0 +1,93 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class UpdateDigitalInvoiceOrgInfoRequest extends Model
+{
+    /**
+     * @description 支持的全电票种
+     *
+     * @var string[]
+     */
+    public $digitalInvoiceType;
+
+    /**
+     * @description 是否为全电企业
+     *
+     * @var bool
+     */
+    public $isDigitalOrg;
+
+    /**
+     * @description 报税地点
+     *
+     * @var string
+     */
+    public $location;
+
+    /**
+     * @description 员工id
+     *
+     * @var string
+     */
+    public $operator;
+    protected $_name = [
+        'digitalInvoiceType' => 'digitalInvoiceType',
+        'isDigitalOrg'       => 'isDigitalOrg',
+        'location'           => 'location',
+        'operator'           => 'operator',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->digitalInvoiceType) {
+            $res['digitalInvoiceType'] = $this->digitalInvoiceType;
+        }
+        if (null !== $this->isDigitalOrg) {
+            $res['isDigitalOrg'] = $this->isDigitalOrg;
+        }
+        if (null !== $this->location) {
+            $res['location'] = $this->location;
+        }
+        if (null !== $this->operator) {
+            $res['operator'] = $this->operator;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateDigitalInvoiceOrgInfoRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['digitalInvoiceType'])) {
+            if (!empty($map['digitalInvoiceType'])) {
+                $model->digitalInvoiceType = $map['digitalInvoiceType'];
+            }
+        }
+        if (isset($map['isDigitalOrg'])) {
+            $model->isDigitalOrg = $map['isDigitalOrg'];
+        }
+        if (isset($map['location'])) {
+            $model->location = $map['location'];
+        }
+        if (isset($map['operator'])) {
+            $model->operator = $map['operator'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateDigitalInvoiceOrgInfoResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class UpdateDigitalInvoiceOrgInfoResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var UpdateDigitalInvoiceOrgInfoResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateDigitalInvoiceOrgInfoResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = UpdateDigitalInvoiceOrgInfoResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 49 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateDigitalInvoiceOrgInfoResponseBody.php

@@ -0,0 +1,49 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class UpdateDigitalInvoiceOrgInfoResponseBody extends Model
+{
+    /**
+     * @description 返回结果
+     *
+     * @var bool
+     */
+    public $result;
+    protected $_name = [
+        'result' => 'result',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->result) {
+            $res['result'] = $this->result;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateDigitalInvoiceOrgInfoResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['result'])) {
+            $model->result = $map['result'];
+        }
+
+        return $model;
+    }
+}

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class UpdateInvoiceAccountingPeriodDateHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateInvoiceAccountingPeriodDateHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 76 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateRequest.php

@@ -0,0 +1,76 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateRequest\invoiceFinanceInfoVOList;
+use AlibabaCloud\Tea\Model;
+
+class UpdateInvoiceAccountingPeriodDateRequest extends Model
+{
+    /**
+     * @description 发票财务信息列表
+     *
+     * @var invoiceFinanceInfoVOList[]
+     */
+    public $invoiceFinanceInfoVOList;
+
+    /**
+     * @description 员工id
+     *
+     * @var string
+     */
+    public $operator;
+    protected $_name = [
+        'invoiceFinanceInfoVOList' => 'invoiceFinanceInfoVOList',
+        'operator'                 => 'operator',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->invoiceFinanceInfoVOList) {
+            $res['invoiceFinanceInfoVOList'] = [];
+            if (null !== $this->invoiceFinanceInfoVOList && \is_array($this->invoiceFinanceInfoVOList)) {
+                $n = 0;
+                foreach ($this->invoiceFinanceInfoVOList as $item) {
+                    $res['invoiceFinanceInfoVOList'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
+        if (null !== $this->operator) {
+            $res['operator'] = $this->operator;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateInvoiceAccountingPeriodDateRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['invoiceFinanceInfoVOList'])) {
+            if (!empty($map['invoiceFinanceInfoVOList'])) {
+                $model->invoiceFinanceInfoVOList = [];
+                $n                               = 0;
+                foreach ($map['invoiceFinanceInfoVOList'] as $item) {
+                    $model->invoiceFinanceInfoVOList[$n++] = null !== $item ? invoiceFinanceInfoVOList::fromMap($item) : $item;
+                }
+            }
+        }
+        if (isset($map['operator'])) {
+            $model->operator = $map['operator'];
+        }
+
+        return $model;
+    }
+}

+ 91 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateRequest/invoiceFinanceInfoVOList.php

@@ -0,0 +1,91 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateRequest;
+
+use AlibabaCloud\Tea\Model;
+
+class invoiceFinanceInfoVOList extends Model
+{
+    /**
+     * @description 入账日期
+     *
+     * @var string
+     */
+    public $accountingPeriodData;
+
+    /**
+     * @description 发票代码
+     *
+     * @var string
+     */
+    public $invoiceCode;
+
+    /**
+     * @description 发票号码
+     *
+     * @var string
+     */
+    public $invoiceNo;
+
+    /**
+     * @description 发票类型
+     *
+     * @var string
+     */
+    public $invoiceType;
+    protected $_name = [
+        'accountingPeriodData' => 'accountingPeriodData',
+        'invoiceCode'          => 'invoiceCode',
+        'invoiceNo'            => 'invoiceNo',
+        'invoiceType'          => 'invoiceType',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->accountingPeriodData) {
+            $res['accountingPeriodData'] = $this->accountingPeriodData;
+        }
+        if (null !== $this->invoiceCode) {
+            $res['invoiceCode'] = $this->invoiceCode;
+        }
+        if (null !== $this->invoiceNo) {
+            $res['invoiceNo'] = $this->invoiceNo;
+        }
+        if (null !== $this->invoiceType) {
+            $res['invoiceType'] = $this->invoiceType;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return invoiceFinanceInfoVOList
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['accountingPeriodData'])) {
+            $model->accountingPeriodData = $map['accountingPeriodData'];
+        }
+        if (isset($map['invoiceCode'])) {
+            $model->invoiceCode = $map['invoiceCode'];
+        }
+        if (isset($map['invoiceNo'])) {
+            $model->invoiceNo = $map['invoiceNo'];
+        }
+        if (isset($map['invoiceType'])) {
+            $model->invoiceType = $map['invoiceType'];
+        }
+
+        return $model;
+    }
+}

+ 61 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateResponse.php

@@ -0,0 +1,61 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class UpdateInvoiceAccountingPeriodDateResponse extends Model
+{
+    /**
+     * @var string[]
+     */
+    public $headers;
+
+    /**
+     * @var UpdateInvoiceAccountingPeriodDateResponseBody
+     */
+    public $body;
+    protected $_name = [
+        'headers' => 'headers',
+        'body'    => 'body',
+    ];
+
+    public function validate()
+    {
+        Model::validateRequired('headers', $this->headers, true);
+        Model::validateRequired('body', $this->body, true);
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->headers) {
+            $res['headers'] = $this->headers;
+        }
+        if (null !== $this->body) {
+            $res['body'] = null !== $this->body ? $this->body->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateInvoiceAccountingPeriodDateResponse
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['headers'])) {
+            $model->headers = $map['headers'];
+        }
+        if (isset($map['body'])) {
+            $model->body = UpdateInvoiceAccountingPeriodDateResponseBody::fromMap($map['body']);
+        }
+
+        return $model;
+    }
+}

+ 48 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateResponseBody.php

@@ -0,0 +1,48 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateResponseBody\result;
+use AlibabaCloud\Tea\Model;
+
+class UpdateInvoiceAccountingPeriodDateResponseBody extends Model
+{
+    /**
+     * @var result
+     */
+    public $result;
+    protected $_name = [
+        'result' => 'result',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->result) {
+            $res['result'] = null !== $this->result ? $this->result->toMap() : null;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateInvoiceAccountingPeriodDateResponseBody
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['result'])) {
+            $model->result = result::fromMap($map['result']);
+        }
+
+        return $model;
+    }
+}

+ 90 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateResponseBody/result.php

@@ -0,0 +1,90 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateResponseBody;
+
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateResponseBody\result\failInvoices;
+use AlibabaCloud\Tea\Model;
+
+class result extends Model
+{
+    /**
+     * @description 失败发票数
+     *
+     * @var int
+     */
+    public $failCount;
+
+    /**
+     * @description 失败发票列表
+     *
+     * @var failInvoices[]
+     */
+    public $failInvoices;
+
+    /**
+     * @description 是否成功
+     *
+     * @var bool
+     */
+    public $success;
+    protected $_name = [
+        'failCount'    => 'failCount',
+        'failInvoices' => 'failInvoices',
+        'success'      => 'success',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->failCount) {
+            $res['failCount'] = $this->failCount;
+        }
+        if (null !== $this->failInvoices) {
+            $res['failInvoices'] = [];
+            if (null !== $this->failInvoices && \is_array($this->failInvoices)) {
+                $n = 0;
+                foreach ($this->failInvoices as $item) {
+                    $res['failInvoices'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
+        if (null !== $this->success) {
+            $res['success'] = $this->success;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return result
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['failCount'])) {
+            $model->failCount = $map['failCount'];
+        }
+        if (isset($map['failInvoices'])) {
+            if (!empty($map['failInvoices'])) {
+                $model->failInvoices = [];
+                $n                   = 0;
+                foreach ($map['failInvoices'] as $item) {
+                    $model->failInvoices[$n++] = null !== $item ? failInvoices::fromMap($item) : $item;
+                }
+            }
+        }
+        if (isset($map['success'])) {
+            $model->success = $map['success'];
+        }
+
+        return $model;
+    }
+}

+ 91 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingPeriodDateResponseBody/result/failInvoices.php

@@ -0,0 +1,91 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingPeriodDateResponseBody\result;
+
+use AlibabaCloud\Tea\Model;
+
+class failInvoices extends Model
+{
+    /**
+     * @description 错误码
+     *
+     * @var string
+     */
+    public $errorCode;
+
+    /**
+     * @description 错误信息
+     *
+     * @var string
+     */
+    public $errorMsg;
+
+    /**
+     * @description 发票代码
+     *
+     * @var string
+     */
+    public $invoiceCode;
+
+    /**
+     * @description 发票号码
+     *
+     * @var string
+     */
+    public $invoiceNo;
+    protected $_name = [
+        'errorCode'   => 'errorCode',
+        'errorMsg'    => 'errorMsg',
+        'invoiceCode' => 'invoiceCode',
+        'invoiceNo'   => 'invoiceNo',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->errorCode) {
+            $res['errorCode'] = $this->errorCode;
+        }
+        if (null !== $this->errorMsg) {
+            $res['errorMsg'] = $this->errorMsg;
+        }
+        if (null !== $this->invoiceCode) {
+            $res['invoiceCode'] = $this->invoiceCode;
+        }
+        if (null !== $this->invoiceNo) {
+            $res['invoiceNo'] = $this->invoiceNo;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return failInvoices
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['errorCode'])) {
+            $model->errorCode = $map['errorCode'];
+        }
+        if (isset($map['errorMsg'])) {
+            $model->errorMsg = $map['errorMsg'];
+        }
+        if (isset($map['invoiceCode'])) {
+            $model->invoiceCode = $map['invoiceCode'];
+        }
+        if (isset($map['invoiceNo'])) {
+            $model->invoiceNo = $map['invoiceNo'];
+        }
+
+        return $model;
+    }
+}

+ 55 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingStatusHeaders.php

@@ -0,0 +1,55 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\Tea\Model;
+
+class UpdateInvoiceAccountingStatusHeaders extends Model
+{
+    public $commonHeaders;
+
+    /**
+     * @var string
+     */
+    public $xAcsDingtalkAccessToken;
+    protected $_name = [
+        'xAcsDingtalkAccessToken' => 'x-acs-dingtalk-access-token',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->commonHeaders) {
+            $res['commonHeaders'] = $this->commonHeaders;
+        }
+        if (null !== $this->xAcsDingtalkAccessToken) {
+            $res['x-acs-dingtalk-access-token'] = $this->xAcsDingtalkAccessToken;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateInvoiceAccountingStatusHeaders
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['commonHeaders'])) {
+            $model->commonHeaders = $map['commonHeaders'];
+        }
+        if (isset($map['x-acs-dingtalk-access-token'])) {
+            $model->xAcsDingtalkAccessToken = $map['x-acs-dingtalk-access-token'];
+        }
+
+        return $model;
+    }
+}

+ 76 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingStatusRequest.php

@@ -0,0 +1,76 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models;
+
+use AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingStatusRequest\invoiceFinanceInfoVOList;
+use AlibabaCloud\Tea\Model;
+
+class UpdateInvoiceAccountingStatusRequest extends Model
+{
+    /**
+     * @description 发票财务模型列表
+     *
+     * @var invoiceFinanceInfoVOList[]
+     */
+    public $invoiceFinanceInfoVOList;
+
+    /**
+     * @description 员工id
+     *
+     * @var string
+     */
+    public $operator;
+    protected $_name = [
+        'invoiceFinanceInfoVOList' => 'invoiceFinanceInfoVOList',
+        'operator'                 => 'operator',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->invoiceFinanceInfoVOList) {
+            $res['invoiceFinanceInfoVOList'] = [];
+            if (null !== $this->invoiceFinanceInfoVOList && \is_array($this->invoiceFinanceInfoVOList)) {
+                $n = 0;
+                foreach ($this->invoiceFinanceInfoVOList as $item) {
+                    $res['invoiceFinanceInfoVOList'][$n++] = null !== $item ? $item->toMap() : $item;
+                }
+            }
+        }
+        if (null !== $this->operator) {
+            $res['operator'] = $this->operator;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return UpdateInvoiceAccountingStatusRequest
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['invoiceFinanceInfoVOList'])) {
+            if (!empty($map['invoiceFinanceInfoVOList'])) {
+                $model->invoiceFinanceInfoVOList = [];
+                $n                               = 0;
+                foreach ($map['invoiceFinanceInfoVOList'] as $item) {
+                    $model->invoiceFinanceInfoVOList[$n++] = null !== $item ? invoiceFinanceInfoVOList::fromMap($item) : $item;
+                }
+            }
+        }
+        if (isset($map['operator'])) {
+            $model->operator = $map['operator'];
+        }
+
+        return $model;
+    }
+}

+ 91 - 0
vendor/alibabacloud/dingtalk/src/bizfinance_1_0/Models/UpdateInvoiceAccountingStatusRequest/invoiceFinanceInfoVOList.php

@@ -0,0 +1,91 @@
+<?php
+
+// This file is auto-generated, don't edit it. Thanks.
+
+namespace AlibabaCloud\SDK\Dingtalk\Vbizfinance_1_0\Models\UpdateInvoiceAccountingStatusRequest;
+
+use AlibabaCloud\Tea\Model;
+
+class invoiceFinanceInfoVOList extends Model
+{
+    /**
+     * @description 入账状态
+     *
+     * @var string
+     */
+    public $accountingStatus;
+
+    /**
+     * @description 发票号码
+     *
+     * @var string
+     */
+    public $invoiceCode;
+
+    /**
+     * @description 发票代码
+     *
+     * @var string
+     */
+    public $invoiceNo;
+
+    /**
+     * @description 发票类型
+     *
+     * @var string
+     */
+    public $invoiceType;
+    protected $_name = [
+        'accountingStatus' => 'accountingStatus',
+        'invoiceCode'      => 'invoiceCode',
+        'invoiceNo'        => 'invoiceNo',
+        'invoiceType'      => 'invoiceType',
+    ];
+
+    public function validate()
+    {
+    }
+
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->accountingStatus) {
+            $res['accountingStatus'] = $this->accountingStatus;
+        }
+        if (null !== $this->invoiceCode) {
+            $res['invoiceCode'] = $this->invoiceCode;
+        }
+        if (null !== $this->invoiceNo) {
+            $res['invoiceNo'] = $this->invoiceNo;
+        }
+        if (null !== $this->invoiceType) {
+            $res['invoiceType'] = $this->invoiceType;
+        }
+
+        return $res;
+    }
+
+    /**
+     * @param array $map
+     *
+     * @return invoiceFinanceInfoVOList
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['accountingStatus'])) {
+            $model->accountingStatus = $map['accountingStatus'];
+        }
+        if (isset($map['invoiceCode'])) {
+            $model->invoiceCode = $map['invoiceCode'];
+        }
+        if (isset($map['invoiceNo'])) {
+            $model->invoiceNo = $map['invoiceNo'];
+        }
+        if (isset($map['invoiceType'])) {
+            $model->invoiceType = $map['invoiceType'];
+        }
+
+        return $model;
+    }
+}

部分文件因为文件数量过多而无法显示