实现CreatePlan接口
This commit is contained in:
@@ -107,10 +107,31 @@ func NewController(logger *logs.Logger, planRepo repository.PlanRepository) *Con
|
||||
// @Success 200 {object} controller.Response{data=plan.PlanResponse} "业务码为201代表创建成功"
|
||||
// @Failure 200 {object} controller.Response "业务失败,具体错误码和信息见响应体(例如400, 500)"
|
||||
// @Router /plans [post]
|
||||
func (pc *Controller) CreatePlan(c *gin.Context) {
|
||||
// 占位符:此处应调用服务层或仓库层来创建计划
|
||||
pc.logger.Infof("收到创建计划请求 (占位符)")
|
||||
controller.SendResponse(c, controller.CodeCreated, "创建计划接口占位符", PlanResponse{ID: 0, Name: "占位计划"})
|
||||
func (c *Controller) CreatePlan(ctx *gin.Context) {
|
||||
var req CreatePlanRequest
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
controller.SendErrorResponse(ctx, controller.CodeBadRequest, "无效的请求体: "+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
// 使用已有的转换函数,它已经包含了验证和重排逻辑
|
||||
planToCreate, err := PlanFromCreateRequest(&req)
|
||||
if err != nil {
|
||||
controller.SendErrorResponse(ctx, controller.CodeBadRequest, "计划数据校验失败: "+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
// 调用仓库方法创建计划
|
||||
if err := c.planRepo.CreatePlan(planToCreate); err != nil {
|
||||
controller.SendErrorResponse(ctx, controller.CodeBadRequest, "创建计划失败: "+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
// 使用已有的转换函数将创建后的模型转换为响应对象
|
||||
resp := PlanToResponse(planToCreate)
|
||||
|
||||
// 使用统一的成功响应函数
|
||||
controller.SendResponse(ctx, controller.CodeCreated, "计划创建成功", resp)
|
||||
}
|
||||
|
||||
// GetPlan godoc
|
||||
|
||||
Reference in New Issue
Block a user