scrm-go

messages_service.go 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package wechat_service
  2. import (
  3. "SCRM/models"
  4. "SCRM/service"
  5. "github.com/jinzhu/gorm"
  6. )
  7. //GetTextReplyMessagesByKey 通过关键词搜索 user_org_id(机构ID)取信息
  8. func GetTextReplyMessagesByKey(userOrgID int64, keywrods string) (messages []*models.AuthorizationMessageManagements, err error) {
  9. if len(keywrods) == 0 {
  10. return
  11. }
  12. likekey := "%" + keywrods + "%"
  13. err = service.PatientReadDB().Where("user_org_id=? AND message_msg_type='text' AND message_status=1 AND ((message_key_name LIKE ? AND message_key_type=1) OR (message_key_name = ? AND message_key_type=2))", userOrgID, likekey, keywrods).Order("id desc").Find(&messages).Error
  14. return
  15. }
  16. //GetSubscribeReplyMessagesByOrgID 通过user_org_id(机构ID)取信息
  17. func GetSubscribeReplyMessagesByOrgID(orgID int64) (*models.AuthorizationMessageManagements, error) {
  18. var message models.AuthorizationMessageManagements
  19. err := service.PatientReadDB().Where("user_org_id=? AND message_msg_type='event' AND message_msg_event='subscribe' AND message_status=1", orgID).First(&message).Error
  20. if err == gorm.ErrRecordNotFound {
  21. return nil, nil
  22. }
  23. if err != nil {
  24. return nil, err
  25. }
  26. return &message, nil
  27. }
  28. //GetClickButtonReplyMessagesByOrgID 通过user_org_id(机构ID)取信息
  29. func GetClickButtonReplyMessagesByOrgID(orgID int64, key string) (*models.AuthorizationMessageManagements, error) {
  30. var message models.AuthorizationMessageManagements
  31. err := service.PatientReadDB().Where("user_org_id=? AND message_msg_type='event' AND message_msg_event='click' AND message_key_name=? AND message_status=1", orgID, key).First(&message).Error
  32. if err == gorm.ErrRecordNotFound {
  33. return nil, nil
  34. }
  35. if err != nil {
  36. return nil, err
  37. }
  38. return &message, nil
  39. }
  40. func GetOrgAllClickMessages(orgID int64) (messages []*models.AuthorizationMessageManagements, err error) {
  41. err = service.PatientReadDB().Where("user_org_id=? AND message_msg_type='event' AND message_msg_event='click'", orgID).Find(&messages).Error
  42. return
  43. }