12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package service
-
- import (
- "sws_xcx/models"
- "time"
-
- "github.com/jinzhu/gorm"
- )
-
- type XcxUserService struct {
- rdb *gorm.DB
- wdb *gorm.DB
- }
-
- func NewXcxUserService() *XcxUserService {
- u := &models.XcxUser{}
- return &XcxUserService{rdb: readDb.Model(u), wdb: writeDb.Model(u)}
- }
-
- func (s *XcxUserService) GetUser(id uint64) (*models.XcxUser, error) {
-
- user := &models.XcxUser{}
- db := s.rdb.Where("id=?", id).First(user)
-
- return user, db.Error
-
- }
-
- func (s *XcxUserService) GetOrCreate(openId string, unionId string) (*models.XcxUser, error) {
-
- user := &models.XcxUser{OpenId: openId, UnionId: unionId}
- db := s.wdb.Where("open_id = ?", openId)
- if unionId != "" {
- db = db.Or("union_id = ?", unionId)
- }
- db.FirstOrCreate(user)
-
- return user, db.Error
-
- }
-
- func (s *XcxUserService) GetByOpenId(openId string) (*models.XcxUser, error) {
-
- user := &models.XcxUser{}
- db := s.wdb.Where("open_id = ?", openId)
- db.First(user)
- return user, db.Error
-
- }
-
- func (s *XcxUserService) UpdateUser(user *models.XcxUser) error {
-
- user.Mtime = time.Now()
- db := writeDb.Model(user).Update(user)
-
- return db.Error
-
- }
-
- func (s *XcxUserService) GetMobilePatientInfo(mobile, name, idCard string) (models.XcxPatients, error) {
-
- patients := models.XcxPatients{}
- err := ReadXtDB().Model(&patients).Where("(phone = ? or home_telephone = ? ) and name=? and id_card_no=? and status = 1", mobile, mobile, name, idCard).Find(&patients).Error
- if err == gorm.ErrRecordNotFound {
- err = nil
- }
- return patients, err
- }
-
- func (s *XcxUserService) GetPatientInfo(id int64) (models.XcxPatients, error) {
-
- patients := models.XcxPatients{}
- err := ReadXtDB().Model(&patients).Find(&patients, id).Error
- if err == gorm.ErrRecordNotFound {
- err = nil
- }
- return patients, err
- }
|