| 1 |
- {"openapi":"3.1.0","info":{"title":"Serve API","description":"Serve应用接口文档","contact":{"name":"杨逸"},"version":"0.0.1-SNAPSHOT"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"AuthController","description":"用户认证相关接口"},{"name":"NotificationController","description":"系统通知"},{"name":"TipOrderController","description":"打赏订单"},{"name":"RealnameAuthController","description":"实名认证"},{"name":"WalletController","description":"钱包管理"},{"name":"PostController","description":"帖子管理"},{"name":"AttachmentController","description":"附件上传"}],"paths":{"/wallet/withdraw/{id}/review":{"put":{"tags":["WalletController"],"summary":"审核提现(管理员)","operationId":"reviewWithdraw","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawReviewDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/user":{"get":{"tags":["user-controller"],"operationId":"queryByPage","parameters":[{"name":"account","in":"query","required":true,"schema":{"type":"string","default":""}},{"name":"username","in":"query","required":true,"schema":{"type":"string","default":""}},{"name":"role","in":"query","required":true,"schema":{"type":"string","default":""}},{"name":"enable","in":"query","required":true,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageNum","in":"query","required":true,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":true,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponsePageVoListUserVo"}}}}}},"put":{"tags":["user-controller"],"operationId":"edit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseBoolean"}}}}}},"post":{"tags":["user-controller"],"operationId":"add","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseBoolean"}}}}}},"delete":{"tags":["user-controller"],"operationId":"deleteById","parameters":[{"name":"ids","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseBoolean"}}}}}}},"/user/{id}/role":{"put":{"tags":["user-controller"],"operationId":"updateRole","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/user/updateStatus":{"put":{"tags":["user-controller"],"operationId":"updateUserStatus","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserStatusDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseBoolean"}}}}}}},"/user/updatePassword":{"put":{"tags":["user-controller"],"operationId":"updatePassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserPasswordDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseBoolean"}}}}}}},"/user/updateAvatar":{"put":{"tags":["user-controller"],"operationId":"updateUserAvatar","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserAvatarDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseBoolean"}}}}}}},"/realname/{id}/review":{"put":{"tags":["RealnameAuthController"],"summary":"管理员审核实名认证","operationId":"review","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RealnameReviewDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/posts/{id}":{"get":{"tags":["PostController"],"summary":"获取帖子详情","operationId":"getPostDetail","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponsePostVo"}}}}}},"put":{"tags":["PostController"],"summary":"更新帖子(管理员/本人)","operationId":"updatePost","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}},"delete":{"tags":["PostController"],"summary":"删除帖子(管理员,逻辑删除)","operationId":"deletePost","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/posts/{id}/view-count":{"put":{"tags":["PostController"],"summary":"修改查看人数(管理员)","operationId":"updateViewCount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateViewCountDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/posts/{id}/hit-status":{"put":{"tags":["PostController"],"summary":"设置命中状态(管理员)","operationId":"updateHitStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateHitStatusDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/notifications/{id}/read":{"put":{"tags":["NotificationController"],"summary":"标记已读","operationId":"markRead","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/wallet/withdraw":{"post":{"tags":["WalletController"],"summary":"提现申请","operationId":"applyWithdraw","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseWithdrawApplyVo"}}}}}}},"/wallet/recharge":{"post":{"tags":["WalletController"],"summary":"充值(预留接口,待对接支付平台)","operationId":"recharge","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RechargeDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseString"}}}}}}},"/wallet/admin-recharge":{"post":{"tags":["WalletController"],"summary":"管理员代充值","operationId":"adminRecharge","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminRechargeDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseString"}}}}}}},"/realname":{"get":{"tags":["RealnameAuthController"],"summary":"查询自己的认证信息","operationId":"getMyAuth","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseRealnameAuthVo"}}}}}},"post":{"tags":["RealnameAuthController"],"summary":"提交实名认证","operationId":"submit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RealnameSubmitDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/posts":{"get":{"tags":["PostController"],"summary":"获取帖子列表","operationId":"listPosts","parameters":[{"name":"keyword","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"all"}},{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponsePageVoListPostVo"}}}}}},"post":{"tags":["PostController"],"summary":"创建帖子(仅专家/管理员)","operationId":"createPost","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseCreatePostVo"}}}}}}},"/orders/tip":{"post":{"tags":["TipOrderController"],"summary":"打赏并即时扣款","operationId":"createAndPay","parameters":[{"name":"X-Request-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTipOrderDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseCreateTipOrderVo"}}}}}}},"/meta/updateWebsiteMeta":{"post":{"tags":["meta-controller"],"operationId":"updateWebsiteMeta","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteMeta"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/meta/updateOssConfig":{"post":{"tags":["meta-controller"],"operationId":"updateOssConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OssConfigMeta"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseVoid"}}}}}}},"/auth/register":{"post":{"tags":["AuthController"],"summary":"用户注册","operationId":"register","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseAuthTokenVo"}}}}}}},"/auth/login":{"post":{"tags":["AuthController"],"summary":"用户登录","operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseAuthTokenVo"}}}}}}},"/attachments/upload":{"post":{"tags":["AttachmentController"],"summary":"上传图片到OSS","operationId":"upload","parameters":[{"name":"type","in":"query","required":false,"schema":{"type":"string","default":"post_image"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseUploadVo"}}}}}}},"/wallet/withdraw/pending":{"get":{"tags":["WalletController"],"summary":"获取待审核提现列表(管理员)","operationId":"listPendingWithdrawals","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseListWalletTransactionVo"}}}}}}},"/wallet/transactions":{"get":{"tags":["WalletController"],"summary":"资金明细","operationId":"getTransactions","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseListWalletTransactionVo"}}}}}}},"/wallet/balance":{"get":{"tags":["WalletController"],"summary":"查询余额","operationId":"getBalance","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseWalletVo"}}}}}}},"/user/{id}":{"get":{"tags":["user-controller"],"operationId":"queryById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseUserVo"}}}}}}},"/user/profile":{"get":{"tags":["user-controller"],"operationId":"profile","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseProfileVo"}}}}}}},"/realname/pending":{"get":{"tags":["RealnameAuthController"],"summary":"获取所有待审核认证(管理员)","operationId":"listPending","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseListRealnameAuthVo"}}}}}}},"/posts/expert/{expertId}/previous":{"get":{"tags":["PostController"],"summary":"获取专家往期帖子","operationId":"listPreviousPosts","parameters":[{"name":"expertId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponsePageVoListPostVo"}}}}}}},"/orders":{"get":{"tags":["TipOrderController"],"summary":"获取我的打赏订单列表","operationId":"listOrders","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"all"}},{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponsePageVoListOrderTipVo"}}}}}}},"/notifications":{"get":{"tags":["NotificationController"],"summary":"获取通知列表","operationId":"listNotifications","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseListNotificationVo"}}}}}}},"/notifications/unread-count":{"get":{"tags":["NotificationController"],"summary":"获取未读数","operationId":"getUnreadCount","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseUnreadCountVo"}}}}}}},"/meta/getWebsiteMeta":{"get":{"tags":["meta-controller"],"operationId":"getWebsiteMeta","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseObject"}}}}}}},"/meta/getOssConfig":{"get":{"tags":["meta-controller"],"operationId":"getOssConfig","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseVoid"},{"$ref":"#/components/schemas/ResponseListFieldError"}]}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseOssConfigMeta"}}}}}}}},"components":{"schemas":{"FieldError":{"type":"object","properties":{"codes":{"type":"array","items":{"type":"string"}},"arguments":{"type":"array","items":{}},"defaultMessage":{"type":"string"},"objectName":{"type":"string"},"field":{"type":"string"},"rejectedValue":{},"bindingFailure":{"type":"boolean"},"code":{"type":"string"}}},"ResponseListFieldError":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"type":"array","description":"响应的具体数据","items":{"$ref":"#/components/schemas/FieldError"}}}},"ResponseVoid":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"description":"响应的具体数据"}}},"WithdrawReviewDto":{"type":"object","description":"提现审核请求参数","properties":{"approved":{"type":"boolean","description":"是否通过"},"rejectReason":{"type":"string","description":"驳回原因"}},"required":["approved"]},"UserDto":{"type":"object","description":"用户新增和修改使用的DTO","properties":{"id":{"type":"string","description":"用户ID"},"account":{"type":"string","description":"用户账号","maxLength":20,"minLength":4},"password":{"type":"string","description":"用户密码","maxLength":20,"minLength":4},"username":{"type":"string","description":"用户名称","maxLength":32,"minLength":2},"role":{"type":"string","description":"用户角色","maxLength":32,"minLength":4},"phoneNumber":{"type":"string","description":"用户手机号","maxLength":11,"minLength":11},"avatar":{"type":"string","description":"用户头像地址"}},"required":["account","password","role","username"]},"ResponseBoolean":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"type":"boolean","description":"响应的具体数据"}}},"UpdateRoleDto":{"type":"object","description":"更新用户角色请求参数","properties":{"role":{"type":"string","description":"角色(user/expert/admin)","minLength":1}},"required":["role"]},"UpdateUserStatusDto":{"type":"object","description":"用户状态更新使用的DTO","properties":{"id":{"type":"string","description":"用户ID","minLength":1},"enable":{"type":"integer","format":"int32","description":"更新后的状态;1:启用,0:禁用","maximum":1,"minLength":1,"minimum":0}},"required":["enable","id"]},"UpdateUserPasswordDto":{"type":"object","description":"用户密码修改使用的DTO","properties":{"id":{"type":"string","description":"用户ID","minLength":1},"password":{"type":"string","description":"用户的当前密码","maxLength":20,"minLength":4},"oldPassword":{"type":"string","description":"用户的新密码","maxLength":20,"minLength":4}},"required":["id","oldPassword","password"]},"UpdateUserAvatarDto":{"type":"object","description":"更新用户头像的实体DTO","properties":{"id":{"type":"string","description":"用户的ID","minLength":1},"avatar":{"type":"string","description":"头像地址的链接","minLength":1,"pattern":"^(https?)://[^\\s/$.?#].[^\\s]*$"}},"required":["avatar","id"]},"RealnameReviewDto":{"type":"object","description":"实名认证审核请求参数","properties":{"approved":{"type":"boolean","description":"是否通过"},"rejectReason":{"type":"string","description":"驳回原因"}},"required":["approved"]},"PostDto":{"type":"object","description":"帖子创建/编辑请求","properties":{"title":{"type":"string","description":"帖子标题(含期号)","minLength":1},"contentIntro":{"type":"string","description":"内容简介(公开)"},"contentPaid":{"type":"string","description":"付费内容"},"price":{"type":"number","description":"打赏金额"},"expireTime":{"type":"string","format":"date-time","description":"过期时间,超出此时间自动转为公开"}},"required":["expireTime","price","title"]},"UpdateViewCountDto":{"type":"object","description":"修改帖子查看人数请求参数","properties":{"viewCount":{"type":"integer","format":"int32","description":"新的查看人数"}},"required":["viewCount"]},"UpdateHitStatusDto":{"type":"object","description":"更新帖子命中状态请求参数","properties":{"hitStatus":{"type":"string","description":"命中状态(pending/hit/miss)","minLength":1}},"required":["hitStatus"]},"WithdrawDto":{"type":"object","description":"提现请求参数","properties":{"amount":{"type":"number","description":"提现金额"}},"required":["amount"]},"ResponseWithdrawApplyVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/WithdrawApplyVo","description":"响应的具体数据"}}},"WithdrawApplyVo":{"type":"object","description":"提现申请结果视图","properties":{"transactionId":{"type":"string","description":"交易ID"},"status":{"type":"string","description":"状态"},"amount":{"type":"number","description":"金额"}}},"RechargeDto":{"type":"object","description":"充值请求参数","properties":{"amount":{"type":"number","description":"充值金额"}},"required":["amount"]},"ResponseString":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"type":"string","description":"响应的具体数据"}}},"AdminRechargeDto":{"type":"object","description":"管理员代充值请求参数","properties":{"userId":{"type":"integer","format":"int64","description":"目标用户ID"},"amount":{"type":"number","description":"充值金额"},"remark":{"type":"string","description":"备注"}},"required":["amount","userId"]},"RealnameSubmitDto":{"type":"object","description":"实名认证提交请求参数","properties":{"realName":{"type":"string","description":"真实姓名","minLength":1},"idCard":{"type":"string","description":"身份证号","minLength":1},"idCardFront":{"type":"string","description":"身份证正面照URL"},"idCardBack":{"type":"string","description":"身份证反面照URL"}},"required":["idCard","realName"]},"CreatePostVo":{"type":"object","description":"创建帖子结果视图","properties":{"id":{"type":"string","description":"帖子ID"}}},"ResponseCreatePostVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/CreatePostVo","description":"响应的具体数据"}}},"CreateTipOrderDto":{"type":"object","description":"打赏请求参数","properties":{"postId":{"type":"integer","format":"int64","description":"帖子ID"}},"required":["postId"]},"CreateTipOrderVo":{"type":"object","description":"打赏结果视图","properties":{"orderId":{"type":"string","description":"订单ID"},"status":{"type":"string","description":"状态"},"amount":{"type":"number","description":"金额"}}},"ResponseCreateTipOrderVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/CreateTipOrderVo","description":"响应的具体数据"}}},"WebsiteMeta":{"type":"object","description":"网站元数据DTO,用于更新网站配置信息","properties":{"title":{"type":"string","description":"网站标题","maxLength":200,"minLength":0},"logo":{"type":"string","description":"网站logo URL","maxLength":500,"minLength":0},"statement":{"type":"string","description":"网站声明","maxLength":500,"minLength":0},"announcement":{"type":"string","description":"网站公告","maxLength":500,"minLength":0}}},"OssConfigMeta":{"type":"object","description":"OSS配置DTO,用于更新OSS存储配置信息","properties":{"endpoint":{"type":"string","description":"Endpoint"},"region":{"type":"string","description":"Region"},"bucket":{"type":"string","description":"Bucket"},"accessKey":{"type":"string","description":"Access Key"},"secretKey":{"type":"string","description":"Secret Key"},"publicDomain":{"type":"string","description":"公开访问域名"}}},"RegisterDto":{"type":"object","description":"注册请求参数","properties":{"account":{"type":"string","description":"账号","maxLength":20,"minLength":4},"password":{"type":"string","description":"密码","maxLength":20,"minLength":4},"username":{"type":"string","description":"用户名","maxLength":32,"minLength":2}},"required":["account","password","username"]},"AuthTokenVo":{"type":"object","description":"登录响应","properties":{"token":{"type":"string","description":"JWT token"},"userId":{"type":"integer","format":"int64","description":"用户ID"},"account":{"type":"string","description":"账号"},"username":{"type":"string","description":"用户名"},"role":{"type":"string","description":"角色"}}},"ResponseAuthTokenVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/AuthTokenVo","description":"响应的具体数据"}}},"LoginDto":{"type":"object","description":"登录请求参数","properties":{"account":{"type":"string","description":"账号","minLength":1},"password":{"type":"string","description":"密码","minLength":1}},"required":["account","password"]},"ResponseUploadVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/UploadVo","description":"响应的具体数据"}}},"UploadVo":{"type":"object","description":"附件上传结果视图","properties":{"url":{"type":"string","description":"文件URL"}}},"ResponseListWalletTransactionVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"type":"array","description":"响应的具体数据","items":{"$ref":"#/components/schemas/WalletTransactionVo"}}}},"WalletTransactionVo":{"type":"object","description":"钱包流水视图","properties":{"id":{"type":"string"},"type":{"type":"string"},"amount":{"type":"number"},"balanceBefore":{"type":"number"},"balanceAfter":{"type":"number"},"status":{"type":"string"},"remark":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"ResponseWalletVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/WalletVo","description":"响应的具体数据"}}},"WalletVo":{"type":"object","description":"钱包信息视图","properties":{"balance":{"type":"number","description":"余额"}}},"PageVoListUserVo":{"type":"object","description":"分页数据对象","properties":{"total":{"type":"integer","format":"int64","description":"总数据条数"},"data":{"type":"array","description":"当前页的数据","items":{"$ref":"#/components/schemas/UserVo"}}}},"ResponsePageVoListUserVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/PageVoListUserVo","description":"响应的具体数据"}}},"UserVo":{"type":"object","description":"用户响应展示对象","properties":{"id":{"type":"string","description":"用户ID"},"account":{"type":"string","description":"用户账号"},"username":{"type":"string","description":"用户名称"},"role":{"type":"string","description":"用户角色"},"avatar":{"type":"string","description":"用户头像地址"},"enable":{"type":"integer","format":"int32","description":"用户状态;0:禁用,1:启用"},"phoneNumber":{"type":"string","description":"用户手机号"}}},"ResponseUserVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/UserVo","description":"响应的具体数据"}}},"ProfileVo":{"type":"object","description":"用户个人信息视图","properties":{"id":{"type":"string","description":"用户ID"},"account":{"type":"string","description":"账号"},"username":{"type":"string","description":"用户名"},"avatar":{"type":"string","description":"头像URL"},"role":{"type":"string","description":"角色"},"phoneNumber":{"type":"string","description":"手机号"},"balance":{"type":"number","description":"余额"},"level":{"type":"string","description":"会员等级"},"isRealname":{"type":"boolean","description":"是否实名认证"}}},"ResponseProfileVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/ProfileVo","description":"响应的具体数据"}}},"RealnameAuthVo":{"type":"object","description":"实名认证视图","properties":{"id":{"type":"string"},"userId":{"type":"string"},"realName":{"type":"string"},"idCard":{"type":"string"},"idCardFront":{"type":"string"},"idCardBack":{"type":"string"},"status":{"type":"string"},"rejectReason":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"ResponseRealnameAuthVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/RealnameAuthVo","description":"响应的具体数据"}}},"ResponseListRealnameAuthVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"type":"array","description":"响应的具体数据","items":{"$ref":"#/components/schemas/RealnameAuthVo"}}}},"PageVoListPostVo":{"type":"object","description":"分页数据对象","properties":{"total":{"type":"integer","format":"int64","description":"总数据条数"},"data":{"type":"array","description":"当前页的数据","items":{"$ref":"#/components/schemas/PostVo"}}}},"PostVo":{"type":"object","description":"帖子响应视图","properties":{"id":{"type":"string"},"expertId":{"type":"string"},"expertName":{"type":"string"},"expertAvatar":{"type":"string"},"title":{"type":"string"},"contentIntro":{"type":"string"},"contentPaid":{"type":"string"},"price":{"type":"number"},"hitStatus":{"type":"string"},"viewCount":{"type":"integer","format":"int32"},"isPublic":{"type":"boolean"},"isPaid":{"type":"boolean"},"expertLevel":{"type":"string"},"expertIsRealname":{"type":"boolean"},"expertBrief":{"type":"string"},"publishTime":{"type":"string","format":"date-time"},"expireTime":{"type":"string","format":"date-time"}}},"ResponsePageVoListPostVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/PageVoListPostVo","description":"响应的具体数据"}}},"ResponsePostVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/PostVo","description":"响应的具体数据"}}},"OrderTipVo":{"type":"object","description":"打赏订单视图","properties":{"id":{"type":"string"},"userId":{"type":"string"},"postId":{"type":"string"},"postTitle":{"type":"string"},"expertId":{"type":"string"},"expertName":{"type":"string"},"amount":{"type":"number"},"status":{"type":"string"},"createTime":{"type":"string","format":"date-time"}}},"PageVoListOrderTipVo":{"type":"object","description":"分页数据对象","properties":{"total":{"type":"integer","format":"int64","description":"总数据条数"},"data":{"type":"array","description":"当前页的数据","items":{"$ref":"#/components/schemas/OrderTipVo"}}}},"ResponsePageVoListOrderTipVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/PageVoListOrderTipVo","description":"响应的具体数据"}}},"NotificationVo":{"type":"object","description":"通知视图","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"content":{"type":"string"},"isRead":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}}},"ResponseListNotificationVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"type":"array","description":"响应的具体数据","items":{"$ref":"#/components/schemas/NotificationVo"}}}},"ResponseUnreadCountVo":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/UnreadCountVo","description":"响应的具体数据"}}},"UnreadCountVo":{"type":"object","description":"未读通知数量视图","properties":{"count":{"type":"integer","format":"int64","description":"未读数量"}}},"ResponseObject":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"description":"响应的具体数据"}}},"ResponseOssConfigMeta":{"type":"object","description":"后端统一的响应实体","properties":{"code":{"type":"integer","format":"int32","description":"状态码;200:成功"},"message":{"type":"string","description":"响应附加信息"},"data":{"$ref":"#/components/schemas/OssConfigMeta","description":"响应的具体数据"}}}}}}
|