package handler import ( "ego/internal/service" "ego/pkg/logger" "github.com/gin-gonic/gin" "go.uber.org/zap" ) // SysDeployProjectHandler 部署项目处理器 type SysDeployProjectHandler struct { deployProjectService *service.SysDeployProjectService } // NewSysDeployProjectHandler 构建部署项目处理器 func NewSysDeployProjectHandler(deployProjectService *service.SysDeployProjectService) *SysDeployProjectHandler { return &SysDeployProjectHandler{ deployProjectService: deployProjectService, } } // Create 创建部署项目记录 // @Summary 创建部署项目记录 // @Description 创建新的部署项目记录 // @Tags 部署项目管理 // @Accept json // @Produce json // @Param deployProject body model.SysDeployProject true "部署项目信息" // @Success 200 {object} serializer.Response // @Router /deploy-projects [post] func (h *SysDeployProjectHandler) Create(c *gin.Context) { logger.Info(c, "创建部署项目记录") c.JSON(200, h.deployProjectService.Create(c)) } // GetByID 根据ID获取部署项目记录 // @Summary 获取部署项目记录 // @Description 根据ID获取部署项目记录详情 // @Tags 部署项目管理 // @Accept json // @Produce json // @Param id path string true "部署ID" // @Success 200 {object} serializer.Response // @Router /deploy-projects/{id} [get] func (h *SysDeployProjectHandler) GetByID(c *gin.Context) { logger.Info(c, "获取部署项目记录", zap.String("id", c.Param("id"))) c.JSON(200, h.deployProjectService.GetByID(c)) } // UpdateByID 根据ID更新部署项目记录 // @Summary 更新部署项目记录 // @Description 根据ID更新部署项目记录 // @Tags 部署项目管理 // @Accept json // @Produce json // @Param id path string true "部署ID" // @Param deployProject body model.SysDeployProject true "部署项目信息" // @Success 200 {object} serializer.Response // @Router /deploy-projects/{id} [put] func (h *SysDeployProjectHandler) UpdateByID(c *gin.Context) { logger.Info(c, "更新部署项目记录", zap.String("id", c.Param("id"))) c.JSON(200, h.deployProjectService.UpdateByID(c)) } // DeleteByID 根据ID删除部署项目记录 // @Summary 删除部署项目记录 // @Description 根据ID删除部署项目记录 // @Tags 部署项目管理 // @Accept json // @Produce json // @Param id path string true "部署ID" // @Success 200 {object} serializer.Response // @Router /deploy-projects/{id} [delete] func (h *SysDeployProjectHandler) DeleteByID(c *gin.Context) { logger.Info(c, "删除部署项目记录", zap.String("id", c.Param("id"))) c.JSON(200, h.deployProjectService.DeleteByID(c)) } // GetByCondition 条件查询部署项目记录 // @Summary 条件查询部署项目记录 // @Description 根据条件分页查询部署项目记录 // @Tags 部署项目管理 // @Accept json // @Produce json // @Param params query types.Params true "查询参数" // @Success 200 {object} serializer.Response // @Router /deploy-projects [get] func (h *SysDeployProjectHandler) GetByCondition(c *gin.Context) { logger.Info(c, "条件查询部署项目记录") c.JSON(200, h.deployProjectService.GetByCondition(c)) }