diff --git a/internal/handler/admin/account.go b/internal/handler/admin/account.go index 3dff5ad..ae98720 100644 --- a/internal/handler/admin/account.go +++ b/internal/handler/admin/account.go @@ -10,7 +10,7 @@ import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" accountService "github.com/break/junhong_cmp_fiber/internal/service/account" ) @@ -27,7 +27,7 @@ func NewAccountHandler(service *accountService.Service) *AccountHandler { // Create 创建账号 // POST /api/v1/accounts func (h *AccountHandler) Create(c *fiber.Ctx) error { - var req model.CreateAccountRequest + var req dto.CreateAccountRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -64,7 +64,7 @@ func (h *AccountHandler) Update(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号 ID") } - var req model.UpdateAccountRequest + var req dto.UpdateAccountRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -95,7 +95,7 @@ func (h *AccountHandler) Delete(c *fiber.Ctx) error { // List 查询账号列表 // GET /api/v1/accounts func (h *AccountHandler) List(c *fiber.Ctx) error { - var req model.AccountListRequest + var req dto.AccountListRequest if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -116,7 +116,7 @@ func (h *AccountHandler) AssignRoles(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号 ID") } - var req model.AssignRolesRequest + var req dto.AssignRolesRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -173,7 +173,7 @@ func (h *AccountHandler) UpdatePassword(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号 ID") } - var req model.UpdatePasswordRequest + var req dto.UpdatePasswordRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -193,7 +193,7 @@ func (h *AccountHandler) UpdateStatus(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号 ID") } - var req model.UpdateStatusRequest + var req dto.UpdateStatusRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -208,7 +208,7 @@ func (h *AccountHandler) UpdateStatus(c *fiber.Ctx) error { // ListPlatformAccounts 查询平台账号列表 // GET /api/admin/platform-accounts func (h *AccountHandler) ListPlatformAccounts(c *fiber.Ctx) error { - var req model.PlatformAccountListRequest + var req dto.PlatformAccountListRequest if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/auth.go b/internal/handler/admin/auth.go index d522ce9..2464b8f 100644 --- a/internal/handler/admin/auth.go +++ b/internal/handler/admin/auth.go @@ -1,7 +1,7 @@ package admin import ( - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/auth" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/middleware" @@ -26,7 +26,7 @@ func NewAuthHandler(authService *auth.Service, validator *validator.Validate) *A // Login 后台登录 func (h *AuthHandler) Login(c *fiber.Ctx) error { - var req model.LoginRequest + var req dto.LoginRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -55,7 +55,7 @@ func (h *AuthHandler) Logout(c *fiber.Ctx) error { } refreshToken := "" - var req model.RefreshTokenRequest + var req dto.RefreshTokenRequest if err := c.BodyParser(&req); err == nil { refreshToken = req.RefreshToken } @@ -71,7 +71,7 @@ func (h *AuthHandler) Logout(c *fiber.Ctx) error { // RefreshToken 刷新访问令牌 func (h *AuthHandler) RefreshToken(c *fiber.Ctx) error { - var req model.RefreshTokenRequest + var req dto.RefreshTokenRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -87,7 +87,7 @@ func (h *AuthHandler) RefreshToken(c *fiber.Ctx) error { return err } - resp := &model.RefreshTokenResponse{ + resp := &dto.RefreshTokenResponse{ AccessToken: newAccessToken, ExpiresIn: 86400, } @@ -124,7 +124,7 @@ func (h *AuthHandler) ChangePassword(c *fiber.Ctx) error { return errors.New(errors.CodeUnauthorized, "未授权访问") } - var req model.ChangePasswordRequest + var req dto.ChangePasswordRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/commission_withdrawal.go b/internal/handler/admin/commission_withdrawal.go index 9400604..f966013 100644 --- a/internal/handler/admin/commission_withdrawal.go +++ b/internal/handler/admin/commission_withdrawal.go @@ -5,7 +5,7 @@ import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" commissionWithdrawalService "github.com/break/junhong_cmp_fiber/internal/service/commission_withdrawal" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -20,7 +20,7 @@ func NewCommissionWithdrawalHandler(service *commissionWithdrawalService.Service } func (h *CommissionWithdrawalHandler) ListWithdrawalRequests(c *fiber.Ctx) error { - var req model.WithdrawalRequestListReq + var req dto.WithdrawalRequestListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -39,7 +39,7 @@ func (h *CommissionWithdrawalHandler) ApproveWithdrawal(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的提现申请ID") } - var req model.ApproveWithdrawalReq + var req dto.ApproveWithdrawalReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -58,7 +58,7 @@ func (h *CommissionWithdrawalHandler) RejectWithdrawal(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的提现申请ID") } - var req model.RejectWithdrawalReq + var req dto.RejectWithdrawalReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/commission_withdrawal_setting.go b/internal/handler/admin/commission_withdrawal_setting.go index 5681b8a..bba565b 100644 --- a/internal/handler/admin/commission_withdrawal_setting.go +++ b/internal/handler/admin/commission_withdrawal_setting.go @@ -3,7 +3,7 @@ package admin import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" commissionWithdrawalSettingService "github.com/break/junhong_cmp_fiber/internal/service/commission_withdrawal_setting" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -18,7 +18,7 @@ func NewCommissionWithdrawalSettingHandler(service *commissionWithdrawalSettingS } func (h *CommissionWithdrawalSettingHandler) Create(c *fiber.Ctx) error { - var req model.CreateWithdrawalSettingReq + var req dto.CreateWithdrawalSettingReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -32,7 +32,7 @@ func (h *CommissionWithdrawalSettingHandler) Create(c *fiber.Ctx) error { } func (h *CommissionWithdrawalSettingHandler) List(c *fiber.Ctx) error { - var req model.WithdrawalSettingListReq + var req dto.WithdrawalSettingListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/customer_account.go b/internal/handler/admin/customer_account.go index 5c9ea81..77e4ba4 100644 --- a/internal/handler/admin/customer_account.go +++ b/internal/handler/admin/customer_account.go @@ -5,7 +5,7 @@ import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" customerAccountService "github.com/break/junhong_cmp_fiber/internal/service/customer_account" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -20,7 +20,7 @@ func NewCustomerAccountHandler(service *customerAccountService.Service) *Custome } func (h *CustomerAccountHandler) List(c *fiber.Ctx) error { - var req model.CustomerAccountListReq + var req dto.CustomerAccountListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -34,7 +34,7 @@ func (h *CustomerAccountHandler) List(c *fiber.Ctx) error { } func (h *CustomerAccountHandler) Create(c *fiber.Ctx) error { - var req model.CreateCustomerAccountReq + var req dto.CreateCustomerAccountReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -54,7 +54,7 @@ func (h *CustomerAccountHandler) Update(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号ID") } - var req model.UpdateCustomerAccountRequest + var req dto.UpdateCustomerAccountRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -74,7 +74,7 @@ func (h *CustomerAccountHandler) UpdatePassword(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号ID") } - var req model.UpdateCustomerAccountPasswordRequest + var req dto.UpdateCustomerAccountPasswordRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -93,7 +93,7 @@ func (h *CustomerAccountHandler) UpdateStatus(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号ID") } - var req model.UpdateCustomerAccountStatusRequest + var req dto.UpdateCustomerAccountStatusRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/enterprise.go b/internal/handler/admin/enterprise.go index f1650e9..63fb0b5 100644 --- a/internal/handler/admin/enterprise.go +++ b/internal/handler/admin/enterprise.go @@ -5,7 +5,7 @@ import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" enterpriseService "github.com/break/junhong_cmp_fiber/internal/service/enterprise" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -20,7 +20,7 @@ func NewEnterpriseHandler(service *enterpriseService.Service) *EnterpriseHandler } func (h *EnterpriseHandler) Create(c *fiber.Ctx) error { - var req model.CreateEnterpriseReq + var req dto.CreateEnterpriseReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -34,7 +34,7 @@ func (h *EnterpriseHandler) Create(c *fiber.Ctx) error { } func (h *EnterpriseHandler) List(c *fiber.Ctx) error { - var req model.EnterpriseListReq + var req dto.EnterpriseListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -54,7 +54,7 @@ func (h *EnterpriseHandler) Update(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的企业ID") } - var req model.UpdateEnterpriseBody + var req dto.UpdateEnterpriseBody if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -74,7 +74,7 @@ func (h *EnterpriseHandler) UpdateStatus(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的企业ID") } - var req model.UpdateEnterpriseStatusBody + var req dto.UpdateEnterpriseStatusBody if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -93,7 +93,7 @@ func (h *EnterpriseHandler) UpdatePassword(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的企业ID") } - var req model.UpdateEnterprisePasswordBody + var req dto.UpdateEnterprisePasswordBody if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/enterprise_card.go b/internal/handler/admin/enterprise_card.go index eb6239b..06c7719 100644 --- a/internal/handler/admin/enterprise_card.go +++ b/internal/handler/admin/enterprise_card.go @@ -5,7 +5,7 @@ import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" enterpriseCardService "github.com/break/junhong_cmp_fiber/internal/service/enterprise_card" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -26,7 +26,7 @@ func (h *EnterpriseCardHandler) AllocateCardsPreview(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的企业ID") } - var req model.AllocateCardsPreviewReq + var req dto.AllocateCardsPreviewReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -46,7 +46,7 @@ func (h *EnterpriseCardHandler) AllocateCards(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的企业ID") } - var req model.AllocateCardsReq + var req dto.AllocateCardsReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -66,7 +66,7 @@ func (h *EnterpriseCardHandler) RecallCards(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的企业ID") } - var req model.RecallCardsReq + var req dto.RecallCardsReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -86,7 +86,7 @@ func (h *EnterpriseCardHandler) ListCards(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的企业ID") } - var req model.EnterpriseCardListReq + var req dto.EnterpriseCardListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/my_commission.go b/internal/handler/admin/my_commission.go index af6e4ae..0e4d5f2 100644 --- a/internal/handler/admin/my_commission.go +++ b/internal/handler/admin/my_commission.go @@ -3,7 +3,7 @@ package admin import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" myCommissionService "github.com/break/junhong_cmp_fiber/internal/service/my_commission" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -27,7 +27,7 @@ func (h *MyCommissionHandler) GetSummary(c *fiber.Ctx) error { } func (h *MyCommissionHandler) CreateWithdrawal(c *fiber.Ctx) error { - var req model.CreateMyWithdrawalReq + var req dto.CreateMyWithdrawalReq if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -41,7 +41,7 @@ func (h *MyCommissionHandler) CreateWithdrawal(c *fiber.Ctx) error { } func (h *MyCommissionHandler) ListWithdrawals(c *fiber.Ctx) error { - var req model.MyWithdrawalListReq + var req dto.MyWithdrawalListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -55,7 +55,7 @@ func (h *MyCommissionHandler) ListWithdrawals(c *fiber.Ctx) error { } func (h *MyCommissionHandler) ListRecords(c *fiber.Ctx) error { - var req model.MyCommissionRecordListReq + var req dto.MyCommissionRecordListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/permission.go b/internal/handler/admin/permission.go index ed70909..bc20472 100644 --- a/internal/handler/admin/permission.go +++ b/internal/handler/admin/permission.go @@ -3,7 +3,7 @@ package admin import ( "strconv" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/pkg/errors" @@ -25,7 +25,7 @@ func NewPermissionHandler(service *permissionService.Service) *PermissionHandler // Create 创建权限 // POST /api/v1/permissions func (h *PermissionHandler) Create(c *fiber.Ctx) error { - var req model.CreatePermissionRequest + var req dto.CreatePermissionRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -62,7 +62,7 @@ func (h *PermissionHandler) Update(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的权限 ID") } - var req model.UpdatePermissionRequest + var req dto.UpdatePermissionRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -93,7 +93,7 @@ func (h *PermissionHandler) Delete(c *fiber.Ctx) error { // List 查询权限列表 // GET /api/v1/permissions func (h *PermissionHandler) List(c *fiber.Ctx) error { - var req model.PermissionListRequest + var req dto.PermissionListRequest if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/role.go b/internal/handler/admin/role.go index b7eb948..db86fb8 100644 --- a/internal/handler/admin/role.go +++ b/internal/handler/admin/role.go @@ -8,7 +8,7 @@ import ( "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" roleService "github.com/break/junhong_cmp_fiber/internal/service/role" ) @@ -25,7 +25,7 @@ func NewRoleHandler(service *roleService.Service) *RoleHandler { // Create 创建角色 // POST /api/v1/roles func (h *RoleHandler) Create(c *fiber.Ctx) error { - var req model.CreateRoleRequest + var req dto.CreateRoleRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -62,7 +62,7 @@ func (h *RoleHandler) Update(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的角色 ID") } - var req model.UpdateRoleRequest + var req dto.UpdateRoleRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -93,7 +93,7 @@ func (h *RoleHandler) Delete(c *fiber.Ctx) error { // List 查询角色列表 // GET /api/v1/roles func (h *RoleHandler) List(c *fiber.Ctx) error { - var req model.RoleListRequest + var req dto.RoleListRequest if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -114,7 +114,7 @@ func (h *RoleHandler) AssignPermissions(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的角色 ID") } - var req model.AssignPermissionsRequest + var req dto.AssignPermissionsRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -171,7 +171,7 @@ func (h *RoleHandler) UpdateStatus(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的角色 ID") } - var req model.UpdateRoleStatusRequest + var req dto.UpdateRoleStatusRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/shop.go b/internal/handler/admin/shop.go index 07a4cbf..6a06673 100644 --- a/internal/handler/admin/shop.go +++ b/internal/handler/admin/shop.go @@ -5,7 +5,7 @@ import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" shopService "github.com/break/junhong_cmp_fiber/internal/service/shop" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -20,7 +20,7 @@ func NewShopHandler(service *shopService.Service) *ShopHandler { } func (h *ShopHandler) List(c *fiber.Ctx) error { - var req model.ShopListRequest + var req dto.ShopListRequest if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -34,7 +34,7 @@ func (h *ShopHandler) List(c *fiber.Ctx) error { } func (h *ShopHandler) Create(c *fiber.Ctx) error { - var req model.CreateShopRequest + var req dto.CreateShopRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -53,7 +53,7 @@ func (h *ShopHandler) Update(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的店铺 ID") } - var req model.UpdateShopRequest + var req dto.UpdateShopRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/shop_account.go b/internal/handler/admin/shop_account.go index a9090b5..92b782d 100644 --- a/internal/handler/admin/shop_account.go +++ b/internal/handler/admin/shop_account.go @@ -5,7 +5,7 @@ import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" shopAccountService "github.com/break/junhong_cmp_fiber/internal/service/shop_account" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -20,7 +20,7 @@ func NewShopAccountHandler(service *shopAccountService.Service) *ShopAccountHand } func (h *ShopAccountHandler) List(c *fiber.Ctx) error { - var req model.ShopAccountListRequest + var req dto.ShopAccountListRequest if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -34,7 +34,7 @@ func (h *ShopAccountHandler) List(c *fiber.Ctx) error { } func (h *ShopAccountHandler) Create(c *fiber.Ctx) error { - var req model.CreateShopAccountRequest + var req dto.CreateShopAccountRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -53,7 +53,7 @@ func (h *ShopAccountHandler) Update(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号 ID") } - var req model.UpdateShopAccountRequest + var req dto.UpdateShopAccountRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -72,7 +72,7 @@ func (h *ShopAccountHandler) UpdatePassword(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号 ID") } - var req model.UpdateShopAccountPasswordRequest + var req dto.UpdateShopAccountPasswordRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -90,7 +90,7 @@ func (h *ShopAccountHandler) UpdateStatus(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的账号 ID") } - var req model.UpdateShopAccountStatusRequest + var req dto.UpdateShopAccountStatusRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/admin/shop_commission.go b/internal/handler/admin/shop_commission.go index 95fd890..e2a4a59 100644 --- a/internal/handler/admin/shop_commission.go +++ b/internal/handler/admin/shop_commission.go @@ -5,7 +5,7 @@ import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" shopCommissionService "github.com/break/junhong_cmp_fiber/internal/service/shop_commission" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/response" @@ -20,7 +20,7 @@ func NewShopCommissionHandler(service *shopCommissionService.Service) *ShopCommi } func (h *ShopCommissionHandler) ListCommissionSummary(c *fiber.Ctx) error { - var req model.ShopCommissionSummaryListReq + var req dto.ShopCommissionSummaryListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -39,7 +39,7 @@ func (h *ShopCommissionHandler) ListWithdrawalRequests(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的店铺 ID") } - var req model.ShopWithdrawalRequestListReq + var req dto.ShopWithdrawalRequestListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -58,7 +58,7 @@ func (h *ShopCommissionHandler) ListCommissionRecords(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam, "无效的店铺 ID") } - var req model.ShopCommissionRecordListReq + var req dto.ShopCommissionRecordListReq if err := c.QueryParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/handler/h5/auth.go b/internal/handler/h5/auth.go index 1b56e8c..c417852 100644 --- a/internal/handler/h5/auth.go +++ b/internal/handler/h5/auth.go @@ -1,7 +1,7 @@ package h5 import ( - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/auth" "github.com/break/junhong_cmp_fiber/pkg/errors" "github.com/break/junhong_cmp_fiber/pkg/middleware" @@ -26,7 +26,7 @@ func NewAuthHandler(authService *auth.Service, validator *validator.Validate) *A // Login H5登录 func (h *AuthHandler) Login(c *fiber.Ctx) error { - var req model.LoginRequest + var req dto.LoginRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -55,7 +55,7 @@ func (h *AuthHandler) Logout(c *fiber.Ctx) error { } refreshToken := "" - var req model.RefreshTokenRequest + var req dto.RefreshTokenRequest if err := c.BodyParser(&req); err == nil { refreshToken = req.RefreshToken } @@ -71,7 +71,7 @@ func (h *AuthHandler) Logout(c *fiber.Ctx) error { // RefreshToken 刷新访问令牌 func (h *AuthHandler) RefreshToken(c *fiber.Ctx) error { - var req model.RefreshTokenRequest + var req dto.RefreshTokenRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } @@ -87,7 +87,7 @@ func (h *AuthHandler) RefreshToken(c *fiber.Ctx) error { return err } - resp := &model.RefreshTokenResponse{ + resp := &dto.RefreshTokenResponse{ AccessToken: newAccessToken, ExpiresIn: 86400, } @@ -124,7 +124,7 @@ func (h *AuthHandler) ChangePassword(c *fiber.Ctx) error { return errors.New(errors.CodeUnauthorized, "未授权访问") } - var req model.ChangePasswordRequest + var req dto.ChangePasswordRequest if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } diff --git a/internal/model/account_dto.go b/internal/model/dto/account_dto.go similarity index 99% rename from internal/model/account_dto.go rename to internal/model/dto/account_dto.go index da86ac2..f759bc9 100644 --- a/internal/model/account_dto.go +++ b/internal/model/dto/account_dto.go @@ -1,4 +1,4 @@ -package model +package dto // CreateAccountRequest 创建账号请求 type CreateAccountRequest struct { diff --git a/internal/model/account_role_dto.go b/internal/model/dto/account_role_dto.go similarity index 97% rename from internal/model/account_role_dto.go rename to internal/model/dto/account_role_dto.go index 0b2ad8f..35ca16f 100644 --- a/internal/model/account_role_dto.go +++ b/internal/model/dto/account_role_dto.go @@ -1,4 +1,4 @@ -package model +package dto // AccountRoleResponse 账号-角色关联响应 type AccountRoleResponse struct { diff --git a/internal/model/auth_dto.go b/internal/model/dto/auth_dto.go similarity index 99% rename from internal/model/auth_dto.go rename to internal/model/dto/auth_dto.go index db6cfdc..b1a09c4 100644 --- a/internal/model/auth_dto.go +++ b/internal/model/dto/auth_dto.go @@ -1,4 +1,4 @@ -package model +package dto type LoginRequest struct { Username string `json:"username" validate:"required"` diff --git a/internal/model/commission_withdrawal_dto.go b/internal/model/dto/commission_withdrawal_dto.go similarity index 99% rename from internal/model/commission_withdrawal_dto.go rename to internal/model/dto/commission_withdrawal_dto.go index d9bf906..8268c5c 100644 --- a/internal/model/commission_withdrawal_dto.go +++ b/internal/model/dto/commission_withdrawal_dto.go @@ -1,4 +1,4 @@ -package model +package dto // WithdrawalRequestListReq 提现申请列表查询请求 type WithdrawalRequestListReq struct { diff --git a/internal/model/commission_withdrawal_setting_dto.go b/internal/model/dto/commission_withdrawal_setting_dto.go similarity index 99% rename from internal/model/commission_withdrawal_setting_dto.go rename to internal/model/dto/commission_withdrawal_setting_dto.go index 27fe880..4c88dd1 100644 --- a/internal/model/commission_withdrawal_setting_dto.go +++ b/internal/model/dto/commission_withdrawal_setting_dto.go @@ -1,4 +1,4 @@ -package model +package dto type CreateWithdrawalSettingReq struct { DailyWithdrawalLimit int `json:"daily_withdrawal_limit" validate:"required,min=1,max=100" required:"true" minimum:"1" maximum:"100" description:"每日提现次数限制"` diff --git a/internal/model/common.go b/internal/model/dto/common.go similarity index 97% rename from internal/model/common.go rename to internal/model/dto/common.go index f536430..d2a3315 100644 --- a/internal/model/common.go +++ b/internal/model/dto/common.go @@ -1,4 +1,4 @@ -package model +package dto // IDReq 通用 ID 路径参数请求 type IDReq struct { diff --git a/internal/model/customer_account_dto.go b/internal/model/dto/customer_account_dto.go similarity index 99% rename from internal/model/customer_account_dto.go rename to internal/model/dto/customer_account_dto.go index 4f51b71..15f8b65 100644 --- a/internal/model/customer_account_dto.go +++ b/internal/model/dto/customer_account_dto.go @@ -1,4 +1,4 @@ -package model +package dto type CustomerAccountListReq struct { Page int `json:"page" query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码"` diff --git a/internal/model/enterprise_card_authorization_dto.go b/internal/model/dto/enterprise_card_authorization_dto.go similarity index 99% rename from internal/model/enterprise_card_authorization_dto.go rename to internal/model/dto/enterprise_card_authorization_dto.go index bdecbb3..7be474e 100644 --- a/internal/model/enterprise_card_authorization_dto.go +++ b/internal/model/dto/enterprise_card_authorization_dto.go @@ -1,4 +1,4 @@ -package model +package dto type AllocateCardsPreviewReq struct { ID uint `json:"-" params:"id" path:"id" validate:"required" required:"true" description:"企业ID"` diff --git a/internal/model/enterprise_dto.go b/internal/model/dto/enterprise_dto.go similarity index 99% rename from internal/model/enterprise_dto.go rename to internal/model/dto/enterprise_dto.go index b7a7b7b..b08399b 100644 --- a/internal/model/enterprise_dto.go +++ b/internal/model/dto/enterprise_dto.go @@ -1,4 +1,4 @@ -package model +package dto type CreateEnterpriseReq struct { EnterpriseName string `json:"enterprise_name" validate:"required,max=100" required:"true" maximum:"100" description:"企业名称"` diff --git a/internal/model/my_commission_dto.go b/internal/model/dto/my_commission_dto.go similarity index 99% rename from internal/model/my_commission_dto.go rename to internal/model/dto/my_commission_dto.go index f3b247f..f64cd77 100644 --- a/internal/model/my_commission_dto.go +++ b/internal/model/dto/my_commission_dto.go @@ -1,4 +1,4 @@ -package model +package dto type MyCommissionSummaryResp struct { ShopID uint `json:"shop_id" description:"店铺ID"` diff --git a/internal/model/permission_dto.go b/internal/model/dto/permission_dto.go similarity index 99% rename from internal/model/permission_dto.go rename to internal/model/dto/permission_dto.go index d444020..54f95cd 100644 --- a/internal/model/permission_dto.go +++ b/internal/model/dto/permission_dto.go @@ -1,4 +1,4 @@ -package model +package dto // CreatePermissionRequest 创建权限请求 type CreatePermissionRequest struct { diff --git a/internal/model/personal_customer_dto.go b/internal/model/dto/personal_customer_dto.go similarity index 99% rename from internal/model/personal_customer_dto.go rename to internal/model/dto/personal_customer_dto.go index 664c528..9c784f2 100644 --- a/internal/model/personal_customer_dto.go +++ b/internal/model/dto/personal_customer_dto.go @@ -1,4 +1,4 @@ -package model +package dto // CreatePersonalCustomerRequest 创建个人客户请求 type CreatePersonalCustomerRequest struct { diff --git a/internal/model/role_dto.go b/internal/model/dto/role_dto.go similarity index 99% rename from internal/model/role_dto.go rename to internal/model/dto/role_dto.go index ae4599d..bdc6a74 100644 --- a/internal/model/role_dto.go +++ b/internal/model/dto/role_dto.go @@ -1,4 +1,4 @@ -package model +package dto // CreateRoleRequest 创建角色请求 type CreateRoleRequest struct { diff --git a/internal/model/role_permission_dto.go b/internal/model/dto/role_permission_dto.go similarity index 97% rename from internal/model/role_permission_dto.go rename to internal/model/dto/role_permission_dto.go index f6e7893..28a38d8 100644 --- a/internal/model/role_permission_dto.go +++ b/internal/model/dto/role_permission_dto.go @@ -1,4 +1,4 @@ -package model +package dto // RolePermissionResponse 角色-权限关联响应 type RolePermissionResponse struct { diff --git a/internal/model/shop_account_dto.go b/internal/model/dto/shop_account_dto.go similarity index 99% rename from internal/model/shop_account_dto.go rename to internal/model/dto/shop_account_dto.go index 2a95132..041851f 100644 --- a/internal/model/shop_account_dto.go +++ b/internal/model/dto/shop_account_dto.go @@ -1,4 +1,4 @@ -package model +package dto // ShopAccountListRequest 代理商账号列表查询请求 type ShopAccountListRequest struct { diff --git a/internal/model/shop_commission_dto.go b/internal/model/dto/shop_commission_dto.go similarity index 99% rename from internal/model/shop_commission_dto.go rename to internal/model/dto/shop_commission_dto.go index 08acfd0..50d5155 100644 --- a/internal/model/shop_commission_dto.go +++ b/internal/model/dto/shop_commission_dto.go @@ -1,4 +1,4 @@ -package model +package dto // ======================================== // 代理商佣金查询 DTO diff --git a/internal/model/shop_dto.go b/internal/model/dto/shop_dto.go similarity index 99% rename from internal/model/shop_dto.go rename to internal/model/dto/shop_dto.go index e88a936..2a849df 100644 --- a/internal/model/shop_dto.go +++ b/internal/model/dto/shop_dto.go @@ -1,4 +1,4 @@ -package model +package dto type ShopListRequest struct { Page int `json:"page" query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码"` diff --git a/internal/routes/account.go b/internal/routes/account.go index 4cc5a7a..f7be192 100644 --- a/internal/routes/account.go +++ b/internal/routes/account.go @@ -5,6 +5,7 @@ import ( "github.com/break/junhong_cmp_fiber/internal/handler/admin" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -17,39 +18,39 @@ func registerAccountRoutes(api fiber.Router, h *admin.AccountHandler, doc *opena Register(accounts, doc, groupPath, "POST", "", h.Create, RouteSpec{ Summary: "创建账号", Tags: []string{"账号相关"}, - Input: new(model.CreateAccountRequest), - Output: new(model.AccountResponse), + Input: new(dto.CreateAccountRequest), + Output: new(dto.AccountResponse), Auth: true, }) Register(accounts, doc, groupPath, "GET", "", h.List, RouteSpec{ Summary: "账号列表", Tags: []string{"账号相关"}, - Input: new(model.AccountListRequest), - Output: new(model.AccountPageResult), + Input: new(dto.AccountListRequest), + Output: new(dto.AccountPageResult), Auth: true, }) Register(accounts, doc, groupPath, "GET", "/:id", h.Get, RouteSpec{ Summary: "获取账号详情", Tags: []string{"账号相关"}, - Input: new(model.IDReq), - Output: new(model.AccountResponse), + Input: new(dto.IDReq), + Output: new(dto.AccountResponse), Auth: true, }) Register(accounts, doc, groupPath, "PUT", "/:id", h.Update, RouteSpec{ Summary: "更新账号", Tags: []string{"账号相关"}, - Input: new(model.UpdateAccountParams), - Output: new(model.AccountResponse), + Input: new(dto.UpdateAccountParams), + Output: new(dto.AccountResponse), Auth: true, }) Register(accounts, doc, groupPath, "DELETE", "/:id", h.Delete, RouteSpec{ Summary: "删除账号", Tags: []string{"账号相关"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: nil, Auth: true, }) @@ -58,14 +59,14 @@ func registerAccountRoutes(api fiber.Router, h *admin.AccountHandler, doc *opena Register(accounts, doc, groupPath, "POST", "/:id/roles", h.AssignRoles, RouteSpec{ Summary: "分配角色", Tags: []string{"账号相关"}, - Input: new(model.AssignRolesParams), + Input: new(dto.AssignRolesParams), Output: nil, // TODO: Define AccountRole response DTO }) Register(accounts, doc, groupPath, "GET", "/:id/roles", h.GetRoles, RouteSpec{ Summary: "获取账号角色", Tags: []string{"账号相关"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: new([]model.Role), Auth: true, }) @@ -73,7 +74,7 @@ func registerAccountRoutes(api fiber.Router, h *admin.AccountHandler, doc *opena Register(accounts, doc, groupPath, "DELETE", "/:account_id/roles/:role_id", h.RemoveRole, RouteSpec{ Summary: "移除角色", Tags: []string{"账号相关"}, - Input: new(model.RemoveRoleParams), + Input: new(dto.RemoveRoleParams), Output: nil, Auth: true, }) @@ -88,39 +89,39 @@ func registerPlatformAccountRoutes(api fiber.Router, h *admin.AccountHandler, do Register(platformAccounts, doc, groupPath, "GET", "", h.ListPlatformAccounts, RouteSpec{ Summary: "平台账号列表", Tags: []string{"平台账号"}, - Input: new(model.PlatformAccountListRequest), - Output: new(model.AccountPageResult), + Input: new(dto.PlatformAccountListRequest), + Output: new(dto.AccountPageResult), Auth: true, }) Register(platformAccounts, doc, groupPath, "POST", "", h.Create, RouteSpec{ Summary: "新增平台账号", Tags: []string{"平台账号"}, - Input: new(model.CreateAccountRequest), - Output: new(model.AccountResponse), + Input: new(dto.CreateAccountRequest), + Output: new(dto.AccountResponse), Auth: true, }) Register(platformAccounts, doc, groupPath, "GET", "/:id", h.Get, RouteSpec{ Summary: "获取平台账号详情", Tags: []string{"平台账号"}, - Input: new(model.IDReq), - Output: new(model.AccountResponse), + Input: new(dto.IDReq), + Output: new(dto.AccountResponse), Auth: true, }) Register(platformAccounts, doc, groupPath, "PUT", "/:id", h.Update, RouteSpec{ Summary: "编辑平台账号", Tags: []string{"平台账号"}, - Input: new(model.UpdateAccountParams), - Output: new(model.AccountResponse), + Input: new(dto.UpdateAccountParams), + Output: new(dto.AccountResponse), Auth: true, }) Register(platformAccounts, doc, groupPath, "DELETE", "/:id", h.Delete, RouteSpec{ Summary: "删除平台账号", Tags: []string{"平台账号"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: nil, Auth: true, }) @@ -128,7 +129,7 @@ func registerPlatformAccountRoutes(api fiber.Router, h *admin.AccountHandler, do Register(platformAccounts, doc, groupPath, "PUT", "/:id/password", h.UpdatePassword, RouteSpec{ Summary: "修改密码", Tags: []string{"平台账号"}, - Input: new(model.UpdatePasswordParams), + Input: new(dto.UpdatePasswordParams), Output: nil, Auth: true, }) @@ -136,7 +137,7 @@ func registerPlatformAccountRoutes(api fiber.Router, h *admin.AccountHandler, do Register(platformAccounts, doc, groupPath, "PUT", "/:id/status", h.UpdateStatus, RouteSpec{ Summary: "启用/禁用账号", Tags: []string{"平台账号"}, - Input: new(model.UpdateStatusParams), + Input: new(dto.UpdateStatusParams), Output: nil, Auth: true, }) @@ -144,7 +145,7 @@ func registerPlatformAccountRoutes(api fiber.Router, h *admin.AccountHandler, do Register(platformAccounts, doc, groupPath, "POST", "/:id/roles", h.AssignRoles, RouteSpec{ Summary: "分配角色", Tags: []string{"平台账号"}, - Input: new(model.AssignRolesParams), + Input: new(dto.AssignRolesParams), Output: nil, Auth: true, }) @@ -152,7 +153,7 @@ func registerPlatformAccountRoutes(api fiber.Router, h *admin.AccountHandler, do Register(platformAccounts, doc, groupPath, "GET", "/:id/roles", h.GetRoles, RouteSpec{ Summary: "获取账号角色", Tags: []string{"平台账号"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: new([]model.Role), Auth: true, }) @@ -160,7 +161,7 @@ func registerPlatformAccountRoutes(api fiber.Router, h *admin.AccountHandler, do Register(platformAccounts, doc, groupPath, "DELETE", "/:account_id/roles/:role_id", h.RemoveRole, RouteSpec{ Summary: "移除角色", Tags: []string{"平台账号"}, - Input: new(model.RemoveRoleParams), + Input: new(dto.RemoveRoleParams), Output: nil, Auth: true, }) diff --git a/internal/routes/admin.go b/internal/routes/admin.go index 337bb6a..31eb78e 100644 --- a/internal/routes/admin.go +++ b/internal/routes/admin.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/bootstrap" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -66,16 +66,16 @@ func registerAdminAuthRoutes(router fiber.Router, handler interface{}, authMiddl Register(router, doc, basePath, "POST", "/login", h.Login, RouteSpec{ Summary: "后台登录", Tags: []string{"认证"}, - Input: new(model.LoginRequest), - Output: new(model.LoginResponse), + Input: new(dto.LoginRequest), + Output: new(dto.LoginResponse), Auth: false, }) Register(router, doc, basePath, "POST", "/refresh-token", h.RefreshToken, RouteSpec{ Summary: "刷新 Token", Tags: []string{"认证"}, - Input: new(model.RefreshTokenRequest), - Output: new(model.RefreshTokenResponse), + Input: new(dto.RefreshTokenRequest), + Output: new(dto.RefreshTokenResponse), Auth: false, }) @@ -93,14 +93,14 @@ func registerAdminAuthRoutes(router fiber.Router, handler interface{}, authMiddl Summary: "获取当前用户信息", Tags: []string{"认证"}, Input: nil, - Output: new(model.UserInfo), + Output: new(dto.UserInfo), Auth: true, }) Register(authGroup, doc, basePath, "PUT", "/password", h.ChangePassword, RouteSpec{ Summary: "修改密码", Tags: []string{"认证"}, - Input: new(model.ChangePasswordRequest), + Input: new(dto.ChangePasswordRequest), Output: nil, Auth: true, }) diff --git a/internal/routes/commission.go b/internal/routes/commission.go index c4c7a70..169e41d 100644 --- a/internal/routes/commission.go +++ b/internal/routes/commission.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/handler/admin" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -15,24 +15,24 @@ func registerCommissionWithdrawalRoutes(router fiber.Router, handler *admin.Comm Register(commission, doc, groupPath, "GET", "/withdrawal-requests", handler.ListWithdrawalRequests, RouteSpec{ Summary: "提现申请列表", Tags: []string{"佣金提现审批"}, - Input: new(model.WithdrawalRequestListReq), - Output: new(model.WithdrawalRequestPageResult), + Input: new(dto.WithdrawalRequestListReq), + Output: new(dto.WithdrawalRequestPageResult), Auth: true, }) Register(commission, doc, groupPath, "POST", "/withdrawal-requests/:id/approve", handler.ApproveWithdrawal, RouteSpec{ Summary: "审批通过提现申请", Tags: []string{"佣金提现审批"}, - Input: new(model.ApproveWithdrawalReq), - Output: new(model.WithdrawalApprovalResp), + Input: new(dto.ApproveWithdrawalReq), + Output: new(dto.WithdrawalApprovalResp), Auth: true, }) Register(commission, doc, groupPath, "POST", "/withdrawal-requests/:id/reject", handler.RejectWithdrawal, RouteSpec{ Summary: "拒绝提现申请", Tags: []string{"佣金提现审批"}, - Input: new(model.RejectWithdrawalReq), - Output: new(model.WithdrawalApprovalResp), + Input: new(dto.RejectWithdrawalReq), + Output: new(dto.WithdrawalApprovalResp), Auth: true, }) } @@ -45,16 +45,16 @@ func registerCommissionWithdrawalSettingRoutes(router fiber.Router, handler *adm Register(commission, doc, groupPath, "POST", "/withdrawal-settings", handler.Create, RouteSpec{ Summary: "新增提现配置", Tags: []string{"提现配置管理"}, - Input: new(model.CreateWithdrawalSettingReq), - Output: new(model.WithdrawalSettingItem), + Input: new(dto.CreateWithdrawalSettingReq), + Output: new(dto.WithdrawalSettingItem), Auth: true, }) Register(commission, doc, groupPath, "GET", "/withdrawal-settings", handler.List, RouteSpec{ Summary: "提现配置列表", Tags: []string{"提现配置管理"}, - Input: new(model.WithdrawalSettingListReq), - Output: new(model.WithdrawalSettingPageResult), + Input: new(dto.WithdrawalSettingListReq), + Output: new(dto.WithdrawalSettingPageResult), Auth: true, }) @@ -62,7 +62,7 @@ func registerCommissionWithdrawalSettingRoutes(router fiber.Router, handler *adm Summary: "获取当前生效的提现配置", Tags: []string{"提现配置管理"}, Input: nil, - Output: new(model.WithdrawalSettingItem), + Output: new(dto.WithdrawalSettingItem), Auth: true, }) } diff --git a/internal/routes/customer_account.go b/internal/routes/customer_account.go index 787084e..dc660fb 100644 --- a/internal/routes/customer_account.go +++ b/internal/routes/customer_account.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/handler/admin" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -15,31 +15,31 @@ func registerCustomerAccountRoutes(router fiber.Router, handler *admin.CustomerA Register(accounts, doc, groupPath, "GET", "", handler.List, RouteSpec{ Summary: "客户账号列表", Tags: []string{"客户账号管理"}, - Input: new(model.CustomerAccountListReq), - Output: new(model.CustomerAccountPageResult), + Input: new(dto.CustomerAccountListReq), + Output: new(dto.CustomerAccountPageResult), Auth: true, }) Register(accounts, doc, groupPath, "POST", "", handler.Create, RouteSpec{ Summary: "新增代理商账号", Tags: []string{"客户账号管理"}, - Input: new(model.CreateCustomerAccountReq), - Output: new(model.CustomerAccountItem), + Input: new(dto.CreateCustomerAccountReq), + Output: new(dto.CustomerAccountItem), Auth: true, }) Register(accounts, doc, groupPath, "PUT", "/:id", handler.Update, RouteSpec{ Summary: "编辑账号", Tags: []string{"客户账号管理"}, - Input: new(model.UpdateCustomerAccountReq), - Output: new(model.CustomerAccountItem), + Input: new(dto.UpdateCustomerAccountReq), + Output: new(dto.CustomerAccountItem), Auth: true, }) Register(accounts, doc, groupPath, "PUT", "/:id/password", handler.UpdatePassword, RouteSpec{ Summary: "修改账号密码", Tags: []string{"客户账号管理"}, - Input: new(model.UpdateCustomerAccountPasswordReq), + Input: new(dto.UpdateCustomerAccountPasswordReq), Output: nil, Auth: true, }) @@ -47,7 +47,7 @@ func registerCustomerAccountRoutes(router fiber.Router, handler *admin.CustomerA Register(accounts, doc, groupPath, "PUT", "/:id/status", handler.UpdateStatus, RouteSpec{ Summary: "修改账号状态", Tags: []string{"客户账号管理"}, - Input: new(model.UpdateCustomerAccountStatusReq), + Input: new(dto.UpdateCustomerAccountStatusReq), Output: nil, Auth: true, }) diff --git a/internal/routes/enterprise.go b/internal/routes/enterprise.go index faef454..07f5a64 100644 --- a/internal/routes/enterprise.go +++ b/internal/routes/enterprise.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/handler/admin" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -15,31 +15,31 @@ func registerEnterpriseRoutes(router fiber.Router, handler *admin.EnterpriseHand Register(enterprises, doc, groupPath, "POST", "", handler.Create, RouteSpec{ Summary: "新增企业客户", Tags: []string{"企业客户管理"}, - Input: new(model.CreateEnterpriseReq), - Output: new(model.CreateEnterpriseResp), + Input: new(dto.CreateEnterpriseReq), + Output: new(dto.CreateEnterpriseResp), Auth: true, }) Register(enterprises, doc, groupPath, "GET", "", handler.List, RouteSpec{ Summary: "查询企业客户列表", Tags: []string{"企业客户管理"}, - Input: new(model.EnterpriseListReq), - Output: new(model.EnterprisePageResult), + Input: new(dto.EnterpriseListReq), + Output: new(dto.EnterprisePageResult), Auth: true, }) Register(enterprises, doc, groupPath, "PUT", "/:id", handler.Update, RouteSpec{ Summary: "编辑企业信息", Tags: []string{"企业客户管理"}, - Input: new(model.UpdateEnterpriseReq), - Output: new(model.EnterpriseItem), + Input: new(dto.UpdateEnterpriseReq), + Output: new(dto.EnterpriseItem), Auth: true, }) Register(enterprises, doc, groupPath, "PUT", "/:id/status", handler.UpdateStatus, RouteSpec{ Summary: "启用/禁用企业", Tags: []string{"企业客户管理"}, - Input: new(model.UpdateEnterpriseStatusReq), + Input: new(dto.UpdateEnterpriseStatusReq), Output: nil, Auth: true, }) @@ -47,7 +47,7 @@ func registerEnterpriseRoutes(router fiber.Router, handler *admin.EnterpriseHand Register(enterprises, doc, groupPath, "PUT", "/:id/password", handler.UpdatePassword, RouteSpec{ Summary: "修改企业账号密码", Tags: []string{"企业客户管理"}, - Input: new(model.UpdateEnterprisePasswordReq), + Input: new(dto.UpdateEnterprisePasswordReq), Output: nil, Auth: true, }) diff --git a/internal/routes/enterprise_card.go b/internal/routes/enterprise_card.go index 2c8206c..f9d0101 100644 --- a/internal/routes/enterprise_card.go +++ b/internal/routes/enterprise_card.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/handler/admin" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -15,39 +15,39 @@ func registerEnterpriseCardRoutes(router fiber.Router, handler *admin.Enterprise Register(enterprises, doc, groupPath, "POST", "/:id/allocate-cards/preview", handler.AllocateCardsPreview, RouteSpec{ Summary: "卡授权预检", Tags: []string{"企业卡授权"}, - Input: new(model.AllocateCardsPreviewReq), - Output: new(model.AllocateCardsPreviewResp), + Input: new(dto.AllocateCardsPreviewReq), + Output: new(dto.AllocateCardsPreviewResp), Auth: true, }) Register(enterprises, doc, groupPath, "POST", "/:id/allocate-cards", handler.AllocateCards, RouteSpec{ Summary: "授权卡给企业", Tags: []string{"企业卡授权"}, - Input: new(model.AllocateCardsReq), - Output: new(model.AllocateCardsResp), + Input: new(dto.AllocateCardsReq), + Output: new(dto.AllocateCardsResp), Auth: true, }) Register(enterprises, doc, groupPath, "POST", "/:id/recall-cards", handler.RecallCards, RouteSpec{ Summary: "回收卡授权", Tags: []string{"企业卡授权"}, - Input: new(model.RecallCardsReq), - Output: new(model.RecallCardsResp), + Input: new(dto.RecallCardsReq), + Output: new(dto.RecallCardsResp), Auth: true, }) Register(enterprises, doc, groupPath, "GET", "/:id/cards", handler.ListCards, RouteSpec{ Summary: "企业卡列表", Tags: []string{"企业卡授权"}, - Input: new(model.EnterpriseCardListReq), - Output: new(model.EnterpriseCardPageResult), + Input: new(dto.EnterpriseCardListReq), + Output: new(dto.EnterpriseCardPageResult), Auth: true, }) Register(enterprises, doc, groupPath, "POST", "/:id/cards/:card_id/suspend", handler.SuspendCard, RouteSpec{ Summary: "停机卡", Tags: []string{"企业卡授权"}, - Input: new(model.SuspendCardReq), + Input: new(dto.SuspendCardReq), Output: nil, Auth: true, }) @@ -55,7 +55,7 @@ func registerEnterpriseCardRoutes(router fiber.Router, handler *admin.Enterprise Register(enterprises, doc, groupPath, "POST", "/:id/cards/:card_id/resume", handler.ResumeCard, RouteSpec{ Summary: "复机卡", Tags: []string{"企业卡授权"}, - Input: new(model.ResumeCardReq), + Input: new(dto.ResumeCardReq), Output: nil, Auth: true, }) diff --git a/internal/routes/h5.go b/internal/routes/h5.go index 1054433..9c163b4 100644 --- a/internal/routes/h5.go +++ b/internal/routes/h5.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/bootstrap" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -27,16 +27,16 @@ func registerH5AuthRoutes(router fiber.Router, handler interface{}, authMiddlewa Register(router, doc, basePath, "POST", "/login", h.Login, RouteSpec{ Summary: "H5 登录", Tags: []string{"H5 认证"}, - Input: new(model.LoginRequest), - Output: new(model.LoginResponse), + Input: new(dto.LoginRequest), + Output: new(dto.LoginResponse), Auth: false, }) Register(router, doc, basePath, "POST", "/refresh-token", h.RefreshToken, RouteSpec{ Summary: "刷新 Token", Tags: []string{"H5 认证"}, - Input: new(model.RefreshTokenRequest), - Output: new(model.RefreshTokenResponse), + Input: new(dto.RefreshTokenRequest), + Output: new(dto.RefreshTokenResponse), Auth: false, }) @@ -54,14 +54,14 @@ func registerH5AuthRoutes(router fiber.Router, handler interface{}, authMiddlewa Summary: "获取当前用户信息", Tags: []string{"H5 认证"}, Input: nil, - Output: new(model.UserInfo), + Output: new(dto.UserInfo), Auth: true, }) Register(authGroup, doc, basePath, "PUT", "/password", h.ChangePassword, RouteSpec{ Summary: "修改密码", Tags: []string{"H5 认证"}, - Input: new(model.ChangePasswordRequest), + Input: new(dto.ChangePasswordRequest), Output: nil, Auth: true, }) diff --git a/internal/routes/my_commission.go b/internal/routes/my_commission.go index 1835749..4ba38ce 100644 --- a/internal/routes/my_commission.go +++ b/internal/routes/my_commission.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/handler/admin" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -16,31 +16,31 @@ func registerMyCommissionRoutes(router fiber.Router, handler *admin.MyCommission Summary: "我的佣金概览", Tags: []string{"我的佣金"}, Input: nil, - Output: new(model.MyCommissionSummaryResp), + Output: new(dto.MyCommissionSummaryResp), Auth: true, }) Register(my, doc, groupPath, "POST", "/withdrawal-requests", handler.CreateWithdrawal, RouteSpec{ Summary: "发起提现申请", Tags: []string{"我的佣金"}, - Input: new(model.CreateMyWithdrawalReq), - Output: new(model.CreateMyWithdrawalResp), + Input: new(dto.CreateMyWithdrawalReq), + Output: new(dto.CreateMyWithdrawalResp), Auth: true, }) Register(my, doc, groupPath, "GET", "/withdrawal-requests", handler.ListWithdrawals, RouteSpec{ Summary: "我的提现记录", Tags: []string{"我的佣金"}, - Input: new(model.MyWithdrawalListReq), - Output: new(model.WithdrawalRequestPageResult), + Input: new(dto.MyWithdrawalListReq), + Output: new(dto.WithdrawalRequestPageResult), Auth: true, }) Register(my, doc, groupPath, "GET", "/commission-records", handler.ListRecords, RouteSpec{ Summary: "我的佣金明细", Tags: []string{"我的佣金"}, - Input: new(model.MyCommissionRecordListReq), - Output: new(model.MyCommissionRecordPageResult), + Input: new(dto.MyCommissionRecordListReq), + Output: new(dto.MyCommissionRecordPageResult), Auth: true, }) } diff --git a/internal/routes/permission.go b/internal/routes/permission.go index c2b3a39..5454769 100644 --- a/internal/routes/permission.go +++ b/internal/routes/permission.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/handler/admin" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -17,16 +17,16 @@ func registerPermissionRoutes(api fiber.Router, h *admin.PermissionHandler, doc Register(permissions, doc, groupPath, "POST", "", h.Create, RouteSpec{ Summary: "创建权限", Tags: []string{"权限"}, - Input: new(model.CreatePermissionRequest), - Output: new(model.PermissionResponse), + Input: new(dto.CreatePermissionRequest), + Output: new(dto.PermissionResponse), Auth: true, }) Register(permissions, doc, groupPath, "GET", "", h.List, RouteSpec{ Summary: "权限列表", Tags: []string{"权限"}, - Input: new(model.PermissionListRequest), - Output: new(model.PermissionPageResult), + Input: new(dto.PermissionListRequest), + Output: new(dto.PermissionPageResult), Auth: true, }) @@ -34,30 +34,30 @@ func registerPermissionRoutes(api fiber.Router, h *admin.PermissionHandler, doc Summary: "获取权限树", Tags: []string{"权限"}, Input: nil, // 无参数或 Query 参数 - Output: new([]*model.PermissionTreeNode), + Output: new([]*dto.PermissionTreeNode), Auth: true, }) Register(permissions, doc, groupPath, "GET", "/:id", h.Get, RouteSpec{ Summary: "获取权限详情", Tags: []string{"权限"}, - Input: new(model.IDReq), - Output: new(model.PermissionResponse), + Input: new(dto.IDReq), + Output: new(dto.PermissionResponse), Auth: true, }) Register(permissions, doc, groupPath, "PUT", "/:id", h.Update, RouteSpec{ Summary: "更新权限", Tags: []string{"权限"}, - Input: new(model.UpdatePermissionParams), - Output: new(model.PermissionResponse), + Input: new(dto.UpdatePermissionParams), + Output: new(dto.PermissionResponse), Auth: true, }) Register(permissions, doc, groupPath, "DELETE", "/:id", h.Delete, RouteSpec{ Summary: "删除权限", Tags: []string{"权限"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: nil, Auth: true, }) diff --git a/internal/routes/role.go b/internal/routes/role.go index 458c215..68ad06c 100644 --- a/internal/routes/role.go +++ b/internal/routes/role.go @@ -5,6 +5,7 @@ import ( "github.com/break/junhong_cmp_fiber/internal/handler/admin" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -17,39 +18,39 @@ func registerRoleRoutes(api fiber.Router, h *admin.RoleHandler, doc *openapi.Gen Register(roles, doc, groupPath, "POST", "", h.Create, RouteSpec{ Summary: "创建角色", Tags: []string{"角色"}, - Input: new(model.CreateRoleRequest), - Output: new(model.RoleResponse), + Input: new(dto.CreateRoleRequest), + Output: new(dto.RoleResponse), Auth: true, }) Register(roles, doc, groupPath, "GET", "", h.List, RouteSpec{ Summary: "角色列表", Tags: []string{"角色"}, - Input: new(model.RoleListRequest), - Output: new(model.RolePageResult), + Input: new(dto.RoleListRequest), + Output: new(dto.RolePageResult), Auth: true, }) Register(roles, doc, groupPath, "GET", "/:id", h.Get, RouteSpec{ Summary: "获取角色详情", Tags: []string{"角色"}, - Input: new(model.IDReq), - Output: new(model.RoleResponse), + Input: new(dto.IDReq), + Output: new(dto.RoleResponse), Auth: true, }) Register(roles, doc, groupPath, "PUT", "/:id", h.Update, RouteSpec{ Summary: "更新角色", Tags: []string{"角色"}, - Input: new(model.UpdateRoleParams), - Output: new(model.RoleResponse), + Input: new(dto.UpdateRoleParams), + Output: new(dto.RoleResponse), Auth: true, }) Register(roles, doc, groupPath, "PUT", "/:id/status", h.UpdateStatus, RouteSpec{ Summary: "更新角色状态", Tags: []string{"角色"}, - Input: new(model.UpdateRoleStatusParams), + Input: new(dto.UpdateRoleStatusParams), Output: nil, Auth: true, }) @@ -57,7 +58,7 @@ func registerRoleRoutes(api fiber.Router, h *admin.RoleHandler, doc *openapi.Gen Register(roles, doc, groupPath, "DELETE", "/:id", h.Delete, RouteSpec{ Summary: "删除角色", Tags: []string{"角色"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: nil, Auth: true, }) @@ -66,7 +67,7 @@ func registerRoleRoutes(api fiber.Router, h *admin.RoleHandler, doc *openapi.Gen Register(roles, doc, groupPath, "POST", "/:id/permissions", h.AssignPermissions, RouteSpec{ Summary: "分配权限", Tags: []string{"角色"}, - Input: new(model.AssignPermissionsParams), + Input: new(dto.AssignPermissionsParams), Output: nil, Auth: true, }) @@ -74,7 +75,7 @@ func registerRoleRoutes(api fiber.Router, h *admin.RoleHandler, doc *openapi.Gen Register(roles, doc, groupPath, "GET", "/:id/permissions", h.GetPermissions, RouteSpec{ Summary: "获取角色权限", Tags: []string{"角色"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: new([]model.Permission), Auth: true, }) @@ -82,7 +83,7 @@ func registerRoleRoutes(api fiber.Router, h *admin.RoleHandler, doc *openapi.Gen Register(roles, doc, groupPath, "DELETE", "/:role_id/permissions/:perm_id", h.RemovePermission, RouteSpec{ Summary: "移除权限", Tags: []string{"角色"}, - Input: new(model.RemovePermissionParams), + Input: new(dto.RemovePermissionParams), Output: nil, Auth: true, }) diff --git a/internal/routes/shop.go b/internal/routes/shop.go index 234668c..1001763 100644 --- a/internal/routes/shop.go +++ b/internal/routes/shop.go @@ -4,7 +4,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/handler/admin" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) @@ -15,31 +15,31 @@ func registerShopRoutes(router fiber.Router, handler *admin.ShopHandler, doc *op Register(shops, doc, groupPath, "GET", "", handler.List, RouteSpec{ Summary: "店铺列表", Tags: []string{"店铺管理"}, - Input: new(model.ShopListRequest), - Output: new(model.ShopPageResult), + Input: new(dto.ShopListRequest), + Output: new(dto.ShopPageResult), Auth: true, }) Register(shops, doc, groupPath, "POST", "", handler.Create, RouteSpec{ Summary: "创建店铺", Tags: []string{"店铺管理"}, - Input: new(model.CreateShopRequest), - Output: new(model.ShopResponse), + Input: new(dto.CreateShopRequest), + Output: new(dto.ShopResponse), Auth: true, }) Register(shops, doc, groupPath, "PUT", "/:id", handler.Update, RouteSpec{ Summary: "更新店铺", Tags: []string{"店铺管理"}, - Input: new(model.UpdateShopParams), - Output: new(model.ShopResponse), + Input: new(dto.UpdateShopParams), + Output: new(dto.ShopResponse), Auth: true, }) Register(shops, doc, groupPath, "DELETE", "/:id", handler.Delete, RouteSpec{ Summary: "删除店铺", Tags: []string{"店铺管理"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: nil, Auth: true, }) @@ -52,31 +52,31 @@ func registerShopAccountRoutes(router fiber.Router, handler *admin.ShopAccountHa Register(shopAccounts, doc, groupPath, "GET", "", handler.List, RouteSpec{ Summary: "代理账号列表", Tags: []string{"代理账号管理"}, - Input: new(model.ShopAccountListRequest), - Output: new(model.ShopAccountPageResult), + Input: new(dto.ShopAccountListRequest), + Output: new(dto.ShopAccountPageResult), Auth: true, }) Register(shopAccounts, doc, groupPath, "POST", "", handler.Create, RouteSpec{ Summary: "创建代理账号", Tags: []string{"代理账号管理"}, - Input: new(model.CreateShopAccountRequest), - Output: new(model.ShopAccountResponse), + Input: new(dto.CreateShopAccountRequest), + Output: new(dto.ShopAccountResponse), Auth: true, }) Register(shopAccounts, doc, groupPath, "PUT", "/:id", handler.Update, RouteSpec{ Summary: "更新代理账号", Tags: []string{"代理账号管理"}, - Input: new(model.UpdateShopAccountParams), - Output: new(model.ShopAccountResponse), + Input: new(dto.UpdateShopAccountParams), + Output: new(dto.ShopAccountResponse), Auth: true, }) Register(shopAccounts, doc, groupPath, "PUT", "/:id/password", handler.UpdatePassword, RouteSpec{ Summary: "重置代理账号密码", Tags: []string{"代理账号管理"}, - Input: new(model.UpdateShopAccountPasswordParams), + Input: new(dto.UpdateShopAccountPasswordParams), Output: nil, Auth: true, }) @@ -84,7 +84,7 @@ func registerShopAccountRoutes(router fiber.Router, handler *admin.ShopAccountHa Register(shopAccounts, doc, groupPath, "PUT", "/:id/status", handler.UpdateStatus, RouteSpec{ Summary: "启用/禁用代理账号", Tags: []string{"代理账号管理"}, - Input: new(model.UpdateShopAccountStatusParams), + Input: new(dto.UpdateShopAccountStatusParams), Output: nil, Auth: true, }) @@ -97,24 +97,24 @@ func registerShopCommissionRoutes(router fiber.Router, handler *admin.ShopCommis Register(shops, doc, groupPath, "GET", "/commission-summary", handler.ListCommissionSummary, RouteSpec{ Summary: "代理商佣金列表", Tags: []string{"代理商佣金管理"}, - Input: new(model.ShopCommissionSummaryListReq), - Output: new(model.ShopCommissionSummaryPageResult), + Input: new(dto.ShopCommissionSummaryListReq), + Output: new(dto.ShopCommissionSummaryPageResult), Auth: true, }) Register(shops, doc, groupPath, "GET", "/:shop_id/withdrawal-requests", handler.ListWithdrawalRequests, RouteSpec{ Summary: "代理商提现记录", Tags: []string{"代理商佣金管理"}, - Input: new(model.ShopWithdrawalRequestListReq), - Output: new(model.ShopWithdrawalRequestPageResult), + Input: new(dto.ShopWithdrawalRequestListReq), + Output: new(dto.ShopWithdrawalRequestPageResult), Auth: true, }) Register(shops, doc, groupPath, "GET", "/:shop_id/commission-records", handler.ListCommissionRecords, RouteSpec{ Summary: "代理商佣金明细", Tags: []string{"代理商佣金管理"}, - Input: new(model.ShopCommissionRecordListReq), - Output: new(model.ShopCommissionRecordPageResult), + Input: new(dto.ShopCommissionRecordListReq), + Output: new(dto.ShopCommissionRecordPageResult), Auth: true, }) } diff --git a/internal/routes/task.go b/internal/routes/task.go index 9422889..93beaa7 100644 --- a/internal/routes/task.go +++ b/internal/routes/task.go @@ -3,7 +3,7 @@ package routes import ( "github.com/gofiber/fiber/v2" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" "github.com/break/junhong_cmp_fiber/pkg/response" ) @@ -26,7 +26,7 @@ func registerTaskRoutes(api fiber.Router, doc *openapi.Generator, basePath strin }, RouteSpec{ Summary: "查询任务状态", Tags: []string{"任务管理"}, - Input: new(model.IDReq), + Input: new(dto.IDReq), Output: new(TaskStatusResponse), Auth: true, }) diff --git a/internal/service/account/service.go b/internal/service/account/service.go index 87831d7..04f27a0 100644 --- a/internal/service/account/service.go +++ b/internal/service/account/service.go @@ -7,6 +7,7 @@ import ( "fmt" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -33,7 +34,7 @@ func New(accountStore *postgres.AccountStore, roleStore *postgres.RoleStore, acc } // Create 创建账号 -func (s *Service) Create(ctx context.Context, req *model.CreateAccountRequest) (*model.Account, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreateAccountRequest) (*model.Account, error) { // 获取当前用户 ID currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { @@ -102,7 +103,7 @@ func (s *Service) Get(ctx context.Context, id uint) (*model.Account, error) { } // Update 更新账号 -func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateAccountRequest) (*model.Account, error) { +func (s *Service) Update(ctx context.Context, id uint, req *dto.UpdateAccountRequest) (*model.Account, error) { // 获取当前用户 ID currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { @@ -180,7 +181,7 @@ func (s *Service) Delete(ctx context.Context, id uint) error { } // List 查询账号列表 -func (s *Service) List(ctx context.Context, req *model.AccountListRequest) ([]*model.Account, int64, error) { +func (s *Service) List(ctx context.Context, req *dto.AccountListRequest) ([]*model.Account, int64, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, @@ -397,7 +398,7 @@ func (s *Service) UpdateStatus(ctx context.Context, accountID uint, status int) } // ListPlatformAccounts 查询平台账号列表(自动筛选 user_type IN (1, 2)) -func (s *Service) ListPlatformAccounts(ctx context.Context, req *model.PlatformAccountListRequest) ([]*model.Account, int64, error) { +func (s *Service) ListPlatformAccounts(ctx context.Context, req *dto.PlatformAccountListRequest) ([]*model.Account, int64, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, diff --git a/internal/service/auth/service.go b/internal/service/auth/service.go index f18c70c..0e3cddf 100644 --- a/internal/service/auth/service.go +++ b/internal/service/auth/service.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/auth" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -42,7 +43,7 @@ func New( } } -func (s *Service) Login(ctx context.Context, req *model.LoginRequest, clientIP string) (*model.LoginResponse, error) { +func (s *Service) Login(ctx context.Context, req *dto.LoginRequest, clientIP string) (*dto.LoginResponse, error) { ctx = pkgGorm.SkipDataPermission(ctx) account, err := s.accountStore.GetByUsernameOrPhone(ctx, req.Username) @@ -107,7 +108,7 @@ func (s *Service) Login(ctx context.Context, req *model.LoginRequest, clientIP s zap.String("ip", clientIP), ) - return &model.LoginResponse{ + return &dto.LoginResponse{ AccessToken: accessToken, RefreshToken: refreshToken, ExpiresIn: int64(constants.DefaultAccessTokenTTL.Seconds()), @@ -134,7 +135,7 @@ func (s *Service) RefreshToken(ctx context.Context, refreshToken string) (string return s.tokenManager.RefreshAccessToken(ctx, refreshToken) } -func (s *Service) GetCurrentUser(ctx context.Context, userID uint) (*model.UserInfo, []string, error) { +func (s *Service) GetCurrentUser(ctx context.Context, userID uint) (*dto.UserInfo, []string, error) { account, err := s.accountStore.GetByID(ctx, userID) if err != nil { if err == gorm.ErrRecordNotFound { @@ -222,7 +223,7 @@ func (s *Service) getUserPermissions(ctx context.Context, userID uint) ([]string return permCodes, nil } -func (s *Service) buildUserInfo(account *model.Account) model.UserInfo { +func (s *Service) buildUserInfo(account *model.Account) dto.UserInfo { userTypeName := s.getUserTypeName(account.UserType) var shopID, enterpriseID uint @@ -233,7 +234,7 @@ func (s *Service) buildUserInfo(account *model.Account) model.UserInfo { enterpriseID = *account.EnterpriseID } - return model.UserInfo{ + return dto.UserInfo{ ID: account.ID, Username: account.Username, Phone: account.Phone, diff --git a/internal/service/commission_withdrawal/service.go b/internal/service/commission_withdrawal/service.go index 6c6f2fd..3c0078c 100644 --- a/internal/service/commission_withdrawal/service.go +++ b/internal/service/commission_withdrawal/service.go @@ -7,6 +7,7 @@ import ( "time" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -42,7 +43,7 @@ func New( } } -func (s *Service) ListWithdrawalRequests(ctx context.Context, req *model.WithdrawalRequestListReq) (*model.WithdrawalRequestPageResult, error) { +func (s *Service) ListWithdrawalRequests(ctx context.Context, req *dto.WithdrawalRequestListReq) (*dto.WithdrawalRequestPageResult, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, @@ -116,7 +117,7 @@ func (s *Service) ListWithdrawalRequests(ctx context.Context, req *model.Withdra } } - items := make([]model.WithdrawalRequestItem, 0, len(requests)) + items := make([]dto.WithdrawalRequestItem, 0, len(requests)) for _, r := range requests { shop := shopMap[r.ShopID] shopName := "" @@ -134,7 +135,7 @@ func (s *Service) ListWithdrawalRequests(ctx context.Context, req *model.Withdra items = append(items, item) } - return &model.WithdrawalRequestPageResult{ + return &dto.WithdrawalRequestPageResult{ Items: items, Total: total, Page: opts.Page, @@ -142,7 +143,7 @@ func (s *Service) ListWithdrawalRequests(ctx context.Context, req *model.Withdra }, nil } -func (s *Service) Approve(ctx context.Context, id uint, req *model.ApproveWithdrawalReq) (*model.WithdrawalApprovalResp, error) { +func (s *Service) Approve(ctx context.Context, id uint, req *dto.ApproveWithdrawalReq) (*dto.WithdrawalApprovalResp, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -241,7 +242,7 @@ func (s *Service) Approve(ctx context.Context, id uint, req *model.ApproveWithdr return nil, err } - return &model.WithdrawalApprovalResp{ + return &dto.WithdrawalApprovalResp{ ID: withdrawal.ID, WithdrawalNo: withdrawal.WithdrawalNo, Status: constants.WithdrawalStatusApproved, @@ -250,7 +251,7 @@ func (s *Service) Approve(ctx context.Context, id uint, req *model.ApproveWithdr }, nil } -func (s *Service) Reject(ctx context.Context, id uint, req *model.RejectWithdrawalReq) (*model.WithdrawalApprovalResp, error) { +func (s *Service) Reject(ctx context.Context, id uint, req *dto.RejectWithdrawalReq) (*dto.WithdrawalApprovalResp, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -312,7 +313,7 @@ func (s *Service) Reject(ctx context.Context, id uint, req *model.RejectWithdraw return nil, err } - return &model.WithdrawalApprovalResp{ + return &dto.WithdrawalApprovalResp{ ID: withdrawal.ID, WithdrawalNo: withdrawal.WithdrawalNo, Status: constants.WithdrawalStatusRejected, @@ -340,7 +341,7 @@ func (s *Service) buildShopHierarchyPath(ctx context.Context, shop *model.Shop) return path } -func (s *Service) buildWithdrawalRequestItem(r *model.CommissionWithdrawalRequest, shopName, shopHierarchy string, applicantMap, processorMap map[uint]string) model.WithdrawalRequestItem { +func (s *Service) buildWithdrawalRequestItem(r *model.CommissionWithdrawalRequest, shopName, shopHierarchy string, applicantMap, processorMap map[uint]string) dto.WithdrawalRequestItem { var processorID *uint if r.ProcessorID > 0 { processorID = &r.ProcessorID @@ -367,7 +368,7 @@ func (s *Service) buildWithdrawalRequestItem(r *model.CommissionWithdrawalReques processedAt = r.ProcessedAt.Format("2006-01-02 15:04:05") } - return model.WithdrawalRequestItem{ + return dto.WithdrawalRequestItem{ ID: r.ID, WithdrawalNo: r.WithdrawalNo, Amount: r.Amount, diff --git a/internal/service/commission_withdrawal_setting/service.go b/internal/service/commission_withdrawal_setting/service.go index 475a691..083f3f5 100644 --- a/internal/service/commission_withdrawal_setting/service.go +++ b/internal/service/commission_withdrawal_setting/service.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -31,7 +32,7 @@ func New( } } -func (s *Service) Create(ctx context.Context, req *model.CreateWithdrawalSettingReq) (*model.WithdrawalSettingItem, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreateWithdrawalSettingReq) (*dto.WithdrawalSettingItem, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -65,7 +66,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateWithdrawalSetting creatorName = creator.Username } - return &model.WithdrawalSettingItem{ + return &dto.WithdrawalSettingItem{ ID: setting.ID, DailyWithdrawalLimit: setting.DailyWithdrawalLimit, MinWithdrawalAmount: setting.MinWithdrawalAmount, @@ -78,7 +79,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateWithdrawalSetting }, nil } -func (s *Service) List(ctx context.Context, req *model.WithdrawalSettingListReq) (*model.WithdrawalSettingPageResult, error) { +func (s *Service) List(ctx context.Context, req *dto.WithdrawalSettingListReq) (*dto.WithdrawalSettingPageResult, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, @@ -110,9 +111,9 @@ func (s *Service) List(ctx context.Context, req *model.WithdrawalSettingListReq) } } - items := make([]model.WithdrawalSettingItem, 0, len(settings)) + items := make([]dto.WithdrawalSettingItem, 0, len(settings)) for _, setting := range settings { - items = append(items, model.WithdrawalSettingItem{ + items = append(items, dto.WithdrawalSettingItem{ ID: setting.ID, DailyWithdrawalLimit: setting.DailyWithdrawalLimit, MinWithdrawalAmount: setting.MinWithdrawalAmount, @@ -125,7 +126,7 @@ func (s *Service) List(ctx context.Context, req *model.WithdrawalSettingListReq) }) } - return &model.WithdrawalSettingPageResult{ + return &dto.WithdrawalSettingPageResult{ Items: items, Total: total, Page: opts.Page, @@ -133,7 +134,7 @@ func (s *Service) List(ctx context.Context, req *model.WithdrawalSettingListReq) }, nil } -func (s *Service) GetCurrent(ctx context.Context) (*model.WithdrawalSettingItem, error) { +func (s *Service) GetCurrent(ctx context.Context) (*dto.WithdrawalSettingItem, error) { setting, err := s.commissionWithdrawalSettingStore.GetCurrent(ctx) if err != nil { if err == gorm.ErrRecordNotFound { @@ -147,7 +148,7 @@ func (s *Service) GetCurrent(ctx context.Context) (*model.WithdrawalSettingItem, creatorName = creator.Username } - return &model.WithdrawalSettingItem{ + return &dto.WithdrawalSettingItem{ ID: setting.ID, DailyWithdrawalLimit: setting.DailyWithdrawalLimit, MinWithdrawalAmount: setting.MinWithdrawalAmount, diff --git a/internal/service/customer/service.go b/internal/service/customer/service.go index 3355294..cc892e0 100644 --- a/internal/service/customer/service.go +++ b/internal/service/customer/service.go @@ -6,6 +6,7 @@ import ( "context" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -25,7 +26,7 @@ func New(customerStore *postgres.PersonalCustomerStore) *Service { } // Create 创建个人客户 -func (s *Service) Create(ctx context.Context, req *model.CreatePersonalCustomerRequest) (*model.PersonalCustomer, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreatePersonalCustomerRequest) (*model.PersonalCustomer, error) { // 检查手机号唯一性 if req.Phone != "" { existing, err := s.customerStore.GetByPhone(ctx, req.Phone) @@ -55,7 +56,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreatePersonalCustomerR } // Update 更新个人客户信息 -func (s *Service) Update(ctx context.Context, id uint, req *model.UpdatePersonalCustomerRequest) (*model.PersonalCustomer, error) { +func (s *Service) Update(ctx context.Context, id uint, req *dto.UpdatePersonalCustomerRequest) (*model.PersonalCustomer, error) { // 查询客户 customer, err := s.customerStore.GetByID(ctx, id) if err != nil { diff --git a/internal/service/customer_account/service.go b/internal/service/customer_account/service.go index f3efc51..a727e39 100644 --- a/internal/service/customer_account/service.go +++ b/internal/service/customer_account/service.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" "github.com/break/junhong_cmp_fiber/pkg/errors" @@ -34,7 +35,7 @@ func New( } } -func (s *Service) List(ctx context.Context, req *model.CustomerAccountListReq) (*model.CustomerAccountPageResult, error) { +func (s *Service) List(ctx context.Context, req *dto.CustomerAccountListReq) (*dto.CustomerAccountPageResult, error) { page := req.Page pageSize := req.PageSize if page == 0 { @@ -106,7 +107,7 @@ func (s *Service) List(ctx context.Context, req *model.CustomerAccountListReq) ( } } - items := make([]model.CustomerAccountItem, 0, len(accounts)) + items := make([]dto.CustomerAccountItem, 0, len(accounts)) for _, acc := range accounts { shopName := "" if acc.ShopID != nil { @@ -116,7 +117,7 @@ func (s *Service) List(ctx context.Context, req *model.CustomerAccountListReq) ( if acc.EnterpriseID != nil { enterpriseName = enterpriseMap[*acc.EnterpriseID] } - items = append(items, model.CustomerAccountItem{ + items = append(items, dto.CustomerAccountItem{ ID: acc.ID, Username: acc.Username, Phone: acc.Phone, @@ -132,7 +133,7 @@ func (s *Service) List(ctx context.Context, req *model.CustomerAccountListReq) ( }) } - return &model.CustomerAccountPageResult{ + return &dto.CustomerAccountPageResult{ Items: items, Total: total, Page: page, @@ -140,7 +141,7 @@ func (s *Service) List(ctx context.Context, req *model.CustomerAccountListReq) ( }, nil } -func (s *Service) Create(ctx context.Context, req *model.CreateCustomerAccountReq) (*model.CustomerAccountItem, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreateCustomerAccountReq) (*dto.CustomerAccountItem, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -182,7 +183,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateCustomerAccountRe shopName = shop.ShopName } - return &model.CustomerAccountItem{ + return &dto.CustomerAccountItem{ ID: account.ID, Username: account.Username, Phone: account.Phone, @@ -196,7 +197,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateCustomerAccountRe }, nil } -func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateCustomerAccountRequest) (*model.CustomerAccountItem, error) { +func (s *Service) Update(ctx context.Context, id uint, req *dto.UpdateCustomerAccountRequest) (*dto.CustomerAccountItem, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -242,7 +243,7 @@ func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateCustomer } } - return &model.CustomerAccountItem{ + return &dto.CustomerAccountItem{ ID: account.ID, Username: account.Username, Phone: account.Phone, diff --git a/internal/service/enterprise/service.go b/internal/service/enterprise/service.go index e64ec6c..d7bdbae 100644 --- a/internal/service/enterprise/service.go +++ b/internal/service/enterprise/service.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -30,7 +31,7 @@ func New(db *gorm.DB, enterpriseStore *postgres.EnterpriseStore, shopStore *post } } -func (s *Service) Create(ctx context.Context, req *model.CreateEnterpriseReq) (*model.CreateEnterpriseResp, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreateEnterpriseReq) (*dto.CreateEnterpriseResp, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -114,8 +115,8 @@ func (s *Service) Create(ctx context.Context, req *model.CreateEnterpriseReq) (* } } - return &model.CreateEnterpriseResp{ - Enterprise: model.EnterpriseItem{ + return &dto.CreateEnterpriseResp{ + Enterprise: dto.EnterpriseItem{ ID: enterprise.ID, EnterpriseName: enterprise.EnterpriseName, EnterpriseCode: enterprise.EnterpriseCode, @@ -139,7 +140,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateEnterpriseReq) (* } // Update 更新企业信息 -func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateEnterpriseRequest) (*model.Enterprise, error) { +func (s *Service) Update(ctx context.Context, id uint, req *dto.UpdateEnterpriseRequest) (*model.Enterprise, error) { // 获取当前用户 ID currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { @@ -262,7 +263,7 @@ func (s *Service) GetByID(ctx context.Context, id uint) (*model.Enterprise, erro return enterprise, nil } -func (s *Service) List(ctx context.Context, req *model.EnterpriseListReq) (*model.EnterprisePageResult, error) { +func (s *Service) List(ctx context.Context, req *dto.EnterpriseListReq) (*dto.EnterprisePageResult, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, @@ -322,13 +323,13 @@ func (s *Service) List(ctx context.Context, req *model.EnterpriseListReq) (*mode } } - items := make([]model.EnterpriseItem, 0, len(enterprises)) + items := make([]dto.EnterpriseItem, 0, len(enterprises)) for _, e := range enterprises { ownerShopName := "" if e.OwnerShopID != nil { ownerShopName = shopMap[*e.OwnerShopID] } - items = append(items, model.EnterpriseItem{ + items = append(items, dto.EnterpriseItem{ ID: e.ID, EnterpriseName: e.EnterpriseName, EnterpriseCode: e.EnterpriseCode, @@ -349,7 +350,7 @@ func (s *Service) List(ctx context.Context, req *model.EnterpriseListReq) (*mode }) } - return &model.EnterprisePageResult{ + return &dto.EnterprisePageResult{ Items: items, Total: total, Page: opts.Page, diff --git a/internal/service/enterprise_card/service.go b/internal/service/enterprise_card/service.go index 95f074a..961e49d 100644 --- a/internal/service/enterprise_card/service.go +++ b/internal/service/enterprise_card/service.go @@ -6,6 +6,7 @@ import ( "time" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" "github.com/break/junhong_cmp_fiber/pkg/errors" @@ -31,7 +32,7 @@ func New( } } -func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, req *model.AllocateCardsPreviewReq) (*model.AllocateCardsPreviewResp, error) { +func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, req *dto.AllocateCardsPreviewReq) (*dto.AllocateCardsPreviewResp, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -84,10 +85,10 @@ func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, r } } - resp := &model.AllocateCardsPreviewResp{ - StandaloneCards: make([]model.StandaloneCard, 0), - DeviceBundles: make([]model.DeviceBundle, 0), - FailedItems: make([]model.FailedItem, 0), + resp := &dto.AllocateCardsPreviewResp{ + StandaloneCards: make([]dto.StandaloneCard, 0), + DeviceBundles: make([]dto.DeviceBundle, 0), + FailedItems: make([]dto.FailedItem, 0), } processedDevices := make(map[uint]bool) @@ -95,7 +96,7 @@ func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, r for _, iccid := range req.ICCIDs { card, exists := cardMap[iccid] if !exists { - resp.FailedItems = append(resp.FailedItems, model.FailedItem{ + resp.FailedItems = append(resp.FailedItems, dto.FailedItem{ ICCID: iccid, Reason: "卡不存在", }) @@ -104,7 +105,7 @@ func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, r deviceID, hasDevice := cardToDevice[card.ID] if !hasDevice { - resp.StandaloneCards = append(resp.StandaloneCards, model.StandaloneCard{ + resp.StandaloneCards = append(resp.StandaloneCards, dto.StandaloneCard{ ICCID: card.ICCID, IotCardID: card.ID, MSISDN: card.MSISDN, @@ -123,10 +124,10 @@ func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, r } bundleCardIDs := deviceCards[deviceID] - bundle := model.DeviceBundle{ + bundle := dto.DeviceBundle{ DeviceID: deviceID, DeviceNo: device.DeviceNo, - BundleCards: make([]model.DeviceBundleCard, 0), + BundleCards: make([]dto.DeviceBundleCard, 0), } for _, bundleCardID := range bundleCardIDs { @@ -135,13 +136,13 @@ func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, r continue } if bundleCard.ID == card.ID { - bundle.TriggerCard = model.DeviceBundleCard{ + bundle.TriggerCard = dto.DeviceBundleCard{ ICCID: bundleCard.ICCID, IotCardID: bundleCard.ID, MSISDN: bundleCard.MSISDN, } } else { - bundle.BundleCards = append(bundle.BundleCards, model.DeviceBundleCard{ + bundle.BundleCards = append(bundle.BundleCards, dto.DeviceBundleCard{ ICCID: bundleCard.ICCID, IotCardID: bundleCard.ID, MSISDN: bundleCard.MSISDN, @@ -158,7 +159,7 @@ func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, r deviceCardCount += 1 + len(bundle.BundleCards) } - resp.Summary = model.AllocatePreviewSummary{ + resp.Summary = dto.AllocatePreviewSummary{ StandaloneCardCount: len(resp.StandaloneCards), DeviceCount: len(resp.DeviceBundles), DeviceCardCount: deviceCardCount, @@ -169,7 +170,7 @@ func (s *Service) AllocateCardsPreview(ctx context.Context, enterpriseID uint, r return resp, nil } -func (s *Service) AllocateCards(ctx context.Context, enterpriseID uint, req *model.AllocateCardsReq) (*model.AllocateCardsResp, error) { +func (s *Service) AllocateCards(ctx context.Context, enterpriseID uint, req *dto.AllocateCardsReq) (*dto.AllocateCardsResp, error) { currentUserID := middleware.GetUserIDFromContext(ctx) currentShopID := middleware.GetShopIDFromContext(ctx) if currentUserID == 0 { @@ -181,7 +182,7 @@ func (s *Service) AllocateCards(ctx context.Context, enterpriseID uint, req *mod return nil, errors.New(errors.CodeEnterpriseNotFound, "企业不存在") } - preview, err := s.AllocateCardsPreview(ctx, enterpriseID, &model.AllocateCardsPreviewReq{ICCIDs: req.ICCIDs}) + preview, err := s.AllocateCardsPreview(ctx, enterpriseID, &dto.AllocateCardsPreviewReq{ICCIDs: req.ICCIDs}) if err != nil { return nil, err } @@ -190,10 +191,10 @@ func (s *Service) AllocateCards(ctx context.Context, enterpriseID uint, req *mod return nil, errors.New(errors.CodeInvalidParam, "存在设备包,请确认整体授权设备下所有卡") } - resp := &model.AllocateCardsResp{ + resp := &dto.AllocateCardsResp{ FailedItems: preview.FailedItems, FailCount: len(preview.FailedItems), - AllocatedDevices: make([]model.AllocatedDevice, 0), + AllocatedDevices: make([]dto.AllocatedDevice, 0), } cardIDsToAllocate := make([]uint, 0) @@ -209,7 +210,7 @@ func (s *Service) AllocateCards(ctx context.Context, enterpriseID uint, req *mod for _, card := range bundle.BundleCards { iccids = append(iccids, card.ICCID) } - resp.AllocatedDevices = append(resp.AllocatedDevices, model.AllocatedDevice{ + resp.AllocatedDevices = append(resp.AllocatedDevices, dto.AllocatedDevice{ DeviceID: bundle.DeviceID, DeviceNo: bundle.DeviceNo, CardCount: 1 + len(bundle.BundleCards), @@ -248,7 +249,7 @@ func (s *Service) AllocateCards(ctx context.Context, enterpriseID uint, req *mod return resp, nil } -func (s *Service) RecallCards(ctx context.Context, enterpriseID uint, req *model.RecallCardsReq) (*model.RecallCardsResp, error) { +func (s *Service) RecallCards(ctx context.Context, enterpriseID uint, req *dto.RecallCardsReq) (*dto.RecallCardsResp, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -278,23 +279,23 @@ func (s *Service) RecallCards(ctx context.Context, enterpriseID uint, req *model return nil, fmt.Errorf("查询已有授权失败: %w", err) } - resp := &model.RecallCardsResp{ - FailedItems: make([]model.FailedItem, 0), - RecalledDevices: make([]model.RecalledDevice, 0), + resp := &dto.RecallCardsResp{ + FailedItems: make([]dto.FailedItem, 0), + RecalledDevices: make([]dto.RecalledDevice, 0), } cardIDsToRecall := make([]uint, 0) for _, iccid := range req.ICCIDs { card, exists := cardMap[iccid] if !exists { - resp.FailedItems = append(resp.FailedItems, model.FailedItem{ + resp.FailedItems = append(resp.FailedItems, dto.FailedItem{ ICCID: iccid, Reason: "卡不存在", }) continue } if !existingAuths[card.ID] { - resp.FailedItems = append(resp.FailedItems, model.FailedItem{ + resp.FailedItems = append(resp.FailedItems, dto.FailedItem{ ICCID: iccid, Reason: "该卡未授权给此企业", }) @@ -314,7 +315,7 @@ func (s *Service) RecallCards(ctx context.Context, enterpriseID uint, req *model return resp, nil } -func (s *Service) ListCards(ctx context.Context, enterpriseID uint, req *model.EnterpriseCardListReq) (*model.EnterpriseCardPageResult, error) { +func (s *Service) ListCards(ctx context.Context, enterpriseID uint, req *dto.EnterpriseCardListReq) (*dto.EnterpriseCardPageResult, error) { _, err := s.enterpriseStore.GetByID(ctx, enterpriseID) if err != nil { return nil, errors.New(errors.CodeEnterpriseNotFound, "企业不存在") @@ -326,8 +327,8 @@ func (s *Service) ListCards(ctx context.Context, enterpriseID uint, req *model.E } if len(cardIDs) == 0 { - return &model.EnterpriseCardPageResult{ - Items: make([]model.EnterpriseCardItem, 0), + return &dto.EnterpriseCardPageResult{ + Items: make([]dto.EnterpriseCardItem, 0), Total: 0, Page: req.Page, Size: req.PageSize, @@ -366,9 +367,9 @@ func (s *Service) ListCards(ctx context.Context, enterpriseID uint, req *model.E return nil, fmt.Errorf("查询卡列表失败: %w", err) } - items := make([]model.EnterpriseCardItem, 0, len(cards)) + items := make([]dto.EnterpriseCardItem, 0, len(cards)) for _, card := range cards { - items = append(items, model.EnterpriseCardItem{ + items = append(items, dto.EnterpriseCardItem{ ID: card.ID, ICCID: card.ICCID, MSISDN: card.MSISDN, @@ -380,7 +381,7 @@ func (s *Service) ListCards(ctx context.Context, enterpriseID uint, req *model.E }) } - return &model.EnterpriseCardPageResult{ + return &dto.EnterpriseCardPageResult{ Items: items, Total: total, Page: page, diff --git a/internal/service/my_commission/service.go b/internal/service/my_commission/service.go index 079fb8b..5e9d16d 100644 --- a/internal/service/my_commission/service.go +++ b/internal/service/my_commission/service.go @@ -8,6 +8,7 @@ import ( "time" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" "github.com/break/junhong_cmp_fiber/pkg/errors" @@ -46,7 +47,7 @@ func New( } // GetCommissionSummary 获取我的佣金概览 -func (s *Service) GetCommissionSummary(ctx context.Context) (*model.MyCommissionSummaryResp, error) { +func (s *Service) GetCommissionSummary(ctx context.Context) (*dto.MyCommissionSummaryResp, error) { userType := middleware.GetUserTypeFromContext(ctx) if userType != constants.UserTypeAgent { return nil, errors.New(errors.CodeForbidden, "仅代理商用户可访问") @@ -66,7 +67,7 @@ func (s *Service) GetCommissionSummary(ctx context.Context) (*model.MyCommission wallet, err := s.walletStore.GetShopCommissionWallet(ctx, shopID) if err != nil { // 钱包不存在时返回空数据 - return &model.MyCommissionSummaryResp{ + return &dto.MyCommissionSummaryResp{ ShopID: shopID, ShopName: shop.ShopName, }, nil @@ -82,7 +83,7 @@ func (s *Service) GetCommissionSummary(ctx context.Context) (*model.MyCommission totalCommission := wallet.Balance + wallet.FrozenBalance + totalWithdrawn - return &model.MyCommissionSummaryResp{ + return &dto.MyCommissionSummaryResp{ ShopID: shopID, ShopName: shop.ShopName, TotalCommission: totalCommission, @@ -95,7 +96,7 @@ func (s *Service) GetCommissionSummary(ctx context.Context) (*model.MyCommission } // CreateWithdrawalRequest 发起提现申请 -func (s *Service) CreateWithdrawalRequest(ctx context.Context, req *model.CreateMyWithdrawalReq) (*model.CreateMyWithdrawalResp, error) { +func (s *Service) CreateWithdrawalRequest(ctx context.Context, req *dto.CreateMyWithdrawalReq) (*dto.CreateMyWithdrawalResp, error) { userType := middleware.GetUserTypeFromContext(ctx) if userType != constants.UserTypeAgent { return nil, errors.New(errors.CodeForbidden, "仅代理商用户可访问") @@ -216,7 +217,7 @@ func (s *Service) CreateWithdrawalRequest(ctx context.Context, req *model.Create return nil, err } - return &model.CreateMyWithdrawalResp{ + return &dto.CreateMyWithdrawalResp{ ID: withdrawalRequest.ID, WithdrawalNo: withdrawalRequest.WithdrawalNo, Amount: withdrawalRequest.Amount, @@ -230,7 +231,7 @@ func (s *Service) CreateWithdrawalRequest(ctx context.Context, req *model.Create } // ListMyWithdrawalRequests 查询我的提现记录 -func (s *Service) ListMyWithdrawalRequests(ctx context.Context, req *model.MyWithdrawalListReq) (*model.WithdrawalRequestPageResult, error) { +func (s *Service) ListMyWithdrawalRequests(ctx context.Context, req *dto.MyWithdrawalListReq) (*dto.WithdrawalRequestPageResult, error) { userType := middleware.GetUserTypeFromContext(ctx) if userType != constants.UserTypeAgent { return nil, errors.New(errors.CodeForbidden, "仅代理商用户可访问") @@ -274,12 +275,12 @@ func (s *Service) ListMyWithdrawalRequests(ctx context.Context, req *model.MyWit return nil, fmt.Errorf("查询提现记录失败: %w", err) } - items := make([]model.WithdrawalRequestItem, 0, len(requests)) + items := make([]dto.WithdrawalRequestItem, 0, len(requests)) for _, r := range requests { // 解析账户信息 accountName, accountNumber := parseAccountInfo(r.AccountInfo) - items = append(items, model.WithdrawalRequestItem{ + items = append(items, dto.WithdrawalRequestItem{ ID: r.ID, WithdrawalNo: r.WithdrawalNo, ShopID: r.ShopID, @@ -296,7 +297,7 @@ func (s *Service) ListMyWithdrawalRequests(ctx context.Context, req *model.MyWit }) } - return &model.WithdrawalRequestPageResult{ + return &dto.WithdrawalRequestPageResult{ Items: items, Total: total, Page: page, @@ -305,7 +306,7 @@ func (s *Service) ListMyWithdrawalRequests(ctx context.Context, req *model.MyWit } // ListMyCommissionRecords 查询我的佣金明细 -func (s *Service) ListMyCommissionRecords(ctx context.Context, req *model.MyCommissionRecordListReq) (*model.MyCommissionRecordPageResult, error) { +func (s *Service) ListMyCommissionRecords(ctx context.Context, req *dto.MyCommissionRecordListReq) (*dto.MyCommissionRecordPageResult, error) { userType := middleware.GetUserTypeFromContext(ctx) if userType != constants.UserTypeAgent { return nil, errors.New(errors.CodeForbidden, "仅代理商用户可访问") @@ -343,9 +344,9 @@ func (s *Service) ListMyCommissionRecords(ctx context.Context, req *model.MyComm return nil, fmt.Errorf("查询佣金记录失败: %w", err) } - items := make([]model.MyCommissionRecordItem, 0, len(records)) + items := make([]dto.MyCommissionRecordItem, 0, len(records)) for _, r := range records { - items = append(items, model.MyCommissionRecordItem{ + items = append(items, dto.MyCommissionRecordItem{ ID: r.ID, ShopID: r.ShopID, OrderID: r.OrderID, @@ -357,7 +358,7 @@ func (s *Service) ListMyCommissionRecords(ctx context.Context, req *model.MyComm }) } - return &model.MyCommissionRecordPageResult{ + return &dto.MyCommissionRecordPageResult{ Items: items, Total: total, Page: page, diff --git a/internal/service/permission/service.go b/internal/service/permission/service.go index a078d03..7b3efeb 100644 --- a/internal/service/permission/service.go +++ b/internal/service/permission/service.go @@ -10,6 +10,7 @@ import ( "time" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -46,7 +47,7 @@ func New( } // Create 创建权限 -func (s *Service) Create(ctx context.Context, req *model.CreatePermissionRequest) (*model.Permission, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreatePermissionRequest) (*model.Permission, error) { // 获取当前用户 ID currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { @@ -109,7 +110,7 @@ func (s *Service) Get(ctx context.Context, id uint) (*model.Permission, error) { } // Update 更新权限 -func (s *Service) Update(ctx context.Context, id uint, req *model.UpdatePermissionRequest) (*model.Permission, error) { +func (s *Service) Update(ctx context.Context, id uint, req *dto.UpdatePermissionRequest) (*model.Permission, error) { // 获取当前用户 ID currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { @@ -190,7 +191,7 @@ func (s *Service) Delete(ctx context.Context, id uint) error { } // List 查询权限列表 -func (s *Service) List(ctx context.Context, req *model.PermissionListRequest) ([]*model.Permission, int64, error) { +func (s *Service) List(ctx context.Context, req *dto.PermissionListRequest) ([]*model.Permission, int64, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, @@ -230,7 +231,7 @@ func (s *Service) List(ctx context.Context, req *model.PermissionListRequest) ([ } // GetTree 获取权限树 -func (s *Service) GetTree(ctx context.Context, availableForRoleType *int) ([]*model.PermissionTreeNode, error) { +func (s *Service) GetTree(ctx context.Context, availableForRoleType *int) ([]*dto.PermissionTreeNode, error) { permissions, err := s.permissionStore.GetAll(ctx, availableForRoleType) if err != nil { return nil, fmt.Errorf("获取权限列表失败: %w", err) @@ -240,10 +241,10 @@ func (s *Service) GetTree(ctx context.Context, availableForRoleType *int) ([]*mo } // buildPermissionTree 构建权限树 -func buildPermissionTree(permissions []*model.Permission) []*model.PermissionTreeNode { - nodeMap := make(map[uint]*model.PermissionTreeNode) +func buildPermissionTree(permissions []*model.Permission) []*dto.PermissionTreeNode { + nodeMap := make(map[uint]*dto.PermissionTreeNode) for _, p := range permissions { - nodeMap[p.ID] = &model.PermissionTreeNode{ + nodeMap[p.ID] = &dto.PermissionTreeNode{ ID: p.ID, PermName: p.PermName, PermCode: p.PermCode, @@ -252,11 +253,11 @@ func buildPermissionTree(permissions []*model.Permission) []*model.PermissionTre AvailableForRoleTypes: p.AvailableForRoleTypes, URL: p.URL, Sort: p.Sort, - Children: make([]*model.PermissionTreeNode, 0), + Children: make([]*dto.PermissionTreeNode, 0), } } - var roots []*model.PermissionTreeNode + var roots []*dto.PermissionTreeNode for _, p := range permissions { node := nodeMap[p.ID] if p.ParentID == nil || *p.ParentID == 0 { diff --git a/internal/service/role/service.go b/internal/service/role/service.go index 4769887..94d7e59 100644 --- a/internal/service/role/service.go +++ b/internal/service/role/service.go @@ -8,6 +8,7 @@ import ( "strings" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -33,7 +34,7 @@ func New(roleStore *postgres.RoleStore, permissionStore *postgres.PermissionStor } // Create 创建角色 -func (s *Service) Create(ctx context.Context, req *model.CreateRoleRequest) (*model.Role, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreateRoleRequest) (*model.Role, error) { // 获取当前用户 ID currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { @@ -68,7 +69,7 @@ func (s *Service) Get(ctx context.Context, id uint) (*model.Role, error) { } // Update 更新角色 -func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateRoleRequest) (*model.Role, error) { +func (s *Service) Update(ctx context.Context, id uint, req *dto.UpdateRoleRequest) (*model.Role, error) { // 获取当前用户 ID currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { @@ -123,7 +124,7 @@ func (s *Service) Delete(ctx context.Context, id uint) error { } // List 查询角色列表 -func (s *Service) List(ctx context.Context, req *model.RoleListRequest) ([]*model.Role, int64, error) { +func (s *Service) List(ctx context.Context, req *dto.RoleListRequest) ([]*model.Role, int64, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, diff --git a/internal/service/shop/service.go b/internal/service/shop/service.go index 7d3dbc9..ed78968 100644 --- a/internal/service/shop/service.go +++ b/internal/service/shop/service.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -26,7 +27,7 @@ func New(shopStore *postgres.ShopStore, accountStore *postgres.AccountStore) *Se } } -func (s *Service) Create(ctx context.Context, req *model.CreateShopRequest) (*model.ShopResponse, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreateShopRequest) (*dto.ShopResponse, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -99,7 +100,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateShopRequest) (*mo return nil, fmt.Errorf("创建初始账号失败: %w", err) } - return &model.ShopResponse{ + return &dto.ShopResponse{ ID: shop.ID, ShopName: shop.ShopName, ShopCode: shop.ShopCode, @@ -117,7 +118,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateShopRequest) (*mo }, nil } -func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateShopRequest) (*model.ShopResponse, error) { +func (s *Service) Update(ctx context.Context, id uint, req *dto.UpdateShopRequest) (*dto.ShopResponse, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -142,7 +143,7 @@ func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateShopRequ return nil, err } - return &model.ShopResponse{ + return &dto.ShopResponse{ ID: shop.ID, ShopName: shop.ShopName, ShopCode: shop.ShopCode, @@ -211,7 +212,7 @@ func (s *Service) GetByID(ctx context.Context, id uint) (*model.Shop, error) { return shop, nil } -func (s *Service) ListShopResponses(ctx context.Context, req *model.ShopListRequest) ([]*model.ShopResponse, int64, error) { +func (s *Service) ListShopResponses(ctx context.Context, req *dto.ShopListRequest) ([]*dto.ShopResponse, int64, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, @@ -246,9 +247,9 @@ func (s *Service) ListShopResponses(ctx context.Context, req *model.ShopListRequ return nil, 0, fmt.Errorf("查询店铺列表失败: %w", err) } - responses := make([]*model.ShopResponse, 0, len(shops)) + responses := make([]*dto.ShopResponse, 0, len(shops)) for _, shop := range shops { - responses = append(responses, &model.ShopResponse{ + responses = append(responses, &dto.ShopResponse{ ID: shop.ID, ShopName: shop.ShopName, ShopCode: shop.ShopCode, diff --git a/internal/service/shop_account/service.go b/internal/service/shop_account/service.go index 05e9102..69a7ce0 100644 --- a/internal/service/shop_account/service.go +++ b/internal/service/shop_account/service.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -26,7 +27,7 @@ func New(accountStore *postgres.AccountStore, shopStore *postgres.ShopStore) *Se } } -func (s *Service) List(ctx context.Context, req *model.ShopAccountListRequest) ([]*model.ShopAccountResponse, int64, error) { +func (s *Service) List(ctx context.Context, req *dto.ShopAccountListRequest) ([]*dto.ShopAccountResponse, int64, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, @@ -78,9 +79,9 @@ func (s *Service) List(ctx context.Context, req *model.ShopAccountListRequest) ( } } - responses := make([]*model.ShopAccountResponse, 0, len(accounts)) + responses := make([]*dto.ShopAccountResponse, 0, len(accounts)) for _, account := range accounts { - resp := &model.ShopAccountResponse{ + resp := &dto.ShopAccountResponse{ ID: account.ID, Username: account.Username, Phone: account.Phone, @@ -101,7 +102,7 @@ func (s *Service) List(ctx context.Context, req *model.ShopAccountListRequest) ( return responses, total, nil } -func (s *Service) Create(ctx context.Context, req *model.CreateShopAccountRequest) (*model.ShopAccountResponse, error) { +func (s *Service) Create(ctx context.Context, req *dto.CreateShopAccountRequest) (*dto.ShopAccountResponse, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -145,7 +146,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateShopAccountReques return nil, fmt.Errorf("创建代理商账号失败: %w", err) } - return &model.ShopAccountResponse{ + return &dto.ShopAccountResponse{ ID: account.ID, ShopID: *account.ShopID, ShopName: shop.ShopName, @@ -158,7 +159,7 @@ func (s *Service) Create(ctx context.Context, req *model.CreateShopAccountReques }, nil } -func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateShopAccountRequest) (*model.ShopAccountResponse, error) { +func (s *Service) Update(ctx context.Context, id uint, req *dto.UpdateShopAccountRequest) (*dto.ShopAccountResponse, error) { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return nil, errors.New(errors.CodeUnauthorized, "未授权访问") @@ -196,7 +197,7 @@ func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateShopAcco } } - return &model.ShopAccountResponse{ + return &dto.ShopAccountResponse{ ID: account.ID, ShopID: *account.ShopID, ShopName: shopName, @@ -209,7 +210,7 @@ func (s *Service) Update(ctx context.Context, id uint, req *model.UpdateShopAcco }, nil } -func (s *Service) UpdatePassword(ctx context.Context, id uint, req *model.UpdateShopAccountPasswordRequest) error { +func (s *Service) UpdatePassword(ctx context.Context, id uint, req *dto.UpdateShopAccountPasswordRequest) error { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return errors.New(errors.CodeUnauthorized, "未授权访问") @@ -239,7 +240,7 @@ func (s *Service) UpdatePassword(ctx context.Context, id uint, req *model.Update return nil } -func (s *Service) UpdateStatus(ctx context.Context, id uint, req *model.UpdateShopAccountStatusRequest) error { +func (s *Service) UpdateStatus(ctx context.Context, id uint, req *dto.UpdateShopAccountStatusRequest) error { currentUserID := middleware.GetUserIDFromContext(ctx) if currentUserID == 0 { return errors.New(errors.CodeUnauthorized, "未授权访问") diff --git a/internal/service/shop_commission/service.go b/internal/service/shop_commission/service.go index 28e1371..be2a6d8 100644 --- a/internal/service/shop_commission/service.go +++ b/internal/service/shop_commission/service.go @@ -7,6 +7,7 @@ import ( "time" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/store" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -37,7 +38,7 @@ func New( } } -func (s *Service) ListShopCommissionSummary(ctx context.Context, req *model.ShopCommissionSummaryListReq) (*model.ShopCommissionSummaryPageResult, error) { +func (s *Service) ListShopCommissionSummary(ctx context.Context, req *dto.ShopCommissionSummaryListReq) (*dto.ShopCommissionSummaryPageResult, error) { opts := &store.QueryOptions{ Page: req.Page, PageSize: req.PageSize, @@ -61,8 +62,8 @@ func (s *Service) ListShopCommissionSummary(ctx context.Context, req *model.Shop } if len(shops) == 0 { - return &model.ShopCommissionSummaryPageResult{ - Items: []model.ShopCommissionSummaryItem{}, + return &dto.ShopCommissionSummaryPageResult{ + Items: []dto.ShopCommissionSummaryItem{}, Total: 0, Page: opts.Page, Size: opts.PageSize, @@ -101,7 +102,7 @@ func (s *Service) ListShopCommissionSummary(ctx context.Context, req *model.Shop } } - items := make([]model.ShopCommissionSummaryItem, 0, len(shops)) + items := make([]dto.ShopCommissionSummaryItem, 0, len(shops)) for _, shop := range shops { if req.Username != "" { acc := accountMap[shop.ID] @@ -115,7 +116,7 @@ func (s *Service) ListShopCommissionSummary(ctx context.Context, req *model.Shop items = append(items, item) } - return &model.ShopCommissionSummaryPageResult{ + return &dto.ShopCommissionSummaryPageResult{ Items: items, Total: total, Page: opts.Page, @@ -123,7 +124,7 @@ func (s *Service) ListShopCommissionSummary(ctx context.Context, req *model.Shop }, nil } -func (s *Service) buildCommissionSummaryItem(shop *model.Shop, walletSummary *postgres.ShopCommissionSummary, withdrawnAmount, withdrawingAmount int64, account *model.Account) model.ShopCommissionSummaryItem { +func (s *Service) buildCommissionSummaryItem(shop *model.Shop, walletSummary *postgres.ShopCommissionSummary, withdrawnAmount, withdrawingAmount int64, account *model.Account) dto.ShopCommissionSummaryItem { var balance, frozenBalance int64 if walletSummary != nil { balance = walletSummary.Balance @@ -143,7 +144,7 @@ func (s *Service) buildCommissionSummaryItem(shop *model.Shop, walletSummary *po phone = account.Phone } - return model.ShopCommissionSummaryItem{ + return dto.ShopCommissionSummaryItem{ ShopID: shop.ID, ShopName: shop.ShopName, ShopCode: shop.ShopCode, @@ -159,7 +160,7 @@ func (s *Service) buildCommissionSummaryItem(shop *model.Shop, walletSummary *po } } -func (s *Service) ListShopWithdrawalRequests(ctx context.Context, shopID uint, req *model.ShopWithdrawalRequestListReq) (*model.ShopWithdrawalRequestPageResult, error) { +func (s *Service) ListShopWithdrawalRequests(ctx context.Context, shopID uint, req *dto.ShopWithdrawalRequestListReq) (*dto.ShopWithdrawalRequestPageResult, error) { _, err := s.shopStore.GetByID(ctx, shopID) if err != nil { return nil, errors.New(errors.CodeShopNotFound, "店铺不存在") @@ -230,13 +231,13 @@ func (s *Service) ListShopWithdrawalRequests(ctx context.Context, shopID uint, r } } - items := make([]model.ShopWithdrawalRequestItem, 0, len(requests)) + items := make([]dto.ShopWithdrawalRequestItem, 0, len(requests)) for _, r := range requests { item := s.buildWithdrawalRequestItem(r, shop.ShopName, shopHierarchy, applicantMap, processorMap) items = append(items, item) } - return &model.ShopWithdrawalRequestPageResult{ + return &dto.ShopWithdrawalRequestPageResult{ Items: items, Total: total, Page: opts.Page, @@ -244,7 +245,7 @@ func (s *Service) ListShopWithdrawalRequests(ctx context.Context, shopID uint, r }, nil } -func (s *Service) buildWithdrawalRequestItem(r *model.CommissionWithdrawalRequest, shopName, shopHierarchy string, applicantMap, processorMap map[uint]string) model.ShopWithdrawalRequestItem { +func (s *Service) buildWithdrawalRequestItem(r *model.CommissionWithdrawalRequest, shopName, shopHierarchy string, applicantMap, processorMap map[uint]string) dto.ShopWithdrawalRequestItem { var processorID *uint if r.ProcessorID > 0 { processorID = &r.ProcessorID @@ -274,7 +275,7 @@ func (s *Service) buildWithdrawalRequestItem(r *model.CommissionWithdrawalReques paidAt = r.PaidAt.Format("2006-01-02 15:04:05") } - return model.ShopWithdrawalRequestItem{ + return dto.ShopWithdrawalRequestItem{ ID: r.ID, WithdrawalNo: r.WithdrawalNo, Amount: r.Amount, @@ -325,7 +326,7 @@ func (s *Service) buildShopHierarchyPath(ctx context.Context, shop *model.Shop) return path } -func (s *Service) ListShopCommissionRecords(ctx context.Context, shopID uint, req *model.ShopCommissionRecordListReq) (*model.ShopCommissionRecordPageResult, error) { +func (s *Service) ListShopCommissionRecords(ctx context.Context, shopID uint, req *dto.ShopCommissionRecordListReq) (*dto.ShopCommissionRecordPageResult, error) { _, err := s.shopStore.GetByID(ctx, shopID) if err != nil { return nil, errors.New(errors.CodeShopNotFound, "店铺不存在") @@ -356,9 +357,9 @@ func (s *Service) ListShopCommissionRecords(ctx context.Context, shopID uint, re return nil, fmt.Errorf("查询佣金明细失败: %w", err) } - items := make([]model.ShopCommissionRecordItem, 0, len(records)) + items := make([]dto.ShopCommissionRecordItem, 0, len(records)) for _, r := range records { - item := model.ShopCommissionRecordItem{ + item := dto.ShopCommissionRecordItem{ ID: r.ID, Amount: r.Amount, BalanceAfter: r.BalanceAfter, @@ -375,7 +376,7 @@ func (s *Service) ListShopCommissionRecords(ctx context.Context, shopID uint, re items = append(items, item) } - return &model.ShopCommissionRecordPageResult{ + return &dto.ShopCommissionRecordPageResult{ Items: items, Total: total, Page: opts.Page, diff --git a/tests/integration/account_test.go b/tests/integration/account_test.go index 6028128..8dddad9 100644 --- a/tests/integration/account_test.go +++ b/tests/integration/account_test.go @@ -24,6 +24,7 @@ import ( "github.com/break/junhong_cmp_fiber/internal/bootstrap" "github.com/break/junhong_cmp_fiber/internal/handler/admin" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/routes" accountService "github.com/break/junhong_cmp_fiber/internal/service/account" postgresStore "github.com/break/junhong_cmp_fiber/internal/store/postgres" @@ -183,7 +184,7 @@ func TestAccountAPI_Create(t *testing.T) { createTestAccount(t, env.db, rootAccount) t.Run("成功创建平台账号", func(t *testing.T) { - reqBody := model.CreateAccountRequest{ + reqBody := dto.CreateAccountRequest{ Username: "platform_user", Phone: "13800000001", Password: "Password123", @@ -221,7 +222,7 @@ func TestAccountAPI_Create(t *testing.T) { createTestAccount(t, env.db, existingAccount) // 尝试创建同名账号 - reqBody := model.CreateAccountRequest{ + reqBody := dto.CreateAccountRequest{ Username: "existing_user", Phone: "13800000003", Password: "Password123", @@ -242,7 +243,7 @@ func TestAccountAPI_Create(t *testing.T) { }) t.Run("非root用户缺少parent_id时返回错误", func(t *testing.T) { - reqBody := model.CreateAccountRequest{ + reqBody := dto.CreateAccountRequest{ Username: "no_parent_user", Phone: "13800000004", Password: "Password123", @@ -347,7 +348,7 @@ func TestAccountAPI_Update(t *testing.T) { t.Run("成功更新账号", func(t *testing.T) { newUsername := "updated_user" - reqBody := model.UpdateAccountRequest{ + reqBody := dto.UpdateAccountRequest{ Username: &newUsername, } @@ -480,7 +481,7 @@ func TestAccountAPI_AssignRoles(t *testing.T) { env.db.Create(testRole) t.Run("成功分配角色", func(t *testing.T) { - reqBody := model.AssignRolesRequest{ + reqBody := dto.AssignRolesRequest{ RoleIDs: []uint{testRole.ID}, } diff --git a/tests/integration/permission_test.go b/tests/integration/permission_test.go index 49c460c..6f3c5c1 100644 --- a/tests/integration/permission_test.go +++ b/tests/integration/permission_test.go @@ -24,6 +24,7 @@ import ( "github.com/break/junhong_cmp_fiber/internal/bootstrap" "github.com/break/junhong_cmp_fiber/internal/handler/admin" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/routes" permissionService "github.com/break/junhong_cmp_fiber/internal/service/permission" postgresStore "github.com/break/junhong_cmp_fiber/internal/store/postgres" @@ -148,7 +149,7 @@ func TestPermissionAPI_Create(t *testing.T) { }) t.Run("成功创建权限", func(t *testing.T) { - reqBody := model.CreatePermissionRequest{ + reqBody := dto.CreatePermissionRequest{ PermName: "用户管理", PermCode: "user:manage", PermType: constants.PermissionTypeMenu, @@ -185,7 +186,7 @@ func TestPermissionAPI_Create(t *testing.T) { env.db.Create(existingPerm) // 尝试创建相同编码的权限 - reqBody := model.CreatePermissionRequest{ + reqBody := dto.CreatePermissionRequest{ PermName: "新权限", PermCode: "existing:perm", PermType: constants.PermissionTypeMenu, @@ -215,7 +216,7 @@ func TestPermissionAPI_Create(t *testing.T) { env.db.Create(parentPerm) // 创建子权限 - reqBody := model.CreatePermissionRequest{ + reqBody := dto.CreatePermissionRequest{ PermName: "用户列表", PermCode: "system:user:list", PermType: constants.PermissionTypeButton, @@ -308,7 +309,7 @@ func TestPermissionAPI_Update(t *testing.T) { t.Run("成功更新权限", func(t *testing.T) { newName := "更新后权限" - reqBody := model.UpdatePermissionRequest{ + reqBody := dto.UpdatePermissionRequest{ PermName: &newName, } diff --git a/tests/integration/platform_account_test.go b/tests/integration/platform_account_test.go index 9399326..a619437 100644 --- a/tests/integration/platform_account_test.go +++ b/tests/integration/platform_account_test.go @@ -14,6 +14,7 @@ import ( "github.com/break/junhong_cmp_fiber/internal/bootstrap" "github.com/break/junhong_cmp_fiber/internal/handler/admin" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/routes" accountService "github.com/break/junhong_cmp_fiber/internal/service/account" postgresStore "github.com/break/junhong_cmp_fiber/internal/store/postgres" @@ -147,7 +148,7 @@ func TestPlatformAccountAPI_UpdatePassword(t *testing.T) { db.Create(testAccount) t.Run("成功修改密码", func(t *testing.T) { - reqBody := model.UpdatePasswordRequest{ + reqBody := dto.UpdatePasswordRequest{ NewPassword: "NewPassword@123", } jsonBody, _ := json.Marshal(reqBody) @@ -169,7 +170,7 @@ func TestPlatformAccountAPI_UpdatePassword(t *testing.T) { }) t.Run("账号不存在返回错误", func(t *testing.T) { - reqBody := model.UpdatePasswordRequest{ + reqBody := dto.UpdatePasswordRequest{ NewPassword: "NewPassword@123", } jsonBody, _ := json.Marshal(reqBody) @@ -221,7 +222,7 @@ func TestPlatformAccountAPI_UpdateStatus(t *testing.T) { db.Create(testAccount) t.Run("成功禁用账号", func(t *testing.T) { - reqBody := model.UpdateStatusRequest{ + reqBody := dto.UpdateStatusRequest{ Status: constants.StatusDisabled, } jsonBody, _ := json.Marshal(reqBody) @@ -238,7 +239,7 @@ func TestPlatformAccountAPI_UpdateStatus(t *testing.T) { }) t.Run("成功启用账号", func(t *testing.T) { - reqBody := model.UpdateStatusRequest{ + reqBody := dto.UpdateStatusRequest{ Status: constants.StatusEnabled, } jsonBody, _ := json.Marshal(reqBody) @@ -306,7 +307,7 @@ func TestPlatformAccountAPI_AssignRoles(t *testing.T) { db.Create(testRole) t.Run("超级管理员禁止分配角色", func(t *testing.T) { - reqBody := model.AssignRolesRequest{ + reqBody := dto.AssignRolesRequest{ RoleIDs: []uint{testRole.ID}, } jsonBody, _ := json.Marshal(reqBody) @@ -324,7 +325,7 @@ func TestPlatformAccountAPI_AssignRoles(t *testing.T) { }) t.Run("平台用户成功分配角色", func(t *testing.T) { - reqBody := model.AssignRolesRequest{ + reqBody := dto.AssignRolesRequest{ RoleIDs: []uint{testRole.ID}, } jsonBody, _ := json.Marshal(reqBody) @@ -341,7 +342,7 @@ func TestPlatformAccountAPI_AssignRoles(t *testing.T) { }) t.Run("空数组清空所有角色", func(t *testing.T) { - reqBody := model.AssignRolesRequest{ + reqBody := dto.AssignRolesRequest{ RoleIDs: []uint{}, } jsonBody, _ := json.Marshal(reqBody) diff --git a/tests/integration/role_test.go b/tests/integration/role_test.go index 8857b0b..84adb06 100644 --- a/tests/integration/role_test.go +++ b/tests/integration/role_test.go @@ -24,6 +24,7 @@ import ( "github.com/break/junhong_cmp_fiber/internal/bootstrap" "github.com/break/junhong_cmp_fiber/internal/handler/admin" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/routes" roleService "github.com/break/junhong_cmp_fiber/internal/service/role" postgresStore "github.com/break/junhong_cmp_fiber/internal/store/postgres" @@ -165,7 +166,7 @@ func TestRoleAPI_Create(t *testing.T) { }) t.Run("成功创建角色", func(t *testing.T) { - reqBody := model.CreateRoleRequest{ + reqBody := dto.CreateRoleRequest{ RoleName: "测试角色", RoleDesc: "这是一个测试角色", RoleType: constants.RoleTypePlatform, @@ -277,7 +278,7 @@ func TestRoleAPI_Update(t *testing.T) { t.Run("成功更新角色", func(t *testing.T) { newName := "更新后角色" - reqBody := model.UpdateRoleRequest{ + reqBody := dto.UpdateRoleRequest{ RoleName: &newName, } @@ -398,7 +399,7 @@ func TestRoleAPI_AssignPermissions(t *testing.T) { env.db.Create(testPerm) t.Run("成功分配权限", func(t *testing.T) { - reqBody := model.AssignPermissionsRequest{ + reqBody := dto.AssignPermissionsRequest{ PermIDs: []uint{testPerm.ID}, } @@ -540,7 +541,7 @@ func TestRoleAPI_UpdateStatus(t *testing.T) { env.db.Create(testRole) t.Run("成功禁用角色", func(t *testing.T) { - reqBody := model.UpdateRoleStatusRequest{ + reqBody := dto.UpdateRoleStatusRequest{ Status: constants.StatusDisabled, } @@ -564,7 +565,7 @@ func TestRoleAPI_UpdateStatus(t *testing.T) { }) t.Run("成功启用角色", func(t *testing.T) { - reqBody := model.UpdateRoleStatusRequest{ + reqBody := dto.UpdateRoleStatusRequest{ Status: constants.StatusEnabled, } @@ -588,7 +589,7 @@ func TestRoleAPI_UpdateStatus(t *testing.T) { }) t.Run("角色不存在返回错误", func(t *testing.T) { - reqBody := model.UpdateRoleStatusRequest{ + reqBody := dto.UpdateRoleStatusRequest{ Status: constants.StatusEnabled, } diff --git a/tests/integration/shop_account_management_test.go b/tests/integration/shop_account_management_test.go index f865953..83b8220 100644 --- a/tests/integration/shop_account_management_test.go +++ b/tests/integration/shop_account_management_test.go @@ -11,6 +11,7 @@ import ( "github.com/break/junhong_cmp_fiber/internal/bootstrap" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/routes" "github.com/break/junhong_cmp_fiber/pkg/auth" "github.com/break/junhong_cmp_fiber/pkg/config" @@ -147,7 +148,7 @@ func TestShopAccount_CreateAccount(t *testing.T) { env := setupShopAccountTestEnv(t) defer env.teardown() - reqBody := model.CreateShopAccountRequest{ + reqBody := dto.CreateShopAccountRequest{ ShopID: env.testShop.ID, Username: "agent001", Phone: "13800138001", @@ -193,7 +194,7 @@ func TestShopAccount_CreateAccount_InvalidShop(t *testing.T) { env := setupShopAccountTestEnv(t) defer env.teardown() - reqBody := model.CreateShopAccountRequest{ + reqBody := dto.CreateShopAccountRequest{ ShopID: 99999, // 不存在的商户ID Username: "agent002", Phone: "13800138002", @@ -262,7 +263,7 @@ func TestShopAccount_UpdateAccount(t *testing.T) { account := testutil.CreateAgentUser(t, env.db, env.testShop.ID) // 更新账号用户名 - reqBody := model.UpdateShopAccountRequest{ + reqBody := dto.UpdateShopAccountRequest{ Username: "updated_agent", } @@ -303,7 +304,7 @@ func TestShopAccount_UpdatePassword(t *testing.T) { // 重置密码 newPassword := "newpassword456" - reqBody := model.UpdateShopAccountPasswordRequest{ + reqBody := dto.UpdateShopAccountPasswordRequest{ NewPassword: newPassword, } @@ -349,7 +350,7 @@ func TestShopAccount_UpdateStatus(t *testing.T) { require.Equal(t, 1, account.Status) // 禁用账号 - reqBody := model.UpdateShopAccountStatusRequest{ + reqBody := dto.UpdateShopAccountStatusRequest{ Status: 2, // 禁用 } diff --git a/tests/integration/shop_management_test.go b/tests/integration/shop_management_test.go index f03a637..a7d6d64 100644 --- a/tests/integration/shop_management_test.go +++ b/tests/integration/shop_management_test.go @@ -11,6 +11,7 @@ import ( "github.com/break/junhong_cmp_fiber/internal/bootstrap" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/routes" "github.com/break/junhong_cmp_fiber/pkg/auth" "github.com/break/junhong_cmp_fiber/pkg/config" @@ -141,7 +142,7 @@ func TestShopManagement_CreateShop(t *testing.T) { env := setupShopManagementTestEnv(t) defer env.teardown() - reqBody := model.CreateShopRequest{ + reqBody := dto.CreateShopRequest{ ShopName: "测试商户", ShopCode: "TEST001", InitUsername: "testuser", @@ -191,7 +192,7 @@ func TestShopManagement_CreateShop_DuplicateCode(t *testing.T) { defer env.teardown() // 通过 API 创建第一个商户 - firstReq := model.CreateShopRequest{ + firstReq := dto.CreateShopRequest{ ShopName: "商户1", ShopCode: "DUP001", InitUsername: "dupuser1", @@ -210,7 +211,7 @@ func TestShopManagement_CreateShop_DuplicateCode(t *testing.T) { require.Equal(t, 0, firstResult.Code, "第一个商户应该创建成功") // 尝试创建编码重复的商户 - reqBody := model.CreateShopRequest{ + reqBody := dto.CreateShopRequest{ ShopName: "商户2", ShopCode: "DUP001", // 使用相同编码 InitUsername: "dupuser2", @@ -281,7 +282,7 @@ func TestShopManagement_UpdateShop(t *testing.T) { shop := testutil.CreateTestShop(t, env.db, "原始商户", "ORIG001", 1, nil) // 更新商户 - reqBody := model.UpdateShopRequest{ + reqBody := dto.UpdateShopRequest{ ShopName: "更新后的商户", Status: 1, } diff --git a/tests/unit/commission_withdrawal_service_test.go b/tests/unit/commission_withdrawal_service_test.go index 94e2435..8137bfc 100644 --- a/tests/unit/commission_withdrawal_service_test.go +++ b/tests/unit/commission_withdrawal_service_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/commission_withdrawal" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -36,7 +36,7 @@ func TestCommissionWithdrawalService_ListWithdrawalRequests(t *testing.T) { t.Run("查询提现申请列表-空结果", func(t *testing.T) { ctx := createWithdrawalTestContext(1) - req := &model.WithdrawalRequestListReq{ + req := &dto.WithdrawalRequestListReq{ Page: 1, PageSize: 20, } @@ -51,7 +51,7 @@ func TestCommissionWithdrawalService_ListWithdrawalRequests(t *testing.T) { ctx := createWithdrawalTestContext(1) status := 1 - req := &model.WithdrawalRequestListReq{ + req := &dto.WithdrawalRequestListReq{ Page: 1, PageSize: 20, Status: &status, @@ -65,7 +65,7 @@ func TestCommissionWithdrawalService_ListWithdrawalRequests(t *testing.T) { t.Run("按时间范围筛选提现申请", func(t *testing.T) { ctx := createWithdrawalTestContext(1) - req := &model.WithdrawalRequestListReq{ + req := &dto.WithdrawalRequestListReq{ Page: 1, PageSize: 20, StartTime: "2025-01-01 00:00:00", @@ -93,7 +93,7 @@ func TestCommissionWithdrawalService_Approve(t *testing.T) { t.Run("审批不存在的提现申请应失败", func(t *testing.T) { ctx := createWithdrawalTestContext(1) - req := &model.ApproveWithdrawalReq{ + req := &dto.ApproveWithdrawalReq{ PaymentType: "manual", } @@ -117,7 +117,7 @@ func TestCommissionWithdrawalService_Reject(t *testing.T) { t.Run("拒绝不存在的提现申请应失败", func(t *testing.T) { ctx := createWithdrawalTestContext(1) - req := &model.RejectWithdrawalReq{ + req := &dto.RejectWithdrawalReq{ Remark: "测试拒绝原因", } diff --git a/tests/unit/commission_withdrawal_setting_service_test.go b/tests/unit/commission_withdrawal_setting_service_test.go index 6793c1a..6d9a646 100644 --- a/tests/unit/commission_withdrawal_setting_service_test.go +++ b/tests/unit/commission_withdrawal_setting_service_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/commission_withdrawal_setting" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -33,7 +33,7 @@ func TestCommissionWithdrawalSettingService_Create(t *testing.T) { t.Run("新增提现配置", func(t *testing.T) { ctx := createWithdrawalSettingTestContext(1) - req := &model.CreateWithdrawalSettingReq{ + req := &dto.CreateWithdrawalSettingReq{ DailyWithdrawalLimit: 5, MinWithdrawalAmount: 10000, FeeRate: 100, @@ -51,7 +51,7 @@ func TestCommissionWithdrawalSettingService_Create(t *testing.T) { t.Run("未授权用户创建配置应失败", func(t *testing.T) { ctx := context.Background() - req := &model.CreateWithdrawalSettingReq{ + req := &dto.CreateWithdrawalSettingReq{ DailyWithdrawalLimit: 5, MinWithdrawalAmount: 10000, FeeRate: 100, @@ -74,7 +74,7 @@ func TestCommissionWithdrawalSettingService_ConfigSwitch(t *testing.T) { t.Run("配置切换-旧配置自动失效", func(t *testing.T) { ctx := createWithdrawalSettingTestContext(1) - req1 := &model.CreateWithdrawalSettingReq{ + req1 := &dto.CreateWithdrawalSettingReq{ DailyWithdrawalLimit: 3, MinWithdrawalAmount: 5000, FeeRate: 50, @@ -83,7 +83,7 @@ func TestCommissionWithdrawalSettingService_ConfigSwitch(t *testing.T) { require.NoError(t, err) assert.True(t, result1.IsActive) - req2 := &model.CreateWithdrawalSettingReq{ + req2 := &dto.CreateWithdrawalSettingReq{ DailyWithdrawalLimit: 10, MinWithdrawalAmount: 20000, FeeRate: 200, @@ -114,7 +114,7 @@ func TestCommissionWithdrawalSettingService_List(t *testing.T) { t.Run("查询配置列表-空结果", func(t *testing.T) { ctx := createWithdrawalSettingTestContext(1) - req := &model.WithdrawalSettingListReq{ + req := &dto.WithdrawalSettingListReq{ Page: 1, PageSize: 20, } @@ -129,7 +129,7 @@ func TestCommissionWithdrawalSettingService_List(t *testing.T) { ctx := createWithdrawalSettingTestContext(1) for i := 0; i < 3; i++ { - req := &model.CreateWithdrawalSettingReq{ + req := &dto.CreateWithdrawalSettingReq{ DailyWithdrawalLimit: i + 1, MinWithdrawalAmount: int64((i + 1) * 1000), FeeRate: int64((i + 1) * 10), @@ -138,7 +138,7 @@ func TestCommissionWithdrawalSettingService_List(t *testing.T) { require.NoError(t, err) } - listReq := &model.WithdrawalSettingListReq{ + listReq := &dto.WithdrawalSettingListReq{ Page: 1, PageSize: 20, } @@ -170,7 +170,7 @@ func TestCommissionWithdrawalSettingService_GetCurrent(t *testing.T) { t.Run("获取当前配置-有配置时正常返回", func(t *testing.T) { ctx := createWithdrawalSettingTestContext(1) - req := &model.CreateWithdrawalSettingReq{ + req := &dto.CreateWithdrawalSettingReq{ DailyWithdrawalLimit: 5, MinWithdrawalAmount: 10000, FeeRate: 100, diff --git a/tests/unit/customer_account_service_test.go b/tests/unit/customer_account_service_test.go index 9af9838..47147fb 100644 --- a/tests/unit/customer_account_service_test.go +++ b/tests/unit/customer_account_service_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/customer_account" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -34,7 +35,7 @@ func TestCustomerAccountService_List(t *testing.T) { t.Run("查询账号列表-空结果", func(t *testing.T) { ctx := createCustomerAccountTestContext(1) - req := &model.CustomerAccountListReq{ + req := &dto.CustomerAccountListReq{ Page: 1, PageSize: 20, } @@ -61,7 +62,7 @@ func TestCustomerAccountService_List(t *testing.T) { err := db.Create(shop).Error require.NoError(t, err) - createReq := &model.CreateCustomerAccountReq{ + createReq := &dto.CreateCustomerAccountReq{ Username: "测试账号用户", Phone: "13900000001", Password: "Test123456", @@ -70,7 +71,7 @@ func TestCustomerAccountService_List(t *testing.T) { _, err = service.Create(ctx, createReq) require.NoError(t, err) - req := &model.CustomerAccountListReq{ + req := &dto.CustomerAccountListReq{ Page: 1, PageSize: 20, Username: "测试账号", @@ -98,7 +99,7 @@ func TestCustomerAccountService_List(t *testing.T) { err := db.Create(shop).Error require.NoError(t, err) - createReq := &model.CreateCustomerAccountReq{ + createReq := &dto.CreateCustomerAccountReq{ Username: "店铺筛选账号", Phone: "13900000002", Password: "Test123456", @@ -107,7 +108,7 @@ func TestCustomerAccountService_List(t *testing.T) { _, err = service.Create(ctx, createReq) require.NoError(t, err) - req := &model.CustomerAccountListReq{ + req := &dto.CustomerAccountListReq{ Page: 1, PageSize: 20, ShopID: &shop.ID, @@ -146,7 +147,7 @@ func TestCustomerAccountService_Create(t *testing.T) { err := db.Create(shop).Error require.NoError(t, err) - req := &model.CreateCustomerAccountReq{ + req := &dto.CreateCustomerAccountReq{ Username: "新代理账号", Phone: "13900000010", Password: "Test123456", @@ -178,7 +179,7 @@ func TestCustomerAccountService_Create(t *testing.T) { err := db.Create(shop).Error require.NoError(t, err) - req1 := &model.CreateCustomerAccountReq{ + req1 := &dto.CreateCustomerAccountReq{ Username: "账号一", Phone: "13900000011", Password: "Test123456", @@ -187,7 +188,7 @@ func TestCustomerAccountService_Create(t *testing.T) { _, err = service.Create(ctx, req1) require.NoError(t, err) - req2 := &model.CreateCustomerAccountReq{ + req2 := &dto.CreateCustomerAccountReq{ Username: "账号二", Phone: "13900000011", Password: "Test123456", @@ -200,7 +201,7 @@ func TestCustomerAccountService_Create(t *testing.T) { t.Run("新增账号-店铺不存在应失败", func(t *testing.T) { ctx := createCustomerAccountTestContext(1) - req := &model.CreateCustomerAccountReq{ + req := &dto.CreateCustomerAccountReq{ Username: "无效店铺账号", Phone: "13900000012", Password: "Test123456", @@ -214,7 +215,7 @@ func TestCustomerAccountService_Create(t *testing.T) { t.Run("新增账号-未授权用户应失败", func(t *testing.T) { ctx := context.Background() - req := &model.CreateCustomerAccountReq{ + req := &dto.CreateCustomerAccountReq{ Username: "未授权账号", Phone: "13900000013", Password: "Test123456", @@ -252,7 +253,7 @@ func TestCustomerAccountService_Update(t *testing.T) { err := db.Create(shop).Error require.NoError(t, err) - createReq := &model.CreateCustomerAccountReq{ + createReq := &dto.CreateCustomerAccountReq{ Username: "待编辑账号", Phone: "13900000020", Password: "Test123456", @@ -262,7 +263,7 @@ func TestCustomerAccountService_Update(t *testing.T) { require.NoError(t, err) newName := "编辑后账号" - updateReq := &model.UpdateCustomerAccountReq{ + updateReq := &dto.UpdateCustomerAccountRequest{ Username: &newName, } @@ -275,7 +276,7 @@ func TestCustomerAccountService_Update(t *testing.T) { ctx := createCustomerAccountTestContext(1) newName := "不存在账号" - updateReq := &model.UpdateCustomerAccountReq{ + updateReq := &dto.UpdateCustomerAccountRequest{ Username: &newName, } @@ -310,7 +311,7 @@ func TestCustomerAccountService_UpdatePassword(t *testing.T) { err := db.Create(shop).Error require.NoError(t, err) - createReq := &model.CreateCustomerAccountReq{ + createReq := &dto.CreateCustomerAccountReq{ Username: "密码测试账号", Phone: "13900000030", Password: "OldPass123", @@ -363,7 +364,7 @@ func TestCustomerAccountService_UpdateStatus(t *testing.T) { err := db.Create(shop).Error require.NoError(t, err) - createReq := &model.CreateCustomerAccountReq{ + createReq := &dto.CreateCustomerAccountReq{ Username: "状态测试账号", Phone: "13900000040", Password: "Test123456", @@ -397,7 +398,7 @@ func TestCustomerAccountService_UpdateStatus(t *testing.T) { err := db.Create(shop).Error require.NoError(t, err) - createReq := &model.CreateCustomerAccountReq{ + createReq := &dto.CreateCustomerAccountReq{ Username: "启用测试账号", Phone: "13900000041", Password: "Test123456", diff --git a/tests/unit/enterprise_card_service_test.go b/tests/unit/enterprise_card_service_test.go index 0688b8c..7ec8a7f 100644 --- a/tests/unit/enterprise_card_service_test.go +++ b/tests/unit/enterprise_card_service_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/enterprise_card" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -34,7 +35,7 @@ func TestEnterpriseCardService_AllocateCardsPreview(t *testing.T) { t.Run("授权预检-企业不存在应失败", func(t *testing.T) { ctx := createEnterpriseCardTestContext(1, 1) - req := &model.AllocateCardsPreviewReq{ + req := &dto.AllocateCardsPreviewReq{ ICCIDs: []string{"898600000001"}, } @@ -45,7 +46,7 @@ func TestEnterpriseCardService_AllocateCardsPreview(t *testing.T) { t.Run("授权预检-未授权用户应失败", func(t *testing.T) { ctx := context.Background() - req := &model.AllocateCardsPreviewReq{ + req := &dto.AllocateCardsPreviewReq{ ICCIDs: []string{"898600000001"}, } @@ -66,7 +67,7 @@ func TestEnterpriseCardService_AllocateCardsPreview(t *testing.T) { err := db.Create(ent).Error require.NoError(t, err) - req := &model.AllocateCardsPreviewReq{ + req := &dto.AllocateCardsPreviewReq{ ICCIDs: []string{}, } @@ -89,7 +90,7 @@ func TestEnterpriseCardService_AllocateCardsPreview(t *testing.T) { err := db.Create(ent).Error require.NoError(t, err) - req := &model.AllocateCardsPreviewReq{ + req := &dto.AllocateCardsPreviewReq{ ICCIDs: []string{"NON_EXIST_ICCID"}, } @@ -124,7 +125,7 @@ func TestEnterpriseCardService_AllocateCardsPreview(t *testing.T) { err = db.Create(card).Error require.NoError(t, err) - req := &model.AllocateCardsPreviewReq{ + req := &dto.AllocateCardsPreviewReq{ ICCIDs: []string{"898600001234567890"}, } @@ -148,7 +149,7 @@ func TestEnterpriseCardService_AllocateCards(t *testing.T) { t.Run("授权卡-企业不存在应失败", func(t *testing.T) { ctx := createEnterpriseCardTestContext(1, 1) - req := &model.AllocateCardsReq{ + req := &dto.AllocateCardsReq{ ICCIDs: []string{"898600000001"}, } @@ -179,7 +180,7 @@ func TestEnterpriseCardService_AllocateCards(t *testing.T) { err = db.Create(card).Error require.NoError(t, err) - req := &model.AllocateCardsReq{ + req := &dto.AllocateCardsReq{ ICCIDs: []string{"898600002345678901"}, } @@ -212,7 +213,7 @@ func TestEnterpriseCardService_AllocateCards(t *testing.T) { err = db.Create(card).Error require.NoError(t, err) - req := &model.AllocateCardsReq{ + req := &dto.AllocateCardsReq{ ICCIDs: []string{"898600003456789012"}, } @@ -242,7 +243,7 @@ func TestEnterpriseCardService_RecallCards(t *testing.T) { t.Run("回收授权-企业不存在应失败", func(t *testing.T) { ctx := createEnterpriseCardTestContext(1, 1) - req := &model.RecallCardsReq{ + req := &dto.RecallCardsReq{ ICCIDs: []string{"898600000001"}, } @@ -273,7 +274,7 @@ func TestEnterpriseCardService_RecallCards(t *testing.T) { err = db.Create(card).Error require.NoError(t, err) - req := &model.RecallCardsReq{ + req := &dto.RecallCardsReq{ ICCIDs: []string{"898600004567890123"}, } @@ -306,13 +307,13 @@ func TestEnterpriseCardService_RecallCards(t *testing.T) { err = db.Create(card).Error require.NoError(t, err) - allocReq := &model.AllocateCardsReq{ + allocReq := &dto.AllocateCardsReq{ ICCIDs: []string{"898600005678901234"}, } _, err = service.AllocateCards(ctx, ent.ID, allocReq) require.NoError(t, err) - recallReq := &model.RecallCardsReq{ + recallReq := &dto.RecallCardsReq{ ICCIDs: []string{"898600005678901234"}, } result, err := service.RecallCards(ctx, ent.ID, recallReq) @@ -334,7 +335,7 @@ func TestEnterpriseCardService_ListCards(t *testing.T) { t.Run("查询企业卡列表-企业不存在应失败", func(t *testing.T) { ctx := createEnterpriseCardTestContext(1, 1) - req := &model.EnterpriseCardListReq{ + req := &dto.EnterpriseCardListReq{ Page: 1, PageSize: 20, } @@ -356,7 +357,7 @@ func TestEnterpriseCardService_ListCards(t *testing.T) { err := db.Create(ent).Error require.NoError(t, err) - req := &model.EnterpriseCardListReq{ + req := &dto.EnterpriseCardListReq{ Page: 1, PageSize: 20, } @@ -390,13 +391,13 @@ func TestEnterpriseCardService_ListCards(t *testing.T) { err = db.Create(card).Error require.NoError(t, err) - allocReq := &model.AllocateCardsReq{ + allocReq := &dto.AllocateCardsReq{ ICCIDs: []string{"898600006789012345"}, } _, err = service.AllocateCards(ctx, ent.ID, allocReq) require.NoError(t, err) - req := &model.EnterpriseCardListReq{ + req := &dto.EnterpriseCardListReq{ Page: 1, PageSize: 20, } @@ -432,13 +433,13 @@ func TestEnterpriseCardService_ListCards(t *testing.T) { err = db.Create(card).Error require.NoError(t, err) - allocReq := &model.AllocateCardsReq{ + allocReq := &dto.AllocateCardsReq{ ICCIDs: []string{"898600007890123456"}, } _, err = service.AllocateCards(ctx, ent.ID, allocReq) require.NoError(t, err) - req := &model.EnterpriseCardListReq{ + req := &dto.EnterpriseCardListReq{ Page: 1, PageSize: 20, ICCID: "78901", @@ -511,7 +512,7 @@ func TestEnterpriseCardService_SuspendAndResumeCard(t *testing.T) { err = db.Create(card).Error require.NoError(t, err) - allocReq := &model.AllocateCardsReq{ + allocReq := &dto.AllocateCardsReq{ ICCIDs: []string{"898600009012345678"}, } _, err = service.AllocateCards(ctx, ent.ID, allocReq) diff --git a/tests/unit/enterprise_service_test.go b/tests/unit/enterprise_service_test.go index afb3fe9..90f31b5 100644 --- a/tests/unit/enterprise_service_test.go +++ b/tests/unit/enterprise_service_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/enterprise" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -34,7 +35,7 @@ func TestEnterpriseService_Create(t *testing.T) { t.Run("创建企业-含账号创建", func(t *testing.T) { ctx := createEnterpriseTestContext(1) - req := &model.CreateEnterpriseReq{ + req := &dto.CreateEnterpriseReq{ EnterpriseName: "测试企业", EnterpriseCode: "ENT_TEST_001", ContactName: "测试联系人", @@ -55,7 +56,7 @@ func TestEnterpriseService_Create(t *testing.T) { t.Run("创建企业-企业编号已存在应失败", func(t *testing.T) { ctx := createEnterpriseTestContext(1) - req1 := &model.CreateEnterpriseReq{ + req1 := &dto.CreateEnterpriseReq{ EnterpriseName: "企业一", EnterpriseCode: "ENT_DUP_001", ContactName: "联系人一", @@ -66,7 +67,7 @@ func TestEnterpriseService_Create(t *testing.T) { _, err := service.Create(ctx, req1) require.NoError(t, err) - req2 := &model.CreateEnterpriseReq{ + req2 := &dto.CreateEnterpriseReq{ EnterpriseName: "企业二", EnterpriseCode: "ENT_DUP_001", ContactName: "联系人二", @@ -81,7 +82,7 @@ func TestEnterpriseService_Create(t *testing.T) { t.Run("创建企业-手机号已存在应失败", func(t *testing.T) { ctx := createEnterpriseTestContext(1) - req1 := &model.CreateEnterpriseReq{ + req1 := &dto.CreateEnterpriseReq{ EnterpriseName: "企业三", EnterpriseCode: "ENT_PHONE_001", ContactName: "联系人三", @@ -92,7 +93,7 @@ func TestEnterpriseService_Create(t *testing.T) { _, err := service.Create(ctx, req1) require.NoError(t, err) - req2 := &model.CreateEnterpriseReq{ + req2 := &dto.CreateEnterpriseReq{ EnterpriseName: "企业四", EnterpriseCode: "ENT_PHONE_002", ContactName: "联系人四", @@ -107,7 +108,7 @@ func TestEnterpriseService_Create(t *testing.T) { t.Run("创建企业-未授权用户应失败", func(t *testing.T) { ctx := context.Background() - req := &model.CreateEnterpriseReq{ + req := &dto.CreateEnterpriseReq{ EnterpriseName: "未授权企业", EnterpriseCode: "ENT_UNAUTH_001", ContactName: "联系人", @@ -134,7 +135,7 @@ func TestEnterpriseService_Update(t *testing.T) { t.Run("编辑企业", func(t *testing.T) { ctx := createEnterpriseTestContext(1) - createReq := &model.CreateEnterpriseReq{ + createReq := &dto.CreateEnterpriseReq{ EnterpriseName: "待编辑企业", EnterpriseCode: "ENT_EDIT_001", ContactName: "原联系人", @@ -147,7 +148,7 @@ func TestEnterpriseService_Update(t *testing.T) { newName := "编辑后企业" newContact := "新联系人" - updateReq := &model.UpdateEnterpriseRequest{ + updateReq := &dto.UpdateEnterpriseRequest{ EnterpriseName: &newName, ContactName: &newContact, } @@ -162,7 +163,7 @@ func TestEnterpriseService_Update(t *testing.T) { ctx := createEnterpriseTestContext(1) newName := "不存在企业" - updateReq := &model.UpdateEnterpriseRequest{ + updateReq := &dto.UpdateEnterpriseRequest{ EnterpriseName: &newName, } @@ -184,7 +185,7 @@ func TestEnterpriseService_UpdateStatus(t *testing.T) { t.Run("禁用企业-账号同步禁用", func(t *testing.T) { ctx := createEnterpriseTestContext(1) - createReq := &model.CreateEnterpriseReq{ + createReq := &dto.CreateEnterpriseReq{ EnterpriseName: "待禁用企业", EnterpriseCode: "ENT_STATUS_001", ContactName: "联系人", @@ -211,7 +212,7 @@ func TestEnterpriseService_UpdateStatus(t *testing.T) { t.Run("启用企业-账号同步启用", func(t *testing.T) { ctx := createEnterpriseTestContext(1) - createReq := &model.CreateEnterpriseReq{ + createReq := &dto.CreateEnterpriseReq{ EnterpriseName: "待启用企业", EnterpriseCode: "ENT_STATUS_002", ContactName: "联系人", @@ -259,7 +260,7 @@ func TestEnterpriseService_UpdatePassword(t *testing.T) { t.Run("修改企业账号密码", func(t *testing.T) { ctx := createEnterpriseTestContext(1) - createReq := &model.CreateEnterpriseReq{ + createReq := &dto.CreateEnterpriseReq{ EnterpriseName: "密码测试企业", EnterpriseCode: "ENT_PWD_001", ContactName: "联系人", @@ -301,7 +302,7 @@ func TestEnterpriseService_List(t *testing.T) { t.Run("查询企业列表-空结果", func(t *testing.T) { ctx := createEnterpriseTestContext(1) - req := &model.EnterpriseListReq{ + req := &dto.EnterpriseListReq{ Page: 1, PageSize: 20, } @@ -316,7 +317,7 @@ func TestEnterpriseService_List(t *testing.T) { ctx := createEnterpriseTestContext(1) for i := 0; i < 3; i++ { - createReq := &model.CreateEnterpriseReq{ + createReq := &dto.CreateEnterpriseReq{ EnterpriseName: "列表测试企业", EnterpriseCode: "ENT_LIST_" + string(rune('A'+i)), ContactName: "联系人", @@ -328,7 +329,7 @@ func TestEnterpriseService_List(t *testing.T) { require.NoError(t, err) } - req := &model.EnterpriseListReq{ + req := &dto.EnterpriseListReq{ Page: 1, PageSize: 20, EnterpriseName: "列表测试", @@ -344,7 +345,7 @@ func TestEnterpriseService_List(t *testing.T) { ctx := createEnterpriseTestContext(1) status := constants.StatusEnabled - req := &model.EnterpriseListReq{ + req := &dto.EnterpriseListReq{ Page: 1, PageSize: 20, Status: &status, diff --git a/tests/unit/my_commission_service_test.go b/tests/unit/my_commission_service_test.go index c9f3fef..7b10590 100644 --- a/tests/unit/my_commission_service_test.go +++ b/tests/unit/my_commission_service_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/my_commission" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -110,7 +111,7 @@ func TestMyCommissionService_CreateWithdrawalRequest(t *testing.T) { ctx := createMyCommissionTestContext(1, shop.ID, constants.UserTypeAgent) - req := &model.CreateMyWithdrawalReq{ + req := &dto.CreateMyWithdrawalReq{ Amount: 10000, WithdrawalMethod: "alipay", AccountName: "测试用户", @@ -148,7 +149,7 @@ func TestMyCommissionService_CreateWithdrawalRequest(t *testing.T) { ctx := createMyCommissionTestContext(1, shop.ID, constants.UserTypeAgent) - req := &model.CreateMyWithdrawalReq{ + req := &dto.CreateMyWithdrawalReq{ Amount: 5000, WithdrawalMethod: "alipay", AccountName: "测试用户", @@ -184,7 +185,7 @@ func TestMyCommissionService_CreateWithdrawalRequest(t *testing.T) { ctx := createMyCommissionTestContext(1, shop.ID, constants.UserTypeAgent) - req := &model.CreateMyWithdrawalReq{ + req := &dto.CreateMyWithdrawalReq{ Amount: 50000, WithdrawalMethod: "alipay", AccountName: "测试用户", @@ -198,7 +199,7 @@ func TestMyCommissionService_CreateWithdrawalRequest(t *testing.T) { t.Run("发起提现-非代理商用户应失败", func(t *testing.T) { ctx := createMyCommissionTestContext(1, 1, constants.UserTypePlatform) - req := &model.CreateMyWithdrawalReq{ + req := &dto.CreateMyWithdrawalReq{ Amount: 10000, WithdrawalMethod: "alipay", AccountName: "测试用户", @@ -243,7 +244,7 @@ func TestMyCommissionService_ListMyWithdrawalRequests(t *testing.T) { ctx := createMyCommissionTestContext(1, shop.ID, constants.UserTypeAgent) - req := &model.MyWithdrawalListReq{ + req := &dto.MyWithdrawalListReq{ Page: 1, PageSize: 20, } @@ -271,7 +272,7 @@ func TestMyCommissionService_ListMyWithdrawalRequests(t *testing.T) { ctx := createMyCommissionTestContext(1, shop.ID, constants.UserTypeAgent) status := 1 - req := &model.MyWithdrawalListReq{ + req := &dto.MyWithdrawalListReq{ Page: 1, PageSize: 20, Status: &status, @@ -285,7 +286,7 @@ func TestMyCommissionService_ListMyWithdrawalRequests(t *testing.T) { t.Run("查询提现记录-非代理商用户应失败", func(t *testing.T) { ctx := createMyCommissionTestContext(1, 1, constants.UserTypePlatform) - req := &model.MyWithdrawalListReq{ + req := &dto.MyWithdrawalListReq{ Page: 1, PageSize: 20, } @@ -328,7 +329,7 @@ func TestMyCommissionService_ListMyCommissionRecords(t *testing.T) { ctx := createMyCommissionTestContext(1, shop.ID, constants.UserTypeAgent) - req := &model.MyCommissionRecordListReq{ + req := &dto.MyCommissionRecordListReq{ Page: 1, PageSize: 20, } @@ -356,7 +357,7 @@ func TestMyCommissionService_ListMyCommissionRecords(t *testing.T) { ctx := createMyCommissionTestContext(1, shop.ID, constants.UserTypeAgent) commissionType := "one_time" - req := &model.MyCommissionRecordListReq{ + req := &dto.MyCommissionRecordListReq{ Page: 1, PageSize: 20, CommissionType: &commissionType, @@ -370,7 +371,7 @@ func TestMyCommissionService_ListMyCommissionRecords(t *testing.T) { t.Run("查询佣金明细-非代理商用户应失败", func(t *testing.T) { ctx := createMyCommissionTestContext(1, 1, constants.UserTypePlatform) - req := &model.MyCommissionRecordListReq{ + req := &dto.MyCommissionRecordListReq{ Page: 1, PageSize: 20, } diff --git a/tests/unit/permission_platform_filter_test.go b/tests/unit/permission_platform_filter_test.go index 4b5d7ec..59ba6ea 100644 --- a/tests/unit/permission_platform_filter_test.go +++ b/tests/unit/permission_platform_filter_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/permission" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -42,7 +43,7 @@ func TestPermissionPlatformFilter_List(t *testing.T) { // 测试查询全部权限(不过滤) t.Run("查询全部权限", func(t *testing.T) { - req := &model.PermissionListRequest{ + req := &dto.PermissionListRequest{ Page: 1, PageSize: 10, } @@ -54,7 +55,7 @@ func TestPermissionPlatformFilter_List(t *testing.T) { // 测试只查询 all 权限 t.Run("只查询all端口权限", func(t *testing.T) { - req := &model.PermissionListRequest{ + req := &dto.PermissionListRequest{ Page: 1, PageSize: 10, Platform: constants.PlatformAll, @@ -68,7 +69,7 @@ func TestPermissionPlatformFilter_List(t *testing.T) { // 测试只查询 web 权限 t.Run("只查询web端口权限", func(t *testing.T) { - req := &model.PermissionListRequest{ + req := &dto.PermissionListRequest{ Page: 1, PageSize: 10, Platform: constants.PlatformWeb, @@ -85,7 +86,7 @@ func TestPermissionPlatformFilter_List(t *testing.T) { // 测试只查询 h5 权限 t.Run("只查询h5端口权限", func(t *testing.T) { - req := &model.PermissionListRequest{ + req := &dto.PermissionListRequest{ Page: 1, PageSize: 10, Platform: constants.PlatformH5, @@ -115,7 +116,7 @@ func TestPermissionPlatformFilter_CreateWithDefaultPlatform(t *testing.T) { ctx = middleware.SetUserContext(ctx, middleware.NewSimpleUserContext(1, constants.UserTypeSuperAdmin, 0)) // 创建权限时不指定 platform - req := &model.CreatePermissionRequest{ + req := &dto.CreatePermissionRequest{ PermName: "测试权限", PermCode: "test:permission", PermType: constants.PermissionTypeMenu, @@ -152,7 +153,7 @@ func TestPermissionPlatformFilter_CreateWithSpecificPlatform(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - req := &model.CreatePermissionRequest{ + req := &dto.CreatePermissionRequest{ PermName: "测试权限_" + tt.platform, PermCode: "test:" + tt.platform, PermType: constants.PermissionTypeMenu, diff --git a/tests/unit/shop_account_service_test.go b/tests/unit/shop_account_service_test.go index 793e206..980cfd3 100644 --- a/tests/unit/shop_account_service_test.go +++ b/tests/unit/shop_account_service_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/shop_account" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -40,7 +41,7 @@ func TestShopAccountService_Create(t *testing.T) { err := shopStore.Create(ctx, shop) require.NoError(t, err) - req := &model.CreateShopAccountRequest{ + req := &dto.CreateShopAccountRequest{ ShopID: shop.ID, Username: testutils.GenerateUsername("account", 1), Phone: testutils.GeneratePhone("139", 1), @@ -58,7 +59,7 @@ func TestShopAccountService_Create(t *testing.T) { t.Run("创建商户账号-商户不存在应失败", func(t *testing.T) { ctx := createContextWithUserID(1) - req := &model.CreateShopAccountRequest{ + req := &dto.CreateShopAccountRequest{ ShopID: 99999, Username: testutils.GenerateUsername("account", 2), Phone: testutils.GeneratePhone("139", 2), @@ -91,7 +92,7 @@ func TestShopAccountService_Create(t *testing.T) { require.NoError(t, err) username := testutils.GenerateUsername("duplicate", 1) - req1 := &model.CreateShopAccountRequest{ + req1 := &dto.CreateShopAccountRequest{ ShopID: shop.ID, Username: username, Phone: testutils.GeneratePhone("138", 1), @@ -100,7 +101,7 @@ func TestShopAccountService_Create(t *testing.T) { _, err = service.Create(ctx, req1) require.NoError(t, err) - req2 := &model.CreateShopAccountRequest{ + req2 := &dto.CreateShopAccountRequest{ ShopID: shop.ID, Username: username, Phone: testutils.GeneratePhone("138", 2), @@ -114,7 +115,7 @@ func TestShopAccountService_Create(t *testing.T) { t.Run("未授权访问应失败", func(t *testing.T) { ctx := context.Background() - req := &model.CreateShopAccountRequest{ + req := &dto.CreateShopAccountRequest{ ShopID: 1, Username: "test", Phone: "13800000000", @@ -167,7 +168,7 @@ func TestShopAccountService_Update(t *testing.T) { err = accountStore.Create(ctx, account) require.NoError(t, err) - req := &model.UpdateShopAccountRequest{ + req := &dto.UpdateShopAccountRequest{ Username: testutils.GenerateUsername("newuser", 1), } @@ -179,7 +180,7 @@ func TestShopAccountService_Update(t *testing.T) { t.Run("更新不存在的账号应失败", func(t *testing.T) { ctx := createContextWithUserID(1) - req := &model.UpdateShopAccountRequest{ + req := &dto.UpdateShopAccountRequest{ Username: "newuser", } @@ -191,7 +192,7 @@ func TestShopAccountService_Update(t *testing.T) { t.Run("未授权访问应失败", func(t *testing.T) { ctx := context.Background() - req := &model.UpdateShopAccountRequest{ + req := &dto.UpdateShopAccountRequest{ Username: "newuser", } @@ -241,7 +242,7 @@ func TestShopAccountService_UpdatePassword(t *testing.T) { err = accountStore.Create(ctx, account) require.NoError(t, err) - req := &model.UpdateShopAccountPasswordRequest{ + req := &dto.UpdateShopAccountPasswordRequest{ NewPassword: "newpassword123", } err = service.UpdatePassword(ctx, account.ID, req) @@ -255,7 +256,7 @@ func TestShopAccountService_UpdatePassword(t *testing.T) { t.Run("更新不存在的账号密码应失败", func(t *testing.T) { ctx := createContextWithUserID(1) - req := &model.UpdateShopAccountPasswordRequest{ + req := &dto.UpdateShopAccountPasswordRequest{ NewPassword: "newpassword", } err := service.UpdatePassword(ctx, 99999, req) @@ -265,7 +266,7 @@ func TestShopAccountService_UpdatePassword(t *testing.T) { t.Run("未授权访问应失败", func(t *testing.T) { ctx := context.Background() - req := &model.UpdateShopAccountPasswordRequest{ + req := &dto.UpdateShopAccountPasswordRequest{ NewPassword: "newpassword", } err := service.UpdatePassword(ctx, 1, req) @@ -313,7 +314,7 @@ func TestShopAccountService_UpdateStatus(t *testing.T) { err = accountStore.Create(ctx, account) require.NoError(t, err) - req := &model.UpdateShopAccountStatusRequest{ + req := &dto.UpdateShopAccountStatusRequest{ Status: constants.StatusDisabled, } err = service.UpdateStatus(ctx, account.ID, req) @@ -327,7 +328,7 @@ func TestShopAccountService_UpdateStatus(t *testing.T) { t.Run("更新不存在的账号状态应失败", func(t *testing.T) { ctx := createContextWithUserID(1) - req := &model.UpdateShopAccountStatusRequest{ + req := &dto.UpdateShopAccountStatusRequest{ Status: constants.StatusDisabled, } err := service.UpdateStatus(ctx, 99999, req) @@ -337,7 +338,7 @@ func TestShopAccountService_UpdateStatus(t *testing.T) { t.Run("未授权访问应失败", func(t *testing.T) { ctx := context.Background() - req := &model.UpdateShopAccountStatusRequest{ + req := &dto.UpdateShopAccountStatusRequest{ Status: constants.StatusDisabled, } err := service.UpdateStatus(ctx, 1, req) @@ -387,7 +388,7 @@ func TestShopAccountService_List(t *testing.T) { require.NoError(t, err) } - req := &model.ShopAccountListRequest{ + req := &dto.ShopAccountListRequest{ ShopID: &shop.ID, Page: 1, PageSize: 20, diff --git a/tests/unit/shop_commission_service_test.go b/tests/unit/shop_commission_service_test.go index bb363b6..f6e861f 100644 --- a/tests/unit/shop_commission_service_test.go +++ b/tests/unit/shop_commission_service_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/shop_commission" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -51,7 +52,7 @@ func TestShopCommissionService_ListShopCommissionSummary(t *testing.T) { err := shopStore.Create(ctx, shop) require.NoError(t, err) - req := &model.ShopCommissionSummaryListReq{ + req := &dto.ShopCommissionSummaryListReq{ Page: 1, PageSize: 20, } @@ -80,7 +81,7 @@ func TestShopCommissionService_ListShopCommissionSummary(t *testing.T) { err := shopStore.Create(ctx, shop) require.NoError(t, err) - req := &model.ShopCommissionSummaryListReq{ + req := &dto.ShopCommissionSummaryListReq{ Page: 1, PageSize: 20, ShopName: "筛选测试", @@ -122,7 +123,7 @@ func TestShopCommissionService_ListShopWithdrawalRequests(t *testing.T) { err := shopStore.Create(ctx, shop) require.NoError(t, err) - req := &model.ShopWithdrawalRequestListReq{ + req := &dto.ShopWithdrawalRequestListReq{ Page: 1, PageSize: 20, } @@ -136,7 +137,7 @@ func TestShopCommissionService_ListShopWithdrawalRequests(t *testing.T) { t.Run("查询不存在的店铺提现记录应失败", func(t *testing.T) { ctx := createCommissionTestContext(1) - req := &model.ShopWithdrawalRequestListReq{ + req := &dto.ShopWithdrawalRequestListReq{ Page: 1, PageSize: 20, } @@ -176,7 +177,7 @@ func TestShopCommissionService_ListShopCommissionRecords(t *testing.T) { err := shopStore.Create(ctx, shop) require.NoError(t, err) - req := &model.ShopCommissionRecordListReq{ + req := &dto.ShopCommissionRecordListReq{ Page: 1, PageSize: 20, } @@ -190,7 +191,7 @@ func TestShopCommissionService_ListShopCommissionRecords(t *testing.T) { t.Run("查询不存在的店铺佣金明细应失败", func(t *testing.T) { ctx := createCommissionTestContext(1) - req := &model.ShopCommissionRecordListReq{ + req := &dto.ShopCommissionRecordListReq{ Page: 1, PageSize: 20, } diff --git a/tests/unit/shop_service_test.go b/tests/unit/shop_service_test.go index 96589d6..6cad7de 100644 --- a/tests/unit/shop_service_test.go +++ b/tests/unit/shop_service_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/break/junhong_cmp_fiber/internal/model" + "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/internal/service/shop" "github.com/break/junhong_cmp_fiber/internal/store/postgres" "github.com/break/junhong_cmp_fiber/pkg/constants" @@ -26,7 +27,7 @@ func TestShopService_Create(t *testing.T) { t.Run("创建一级店铺成功", func(t *testing.T) { ctx := createContextWithUserID(1) - req := &model.CreateShopRequest{ + req := &dto.CreateShopRequest{ ShopName: "测试一级店铺", ShopCode: "SHOP_L1_001", ParentID: nil, @@ -71,7 +72,7 @@ func TestShopService_Create(t *testing.T) { require.NoError(t, err) // 创建二级店铺 - req := &model.CreateShopRequest{ + req := &dto.CreateShopRequest{ ShopName: "测试二级店铺", ShopCode: "SHOP_L2_001", ParentID: &parent.ID, @@ -123,7 +124,7 @@ func TestShopService_Create(t *testing.T) { assert.Equal(t, 7, shops[6].Level) // 尝试创建第 8 级店铺(应该失败) - req := &model.CreateShopRequest{ + req := &dto.CreateShopRequest{ ShopName: "第8级店铺", ShopCode: "SHOP_L8_001", ParentID: &shops[6].ID, // 第7级店铺的ID @@ -149,7 +150,7 @@ func TestShopService_Create(t *testing.T) { ctx := createContextWithUserID(1) // 创建第一个店铺 - req1 := &model.CreateShopRequest{ + req1 := &dto.CreateShopRequest{ ShopName: "店铺A", ShopCode: "UNIQUE_CODE_001", ContactName: "张三", @@ -162,7 +163,7 @@ func TestShopService_Create(t *testing.T) { require.NoError(t, err) // 尝试创建相同编号的店铺(应该失败) - req2 := &model.CreateShopRequest{ + req2 := &dto.CreateShopRequest{ ShopName: "店铺B", ShopCode: "UNIQUE_CODE_001", // 重复编号 ContactName: "李四", @@ -186,7 +187,7 @@ func TestShopService_Create(t *testing.T) { ctx := createContextWithUserID(1) nonExistentID := uint(99999) - req := &model.CreateShopRequest{ + req := &dto.CreateShopRequest{ ShopName: "测试店铺", ShopCode: "SHOP_INVALID_PARENT", ParentID: &nonExistentID, // 不存在的上级店铺 ID @@ -211,7 +212,7 @@ func TestShopService_Create(t *testing.T) { t.Run("未授权访问应失败", func(t *testing.T) { ctx := context.Background() // 没有用户 ID 的 context - req := &model.CreateShopRequest{ + req := &dto.CreateShopRequest{ ShopName: "测试店铺", ShopCode: "SHOP_UNAUTHORIZED", ContactName: "测试", @@ -262,7 +263,7 @@ func TestShopService_Update(t *testing.T) { require.NoError(t, err) // 更新店铺 - req := &model.UpdateShopRequest{ + req := &dto.UpdateShopRequest{ ShopName: "更新后的店铺名称", ContactName: "新联系人", ContactPhone: "13900000001", @@ -316,7 +317,7 @@ func TestShopService_Update(t *testing.T) { require.NoError(t, err) // 尝试更新 shop2 的名称为已存在的名称(应该成功,因为名称不需要唯一性) - req := &model.UpdateShopRequest{ + req := &dto.UpdateShopRequest{ ShopName: "店铺1", Status: constants.StatusEnabled, } @@ -330,7 +331,7 @@ func TestShopService_Update(t *testing.T) { t.Run("更新不存在的店铺应失败", func(t *testing.T) { ctx := createContextWithUserID(1) - req := &model.UpdateShopRequest{ + req := &dto.UpdateShopRequest{ ShopName: "新名称", Status: constants.StatusEnabled, } @@ -347,7 +348,7 @@ func TestShopService_Update(t *testing.T) { t.Run("未授权访问应失败", func(t *testing.T) { ctx := context.Background() - req := &model.UpdateShopRequest{ + req := &dto.UpdateShopRequest{ ShopName: "新名称", Status: constants.StatusEnabled, }