package controllers import ( "Medical_ERP/common/actions" "Medical_ERP/common/global" _ "Medical_ERP/common/response" "Medical_ERP/dto" "Medical_ERP/models" "Medical_ERP/services" "errors" "gogs.baozhida.cn/zoie/OAuth-core/pkg/jwtauth/beegouser" ) type UnitController struct { BaseController } // List 获取单位列表 // @Summary 获取单位列表 // @Description 获取单位列表 // @Tags 单位 // @Param body body dto.UnitPageReq true "body" // @Success 200 {object} response.Page{list=[]models.Unit} "{"code": 200, "data": [...]}" // @Router /unit/list [post] // @Security Bearer func (c UnitController) List() { s := services.Unit{} reqData := dto.UnitPageReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } list := make([]models.Unit, 0) var count int64 //数据权限检查 p := actions.GetPermissionFromContext(c.Ctx) err := s.GetPage(&reqData, &list, &count, p) if err != nil { c.Error(global.BadRequest, err, err.Error()) return } c.PageOK(list, int(count), reqData.GetPageIndex(), reqData.GetPageSize(), "查询成功") } // Detail 通过id获取单位 // @Summary 通过id获取单位 // @Description 通过id获取单位 // @Tags 单位 // @Param body body dto.UnitGetReq true "body" // @Success 200 {object} response.Response{data=models.Unit} "{"code": 200, "data": [...]}" // @Router /unit/detail [post] // @Security Bearer func (c UnitController) Detail() { s := services.Unit{} reqData := dto.UnitGetReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } var object models.Unit //数据权限检查 p := actions.GetPermissionFromContext(c.Ctx) err := s.Get(&reqData, &object, p) if err != nil { c.Error(500, err, err.Error()) return } c.OK(object, "查询成功") } // Add 添加单位 // @Summary 添加单位 // @Description 添加单位 // @Tags 单位 // @Accept application/json // @Unit application/json // @Param data body dto.UnitInsertReq true "data" // @Success 200 {object} response.Response "{"code": 200, "data": [...]}" // @Router /unit/add [post] // @Security Bearer func (c UnitController) Add() { s := services.Unit{} reqData := dto.UnitInsertReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } reqData.SetCreateBy(beegouser.GetUserId(c.Ctx)) reqData.SetDeptId(beegouser.GetDeptId(c.Ctx)) err := s.Insert(&reqData) if err != nil { c.Error(500, err, err.Error()) return } c.OK(reqData.GetId(), "创建成功") } // Edit 修改单位 // @Summary 修改单位 // @Description 修改单位 // @Tags 单位 // @Accept application/json // @Unit application/json // @Param data body dto.UnitUpdateReq true "body" // @Success 200 {object} response.Response "{"code": 200, "data": [...]}" // @Router /unit/edit [post] // @Security Bearer func (c UnitController) Edit() { s := services.Unit{} reqData := dto.UnitUpdateReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } reqData.SetUpdateBy(beegouser.GetUserId(c.Ctx)) err := s.Update(&reqData) if err != nil { c.Error(500, err, err.Error()) return } c.OK(reqData.GetId(), "更新成功") } // Delete 删除单位 // @Summary 删除单位 // @Description 删除单位 // @Tags 单位 // @Accept application/json // @Unit application/json // @Param id body dto.UnitDeleteReq true "请求参数" // @Success 200 {object} response.Response "{"code": 200, "data": [...]}" // @Router /unit/delete [post] // @Security Bearer func (c UnitController) Delete() { s := services.Unit{} reqData := dto.UnitDeleteReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } reqData.SetUpdateBy(beegouser.GetUserId(c.Ctx)) reqData.SetDeptId(beegouser.GetDeptId(c.Ctx)) err := s.Remove(&reqData) if err != nil { c.Error(500, err, err.Error()) return } c.OK(reqData.GetId(), "删除成功") }