2023-07-20 09:28:53 +08:00

101 lines
2.3 KiB
Go

package dao
import (
"gorm.io/gorm"
"hospital-admin-api/api/model"
"hospital-admin-api/api/requests"
"hospital-admin-api/global"
)
type AreaDao struct {
}
// GetAreaById 获取地区-地区id
func (r *AreaDao) GetAreaById(areaId int) (m *model.Area, err error) {
err = global.Db.First(&m, areaId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteArea 删除地区
func (r *AreaDao) DeleteArea(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.Area{}).Error
if err != nil {
return err
}
return nil
}
// EditArea 修改地区
func (r *AreaDao) EditArea(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.Area{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditAreaById 修改地区-医生id
func (r *AreaDao) EditAreaById(tx *gorm.DB, areaId int, data interface{}) error {
err := tx.Model(&model.Area{}).Where("area_id = ?", areaId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetAreaList 获取地区列表
func (r *AreaDao) GetAreaList(maps interface{}) (m []*model.Area, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddArea 新增地区
func (r *AreaDao) AddArea(tx *gorm.DB, model *model.Area) (*model.Area, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// AddAreaByMap 新增地区-map
func (r *AreaDao) AddAreaByMap(tx *gorm.DB, data map[string]interface{}) (*model.Area, error) {
userDoctorInfo := &model.Area{}
if err := tx.Model(&model.Area{}).Create(data).Error; err != nil {
return nil, err
}
return userDoctorInfo, nil
}
// GetAreaListByStruct 获取地区列表
func (r *AreaDao) GetAreaListByStruct(request requests.GetAreaList) (m []*model.Area, err error) {
result := global.Db
if request.AreaId != "" {
result = result.Where("area_id = ?", request.AreaId)
}
if request.AreaName != "" {
result = result.Where("area_name like ?", "%"+request.AreaName+"%")
}
if request.ParentId != "" {
result = result.Where("parent_id = ?", request.ParentId)
}
if request.AreaType != 0 {
result = result.Where("area_type = ?", request.AreaType)
}
err = result.Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}