26 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package user
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	"tyapi-server/internal/application/user/dto/commands"
 | |
| 	"tyapi-server/internal/application/user/dto/queries"
 | |
| 	"tyapi-server/internal/application/user/dto/responses"
 | |
| )
 | |
| 
 | |
| // UserApplicationService 用户应用服务接口
 | |
| type UserApplicationService interface {
 | |
| 	Register(ctx context.Context, cmd *commands.RegisterUserCommand) (*responses.RegisterUserResponse, error)
 | |
| 	LoginWithPassword(ctx context.Context, cmd *commands.LoginWithPasswordCommand) (*responses.LoginUserResponse, error)
 | |
| 	LoginWithSMS(ctx context.Context, cmd *commands.LoginWithSMSCommand) (*responses.LoginUserResponse, error)
 | |
| 	ChangePassword(ctx context.Context, cmd *commands.ChangePasswordCommand) error
 | |
| 	ResetPassword(ctx context.Context, cmd *commands.ResetPasswordCommand) error
 | |
| 	GetUserProfile(ctx context.Context, userID string) (*responses.UserProfileResponse, error)
 | |
| 	SendCode(ctx context.Context, cmd *commands.SendCodeCommand, clientIP, userAgent string) error
 | |
| 	
 | |
| 	// 管理员功能
 | |
| 	ListUsers(ctx context.Context, query *queries.ListUsersQuery) (*responses.UserListResponse, error)
 | |
| 	GetUserDetail(ctx context.Context, userID string) (*responses.UserDetailResponse, error)
 | |
| 	GetUserStats(ctx context.Context) (*responses.UserStatsResponse, error)
 | |
| }
 |