"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueryUserHonorsResponse = exports.QueryUserHonorsResponseBody = exports.QueryUserHonorsRequest = exports.QueryUserHonorsHeaders = exports.QueryPointAutoIssueSettingResponse = exports.QueryPointAutoIssueSettingResponseBody = exports.QueryPointAutoIssueSettingHeaders = exports.QueryPointActionAutoAssignRuleResponse = exports.QueryPointActionAutoAssignRuleResponseBody = exports.QueryPointActionAutoAssignRuleHeaders = exports.QueryOrgPointDetailsResponse = exports.QueryOrgPointDetailsResponseBody = exports.QueryOrgPointDetailsRequest = exports.QueryOrgPointDetailsHeaders = exports.QueryOrgHonorsResponse = exports.QueryOrgHonorsResponseBody = exports.QueryOrgHonorsRequest = exports.QueryOrgHonorsHeaders = exports.QueryEmpPointDetailsResponse = exports.QueryEmpPointDetailsResponseBody = exports.QueryEmpPointDetailsRequest = exports.QueryEmpPointDetailsHeaders = exports.QueryCorpPointsResponse = exports.QueryCorpPointsResponseBody = exports.QueryCorpPointsRequest = exports.QueryCorpPointsHeaders = exports.GrantHonorResponse = exports.GrantHonorResponseBody = exports.GrantHonorRequest = exports.GrantHonorHeaders = exports.ExportPointOpenResponse = exports.ExportPointOpenResponseBody = exports.ExportPointOpenRequest = exports.ExportPointOpenHeaders = exports.DeductionPointBatchResponse = exports.DeductionPointBatchResponseBody = exports.DeductionPointBatchRequest = exports.DeductionPointBatchHeaders = exports.CreateOrgHonorResponse = exports.CreateOrgHonorResponseBody = exports.CreateOrgHonorRequest = exports.CreateOrgHonorHeaders = exports.ConsumeUserPointsResponse = exports.ConsumeUserPointsResponseBody = exports.ConsumeUserPointsRequest = exports.ConsumeUserPointsHeaders = exports.AssignOrgHoldingToEmpHoldingBatchResponse = exports.AssignOrgHoldingToEmpHoldingBatchResponseBody = exports.AssignOrgHoldingToEmpHoldingBatchRequest = exports.AssignOrgHoldingToEmpHoldingBatchHeaders = void 0;
exports.UpdateAutoIssuePointResponseBodyResult = exports.RecallHonorResponseBodyResult = exports.QueryUserPointsResponseBodyResult = exports.QueryUserHonorsResponseBodyResult = exports.QueryUserHonorsResponseBodyResultHonors = exports.QueryUserHonorsResponseBodyResultHonorsGrantHistory = exports.QueryPointAutoIssueSettingResponseBodyResult = exports.QueryPointActionAutoAssignRuleResponseBodyResult = exports.QueryPointActionAutoAssignRuleResponseBodyResultQueryPointRuleResponseDTOS = exports.QueryOrgPointDetailsResponseBodyResult = exports.QueryOrgPointDetailsResponseBodyResultDetails = exports.QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO = exports.QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget = exports.QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource = exports.QueryOrgHonorsResponseBodyResult = exports.QueryOrgHonorsResponseBodyResultOpenHonors = exports.QueryEmpPointDetailsResponseBodyResult = exports.QueryEmpPointDetailsResponseBodyResultDetails = exports.QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO = exports.QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget = exports.QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource = exports.QueryCorpPointsResponseBodyResult = exports.GrantHonorResponseBodyResult = exports.DeductionPointBatchResponseBodyResult = exports.DeductionPointBatchResponseBodyResultOpenPointInvokeResultDTOS = exports.DeductionPointBatchRequestTargetUserList = exports.CreateOrgHonorResponseBodyResult = exports.ConsumeUserPointsResponseBodyResult = exports.AssignOrgHoldingToEmpHoldingBatchResponseBodyResult = exports.AssignOrgHoldingToEmpHoldingBatchResponseBodyResultOpenPointInvokeResultDTOS = exports.AssignOrgHoldingToEmpHoldingBatchRequestTargetUserList = exports.WearOrgHonorResponse = exports.WearOrgHonorResponseBody = exports.WearOrgHonorRequest = exports.WearOrgHonorHeaders = exports.UpdatePointActionAutoAssignRuleResponse = exports.UpdatePointActionAutoAssignRuleResponseBody = exports.UpdatePointActionAutoAssignRuleRequest = exports.UpdatePointActionAutoAssignRuleHeaders = exports.UpdateAutoIssuePointResponse = exports.UpdateAutoIssuePointResponseBody = exports.UpdateAutoIssuePointRequest = exports.UpdateAutoIssuePointHeaders = exports.RecallHonorResponse = exports.RecallHonorResponseBody = exports.RecallHonorRequest = exports.RecallHonorHeaders = exports.QueryUserPointsResponse = exports.QueryUserPointsResponseBody = exports.QueryUserPointsHeaders = void 0;
exports.WearOrgHonorResponseBodyResult = exports.UpdatePointActionAutoAssignRuleRequestUpdatePointRuleRequestDTOList = void 0;
// This file is auto-generated, don't edit it
/**
 */
