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 }