feat: implement new structure

This commit is contained in:
2025-12-29 09:30:49 +08:00
parent 503b15aab7
commit ad52371028
116 changed files with 17579 additions and 1213 deletions

View File

@@ -0,0 +1,15 @@
package services
import (
"context"
"mime/multipart"
common_dto "quyun/v2/app/http/v1/dto"
)
// @provider
type common struct{}
func (s *common) Upload(ctx context.Context, file *multipart.FileHeader, typeArg string) (*common_dto.UploadResult, error) {
return &common_dto.UploadResult{}, nil
}

View File

@@ -0,0 +1,63 @@
package services
import (
"context"
content_dto "quyun/v2/app/http/v1/dto"
user_dto "quyun/v2/app/http/v1/dto"
)
// @provider
type content struct{}
func (s *content) List(ctx context.Context, keyword, genre, tenantId, sort string, page int) (*content_dto.ContentListResponse, error) {
return &content_dto.ContentListResponse{}, nil
}
func (s *content) Get(ctx context.Context, id string) (*content_dto.ContentDetail, error) {
return &content_dto.ContentDetail{}, nil
}
func (s *content) ListComments(ctx context.Context, id string, page int) (*content_dto.CommentListResponse, error) {
return &content_dto.CommentListResponse{}, nil
}
func (s *content) CreateComment(ctx context.Context, id string, form *content_dto.CommentCreateForm) error {
return nil
}
func (s *content) LikeComment(ctx context.Context, id string) error {
return nil
}
func (s *content) GetLibrary(ctx context.Context) ([]user_dto.ContentItem, error) {
return []user_dto.ContentItem{}, nil
}
func (s *content) GetFavorites(ctx context.Context) ([]user_dto.ContentItem, error) {
return []user_dto.ContentItem{}, nil
}
func (s *content) AddFavorite(ctx context.Context, contentId string) error {
return nil
}
func (s *content) RemoveFavorite(ctx context.Context, contentId string) error {
return nil
}
func (s *content) GetLikes(ctx context.Context) ([]user_dto.ContentItem, error) {
return []user_dto.ContentItem{}, nil
}
func (s *content) AddLike(ctx context.Context, contentId string) error {
return nil
}
func (s *content) RemoveLike(ctx context.Context, contentId string) error {
return nil
}
func (s *content) ListTopics(ctx context.Context) ([]content_dto.Topic, error) {
return []content_dto.Topic{}, nil
}

View File

@@ -0,0 +1,66 @@
package services
import (
"context"
creator_dto "quyun/v2/app/http/v1/dto"
)
// @provider
type creator struct{}
func (s *creator) Apply(ctx context.Context, form *creator_dto.ApplyForm) error {
return nil
}
func (s *creator) Dashboard(ctx context.Context) (*creator_dto.DashboardStats, error) {
return &creator_dto.DashboardStats{}, nil
}
func (s *creator) ListContents(ctx context.Context, status, genre, keyword string) ([]creator_dto.ContentItem, error) {
return []creator_dto.ContentItem{}, nil
}
func (s *creator) CreateContent(ctx context.Context, form *creator_dto.ContentCreateForm) error {
return nil
}
func (s *creator) UpdateContent(ctx context.Context, id string, form *creator_dto.ContentUpdateForm) error {
return nil
}
func (s *creator) DeleteContent(ctx context.Context, id string) error {
return nil
}
func (s *creator) ListOrders(ctx context.Context, status, keyword string) ([]creator_dto.Order, error) {
return []creator_dto.Order{}, nil
}
func (s *creator) ProcessRefund(ctx context.Context, id string, form *creator_dto.RefundForm) error {
return nil
}
func (s *creator) GetSettings(ctx context.Context) (*creator_dto.Settings, error) {
return &creator_dto.Settings{}, nil
}
func (s *creator) UpdateSettings(ctx context.Context, form *creator_dto.Settings) error {
return nil
}
func (s *creator) ListPayoutAccounts(ctx context.Context) ([]creator_dto.PayoutAccount, error) {
return []creator_dto.PayoutAccount{}, nil
}
func (s *creator) AddPayoutAccount(ctx context.Context, form *creator_dto.PayoutAccount) error {
return nil
}
func (s *creator) RemovePayoutAccount(ctx context.Context, id string) error {
return nil
}
func (s *creator) Withdraw(ctx context.Context, form *creator_dto.WithdrawForm) error {
return nil
}

