12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package service
-
- import (
- "sws_xcx/models"
-
- "github.com/jinzhu/gorm"
- )
-
- type HealthProfileService struct {
- rdb *gorm.DB
- wdb *gorm.DB
- }
-
- func NewUserHealthProfileService() *HealthProfileService {
-
- p := &models.UserHealthProfile{}
- return &HealthProfileService{
- rdb: readDb.Model(p),
- wdb: writeDb.Model(p),
- }
- }
-
- func (s *HealthProfileService) GetUserHealthProfileByUserId(userId uint64) (*models.UserHealthProfile, error) {
- p := &models.UserHealthProfile{}
- err := s.rdb.Find(p, "user_id = ?", userId).Error
- return p, err
- }
-
- func (s *HealthProfileService) Get(id uint64) (models.UserHealthProfile, error) {
- p := &models.UserHealthProfile{}
- err := s.rdb.First(p, id).Error
- return *p, err
- }
-
- func (s *HealthProfileService) SavePatientInfo(userId uint64, realName string, idCard string, regPhone string) error {
- p, err := s.GetUserHealthProfileByUserId(userId)
- if err != nil {
- return err
- }
-
- if p == nil {
- p = &models.UserHealthProfile{}
- }
-
- p.UserId = userId
- p.RealName = realName
- p.InpatientRegPhone = regPhone
- return s.wdb.Save(p).Error
- }
-
- func (s *HealthProfileService) SaveHealthProfile(userId uint64, req models.SaveHealthProfileReq) error {
- p, err := s.GetUserHealthProfileByUserId(userId)
- if err != nil {
- return err
- }
-
- if p == nil {
- p = &models.UserHealthProfile{}
- }
-
- p.UserId = userId
- p.Birthday = req.Birthday
- p.BloodType = req.BloodType
- p.CreatineTime = req.CreatineTime
- p.Creatinine = req.Creatinine
- p.CreatinineUnit = req.CreatinineUnit
- p.Gender = req.Gender
- p.Height = req.Height
- p.IllnessState = req.IllnessState
- p.RenalFunctionStatus = req.RenalFunctionStatus
- p.UrineProtein = req.UrineProtein
- p.UrineProtein24h = req.UrineProtein24h
- p.UrineProtein24hTime = req.UrineProtein24hTime
- p.UrineProtein24hUnit = req.UrineProtein24hUnit
- p.UrineProteinTime = req.UrineProteinTime
- p.UrineProteinUnit = req.UrineProteinUnit
- p.Weight = req.Weight
-
- return s.wdb.Save(p).Error
- }
-
- func (s *HealthProfileService) Save(p *models.UserHealthProfile) error {
- return s.wdb.Save(p).Error
- }
|