const tea_util_1 = __importStar(require("@alicloud/tea-util")), $Util = tea_util_1;
const gateway_dingtalk_1 = __importDefault(require("@alicloud/gateway-dingtalk"));
const openapi_client_1 = __importStar(require("@alicloud/openapi-client")), $OpenApi = openapi_client_1;
const openapi_util_1 = __importDefault(require("@alicloud/openapi-util"));
const $tea = __importStar(require("@alicloud/tea-typescript"));
class AssignOrgHoldingToEmpHoldingBatchHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AssignOrgHoldingToEmpHoldingBatchHeaders = AssignOrgHoldingToEmpHoldingBatchHeaders;
class AssignOrgHoldingToEmpHoldingBatchRequest extends $tea.Model {
    static names() {
        return {
            remark: 'remark',
            sendOrgCultureInform: 'sendOrgCultureInform',
            singleAmount: 'singleAmount',
            sourceUsage: 'sourceUsage',
            targetUsage: 'targetUsage',
            targetUserList: 'targetUserList',
        };
    }
    static types() {
        return {
            remark: 'string',
            sendOrgCultureInform: 'boolean',
            singleAmount: 'number',
            sourceUsage: 'string',
            targetUsage: 'string',
            targetUserList: { 'type': 'array', 'itemType': AssignOrgHoldingToEmpHoldingBatchRequestTargetUserList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AssignOrgHoldingToEmpHoldingBatchRequest = AssignOrgHoldingToEmpHoldingBatchRequest;
class AssignOrgHoldingToEmpHoldingBatchResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: AssignOrgHoldingToEmpHoldingBatchResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AssignOrgHoldingToEmpHoldingBatchResponseBody = AssignOrgHoldingToEmpHoldingBatchResponseBody;
class AssignOrgHoldingToEmpHoldingBatchResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: AssignOrgHoldingToEmpHoldingBatchResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AssignOrgHoldingToEmpHoldingBatchResponse = AssignOrgHoldingToEmpHoldingBatchResponse;
class ConsumeUserPointsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsumeUserPointsHeaders = ConsumeUserPointsHeaders;
class ConsumeUserPointsRequest extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            outId: 'outId',
            remark: 'remark',
            usage: 'usage',
        };
    }
    static types() {
        return {
            amount: 'number',
            outId: 'string',
            remark: 'string',
            usage: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsumeUserPointsRequest = ConsumeUserPointsRequest;
class ConsumeUserPointsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: ConsumeUserPointsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsumeUserPointsResponseBody = ConsumeUserPointsResponseBody;
class ConsumeUserPointsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: ConsumeUserPointsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsumeUserPointsResponse = ConsumeUserPointsResponse;
class CreateOrgHonorHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateOrgHonorHeaders = CreateOrgHonorHeaders;
class CreateOrgHonorRequest extends $tea.Model {
    static names() {
        return {
            avatarFrameMediaId: 'avatarFrameMediaId',
            defaultBgColor: 'defaultBgColor',
            medalDesc: 'medalDesc',
            medalMediaId: 'medalMediaId',
            medalName: 'medalName',
            userId: 'userId',
        };
    }
    static types() {
        return {
            avatarFrameMediaId: 'string',
            defaultBgColor: 'string',
            medalDesc: 'string',
            medalMediaId: 'string',
            medalName: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateOrgHonorRequest = CreateOrgHonorRequest;
class CreateOrgHonorResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: CreateOrgHonorResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateOrgHonorResponseBody = CreateOrgHonorResponseBody;
class CreateOrgHonorResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: CreateOrgHonorResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateOrgHonorResponse = CreateOrgHonorResponse;
class DeductionPointBatchHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeductionPointBatchHeaders = DeductionPointBatchHeaders;
class DeductionPointBatchRequest extends $tea.Model {
    static names() {
        return {
            deductionAmount: 'deductionAmount',
            remark: 'remark',
            sendOrgCultureInform: 'sendOrgCultureInform',
            targetUserList: 'targetUserList',
            userId: 'userId',
        };
    }
    static types() {
        return {
            deductionAmount: 'number',
            remark: 'string',
            sendOrgCultureInform: 'boolean',
            targetUserList: { 'type': 'array', 'itemType': DeductionPointBatchRequestTargetUserList },
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeductionPointBatchRequest = DeductionPointBatchRequest;
class DeductionPointBatchResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: DeductionPointBatchResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeductionPointBatchResponseBody = DeductionPointBatchResponseBody;
class DeductionPointBatchResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: DeductionPointBatchResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeductionPointBatchResponse = DeductionPointBatchResponse;
class ExportPointOpenHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ExportPointOpenHeaders = ExportPointOpenHeaders;
class ExportPointOpenRequest extends $tea.Model {
    static names() {
        return {
            exportDate: 'exportDate',
            exportType: 'exportType',
            userId: 'userId',
        };
    }
    static types() {
        return {
            exportDate: 'string',
            exportType: 'number',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ExportPointOpenRequest = ExportPointOpenRequest;
class ExportPointOpenResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ExportPointOpenResponseBody = ExportPointOpenResponseBody;
class ExportPointOpenResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: ExportPointOpenResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ExportPointOpenResponse = ExportPointOpenResponse;
class GrantHonorHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GrantHonorHeaders = GrantHonorHeaders;
class GrantHonorRequest extends $tea.Model {
    static names() {
        return {
            expirationTime: 'expirationTime',
            grantReason: 'grantReason',
            granterName: 'granterName',
            noticeAnnouncer: 'noticeAnnouncer',
            noticeSingle: 'noticeSingle',
            openConversationIds: 'openConversationIds',
            receiverUserIds: 'receiverUserIds',
            senderUserId: 'senderUserId',
        };
    }
    static types() {
        return {
            expirationTime: 'number',
            grantReason: 'string',
            granterName: 'string',
            noticeAnnouncer: 'boolean',
            noticeSingle: 'boolean',
            openConversationIds: { 'type': 'array', 'itemType': 'string' },
            receiverUserIds: { 'type': 'array', 'itemType': 'string' },
            senderUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GrantHonorRequest = GrantHonorRequest;
class GrantHonorResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: GrantHonorResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GrantHonorResponseBody = GrantHonorResponseBody;
class GrantHonorResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GrantHonorResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GrantHonorResponse = GrantHonorResponse;
class QueryCorpPointsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpPointsHeaders = QueryCorpPointsHeaders;
class QueryCorpPointsRequest extends $tea.Model {
    static names() {
        return {
            optUserId: 'optUserId',
        };
    }
    static types() {
        return {
            optUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpPointsRequest = QueryCorpPointsRequest;
class QueryCorpPointsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: QueryCorpPointsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpPointsResponseBody = QueryCorpPointsResponseBody;
class QueryCorpPointsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryCorpPointsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpPointsResponse = QueryCorpPointsResponse;
class QueryEmpPointDetailsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsHeaders = QueryEmpPointDetailsHeaders;
class QueryEmpPointDetailsRequest extends $tea.Model {
    static names() {
        return {
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            userId: 'userId',
        };
    }
    static types() {
        return {
            pageNumber: 'number',
            pageSize: 'number',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsRequest = QueryEmpPointDetailsRequest;
class QueryEmpPointDetailsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: QueryEmpPointDetailsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsResponseBody = QueryEmpPointDetailsResponseBody;
class QueryEmpPointDetailsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryEmpPointDetailsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsResponse = QueryEmpPointDetailsResponse;
class QueryOrgHonorsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgHonorsHeaders = QueryOrgHonorsHeaders;
class QueryOrgHonorsRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgHonorsRequest = QueryOrgHonorsRequest;
class QueryOrgHonorsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: QueryOrgHonorsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgHonorsResponseBody = QueryOrgHonorsResponseBody;
class QueryOrgHonorsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryOrgHonorsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgHonorsResponse = QueryOrgHonorsResponse;
class QueryOrgPointDetailsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsHeaders = QueryOrgPointDetailsHeaders;
class QueryOrgPointDetailsRequest extends $tea.Model {
    static names() {
        return {
            accountType: 'accountType',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            userId: 'userId',
        };
    }
    static types() {
        return {
            accountType: 'string',
            pageNumber: 'number',
            pageSize: 'number',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsRequest = QueryOrgPointDetailsRequest;
class QueryOrgPointDetailsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: QueryOrgPointDetailsResponseBodyResult,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsResponseBody = QueryOrgPointDetailsResponseBody;
class QueryOrgPointDetailsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryOrgPointDetailsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsResponse = QueryOrgPointDetailsResponse;
class QueryPointActionAutoAssignRuleHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointActionAutoAssignRuleHeaders = QueryPointActionAutoAssignRuleHeaders;
class QueryPointActionAutoAssignRuleResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: QueryPointActionAutoAssignRuleResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointActionAutoAssignRuleResponseBody = QueryPointActionAutoAssignRuleResponseBody;
class QueryPointActionAutoAssignRuleResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryPointActionAutoAssignRuleResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointActionAutoAssignRuleResponse = QueryPointActionAutoAssignRuleResponse;
class QueryPointAutoIssueSettingHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointAutoIssueSettingHeaders = QueryPointAutoIssueSettingHeaders;
class QueryPointAutoIssueSettingResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: QueryPointAutoIssueSettingResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointAutoIssueSettingResponseBody = QueryPointAutoIssueSettingResponseBody;
class QueryPointAutoIssueSettingResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryPointAutoIssueSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointAutoIssueSettingResponse = QueryPointAutoIssueSettingResponse;
class QueryUserHonorsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserHonorsHeaders = QueryUserHonorsHeaders;
class QueryUserHonorsRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserHonorsRequest = QueryUserHonorsRequest;
class QueryUserHonorsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: QueryUserHonorsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserHonorsResponseBody = QueryUserHonorsResponseBody;
class QueryUserHonorsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryUserHonorsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserHonorsResponse = QueryUserHonorsResponse;
class QueryUserPointsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserPointsHeaders = QueryUserPointsHeaders;
class QueryUserPointsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: QueryUserPointsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserPointsResponseBody = QueryUserPointsResponseBody;
class QueryUserPointsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryUserPointsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserPointsResponse = QueryUserPointsResponse;
class RecallHonorHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RecallHonorHeaders = RecallHonorHeaders;
class RecallHonorRequest extends $tea.Model {
    static names() {
        return {
            userId: 'userId',
        };
    }
    static types() {
        return {
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RecallHonorRequest = RecallHonorRequest;
class RecallHonorResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: RecallHonorResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RecallHonorResponseBody = RecallHonorResponseBody;
class RecallHonorResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: RecallHonorResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RecallHonorResponse = RecallHonorResponse;
class UpdateAutoIssuePointHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateAutoIssuePointHeaders = UpdateAutoIssuePointHeaders;
class UpdateAutoIssuePointRequest extends $tea.Model {
    static names() {
        return {
            pointAutoNum: 'pointAutoNum',
            pointAutoState: 'pointAutoState',
            pointAutoTime: 'pointAutoTime',
            userId: 'userId',
        };
    }
    static types() {
        return {
            pointAutoNum: 'number',
            pointAutoState: 'boolean',
            pointAutoTime: 'number',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateAutoIssuePointRequest = UpdateAutoIssuePointRequest;
class UpdateAutoIssuePointResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: UpdateAutoIssuePointResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateAutoIssuePointResponseBody = UpdateAutoIssuePointResponseBody;
class UpdateAutoIssuePointResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateAutoIssuePointResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateAutoIssuePointResponse = UpdateAutoIssuePointResponse;
class UpdatePointActionAutoAssignRuleHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdatePointActionAutoAssignRuleHeaders = UpdatePointActionAutoAssignRuleHeaders;
class UpdatePointActionAutoAssignRuleRequest extends $tea.Model {
    static names() {
        return {
            updatePointRuleRequestDTOList: 'updatePointRuleRequestDTOList',
            userId: 'userId',
        };
    }
    static types() {
        return {
            updatePointRuleRequestDTOList: { 'type': 'array', 'itemType': UpdatePointActionAutoAssignRuleRequestUpdatePointRuleRequestDTOList },
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdatePointActionAutoAssignRuleRequest = UpdatePointActionAutoAssignRuleRequest;
class UpdatePointActionAutoAssignRuleResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdatePointActionAutoAssignRuleResponseBody = UpdatePointActionAutoAssignRuleResponseBody;
class UpdatePointActionAutoAssignRuleResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdatePointActionAutoAssignRuleResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdatePointActionAutoAssignRuleResponse = UpdatePointActionAutoAssignRuleResponse;
class WearOrgHonorHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.WearOrgHonorHeaders = WearOrgHonorHeaders;
class WearOrgHonorRequest extends $tea.Model {
    static names() {
        return {
            userId: 'userId',
            wear: 'wear',
        };
    }
    static types() {
        return {
            userId: 'string',
            wear: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.WearOrgHonorRequest = WearOrgHonorRequest;
class WearOrgHonorResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: WearOrgHonorResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.WearOrgHonorResponseBody = WearOrgHonorResponseBody;
class WearOrgHonorResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: WearOrgHonorResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.WearOrgHonorResponse = WearOrgHonorResponse;
class AssignOrgHoldingToEmpHoldingBatchRequestTargetUserList extends $tea.Model {
    static names() {
        return {
            outId: 'outId',
            targetUserId: 'targetUserId',
        };
    }
    static types() {
        return {
            outId: 'string',
            targetUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AssignOrgHoldingToEmpHoldingBatchRequestTargetUserList = AssignOrgHoldingToEmpHoldingBatchRequestTargetUserList;
class AssignOrgHoldingToEmpHoldingBatchResponseBodyResultOpenPointInvokeResultDTOS extends $tea.Model {
    static names() {
        return {
            code: 'code',
            invokeStatus: 'invokeStatus',
            msg: 'msg',
            outId: 'outId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            code: 'string',
            invokeStatus: 'string',
            msg: 'string',
            outId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AssignOrgHoldingToEmpHoldingBatchResponseBodyResultOpenPointInvokeResultDTOS = AssignOrgHoldingToEmpHoldingBatchResponseBodyResultOpenPointInvokeResultDTOS;
class AssignOrgHoldingToEmpHoldingBatchResponseBodyResult extends $tea.Model {
    static names() {
        return {
            openPointInvokeResultDTOS: 'openPointInvokeResultDTOS',
        };
    }
    static types() {
        return {
            openPointInvokeResultDTOS: { 'type': 'array', 'itemType': AssignOrgHoldingToEmpHoldingBatchResponseBodyResultOpenPointInvokeResultDTOS },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AssignOrgHoldingToEmpHoldingBatchResponseBodyResult = AssignOrgHoldingToEmpHoldingBatchResponseBodyResult;
class ConsumeUserPointsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
        };
    }
    static types() {
        return {
            amount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ConsumeUserPointsResponseBodyResult = ConsumeUserPointsResponseBodyResult;
class CreateOrgHonorResponseBodyResult extends $tea.Model {
    static names() {
        return {
            honorId: 'honorId',
        };
    }
    static types() {
        return {
            honorId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateOrgHonorResponseBodyResult = CreateOrgHonorResponseBodyResult;
class DeductionPointBatchRequestTargetUserList extends $tea.Model {
    static names() {
        return {
            outId: 'outId',
            targetUserId: 'targetUserId',
        };
    }
    static types() {
        return {
            outId: 'string',
            targetUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeductionPointBatchRequestTargetUserList = DeductionPointBatchRequestTargetUserList;
class DeductionPointBatchResponseBodyResultOpenPointInvokeResultDTOS extends $tea.Model {
    static names() {
        return {
            code: 'code',
            invokeStatus: 'invokeStatus',
            msg: 'msg',
            outId: 'outId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            code: 'string',
            invokeStatus: 'string',
            msg: 'string',
            outId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeductionPointBatchResponseBodyResultOpenPointInvokeResultDTOS = DeductionPointBatchResponseBodyResultOpenPointInvokeResultDTOS;
class DeductionPointBatchResponseBodyResult extends $tea.Model {
    static names() {
        return {
            openPointInvokeResultDTOS: 'openPointInvokeResultDTOS',
        };
    }
    static types() {
        return {
            openPointInvokeResultDTOS: { 'type': 'array', 'itemType': DeductionPointBatchResponseBodyResultOpenPointInvokeResultDTOS },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeductionPointBatchResponseBodyResult = DeductionPointBatchResponseBodyResult;
class GrantHonorResponseBodyResult extends $tea.Model {
    static names() {
        return {
            failedUserIds: 'failedUserIds',
            successUserIds: 'successUserIds',
        };
    }
    static types() {
        return {
            failedUserIds: { 'type': 'array', 'itemType': 'string' },
            successUserIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GrantHonorResponseBodyResult = GrantHonorResponseBodyResult;
class QueryCorpPointsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
        };
    }
    static types() {
        return {
            amount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpPointsResponseBodyResult = QueryCorpPointsResponseBodyResult;
class QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource extends $tea.Model {
    static names() {
        return {
            accountType: 'accountType',
            empName: 'empName',
            userId: 'userId',
        };
    }
    static types() {
        return {
            accountType: 'string',
            empName: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource = QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource;
class QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget extends $tea.Model {
    static names() {
        return {
            accountType: 'accountType',
            empName: 'empName',
            userId: 'userId',
        };
    }
    static types() {
        return {
            accountType: 'string',
            empName: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget = QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget;
class QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO extends $tea.Model {
    static names() {
        return {
            accountSource: 'accountSource',
            accountTarget: 'accountTarget',
            remark: 'remark',
            usage: 'usage',
        };
    }
    static types() {
        return {
            accountSource: QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource,
            accountTarget: QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget,
            remark: 'string',
            usage: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO = QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO;
class QueryEmpPointDetailsResponseBodyResultDetails extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            gmtCreate: 'gmtCreate',
            outId: 'outId',
            pointOperateFeatureResponseDTO: 'pointOperateFeatureResponseDTO',
            sourceBizCode: 'sourceBizCode',
        };
    }
    static types() {
        return {
            amount: 'number',
            gmtCreate: 'number',
            outId: 'string',
            pointOperateFeatureResponseDTO: QueryEmpPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO,
            sourceBizCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsResponseBodyResultDetails = QueryEmpPointDetailsResponseBodyResultDetails;
class QueryEmpPointDetailsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            details: 'details',
            hasMore: 'hasMore',
        };
    }
    static types() {
        return {
            details: { 'type': 'array', 'itemType': QueryEmpPointDetailsResponseBodyResultDetails },
            hasMore: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryEmpPointDetailsResponseBodyResult = QueryEmpPointDetailsResponseBodyResult;
class QueryOrgHonorsResponseBodyResultOpenHonors extends $tea.Model {
    static names() {
        return {
            honorDesc: 'honorDesc',
            honorId: 'honorId',
            honorImgUrl: 'honorImgUrl',
            honorName: 'honorName',
            honorPendantImgUrl: 'honorPendantImgUrl',
        };
    }
    static types() {
        return {
            honorDesc: 'string',
            honorId: 'number',
            honorImgUrl: 'string',
            honorName: 'string',
            honorPendantImgUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgHonorsResponseBodyResultOpenHonors = QueryOrgHonorsResponseBodyResultOpenHonors;
class QueryOrgHonorsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            nextToken: 'nextToken',
            openHonors: 'openHonors',
        };
    }
    static types() {
        return {
            nextToken: 'string',
            openHonors: { 'type': 'array', 'itemType': QueryOrgHonorsResponseBodyResultOpenHonors },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgHonorsResponseBodyResult = QueryOrgHonorsResponseBodyResult;
class QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource extends $tea.Model {
    static names() {
        return {
            accountType: 'accountType',
            empName: 'empName',
            userId: 'userId',
        };
    }
    static types() {
        return {
            accountType: 'string',
            empName: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource = QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource;
class QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget extends $tea.Model {
    static names() {
        return {
            accountType: 'accountType',
            empName: 'empName',
            userId: 'userId',
        };
    }
    static types() {
        return {
            accountType: 'string',
            empName: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget = QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget;
class QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO extends $tea.Model {
    static names() {
        return {
            accountSource: 'accountSource',
            accountTarget: 'accountTarget',
            remark: 'remark',
            usage: 'usage',
        };
    }
    static types() {
        return {
            accountSource: QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountSource,
            accountTarget: QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTOAccountTarget,
            remark: 'string',
            usage: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO = QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO;
class QueryOrgPointDetailsResponseBodyResultDetails extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
            gmtCreate: 'gmtCreate',
            outId: 'outId',
            pointOperateFeatureResponseDTO: 'pointOperateFeatureResponseDTO',
            sourceBizCode: 'sourceBizCode',
        };
    }
    static types() {
        return {
            amount: 'number',
            gmtCreate: 'number',
            outId: 'string',
            pointOperateFeatureResponseDTO: QueryOrgPointDetailsResponseBodyResultDetailsPointOperateFeatureResponseDTO,
            sourceBizCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsResponseBodyResultDetails = QueryOrgPointDetailsResponseBodyResultDetails;
class QueryOrgPointDetailsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            details: 'details',
            hasMore: 'hasMore',
            success: 'success',
        };
    }
    static types() {
        return {
            details: { 'type': 'array', 'itemType': QueryOrgPointDetailsResponseBodyResultDetails },
            hasMore: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryOrgPointDetailsResponseBodyResult = QueryOrgPointDetailsResponseBodyResult;
class QueryPointActionAutoAssignRuleResponseBodyResultQueryPointRuleResponseDTOS extends $tea.Model {
    static names() {
        return {
            awardScore: 'awardScore',
            code: 'code',
            dayLimitTimes: 'dayLimitTimes',
            description: 'description',
            status: 'status',
        };
    }
    static types() {
        return {
            awardScore: 'number',
            code: 'string',
            dayLimitTimes: 'number',
            description: 'string',
            status: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointActionAutoAssignRuleResponseBodyResultQueryPointRuleResponseDTOS = QueryPointActionAutoAssignRuleResponseBodyResultQueryPointRuleResponseDTOS;
class QueryPointActionAutoAssignRuleResponseBodyResult extends $tea.Model {
    static names() {
        return {
            queryPointRuleResponseDTOS: 'queryPointRuleResponseDTOS',
        };
    }
    static types() {
        return {
            queryPointRuleResponseDTOS: { 'type': 'array', 'itemType': QueryPointActionAutoAssignRuleResponseBodyResultQueryPointRuleResponseDTOS },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointActionAutoAssignRuleResponseBodyResult = QueryPointActionAutoAssignRuleResponseBodyResult;
class QueryPointAutoIssueSettingResponseBodyResult extends $tea.Model {
    static names() {
        return {
            pointAutoNum: 'pointAutoNum',
            pointAutoState: 'pointAutoState',
            pointAutoTime: 'pointAutoTime',
        };
    }
    static types() {
        return {
            pointAutoNum: 'number',
            pointAutoState: 'boolean',
            pointAutoTime: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPointAutoIssueSettingResponseBodyResult = QueryPointAutoIssueSettingResponseBodyResult;
class QueryUserHonorsResponseBodyResultHonorsGrantHistory extends $tea.Model {
    static names() {
        return {
            grantTime: 'grantTime',
            senderUserid: 'senderUserid',
        };
    }
    static types() {
        return {
            grantTime: 'number',
            senderUserid: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserHonorsResponseBodyResultHonorsGrantHistory = QueryUserHonorsResponseBodyResultHonorsGrantHistory;
class QueryUserHonorsResponseBodyResultHonors extends $tea.Model {
    static names() {
        return {
            expirationTime: 'expirationTime',
            grantHistory: 'grantHistory',
            honorDesc: 'honorDesc',
            honorId: 'honorId',
            honorName: 'honorName',
        };
    }
    static types() {
        return {
            expirationTime: 'number',
            grantHistory: { 'type': 'array', 'itemType': QueryUserHonorsResponseBodyResultHonorsGrantHistory },
            honorDesc: 'string',
            honorId: 'string',
            honorName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserHonorsResponseBodyResultHonors = QueryUserHonorsResponseBodyResultHonors;
class QueryUserHonorsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            honors: 'honors',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            honors: { 'type': 'array', 'itemType': QueryUserHonorsResponseBodyResultHonors },
            nextToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserHonorsResponseBodyResult = QueryUserHonorsResponseBodyResult;
class QueryUserPointsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            amount: 'amount',
        };
    }
    static types() {
        return {
            amount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserPointsResponseBodyResult = QueryUserPointsResponseBodyResult;
class RecallHonorResponseBodyResult extends $tea.Model {
    static names() {
        return {
            honorId: 'honorId',
        };
    }
    static types() {
        return {
            honorId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RecallHonorResponseBodyResult = RecallHonorResponseBodyResult;
class UpdateAutoIssuePointResponseBodyResult extends $tea.Model {
    static names() {
        return {
            nextAutoIssuePointTime: 'nextAutoIssuePointTime',
        };
    }
    static types() {
        return {
            nextAutoIssuePointTime: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateAutoIssuePointResponseBodyResult = UpdateAutoIssuePointResponseBodyResult;
class UpdatePointActionAutoAssignRuleRequestUpdatePointRuleRequestDTOList extends $tea.Model {
    static names() {
        return {
            awardScore: 'awardScore',
            code: 'code',
            dayLimitTimes: 'dayLimitTimes',
            status: 'status',
        };
    }
    static types() {
        return {
            awardScore: 'number',
            code: 'string',
            dayLimitTimes: 'number',
            status: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdatePointActionAutoAssignRuleRequestUpdatePointRuleRequestDTOList = UpdatePointActionAutoAssignRuleRequestUpdatePointRuleRequestDTOList;
class WearOrgHonorResponseBodyResult extends $tea.Model {
    static names() {
        return {
            honorId: 'honorId',
        };
    }
    static types() {
        return {
            honorId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.WearOrgHonorResponseBodyResult = WearOrgHonorResponseBodyResult;
class Client extends openapi_client_1.default {
    constructor(config) {
        super(config);
        let gatewayClient = new gateway_dingtalk_1.default();
        this._spi = gatewayClient;
        this._endpointRule = "";
        if (tea_util_1.default.empty(this._endpoint)) {
            this._endpoint = "api.dingtalk.com";
        }
    }
    /**
     * 批量发放积分或额度
     *
     * @param request - AssignOrgHoldingToEmpHoldingBatchRequest
     * @param headers - AssignOrgHoldingToEmpHoldingBatchHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AssignOrgHoldingToEmpHoldingBatchResponse
     */
    async assignOrgHoldingToEmpHoldingBatchWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.sendOrgCultureInform)) {
            body["sendOrgCultureInform"] = request.sendOrgCultureInform;
        }
        if (!tea_util_1.default.isUnset(request.singleAmount)) {
            body["singleAmount"] = request.singleAmount;
        }
        if (!tea_util_1.default.isUnset(request.sourceUsage)) {
            body["sourceUsage"] = request.sourceUsage;
        }
        if (!tea_util_1.default.isUnset(request.targetUsage)) {
            body["targetUsage"] = request.targetUsage;
        }
        if (!tea_util_1.default.isUnset(request.targetUserList)) {
            body["targetUserList"] = request.targetUserList;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "AssignOrgHoldingToEmpHoldingBatch",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/organizations/points/assign`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AssignOrgHoldingToEmpHoldingBatchResponse({}));
    }
    /**
     * 批量发放积分或额度
     *
     * @param request - AssignOrgHoldingToEmpHoldingBatchRequest
     * @returns AssignOrgHoldingToEmpHoldingBatchResponse
     */
    async assignOrgHoldingToEmpHoldingBatch(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AssignOrgHoldingToEmpHoldingBatchHeaders({});
        return await this.assignOrgHoldingToEmpHoldingBatchWithOptions(request, headers, runtime);
    }
    /**
     * 扣减员工积分
     *
     * @param request - ConsumeUserPointsRequest
     * @param headers - ConsumeUserPointsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ConsumeUserPointsResponse
     */
    async consumeUserPointsWithOptions(userId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.amount)) {
            body["amount"] = request.amount;
        }
        if (!tea_util_1.default.isUnset(request.outId)) {
            body["outId"] = request.outId;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.usage)) {
            body["usage"] = request.usage;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "ConsumeUserPoints",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/users/${userId}/points/deduct`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ConsumeUserPointsResponse({}));
    }
    /**
     * 扣减员工积分
     *
     * @param request - ConsumeUserPointsRequest
     * @returns ConsumeUserPointsResponse
     */
    async consumeUserPoints(userId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ConsumeUserPointsHeaders({});
        return await this.consumeUserPointsWithOptions(userId, request, headers, runtime);
    }
    /**
     * 创建荣誉勋章模板
     *
     * @param request - CreateOrgHonorRequest
     * @param headers - CreateOrgHonorHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateOrgHonorResponse
     */
    async createOrgHonorWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.avatarFrameMediaId)) {
            body["avatarFrameMediaId"] = request.avatarFrameMediaId;
        }
        if (!tea_util_1.default.isUnset(request.defaultBgColor)) {
            body["defaultBgColor"] = request.defaultBgColor;
        }
        if (!tea_util_1.default.isUnset(request.medalDesc)) {
            body["medalDesc"] = request.medalDesc;
        }
        if (!tea_util_1.default.isUnset(request.medalMediaId)) {
            body["medalMediaId"] = request.medalMediaId;
        }
        if (!tea_util_1.default.isUnset(request.medalName)) {
            body["medalName"] = request.medalName;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CreateOrgHonor",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/honors/templates`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateOrgHonorResponse({}));
    }
    /**
     * 创建荣誉勋章模板
     *
     * @param request - CreateOrgHonorRequest
     * @returns CreateOrgHonorResponse
     */
    async createOrgHonor(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateOrgHonorHeaders({});
        return await this.createOrgHonorWithOptions(request, headers, runtime);
    }
    /**
     * 批量扣减积分
     *
     * @param request - DeductionPointBatchRequest
     * @param headers - DeductionPointBatchHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeductionPointBatchResponse
     */
    async deductionPointBatchWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.deductionAmount)) {
            body["deductionAmount"] = request.deductionAmount;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.sendOrgCultureInform)) {
            body["sendOrgCultureInform"] = request.sendOrgCultureInform;
        }
        if (!tea_util_1.default.isUnset(request.targetUserList)) {
            body["targetUserList"] = request.targetUserList;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "DeductionPointBatch",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/users/points/deduct`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeductionPointBatchResponse({}));
    }
    /**
     * 批量扣减积分
     *
     * @param request - DeductionPointBatchRequest
     * @returns DeductionPointBatchResponse
     */
    async deductionPointBatch(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeductionPointBatchHeaders({});
        return await this.deductionPointBatchWithOptions(request, headers, runtime);
    }
    /**
     * 积分榜单导出
     *
     * @param request - ExportPointOpenRequest
     * @param headers - ExportPointOpenHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ExportPointOpenResponse
     */
    async exportPointOpenWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.exportDate)) {
            body["exportDate"] = request.exportDate;
        }
        if (!tea_util_1.default.isUnset(request.exportType)) {
            body["exportType"] = request.exportType;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "ExportPointOpen",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/users/points/export`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ExportPointOpenResponse({}));
    }
    /**
     * 积分榜单导出
     *
     * @param request - ExportPointOpenRequest
     * @returns ExportPointOpenResponse
     */
    async exportPointOpen(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ExportPointOpenHeaders({});
        return await this.exportPointOpenWithOptions(request, headers, runtime);
    }
    /**
     * 授予荣誉 异步执行
     *
     * @param request - GrantHonorRequest
     * @param headers - GrantHonorHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GrantHonorResponse
     */
    async grantHonorWithOptions(honorId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.expirationTime)) {
            body["expirationTime"] = request.expirationTime;
        }
        if (!tea_util_1.default.isUnset(request.grantReason)) {
            body["grantReason"] = request.grantReason;
        }
        if (!tea_util_1.default.isUnset(request.granterName)) {
            body["granterName"] = request.granterName;
        }
        if (!tea_util_1.default.isUnset(request.noticeAnnouncer)) {
            body["noticeAnnouncer"] = request.noticeAnnouncer;
        }
        if (!tea_util_1.default.isUnset(request.noticeSingle)) {
            body["noticeSingle"] = request.noticeSingle;
        }
        if (!tea_util_1.default.isUnset(request.openConversationIds)) {
            body["openConversationIds"] = request.openConversationIds;
        }
        if (!tea_util_1.default.isUnset(request.receiverUserIds)) {
            body["receiverUserIds"] = request.receiverUserIds;
        }
        if (!tea_util_1.default.isUnset(request.senderUserId)) {
            body["senderUserId"] = request.senderUserId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "GrantHonor",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/honors/${honorId}/grant`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GrantHonorResponse({}));
    }
    /**
     * 授予荣誉 异步执行
     *
     * @param request - GrantHonorRequest
     * @returns GrantHonorResponse
     */
    async grantHonor(honorId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GrantHonorHeaders({});
        return await this.grantHonorWithOptions(honorId, request, headers, runtime);
    }
    /**
     * 查询当前企业下可兑换的积分
     *
     * @param request - QueryCorpPointsRequest
     * @param headers - QueryCorpPointsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryCorpPointsResponse
     */
    async queryCorpPointsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.optUserId)) {
            query["optUserId"] = request.optUserId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryCorpPoints",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/organizations/points`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryCorpPointsResponse({}));
    }
    /**
     * 查询当前企业下可兑换的积分
     *
     * @param request - QueryCorpPointsRequest
     * @returns QueryCorpPointsResponse
     */
    async queryCorpPoints(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryCorpPointsHeaders({});
        return await this.queryCorpPointsWithOptions(request, headers, runtime);
    }
    /**
     * 查询个人积分使用明细
     *
     * @param request - QueryEmpPointDetailsRequest
     * @param headers - QueryEmpPointDetailsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryEmpPointDetailsResponse
     */
    async queryEmpPointDetailsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryEmpPointDetails",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/points/empDetails`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryEmpPointDetailsResponse({}));
    }
    /**
     * 查询个人积分使用明细
     *
     * @param request - QueryEmpPointDetailsRequest
     * @returns QueryEmpPointDetailsResponse
     */
    async queryEmpPointDetails(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryEmpPointDetailsHeaders({});
        return await this.queryEmpPointDetailsWithOptions(request, headers, runtime);
    }
    /**
     * 获取组织荣誉
     *
     * @param request - QueryOrgHonorsRequest
     * @param headers - QueryOrgHonorsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryOrgHonorsResponse
     */
    async queryOrgHonorsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            query["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            query["nextToken"] = request.nextToken;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryOrgHonors",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/organizations/honors`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryOrgHonorsResponse({}));
    }
    /**
     * 获取组织荣誉
     *
     * @param request - QueryOrgHonorsRequest
     * @returns QueryOrgHonorsResponse
     */
    async queryOrgHonors(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryOrgHonorsHeaders({});
        return await this.queryOrgHonorsWithOptions(request, headers, runtime);
    }
    /**
     * 查询组织发放扣除积分明细
     *
     * @param request - QueryOrgPointDetailsRequest
     * @param headers - QueryOrgPointDetailsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryOrgPointDetailsResponse
     */
    async queryOrgPointDetailsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.accountType)) {
            query["accountType"] = request.accountType;
        }
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryOrgPointDetails",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/points/orgDetails`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryOrgPointDetailsResponse({}));
    }
    /**
     * 查询组织发放扣除积分明细
     *
     * @param request - QueryOrgPointDetailsRequest
     * @returns QueryOrgPointDetailsResponse
     */
    async queryOrgPointDetails(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryOrgPointDetailsHeaders({});
        return await this.queryOrgPointDetailsWithOptions(request, headers, runtime);
    }
    /**
     * 查询积分自动发放行为规则
     *
     * @param headers - QueryPointActionAutoAssignRuleHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryPointActionAutoAssignRuleResponse
     */
    async queryPointActionAutoAssignRuleWithOptions(headers, runtime) {
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
        });
        let params = new $OpenApi.Params({
            action: "QueryPointActionAutoAssignRule",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/users/points/actionRules`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryPointActionAutoAssignRuleResponse({}));
    }
    /**
     * 查询积分自动发放行为规则
     * @returns QueryPointActionAutoAssignRuleResponse
     */
    async queryPointActionAutoAssignRule() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryPointActionAutoAssignRuleHeaders({});
        return await this.queryPointActionAutoAssignRuleWithOptions(headers, runtime);
    }
    /**
     * 每月自动发放额度查询
     *
     * @param headers - QueryPointAutoIssueSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryPointAutoIssueSettingResponse
     */
    async queryPointAutoIssueSettingWithOptions(headers, runtime) {
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
        });
        let params = new $OpenApi.Params({
            action: "QueryPointAutoIssueSetting",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/users/points`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryPointAutoIssueSettingResponse({}));
    }
    /**
     * 每月自动发放额度查询
     * @returns QueryPointAutoIssueSettingResponse
     */
    async queryPointAutoIssueSetting() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryPointAutoIssueSettingHeaders({});
        return await this.queryPointAutoIssueSettingWithOptions(headers, runtime);
    }
    /**
     * 查询员工已获得的组织荣誉列表
     *
     * @param request - QueryUserHonorsRequest
     * @param headers - QueryUserHonorsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryUserHonorsResponse
     */
    async queryUserHonorsWithOptions(userId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            query["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            query["nextToken"] = request.nextToken;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryUserHonors",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/honors/users/${userId}`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryUserHonorsResponse({}));
    }
    /**
     * 查询员工已获得的组织荣誉列表
     *
     * @param request - QueryUserHonorsRequest
     * @returns QueryUserHonorsResponse
     */
    async queryUserHonors(userId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryUserHonorsHeaders({});
        return await this.queryUserHonorsWithOptions(userId, request, headers, runtime);
    }
    /**
     * 查询员工已获得的积分
     *
     * @param headers - QueryUserPointsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryUserPointsResponse
     */
    async queryUserPointsWithOptions(userId, headers, runtime) {
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
        });
        let params = new $OpenApi.Params({
            action: "QueryUserPoints",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/users/${userId}/points`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryUserPointsResponse({}));
    }
    /**
     * 查询员工已获得的积分
     * @returns QueryUserPointsResponse
     */
    async queryUserPoints(userId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryUserPointsHeaders({});
        return await this.queryUserPointsWithOptions(userId, headers, runtime);
    }
    /**
     * 撤销员工获得的荣誉勋章
     *
     * @param request - RecallHonorRequest
     * @param headers - RecallHonorHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns RecallHonorResponse
     */
    async recallHonorWithOptions(honorId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "RecallHonor",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/honors/${honorId}/recall`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new RecallHonorResponse({}));
    }
    /**
     * 撤销员工获得的荣誉勋章
     *
     * @param request - RecallHonorRequest
     * @returns RecallHonorResponse
     */
    async recallHonor(honorId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new RecallHonorHeaders({});
        return await this.recallHonorWithOptions(honorId, request, headers, runtime);
    }
    /**
     * 每月自动发放额度修改
     *
     * @param request - UpdateAutoIssuePointRequest
     * @param headers - UpdateAutoIssuePointHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateAutoIssuePointResponse
     */
    async updateAutoIssuePointWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.pointAutoNum)) {
            body["pointAutoNum"] = request.pointAutoNum;
        }
        if (!tea_util_1.default.isUnset(request.pointAutoState)) {
            body["pointAutoState"] = request.pointAutoState;
        }
        if (!tea_util_1.default.isUnset(request.pointAutoTime)) {
            body["pointAutoTime"] = request.pointAutoTime;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateAutoIssuePoint",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/users/points/set`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateAutoIssuePointResponse({}));
    }
    /**
     * 每月自动发放额度修改
     *
     * @param request - UpdateAutoIssuePointRequest
     * @returns UpdateAutoIssuePointResponse
     */
    async updateAutoIssuePoint(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateAutoIssuePointHeaders({});
        return await this.updateAutoIssuePointWithOptions(request, headers, runtime);
    }
    /**
     * 修改积分系统行为规则
     *
     * @param request - UpdatePointActionAutoAssignRuleRequest
     * @param headers - UpdatePointActionAutoAssignRuleHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdatePointActionAutoAssignRuleResponse
     */
    async updatePointActionAutoAssignRuleWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.updatePointRuleRequestDTOList)) {
            body["updatePointRuleRequestDTOList"] = request.updatePointRuleRequestDTOList;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdatePointActionAutoAssignRule",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/users/points/actionRules`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdatePointActionAutoAssignRuleResponse({}));
    }
    /**
     * 修改积分系统行为规则
     *
     * @param request - UpdatePointActionAutoAssignRuleRequest
     * @returns UpdatePointActionAutoAssignRuleResponse
     */
    async updatePointActionAutoAssignRule(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdatePointActionAutoAssignRuleHeaders({});
        return await this.updatePointActionAutoAssignRuleWithOptions(request, headers, runtime);
    }
    /**
     * 佩戴/卸下荣誉勋章
     *
     * @param request - WearOrgHonorRequest
     * @param headers - WearOrgHonorHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns WearOrgHonorResponse
     */
    async wearOrgHonorWithOptions(honorId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        if (!tea_util_1.default.isUnset(request.wear)) {
            body["wear"] = request.wear;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "WearOrgHonor",
            version: "orgCulture_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/orgCulture/honors/${honorId}/wear`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new WearOrgHonorResponse({}));
    }
    /**
     * 佩戴/卸下荣誉勋章
     *
     * @param request - WearOrgHonorRequest
     * @returns WearOrgHonorResponse
     */
    async wearOrgHonor(honorId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new WearOrgHonorHeaders({});
        return await this.wearOrgHonorWithOptions(honorId, request, headers, runtime);
    }
}
exports.default = Client;
//# sourceMappingURL=client.js.map