hospital-open-api/api/dao/userPatient.go

91 lines
2.4 KiB
Go

package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hospital-open-api/api/model"
"hospital-open-api/global"
)
type UserPatientDao struct {
}
// GetUserPatientById 获取患者数据-患者id
func (r *UserPatientDao) GetUserPatientById(patientId int64) (m *model.UserPatient, err error) {
err = global.Db.First(&m, patientId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserPatientByUserId 获取患者数据-id
func (r *UserPatientDao) GetUserPatientByUserId(userId int64) (m *model.UserPatient, err error) {
err = global.Db.Where("user_id = ?", userId).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserPatientPreloadById 获取患者数据-加载全部关联-患者id
func (r *UserPatientDao) GetUserPatientPreloadById(patientId int64) (m *model.UserPatient, err error) {
err = global.Db.Preload(clause.Associations).First(&m, patientId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteUserPatient 删除患者
func (r *UserPatientDao) DeleteUserPatient(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.UserPatient{}).Error
if err != nil {
return err
}
return nil
}
// DeleteUserPatientById 删除患者-患者id
func (r *UserPatientDao) DeleteUserPatientById(tx *gorm.DB, patientId int64) error {
if err := tx.Delete(&model.UserPatient{}, patientId).Error; err != nil {
return err
}
return nil
}
// EditUserPatient 修改患者
func (r *UserPatientDao) EditUserPatient(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.UserPatient{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditUserPatientById 修改患者-患者id
func (r *UserPatientDao) EditUserPatientById(tx *gorm.DB, patientId int64, data interface{}) error {
err := tx.Model(&model.UserPatient{}).Where("patient_id = ?", patientId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetUserPatientList 获取患者列表
func (r *UserPatientDao) GetUserPatientList(maps interface{}) (m []*model.UserPatient, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddUserPatient 新增患者
func (r *UserPatientDao) AddUserPatient(tx *gorm.DB, model *model.UserPatient) (*model.UserPatient, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}