View File

@@ -0,0 +1,31 @@
package services
import (
"context"
transaction_dto "quyun/v2/app/http/v1/dto"
user_dto "quyun/v2/app/http/v1/dto"
)
// @provider
type order struct{}
func (s *order) ListUserOrders(ctx context.Context, status string) ([]user_dto.Order, error) {
return []user_dto.Order{}, nil
}
func (s *order) GetUserOrder(ctx context.Context, id string) (*user_dto.Order, error) {
return &user_dto.Order{}, nil
}
func (s *order) Create(ctx context.Context, form *transaction_dto.OrderCreateForm) (*transaction_dto.OrderCreateResponse, error) {
return &transaction_dto.OrderCreateResponse{}, nil
}
func (s *order) Pay(ctx context.Context, id string, form *transaction_dto.OrderPayForm) (*transaction_dto.OrderPayResponse, error) {
return &transaction_dto.OrderPayResponse{}, nil
}
func (s *order) Status(ctx context.Context, id string) (*transaction_dto.OrderStatusResponse, error) {
return &transaction_dto.OrderStatusResponse{}, nil
}

View File

@@ -1,9 +1,99 @@
package services
import (
"go.ipao.vip/atom"
"go.ipao.vip/atom/container"
"go.ipao.vip/atom/contracts"
"go.ipao.vip/atom/opt"
"gorm.io/gorm"
)
func Provide(opts ...opt.Option) error {
if err := container.Container.Provide(func() (*common, error) {
obj := &common{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*content, error) {
obj := &content{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*creator, error) {
obj := &creator{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*order, error) {
obj := &order{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func(
common *common,
content *content,
creator *creator,
db *gorm.DB,
order *order,
super *super,
tenant *tenant,
user *user,
wallet *wallet,
) (contracts.Initial, error) {
obj := &services{
common: common,
content: content,
creator: creator,
db: db,
order: order,
super: super,
tenant: tenant,
user: user,
wallet: wallet,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}, atom.GroupInitial); err != nil {
return err
}
if err := container.Container.Provide(func() (*super, error) {
obj := &super{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*tenant, error) {
obj := &tenant{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*user, error) {
obj := &user{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*wallet, error) {
obj := &wallet{}
return obj, nil
}); err != nil {
return err
}
return nil
}

View File

@@ -0,0 +1,49 @@
package services
import (
"gorm.io/gorm"
)
var _db *gorm.DB
// exported CamelCase Services
var (
Common *common
Content *content
Creator *creator
Order *order
Super *super
Tenant *tenant
User *user
Wallet *wallet
)
// @provider(model)
type services struct {
db *gorm.DB
// define Services
common *common
content *content
creator *creator
order *order
super *super
tenant *tenant
user *user
wallet *wallet
}
func (svc *services) Prepare() error {
_db = svc.db
// set exported Services here
Common = svc.common
Content = svc.content
Creator = svc.creator
Order = svc.order
Super = svc.super
Tenant = svc.tenant
User = svc.user
Wallet = svc.wallet
return nil
}

View File

@@ -0,0 +1,91 @@
package services
import (
"context"
super_dto "quyun/v2/app/http/v1/dto"
"quyun/v2/app/requests"
)
// @provider
type super struct{}
func (s *super) Login(ctx context.Context, form *super_dto.LoginForm) (*super_dto.LoginResponse, error) {
return &super_dto.LoginResponse{}, nil
}
func (s *super) CheckToken(ctx context.Context) (*super_dto.LoginResponse, error) {
return &super_dto.LoginResponse{}, nil
}
func (s *super) ListUsers(ctx context.Context, page, limit int, username string) (*requests.Pager, error) {
return &requests.Pager{}, nil
}
func (s *super) GetUser(ctx context.Context, id int64) (*super_dto.UserItem, error) {
return &super_dto.UserItem{}, nil
}
func (s *super) UpdateUserStatus(ctx context.Context, id int64, form *super_dto.UserStatusUpdateForm) error {
return nil
}
func (s *super) UpdateUserRoles(ctx context.Context, id int64, form *super_dto.UserRolesUpdateForm) error {
return nil
}
func (s *super) ListTenants(ctx context.Context, page, limit int, name string) (*requests.Pager, error) {
return &requests.Pager{}, nil
}
func (s *super) CreateTenant(ctx context.Context, form *super_dto.TenantCreateForm) error {
return nil
}
func (s *super) GetTenant(ctx context.Context, id int64) (*super_dto.TenantItem, error) {
return &super_dto.TenantItem{}, nil
}
func (s *super) UpdateTenantStatus(ctx context.Context, id int64, form *super_dto.TenantStatusUpdateForm) error {
return nil
}
func (s *super) UpdateTenantExpire(ctx context.Context, id int64, form *super_dto.TenantExpireUpdateForm) error {
return nil
}
func (s *super) ListContents(ctx context.Context, page, limit int) (*requests.Pager, error) {
return &requests.Pager{}, nil
}
func (s *super) UpdateContentStatus(ctx context.Context, tenantID, contentID int64, form *super_dto.SuperTenantContentStatusUpdateForm) error {
return nil
}
func (s *super) ListOrders(ctx context.Context, page, limit int) (*requests.Pager, error) {
return &requests.Pager{}, nil
}
func (s *super) GetOrder(ctx context.Context, id int64) (*super_dto.SuperOrderDetail, error) {
return &super_dto.SuperOrderDetail{}, nil
}
func (s *super) RefundOrder(ctx context.Context, id int64, form *super_dto.SuperOrderRefundForm) error {
return nil
}
func (s *super) OrderStatistics(ctx context.Context) (*super_dto.OrderStatisticsResponse, error) {
return &super_dto.OrderStatisticsResponse{}, nil
}
func (s *super) UserStatistics(ctx context.Context) ([]super_dto.UserStatistics, error) {
return []super_dto.UserStatistics{}, nil
}
func (s *super) UserStatuses(ctx context.Context) ([]requests.KV, error) {
return []requests.KV{}, nil
}
func (s *super) TenantStatuses(ctx context.Context) ([]requests.KV, error) {
return []requests.KV{}, nil
}

View File

@@ -0,0 +1,22 @@
package services
import (
"context"
tenant_dto "quyun/v2/app/http/v1/dto"
)
// @provider
type tenant struct{}
func (s *tenant) GetPublicProfile(ctx context.Context, id string) (*tenant_dto.TenantProfile, error) {
return &tenant_dto.TenantProfile{}, nil
}
func (s *tenant) Follow(ctx context.Context, id string) error {
return nil
}
func (s *tenant) Unfollow(ctx context.Context, id string) error {
return nil
}

View File

@@ -0,0 +1,35 @@
package services
import (
"context"
auth_dto "quyun/v2/app/http/v1/dto"
user_dto "quyun/v2/app/http/v1/dto"
)
// @provider
type user struct{}
func (s *user) SendOTP(ctx context.Context, phone string) error {
return nil
}
func (s *user) LoginWithOTP(ctx context.Context, phone, otp string) (*auth_dto.LoginResponse, error) {
return &auth_dto.LoginResponse{}, nil
}
func (s *user) Me(ctx context.Context) (*auth_dto.User, error) {
return &auth_dto.User{}, nil
}
func (s *user) Update(ctx context.Context, form *user_dto.UserUpdate) error {
return nil
}
func (s *user) RealName(ctx context.Context, form *user_dto.RealNameForm) error {
return nil
}
func (s *user) GetNotifications(ctx context.Context, typeArg string) ([]user_dto.Notification, error) {
return []user_dto.Notification{}, nil
}

View File

@@ -0,0 +1,18 @@
package services
import (
"context"
user_dto "quyun/v2/app/http/v1/dto"
)
// @provider
type wallet struct{}
func (s *wallet) GetWallet(ctx context.Context) (*user_dto.WalletResponse, error) {
return &user_dto.WalletResponse{}, nil
}
func (s *wallet) Recharge(ctx context.Context, form *user_dto.RechargeForm) (*user_dto.RechargeResponse, error) {
return &user_dto.RechargeResponse{}, nil
}