package user import ( "context" "fmt" "github.com/youruser/base/internal/svc" "github.com/youruser/base/internal/types" "github.com/youruser/base/model" "github.com/zeromicro/go-zero/core/logx" ) type DeleteUserLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } // 删除用户 func NewDeleteUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteUserLogic { return &DeleteUserLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *DeleteUserLogic) DeleteUser(req *types.DeleteUserRequest) (resp *types.Response, err error) { // 检查用户是否存在 user, err := model.FindOne(l.ctx, l.svcCtx.DB, req.Id) if err != nil { if err == model.ErrNotFound { return &types.Response{ Code: 404, Message: "用户不存在", Success: false, }, nil } return nil, fmt.Errorf("查询用户失败: %v", err) } // 删除用户 err = model.Delete(l.ctx, l.svcCtx.DB, req.Id) if err != nil { return nil, fmt.Errorf("删除用户失败: %v", err) } l.Infof("删除用户成功: id=%d, username=%s", user.Id, user.Username) return &types.Response{ Code: 200, Message: "删除成功", Success: true, }, nil }