{
  "openapi": "3.0.3",
  "info": {
    "title": "会员用户管理",
    "version": "1.1.0",
    "description": "会员用户管理相关接口文档"
  },
  "paths": {
    "/api/member-users": {
      "get": {
        "summary": "获取会员用户列表",
        "description": "分页获取会员用户列表。会员用户用于将系统用户或客户端用户与会员（members）关联，供有状态会员 OpenAPI 校验使用。",
        "parameters": [
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "页码，默认1"
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "每页数量，默认10"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "按状态筛选：1-有效，0-无效"
          },
          {
            "name": "memberId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "按会员ID筛选（会员管理记录的 _id 或 id）"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "获取成功",
                    "data": {
                      "list": [
                        {
                          "id": 1,
                          "code": "MU0001",
                          "userId": "abc123",
                          "userType": "clientUser",
                          "memberId": "member001",
                          "status": 1
                        }
                      ],
                      "total": 100,
                      "pageNum": 1,
                      "pageSize": 10
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "创建会员用户",
        "description": "创建新的会员用户，手动绑定系统用户或客户端用户到会员记录",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "description": "string｜可选，绑定的用户主键（users 或 clientUsers 的 _id/id）"
                  },
                  "userType": {
                    "type": "string",
                    "description": "string｜可选，绑定用户类型：user（系统用户）、clientUser（客户端用户）。不传时按系统用户优先、客户端用户次之自动匹配"
                  },
                  "memberId": {
                    "type": "string",
                    "description": "string｜可选，会员ID（会员管理记录的 _id/id），提供时会校验会员是否存在且有效"
                  },
                  "status": {
                    "type": "number",
                    "description": "number｜可选，状态：1-有效，0-无效，默认1"
                  },
                  "orderNum": {
                    "type": "number",
                    "description": "number｜可选，排序号，默认0"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "创建会员用户成功",
                    "data": {
                      "id": 1,
                      "code": "MU0001",
                      "userId": "abc123",
                      "userType": "clientUser",
                      "memberId": "member001",
                      "status": 1
                    }
                  },
                  "failure": {
                    "code": "4000",
                    "message": "关联的会员不存在",
                    "data": null
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/member-users/{id}": {
      "get": {
        "summary": "获取会员用户详情",
        "description": "根据会员用户ID获取详细信息",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "会员用户ID（_id 或 id）"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "获取成功",
                    "data": {
                      "id": 1,
                      "code": "MU0001",
                      "userId": "abc123",
                      "userType": "user",
                      "memberId": "member001",
                      "status": 1
                    }
                  },
                  "failure": {
                    "code": "4040",
                    "message": "会员用户不存在",
                    "data": null
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "更新会员用户",
        "description": "更新指定会员用户的信息，支持更换绑定的系统用户或客户端用户",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "会员用户ID（_id 或 id）"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "description": "string｜可选，绑定的用户主键（users 或 clientUsers 的 _id/id）"
                  },
                  "userType": {
                    "type": "string",
                    "description": "string｜可选，绑定用户类型：user、clientUser。更换 userId 或未传 userType 时按创建接口相同规则校验；仅更新 userType 时会用现有 userId 重新校验"
                  },
                  "memberId": {
                    "type": "string",
                    "description": "string｜可选，会员ID（会员管理记录的 _id/id），提供时会校验会员是否存在且有效"
                  },
                  "status": {
                    "type": "number",
                    "description": "number｜可选，状态：1-有效，0-无效"
                  },
                  "orderNum": {
                    "type": "number",
                    "description": "number｜可选，排序号"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "更新会员用户成功",
                    "data": {
                      "id": 1,
                      "code": "MU0001",
                      "userId": "abc123",
                      "userType": "clientUser",
                      "memberId": "member001",
                      "status": 1
                    }
                  },
                  "failure": {
                    "code": "4000",
                    "message": "关联的会员不存在",
                    "data": null
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "删除会员用户",
        "description": "删除指定的会员用户",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "会员用户ID"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "example": {
                  "success": {
                    "code": "0000",
                    "message": "删除会员用户成功",
                    "data": {
                      "result": true
                    }
                  },
                  "failure": {
                    "code": "4000",
                    "message": "删除会员用户失败",
                    "data": null
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}