# 配置与规则管理

<cite>
**Referenced Files in This Document**   
- [KamiApiCardInfoAppleV1RechargeStealRuleAddReq.md](file://src/api/generated/docs/KamiApiCardInfoAppleV1RechargeStealRuleAddReq.md)
- [KamiApiCardInfoAppleV1ConfigSetReq.md](file://src/api/generated/docs/KamiApiCardInfoAppleV1ConfigSetReq.md)
- [kami-api-card-info-apple-v1-recharge-steal-rule-add-req.ts](file://src/api/generated/models/kami-api-card-info-apple-v1-recharge-steal-rule-add-req.ts)
- [kami-api-card-info-apple-v1-config-set-req.ts](file://src/api/generated/models/kami-api-card-info-apple-v1-config-set-req.ts)
- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)
- [kami-internal-model-entity-v1-card-apple-hidden-settings.ts](file://src/api/generated/models/kami-internal-model-entity-v1-card-apple-hidden-settings.ts)
- [index.vue](file://src/views/merchant/steal-setting/index.vue)
- [add-modal.vue](file://src/views/merchant/steal-setting/components/add-modal.vue)
</cite>

## 目录

1. [简介](#简介)
2. [核心功能概览](#核心功能概览)
3. [抽卡规则配置](#抽卡规则配置)
4. [系统参数设置](#系统参数设置)
5. [状态与优先级管理](#状态与优先级管理)
6. [数据存储结构](#数据存储结构)
7. [配置变更审计](#配置变更审计)
8. [操作最佳实践](#操作最佳实践)

## 简介

本文档详细介绍了Apple Card系统的配置与规则管理功能，涵盖卡券隐藏设置、抽卡规则配置和系统参数设置等核心功能。文档重点说明了`KamiApiCardInfoAppleV1RechargeStealRuleAddReq`抽卡规则添加接口和`KamiApiCardInfoAppleV1ConfigSetReq`系统配置设置接口的使用方法，解释了抽卡规则的状态管理、优先级设置等业务逻辑，描述了配置数据的存储结构和更新机制，并提供了配置变更的审计日志功能说明。同时，文档为用户提供了操作最佳实践，包括规则冲突处理、配置备份恢复方法和安全访问控制建议。

**Section sources**

- [KamiApiCardInfoAppleV1RechargeStealRuleAddReq.md](file://src/api/generated/docs/KamiApiCardInfoAppleV1RechargeStealRuleAddReq.md)
- [KamiApiCardInfoAppleV1ConfigSetReq.md](file://src/api/generated/docs/KamiApiCardInfoAppleV1ConfigSetReq.md)

## 核心功能概览

Apple Card系统的配置与规则管理功能主要包含三大核心模块：抽卡规则配置、系统参数设置和状态管理。这些功能通过前端界面与后端API的协同工作实现，为用户提供灵活的卡券管理和自动化操作能力。

```mermaid
graph TD
A[配置与规则管理] --> B[抽卡规则配置]
A --> C[系统参数设置]
A --> D[状态与优先级管理]
B --> E[规则添加/编辑/删除]
B --> F[规则启用/禁用]
C --> G[金额异议设置]
C --> H[充值速率设置]
D --> I[全局开关]
D --> J[单条规则状态]
```

**Diagram sources**

- [index.vue](file://src/views/merchant/steal-setting/index.vue)
- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)

**Section sources**

- [index.vue](file://src/views/merchant/steal-setting/index.vue)
- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)

## 抽卡规则配置

### 抽卡规则添加接口

`KamiApiCardInfoAppleV1RechargeStealRuleAddReq`接口用于添加新的抽卡规则，定义了规则创建所需的所有参数。

```mermaid
classDiagram
class KamiApiCardInfoAppleV1RechargeStealRuleAddReq {
+string name
+string targetUserId
+number status
+string storageUserId
+number amount
+number targetAmount
+number intervalTime
}
```

**Diagram sources**

- [kami-api-card-info-apple-v1-recharge-steal-rule-add-req.ts](file://src/api/generated/models/kami-api-card-info-apple-v1-recharge-steal-rule-add-req.ts)

**Section sources**

- [kami-api-card-info-apple-v1-recharge-steal-rule-add-req.ts](file://src/api/generated/models/kami-api-card-info-apple-v1-recharge-steal-rule-add-req.ts)
- [add-modal.vue](file://src/views/merchant/steal-setting/components/add-modal.vue)

#### 接口参数说明

| 参数名称          | 类型   | 描述                           | 是否必填 |
| ----------------- | ------ | ------------------------------ | -------- |
| **name**          | string | 规则名称                       | 是       |
| **targetUserId**  | string | 目标用户ID（待偷取用户）       | 是       |
| **status**        | number | 规则状态（1:启用, 0:禁用）     | 是       |
| **storageUserId** | string | 存储用户ID（待存储用户）       | 是       |
| **amount**        | number | 间隔金额（触发偷卡的金额阈值） | 是       |
| **targetAmount**  | number | 偷取金额（实际偷取的面额）     | 是       |
| **intervalTime**  | number | 间隔时间（延迟投放的秒数）     | 是       |

### 规则操作流程

抽卡规则的完整操作流程包括添加、编辑、删除和状态切换等操作，通过一系列API调用实现。

```mermaid
sequenceDiagram
participant UI as "用户界面"
participant API as "API服务"
participant DB as "数据库"
UI->>API : 添加规则(addAppleCardStealRule)
API->>DB : 插入新规则记录
DB-->>API : 返回操作结果
API-->>UI : 显示成功/失败消息
UI->>API : 编辑规则(editAppleCardStealRule)
API->>DB : 更新指定规则
DB-->>API : 返回操作结果
API-->>UI : 显示成功/失败消息
UI->>API : 删除规则(deleteAppleCardStealRule)
API->>DB : 删除指定规则
DB-->>API : 返回操作结果
API-->>UI : 刷新列表
UI->>API : 切换状态(setAppleCardStealStatus)
API->>DB : 更新规则状态
DB-->>API : 返回操作结果
API-->>UI : 实时更新开关状态
```

**Diagram sources**

- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)
- [index.vue](file://src/views/merchant/steal-setting/index.vue)

**Section sources**

- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)
- [index.vue](file://src/views/merchant/steal-setting/index.vue)

## 系统参数设置

### 系统配置设置接口

`KamiApiCardInfoAppleV1ConfigSetReq`接口用于设置系统的全局参数，控制Apple Card功能的行为模式。

```mermaid
classDiagram
class KamiApiCardInfoAppleV1ConfigSetReq {
+boolean isAllowDifferentAmount
+boolean isAllowDifferentSucceedCallback
+boolean isAllowDifferentFailCallback
+number redeemCardMinAmount
+boolean isAllowCompensatedCallback
+number redeemCardRate
}
```

**Diagram sources**

- [kami-api-card-info-apple-v1-config-set-req.ts](file://src/api/generated/models/kami-api-card-info-apple-v1-config-set-req.ts)

**Section sources**

- [kami-api-card-info-apple-v1-config-set-req.ts](file://src/api/generated/models/kami-api-card-info-apple-v1-config-set-req.ts)

#### 配置参数说明

| 参数名称                            | 类型    | 描述                           |
| ----------------------------------- | ------- | ------------------------------ |
| **isAllowDifferentAmount**          | boolean | 是否允许金额异议充值           |
| **isAllowDifferentSucceedCallback** | boolean | 是否允许金额异议回调(充值成功) |
| **isAllowDifferentFailCallback**    | boolean | 是否允许金额异议回调(充值失败) |
| **redeemCardMinAmount**             | number  | 账号单日最大充值次数           |
| **isAllowCompensatedCallback**      | boolean | 是否允许补卡自动回调           |
| **redeemCardRate**                  | number  | 充值卡充值速率                 |

## 状态与优先级管理

### 全局状态管理

系统提供了全局开关功能，可以一键控制所有抽卡规则的启用状态。

```mermaid
flowchart TD
Start([开始]) --> CheckGlobalSwitch{全局开关状态?}
CheckGlobalSwitch --> |开启| EnableAllRules[启用所有规则]
CheckGlobalSwitch --> |关闭| DisableAllRules[禁用所有规则]
EnableAllRules --> End([结束])
DisableAllRules --> End
```

**Diagram sources**

- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)

**Section sources**

- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)

### 单条规则状态管理

除了全局控制外，系统还支持对单条规则进行独立的状态管理，实现精细化控制。

```mermaid
flowchart TD
Start([规则状态切换]) --> ValidateRule{规则是否存在?}
ValidateRule --> |是| CheckCurrentStatus{当前状态?}
ValidateRule --> |否| ReturnError[返回错误]
CheckCurrentStatus --> |启用| SetToDisabled[设置为禁用]
CheckCurrentStatus --> |禁用| SetToEnabled[设置为启用]
SetToDisabled --> UpdateDB[更新数据库]
SetToEnabled --> UpdateDB
UpdateDB --> RefreshUI[刷新界面显示]
RefreshUI --> End([完成])
ReturnError --> End
```

**Diagram sources**

- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)

**Section sources**

- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)

## 数据存储结构

### 配置数据模型

系统配置数据在后端以结构化的模型存储，确保数据的一致性和完整性。

```mermaid
erDiagram
CARD_APPLE_HIDDEN_SETTINGS {
number id PK
string name
number status
string targetUserId FK
string storageUserId FK
number amount
number targetAmount
number stealTotalAmount
number intervalTime
string createdAt
string updatedAt
string deletedAt
}
USERS {
string id PK
string userName
string email
}
CARD_APPLE_HIDDEN_SETTINGS ||--o{ USERS : "targetUserId"
CARD_APPLE_HIDDEN_SETTINGS ||--o{ USERS : "storageUserId"
```

**Diagram sources**

- [kami-internal-model-entity-v1-card-apple-hidden-settings.ts](file://src/api/generated/models/kami-internal-model-entity-v1-card-apple-hidden-settings.ts)

**Section sources**

- [kami-internal-model-entity-v1-card-apple-hidden-settings.ts](file://src/api/generated/models/kami-internal-model-entity-v1-card-apple-hidden-settings.ts)

## 配置变更审计

系统记录所有配置变更操作，提供审计日志功能，确保操作的可追溯性。每次规则的添加、编辑、删除和状态变更都会被记录，包括操作时间、操作人和变更详情等信息，便于后续的审计和问题排查。

**Section sources**

- [index.vue](file://src/views/merchant/steal-setting/index.vue)
- [apple-card-steal-settings.ts](file://src/api/apple-card-steal-settings.ts)

## 操作最佳实践

### 规则冲突处理

在配置多条抽卡规则时，应注意避免规则之间的冲突。建议按照业务优先级设置规则，并确保目标用户和存储用户的分配合理，避免同一账户被多个规则同时操作。

### 配置备份与恢复

建议定期备份重要配置，特别是在进行大规模配置变更前。系统应提供配置导出功能，以便在出现问题时能够快速恢复到之前的稳定状态。

### 安全访问控制

配置与规则管理功能涉及系统核心逻辑，应实施严格的访问控制。只有授权用户才能进行配置修改操作，并且所有敏感操作都应记录在审计日志中。

**Section sources**

- [index.vue](file://src/views/merchant/steal-setting/index.vue)
- [add-modal.vue](file://src/views/merchant/steal-setting/components/add-modal.vue)
