From fd749b9dbc25b0fb0f87c68d316497210042e7a2 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Tue, 11 Jul 2023 13:37:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=93=B6=E8=A1=8C=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/bank.go | 40 +++++++++ api/controller/base.go | 1 + api/controller/diseaseClassExpertise.go | 4 +- api/dao/basicBank.go | 92 ++++++++++++++++++++ api/model/basicBank.go | 14 +++ api/requests/bank.go | 11 +++ api/responses/basicBankResponse/basicBank.go | 56 ++++++++++++ api/router/router.go | 81 ++++++++++------- 8 files changed, 265 insertions(+), 34 deletions(-) create mode 100644 api/controller/bank.go create mode 100644 api/dao/basicBank.go create mode 100644 api/model/basicBank.go create mode 100644 api/requests/bank.go create mode 100644 api/responses/basicBankResponse/basicBank.go diff --git a/api/controller/bank.go b/api/controller/bank.go new file mode 100644 index 0000000..915b2dd --- /dev/null +++ b/api/controller/bank.go @@ -0,0 +1,40 @@ +package controller + +import ( + "github.com/gin-gonic/gin" + "hospital-admin-api/api/dao" + "hospital-admin-api/api/requests" + "hospital-admin-api/api/responses" + "hospital-admin-api/api/responses/basicBankResponse" + "hospital-admin-api/global" + "hospital-admin-api/utils" +) + +type Bank struct{} + +// GetBankList 获取银行列表 +func (b *Bank) GetBankList(c *gin.Context) { + bankRequest := requests.BankRequest{} + if err := c.ShouldBind(&bankRequest.GetBankList); err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + // 参数验证 + if err := global.Validate.Struct(bankRequest.GetBankList); err != nil { + responses.FailWithMessage(utils.Translate(err), c) + return + } + + basicBankDao := dao.BasicBankDao{} + + basicBank, err := basicBankDao.GetBasicBankListByStruct(bankRequest.GetBankList) + if err != nil { + responses.Ok(c) + return + } + + // 处理返回值 + getBasicBankListResponse := basicBankResponse.GetBasicBankListResponse(basicBank) + responses.OkWithData(getBasicBankListResponse, c) +} diff --git a/api/controller/base.go b/api/controller/base.go index d8919a7..f9436a7 100644 --- a/api/controller/base.go +++ b/api/controller/base.go @@ -28,4 +28,5 @@ type basic struct { Department // 科室管理 Hospital // 医院管理 DiseaseClassExpertise // 专长管理 + Bank // 银行管理 } diff --git a/api/controller/diseaseClassExpertise.go b/api/controller/diseaseClassExpertise.go index 2a264e2..a58a6d3 100644 --- a/api/controller/diseaseClassExpertise.go +++ b/api/controller/diseaseClassExpertise.go @@ -36,6 +36,6 @@ func (b *DiseaseClassExpertise) GetExpertiseList(c *gin.Context) { } // 处理返回值 - getDepartmentListResponse := diseaseClassExpertiseResponse.GetDiseaseClassExpertiseListResponse(diseaseClassExpertises) - responses.OkWithData(getDepartmentListResponse, c) + getExpertiseListResponse := diseaseClassExpertiseResponse.GetDiseaseClassExpertiseListResponse(diseaseClassExpertises) + responses.OkWithData(getExpertiseListResponse, c) } diff --git a/api/dao/basicBank.go b/api/dao/basicBank.go new file mode 100644 index 0000000..2d15439 --- /dev/null +++ b/api/dao/basicBank.go @@ -0,0 +1,92 @@ +package dao + +import ( + "gorm.io/gorm" + "hospital-admin-api/api/model" + "hospital-admin-api/api/requests" + "hospital-admin-api/global" +) + +type BasicBankDao struct { +} + +// GetBasicBankById 获取专长-专长id +func (r *BasicBankDao) GetBasicBankById(bankId int64) (m *model.BasicBank, err error) { + err = global.Db.First(&m, bankId).Error + if err != nil { + return nil, err + } + return m, nil +} + +// DeleteBasicBank 删除专长 +func (r *BasicBankDao) DeleteBasicBank(tx *gorm.DB, maps interface{}) error { + err := tx.Where(maps).Delete(&model.BasicBank{}).Error + if err != nil { + return err + } + return nil +} + +// EditBasicBank 修改专长 +func (r *BasicBankDao) EditBasicBank(tx *gorm.DB, maps interface{}, data interface{}) error { + err := tx.Model(&model.BasicBank{}).Where(maps).Updates(data).Error + if err != nil { + return err + } + return nil +} + +// EditBasicBankById 修改专长-医生id +func (r *BasicBankDao) EditBasicBankById(tx *gorm.DB, bankId int64, data interface{}) error { + err := tx.Model(&model.BasicBank{}).Where("bank_id = ?", bankId).Updates(data).Error + if err != nil { + return err + } + return nil +} + +// GetBasicBankList 获取专长列表 +func (r *BasicBankDao) GetBasicBankList(maps interface{}) (m []*model.BasicBank, err error) { + err = global.Db.Where(maps).Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + +// AddBasicBank 新增专长 +func (r *BasicBankDao) AddBasicBank(tx *gorm.DB, model *model.BasicBank) (*model.BasicBank, error) { + if err := tx.Create(model).Error; err != nil { + return nil, err + } + return model, nil +} + +// AddBasicBankByMap 新增专长-map +func (r *BasicBankDao) AddBasicBankByMap(tx *gorm.DB, data map[string]interface{}) (*model.BasicBank, error) { + userDoctorInfo := &model.BasicBank{} + if err := tx.Model(&model.BasicBank{}).Create(data).Error; err != nil { + return nil, err + } + return userDoctorInfo, nil +} + +// GetBasicBankListByStruct 获取专长列表 +func (r *BasicBankDao) GetBasicBankListByStruct(bankRequest requests.GetBankList) (m []*model.BasicBank, err error) { + result := global.Db + + if bankRequest.BankCode != "" { + result = result.Where("bank_code = ?", bankRequest.BankCode) + } + + if bankRequest.BankName != "" { + result = result.Where("bank_name like ?", "%"+bankRequest.BankName+"%") + } + + err = result.Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} diff --git a/api/model/basicBank.go b/api/model/basicBank.go new file mode 100644 index 0000000..d5b9af2 --- /dev/null +++ b/api/model/basicBank.go @@ -0,0 +1,14 @@ +package model + +type BasicBank struct { + BankId int64 `gorm:"column:bank_id;type:bigint(19);primary_key;comment:主键id" json:"bank_id"` + BankCode string `gorm:"column:bank_code;type:varchar(255);comment:银行编码" json:"bank_code"` + BankName string `gorm:"column:bank_name;type:varchar(50);comment:银行名称" json:"bank_name"` + BankIconPath string `gorm:"column:bank_icon_path;type:varchar(255);comment:银行图标地址" json:"bank_icon_path"` + BankImgPath string `gorm:"column:bank_img_path;type:varchar(255);comment:银行图片地址" json:"bank_img_path"` + Model +} + +func (m *BasicBank) TableName() string { + return "gdxz_basic_bank" +} diff --git a/api/requests/bank.go b/api/requests/bank.go new file mode 100644 index 0000000..83bbb2e --- /dev/null +++ b/api/requests/bank.go @@ -0,0 +1,11 @@ +package requests + +type BankRequest struct { + GetBankList // 获取银行列表 +} + +// GetBankList 获取银行列表 +type GetBankList struct { + BankCode string `json:"bank_code" form:"bank_code" label:"主键id"` + BankName string `json:"bank_name" form:"bank_name" label:"银行名称"` +} diff --git a/api/responses/basicBankResponse/basicBank.go b/api/responses/basicBankResponse/basicBank.go new file mode 100644 index 0000000..d7db9b0 --- /dev/null +++ b/api/responses/basicBankResponse/basicBank.go @@ -0,0 +1,56 @@ +package basicBankResponse + +import ( + "hospital-admin-api/api/model" + "hospital-admin-api/config" + "strconv" +) + +type BasicBank struct { + BankId string `json:"bank_id"` // 主键 + BankCode string `gorm:"column:bank_code;type:varchar(255);comment:银行编码" json:"bank_code"` // 银行编码 + BankName string `gorm:"column:bank_name;type:varchar(50);comment:银行名称" json:"bank_name"` // 银行名称 + BankIconPath string `gorm:"column:bank_icon_path;type:varchar(255);comment:银行图标地址" json:"bank_icon_path"` // 银行图标地址 + BankImgPath string `gorm:"column:bank_img_path;type:varchar(255);comment:银行图片地址" json:"bank_img_path"` // 银行图片地址 + CreatedAt model.LocalTime `json:"created_at"` // 创建时间 + UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 +} + +// BasicBankResponse 银行详情 +func BasicBankResponse(basicBank *model.BasicBank) *BasicBank { + return &BasicBank{ + BankId: strconv.FormatInt(basicBank.BankId, 10), + BankCode: basicBank.BankCode, + BankName: basicBank.BankName, + BankIconPath: config.C.Oss.OssCustomDomainName + basicBank.BankIconPath, + BankImgPath: config.C.Oss.OssCustomDomainName + basicBank.BankImgPath, + CreatedAt: basicBank.CreatedAt, + UpdatedAt: basicBank.UpdatedAt, + } +} + +// GetBasicBankListResponse 获取银行列表 +func GetBasicBankListResponse(basicBank []*model.BasicBank) []BasicBank { + // 处理返回值 + getBasicBankListResponses := make([]BasicBank, len(basicBank)) + + if len(basicBank) > 0 { + for i, v := range basicBank { + // 将原始结构体转换为新结构体 + getBasicBankListResponse := BasicBank{ + BankId: strconv.FormatInt(v.BankId, 10), + BankCode: v.BankCode, + BankName: v.BankName, + BankIconPath: config.C.Oss.OssCustomDomainName + v.BankIconPath, + BankImgPath: config.C.Oss.OssCustomDomainName + v.BankImgPath, + CreatedAt: v.CreatedAt, + UpdatedAt: v.UpdatedAt, + } + + // 将转换后的结构体添加到新切片中 + getBasicBankListResponses[i] = getBasicBankListResponse + } + } + + return getBasicBankListResponses +} diff --git a/api/router/router.go b/api/router/router.go index 2c9185e..1e4c3bd 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -80,6 +80,55 @@ func adminRouter(r *gin.Engine, api controller.Api) { // basicRouter 基础数据-验证权限 func basicRouter(r *gin.Engine, api controller.Api) { + basicGroup := r.Group("/basic") + + // 科室管理-基础数据 + departmentGroup := basicGroup.Group("/department") + { + // 自定义科室 + customGroup := departmentGroup.Group("/custom") + { + // 获取自定义科室列表 + customGroup.GET("/list", api.Department.GetDepartmentCustomList) + } + } + + // 医院管理-基础数据 + hospitalGroup := basicGroup.Group("/hospital") + { + // 获取医院列表-限制条数 + hospitalGroup.GET("/list", api.Hospital.GetHospitalLimit) + } + + // 专长管理-基础数据 + expertiseGroup := basicGroup.Group("/expertise") + { + // 获取专长列表 + expertiseGroup.GET("/list", api.DiseaseClassExpertise.GetExpertiseList) + + // 获取专长列表-分页 + + // 专长详情 + + // 修改专长 + + // 新增专长 + } + + // 银行管理-基础数据 + bankGroup := basicGroup.Group("/bank") + { + // 获取银行列表 + bankGroup.GET("/list", api.Bank.GetBankList) + + // 获取银行列表-分页 + + // 银行详情 + + // 修改银行 + + // 新增银行 + } } // privateRouter 私有路由-验证权限 @@ -266,36 +315,4 @@ func privateRouter(r *gin.Engine, api controller.Api) { // doctorGroup.PUT("/:post_id", api.Post.PutPost) } - // 科室管理-基础数据 - departmentGroup := adminGroup.Group("/department") - { - // 自定义科室 - customGroup := departmentGroup.Group("/custom") - { - // 获取自定义科室列表 - customGroup.GET("/list", api.Department.GetDepartmentCustomList) - } - } - - // 医院管理-基础数据 - hospitalGroup := adminGroup.Group("/hospital") - { - // 获取医院列表-限制条数 - hospitalGroup.GET("/list", api.Hospital.GetHospitalLimit) - } - - // 专长管理-基础数据 - expertiseGroup := adminGroup.Group("/expertise") - { - // 获取专长列表 - expertiseGroup.GET("/list", api.DiseaseClassExpertise.GetExpertiseList) - - // 获取专长列表-分页 - - // 专长详情 - - // 修改专长 - - // 新增专长 - } }