93 lines
2.8 KiB
Go
93 lines
2.8 KiB
Go
package dao
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
"hospital-admin-api/api/model"
|
|
"hospital-admin-api/api/requests"
|
|
"hospital-admin-api/global"
|
|
)
|
|
|
|
type DiseaseClassExpertiseDao struct {
|
|
}
|
|
|
|
// GetDiseaseClassExpertiseById 获取专长-专长id
|
|
func (r *DiseaseClassExpertiseDao) GetDiseaseClassExpertiseById(expertiseId int64) (m *model.DiseaseClassExpertise, err error) {
|
|
err = global.Db.First(&m, expertiseId).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// DeleteDiseaseClassExpertise 删除专长
|
|
func (r *DiseaseClassExpertiseDao) DeleteDiseaseClassExpertise(tx *gorm.DB, maps interface{}) error {
|
|
err := tx.Where(maps).Delete(&model.DiseaseClassExpertise{}).Error
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EditDiseaseClassExpertise 修改专长
|
|
func (r *DiseaseClassExpertiseDao) EditDiseaseClassExpertise(tx *gorm.DB, maps interface{}, data interface{}) error {
|
|
err := tx.Model(&model.DiseaseClassExpertise{}).Where(maps).Updates(data).Error
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EditDiseaseClassExpertiseById 修改专长-医生id
|
|
func (r *DiseaseClassExpertiseDao) EditDiseaseClassExpertiseById(tx *gorm.DB, expertiseId int64, data interface{}) error {
|
|
err := tx.Model(&model.DiseaseClassExpertise{}).Where("expertise_id = ?", expertiseId).Updates(data).Error
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetDiseaseClassExpertiseList 获取专长列表
|
|
func (r *DiseaseClassExpertiseDao) GetDiseaseClassExpertiseList(maps interface{}) (m []*model.DiseaseClassExpertise, err error) {
|
|
err = global.Db.Where(maps).Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
// AddDiseaseClassExpertise 新增专长
|
|
func (r *DiseaseClassExpertiseDao) AddDiseaseClassExpertise(tx *gorm.DB, model *model.DiseaseClassExpertise) (*model.DiseaseClassExpertise, error) {
|
|
if err := tx.Create(model).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return model, nil
|
|
}
|
|
|
|
// AddDiseaseClassExpertiseByMap 新增专长-map
|
|
func (r *DiseaseClassExpertiseDao) AddDiseaseClassExpertiseByMap(tx *gorm.DB, data map[string]interface{}) (*model.DiseaseClassExpertise, error) {
|
|
userDoctorInfo := &model.DiseaseClassExpertise{}
|
|
if err := tx.Model(&model.DiseaseClassExpertise{}).Create(data).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return userDoctorInfo, nil
|
|
}
|
|
|
|
// GetDiseaseClassExpertiseListByMaps 获取专长列表
|
|
func (r *DiseaseClassExpertiseDao) GetDiseaseClassExpertiseListByMaps(expertiseRequest requests.GetExpertiseList) (m []*model.DiseaseClassExpertise, err error) {
|
|
result := global.Db
|
|
|
|
if expertiseRequest.ExpertiseId != "" {
|
|
result = result.Where("expertise_id = ?", expertiseRequest.ExpertiseId)
|
|
}
|
|
|
|
if expertiseRequest.ExpertiseName != "" {
|
|
result = result.Where("expertise_name like ?", "%"+expertiseRequest.ExpertiseName+"%")
|
|
}
|
|
|
|
err = result.Find(&m).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|