feat(#4): 删除抽奖活动接口 DELETE /admin/lottery/activities/:id

- 软删活动 + 硬删其奖品(同事务)+ 审计日志
- 运行中的活动禁止删除(需先暂停)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-17 00:16:34 -07:00
parent e8e3a3a72b
commit 13bafd5847
4 changed files with 71 additions and 0 deletions
@@ -175,3 +175,20 @@ func GrantLotteryChanceHandler(svcCtx *svc.ServiceContext) func(c *gin.Context)
result.HttpResult(c, nil, l.GrantLotteryChance(&req))
}
}
// DeleteLotteryActivityHandler DELETE /v1/admin/lottery/activities/:id
func DeleteLotteryActivityHandler(svcCtx *svc.ServiceContext) func(c *gin.Context) {
return func(c *gin.Context) {
var req types.AdminActivityIdRequest
_ = c.ShouldBind(&req)
if id, err := strconv.ParseInt(c.Param("id"), 10, 64); err == nil {
req.Id = id
}
if err := svcCtx.Validate(&req); err != nil {
result.ParamErrorResult(c, err)
return
}
l := adminlottery.NewDeleteLotteryActivityLogic(c.Request.Context(), svcCtx)
result.HttpResult(c, nil, l.DeleteLotteryActivity(&req))
}
}