package controller import ( "github.com/gin-gonic/gin" "hepa-calc-api/api/dao" "hepa-calc-api/api/dto" "hepa-calc-api/api/requests" "hepa-calc-api/api/responses" "hepa-calc-api/global" "hepa-calc-api/utils" "strconv" ) type BaseClass struct{} // GetBaseClassList 获取分类列表 func (b *BaseClass) GetBaseClassList(c *gin.Context) { baseClassRequest := requests.BaseClassRequest{} req := baseClassRequest.GetBaseClassList if err := c.ShouldBind(&req); err != nil { responses.FailWithMessage(err.Error(), c) return } // 参数验证 if err := global.Validate.Struct(req); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } // 获取分类数据 baseClassDao := dao.BaseClassDao{} maps := make(map[string]interface{}) maps["class_status"] = 1 baseClass, err := baseClassDao.GetBaseClassListSearch(req) if err != nil { responses.FailWithMessage(err.Error(), c) return } // 处理返回值 g := dto.GetBaseClassListDto(baseClass) if err != nil { responses.FailWithMessage(err.Error(), c) return } responses.OkWithData(g, c) } // GetBaseClass 获取分类详情 func (r *BaseClass) GetBaseClass(c *gin.Context) { id := c.Param("class_id") if id == "" { responses.FailWithMessage("缺少参数", c) return } // 将 id 转换为 int64 类型 classId, err := strconv.ParseInt(id, 10, 64) if err != nil { responses.Fail(c) return } // 获取数据 baseClassDao := dao.BaseClassDao{} baseClass, err := baseClassDao.GetBaseClassById(classId) if err != nil { responses.FailWithMessage("分类不存在", c) return } if baseClass.ClassStatus != 1 { responses.FailWithMessage("分类不存在", c) return } // 处理返回值 g := dto.GetBaseClassDto(baseClass) responses.OkWithData(g, c) }