feat(marketing): user profile update, ad placement management, logo limits

- Add PUT /auth/profile endpoint for nickname and avatar updates
- Add ad_placements table and CRUD admin API for managing ad units
- Add GET /marketing/ad-config public API for mini-program to fetch ad config
- Reduce logo limit from 10 to 3 per user, add 2MB file size validation

Made-with: Cursor
This commit is contained in:
nepiedg
2026-04-04 04:02:06 +08:00
parent b4170b4863
commit 1c0aeb152a
11 changed files with 347 additions and 7 deletions
+4
View File
@@ -83,6 +83,7 @@ func main() {
&marketingmodel.MarketingTemplate{},
&marketingmodel.MarketingDownload{},
&marketingmodel.UserLogo{},
&marketingmodel.AdPlacement{},
&quitcheckinmodel.Profile{},
&quitcheckinmodel.DailyStatus{},
&quitcheckinmodel.RelapseEvent{},
@@ -166,6 +167,8 @@ func main() {
marketingTemplateHandler := marketinghandler.NewTemplateHandler(templateSvc)
marketingDownloadHandler := marketinghandler.NewDownloadHandler(downloadSvc)
marketingUserLogoHandler := marketinghandler.NewUserLogoHandler(userLogoSvc)
adPlacementRepo := marketingrepo.NewAdPlacementRepository(database.DB)
marketingAdPlacementHandler := marketinghandler.NewAdPlacementHandler(adPlacementRepo)
adminService := adminmodule.NewService(
database.DB,
@@ -199,6 +202,7 @@ func main() {
marketingTemplateHandler,
marketingDownloadHandler,
marketingUserLogoHandler,
marketingAdPlacementHandler,
quitCheckinHandler,
)