实现用户账号注销逻辑,包括删除用户所有关联数据并根据原设备信息创建新账号
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/perfect-panel/server/internal/logic/public/user"
|
||||
"github.com/perfect-panel/server/internal/svc"
|
||||
)
|
||||
|
||||
// DeleteAccountHandler 注销账号处理器
|
||||
// 根据当前token删除所有关联设备,然后根据各自设备ID重新新建账号
|
||||
func DeleteAccountHandler(serverCtx *svc.ServiceContext) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
l := user.NewDeleteAccountLogic(c.Request.Context(), serverCtx)
|
||||
resp, err := l.DeleteAccount()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, resp)
|
||||
}
|
||||
}
|
||||
@@ -769,13 +769,16 @@ func RegisterHandlers(router *gin.Engine, serverCtx *svc.ServiceContext) {
|
||||
|
||||
{
|
||||
// Query User Affiliate Count
|
||||
publicUserGroupRouter.GET("/affiliate/count", publicUser.QueryUserAffiliateHandler(serverCtx))
|
||||
publicUserGroupRouter.GET("/affiliate/count", publicUser.QueryUserAffiliateHandler(serverCtx))
|
||||
|
||||
// Query User Affiliate List
|
||||
publicUserGroupRouter.GET("/affiliate/list", publicUser.QueryUserAffiliateListHandler(serverCtx))
|
||||
// Query User Affiliate List
|
||||
publicUserGroupRouter.GET("/affiliate/list", publicUser.QueryUserAffiliateListHandler(serverCtx))
|
||||
|
||||
// Query User Balance Log
|
||||
publicUserGroupRouter.GET("/balance_log", publicUser.QueryUserBalanceLogHandler(serverCtx))
|
||||
// Delete Account
|
||||
publicUserGroupRouter.GET("/delete_account", publicUser.DeleteAccountHandler(serverCtx))
|
||||
|
||||
// Query User Balance Log
|
||||
publicUserGroupRouter.GET("/balance_log", publicUser.QueryUserBalanceLogHandler(serverCtx))
|
||||
|
||||
// Update Bind Email
|
||||
publicUserGroupRouter.PUT("/bind_email", publicUser.UpdateBindEmailHandler(serverCtx))
|
||||
|
||||
Reference in New Issue
Block a user