新增了医院管理
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"hospital-admin-api/api/dao"
|
||||
"hospital-admin-api/api/dto"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/api/responses"
|
||||
"hospital-admin-api/api/service"
|
||||
"hospital-admin-api/global"
|
||||
"hospital-admin-api/utils"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type Area struct{}
|
||||
|
||||
// GetAreaList 获取地区列表
|
||||
func (b *Area) GetAreaList(c *gin.Context) {
|
||||
areaRequest := requests.AreaRequest{}
|
||||
req := areaRequest.GetAreaList
|
||||
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
|
||||
}
|
||||
|
||||
// 处理参数
|
||||
if req.ParentId == "" && req.AreaId == "" && req.AreaName == "" {
|
||||
req.ParentId = "1"
|
||||
req.AreaType = 2
|
||||
}
|
||||
|
||||
areaDao := dao.AreaDao{}
|
||||
area, err := areaDao.GetAreaListByStruct(req)
|
||||
if err != nil {
|
||||
responses.Ok(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
r := dto.GetAreaListDto(area)
|
||||
responses.OkWithData(r, c)
|
||||
}
|
||||
|
||||
// AddArea 新增地区
|
||||
func (r *Area) AddArea(c *gin.Context) {
|
||||
areaRequest := requests.AreaRequest{}
|
||||
req := areaRequest.AddArea
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
areaService := service.AreaService{}
|
||||
_, err := areaService.AddArea(req)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
// PutArea 修改地区
|
||||
func (r *Area) PutArea(c *gin.Context) {
|
||||
areaRequest := requests.AreaRequest{}
|
||||
req := areaRequest.PutArea
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
id := c.Param("area_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
areaId, err := strconv.Atoi(id)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
areaService := service.AreaService{}
|
||||
_, err = areaService.PutArea(areaId, req)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
responses.Ok(c)
|
||||
}
|
||||
@@ -1,117 +1,5 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"hospital-admin-api/api/dao"
|
||||
"hospital-admin-api/api/dto"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/api/responses"
|
||||
"hospital-admin-api/api/service"
|
||||
"hospital-admin-api/global"
|
||||
"hospital-admin-api/utils"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type Basic struct {
|
||||
Area // 省市区
|
||||
}
|
||||
|
||||
// Area 省市区
|
||||
type Area struct{}
|
||||
|
||||
// GetAreaList 获取地区列表
|
||||
func (b *Area) GetAreaList(c *gin.Context) {
|
||||
basicRequest := requests.BasicRequest{}
|
||||
req := basicRequest.GetAreaList
|
||||
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
|
||||
}
|
||||
|
||||
// 处理参数
|
||||
if req.ParentId == "" && req.AreaId == "" && req.AreaName == "" {
|
||||
req.ParentId = "1"
|
||||
req.AreaType = 2
|
||||
}
|
||||
|
||||
areaDao := dao.AreaDao{}
|
||||
area, err := areaDao.GetAreaListByStruct(req)
|
||||
if err != nil {
|
||||
responses.Ok(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
r := dto.GetAreaListDto(area)
|
||||
responses.OkWithData(r, c)
|
||||
}
|
||||
|
||||
// AddArea 新增地区
|
||||
func (r *Area) AddArea(c *gin.Context) {
|
||||
basicRequest := requests.BasicRequest{}
|
||||
req := basicRequest.AddArea
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
basicService := service.BasicService{}
|
||||
_, err := basicService.AddArea(req)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
// PutArea 修改地区
|
||||
func (r *Area) PutArea(c *gin.Context) {
|
||||
basicRequest := requests.BasicRequest{}
|
||||
req := basicRequest.PutArea
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
id := c.Param("area_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
areaId, err := strconv.Atoi(id)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
basicService := service.BasicService{}
|
||||
_, err = basicService.PutArea(areaId, req)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
+140
-6
@@ -7,28 +7,31 @@ import (
|
||||
"hospital-admin-api/api/dto"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/api/responses"
|
||||
"hospital-admin-api/api/service"
|
||||
"hospital-admin-api/global"
|
||||
"hospital-admin-api/utils"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type Hospital struct{}
|
||||
|
||||
// GetHospitalLimit 获取医院列表-限制条数
|
||||
func (b *Hospital) GetHospitalLimit(c *gin.Context) {
|
||||
// GetHospitalList 获取医院列表
|
||||
func (b *Hospital) GetHospitalList(c *gin.Context) {
|
||||
hospitalRequest := requests.HospitalRequest{}
|
||||
if err := c.ShouldBind(&hospitalRequest.GetHospitalLimit); err != nil {
|
||||
req := hospitalRequest.GetHospitalList
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(hospitalRequest.GetHospitalLimit); err != nil {
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
hospitalDao := dao.Hospital{}
|
||||
hospitals, err := hospitalDao.GetHospitalLimitByMaps(hospitalRequest.GetHospitalLimit)
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
hospitals, err := hospitalDao.GetHospitalLimitByMaps(req)
|
||||
if err != nil {
|
||||
responses.Ok(c)
|
||||
return
|
||||
@@ -38,3 +41,134 @@ func (b *Hospital) GetHospitalLimit(c *gin.Context) {
|
||||
getHospitalLimitResponse := dto.GetHospitalListDto(hospitals)
|
||||
responses.OkWithData(getHospitalLimitResponse, c)
|
||||
}
|
||||
|
||||
// GetHospitalPage 获取医院列表-分页
|
||||
func (r *Hospital) GetHospitalPage(c *gin.Context) {
|
||||
hospitalRequest := requests.HospitalRequest{}
|
||||
req := hospitalRequest.GetHospitalPage
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
if req.Page == 0 {
|
||||
req.Page = 1
|
||||
}
|
||||
|
||||
if req.PageSize == 0 {
|
||||
req.PageSize = 20
|
||||
}
|
||||
|
||||
hospitalDao := dao.HospitalDao{}
|
||||
hospital, total, err := hospitalDao.GetHospitalPageSearch(req, req.Page, req.PageSize)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
GetHospitalPageResponses := dto.GetHospitalListDto(hospital)
|
||||
|
||||
result := make(map[string]interface{})
|
||||
result["page"] = req.Page
|
||||
result["page_size"] = req.PageSize
|
||||
result["total"] = total
|
||||
result["data"] = GetHospitalPageResponses
|
||||
responses.OkWithData(result, c)
|
||||
}
|
||||
|
||||
// AddHospital 新增医院
|
||||
func (r *Hospital) AddHospital(c *gin.Context) {
|
||||
hospitalRequest := requests.HospitalRequest{}
|
||||
req := hospitalRequest.AddHospital
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
hospitalService := service.HospitalService{}
|
||||
_, err := hospitalService.AddHospital(req)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
// PutHospital 修改医院
|
||||
func (r *Hospital) PutHospital(c *gin.Context) {
|
||||
hospitalRequest := requests.HospitalRequest{}
|
||||
req := hospitalRequest.PutHospital
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(req); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
id := c.Param("hospital_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
hospitalId, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
hospitalService := service.HospitalService{}
|
||||
_, err = hospitalService.PutHospital(hospitalId, req)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
// GetHospital 医院详情
|
||||
func (r *Hospital) GetHospital(c *gin.Context) {
|
||||
id := c.Param("hospital_id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
hospitalId, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
hospitalService := service.HospitalService{}
|
||||
getHospitalResponses, err := hospitalService.GetHospital(hospitalId)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
responses.OkWithData(getHospitalResponses, c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user