scrm-go

authorization_service.go 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package wechat_service
  2. import (
  3. "SCRM/models"
  4. "SCRM/service"
  5. "github.com/jinzhu/gorm"
  6. )
  7. //GetAuthorizationByOnlyAppID 通过appid取信息
  8. func GetAuthorizationByOnlyAppID(appid string) (*models.PatientAuthorizations, error) {
  9. var authorizationinfo models.PatientAuthorizations
  10. var err error
  11. err = service.PatientReadDB().Model(&models.PatientAuthorizations{}).Where("authorizer_appid=? and authorizer_status=1", appid).First(&authorizationinfo).Error
  12. if err == gorm.ErrRecordNotFound {
  13. return nil, nil
  14. }
  15. if err != nil {
  16. return nil, err
  17. }
  18. return &authorizationinfo, nil
  19. }
  20. //GetAuthorizationByAppID 通过appid取信息
  21. func GetAuthorizationByAppID(orgID int64, appid string) (*models.PatientAuthorizations, error) {
  22. var authorizationinfo models.PatientAuthorizations
  23. var err error
  24. err = service.PatientReadDB().Model(&models.PatientAuthorizations{}).Where(" user_org_id=? and authorizer_appid=? and authorizer_status=1", orgID, appid).First(&authorizationinfo).Error
  25. if err == gorm.ErrRecordNotFound {
  26. return nil, nil
  27. }
  28. if err != nil {
  29. return nil, err
  30. }
  31. return &authorizationinfo, nil
  32. }
  33. //GetAuthorizationByOrgID 通过orgid取信息
  34. func GetAuthorizationByOrgID(orgID int64) (*models.PatientAuthorizations, error) {
  35. var authorizationinfo models.PatientAuthorizations
  36. var err error
  37. err = service.PatientReadDB().Model(&models.PatientAuthorizations{}).Where("user_org_id=?", orgID).First(&authorizationinfo).Error
  38. if err == gorm.ErrRecordNotFound {
  39. return nil, nil
  40. }
  41. if err != nil {
  42. return nil, err
  43. }
  44. return &authorizationinfo, nil
  45. }
  46. func SaveWechatComponentVerifyTicket(id int64, componentVerifyTicket string) (err error) {
  47. err = service.PatientWriteDB().Model(&models.WechatComponents{}).Where("id=?", id).Update(map[string]interface{}{"ComponentVerifyTicket": componentVerifyTicket}).Error
  48. return
  49. }
  50. func SaveWechatComponentInfoByMap(id int64, info map[string]interface{}) (err error) {
  51. err = service.PatientWriteDB().Model(&models.WechatComponents{}).Where("id=?", id).Update(info).Error
  52. return
  53. }
  54. func SaveAuthorizerStatusByAppID(appID string, status int64) (err error) {
  55. err = service.PatientWriteDB().Model(&models.PatientAuthorizations{}).Where("authorizer_appid=?", appID).Update(map[string]interface{}{"AuthorizerStatus": status}).Error
  56. return
  57. }
  58. func SaveAuthorizationInfo(authorization *models.PatientAuthorizations) (err error) {
  59. err = service.PatientWriteDB().Model(&models.PatientAuthorizations{}).Save(&authorization).Error
  60. return
  61. }
  62. //GetTextReplyMessagesByKey 通过关键词搜索 user_org_id(机构ID)取信息
  63. func GetTextReplyMessagesByKey(userOrgID int64, keywrods string) (messages []*models.AuthorizationMessageManagements, err error) {
  64. if len(keywrods) == 0 {
  65. return
  66. }
  67. likekey := "%" + keywrods + "%"
  68. 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
  69. return
  70. }
  71. //GetSubscribeReplyMessagesByOrgID 通过user_org_id(机构ID)取信息
  72. func GetSubscribeReplyMessagesByOrgID(orgID int64) (*models.AuthorizationMessageManagements, error) {
  73. var message models.AuthorizationMessageManagements
  74. 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
  75. if err == gorm.ErrRecordNotFound {
  76. return nil, nil
  77. }
  78. if err != nil {
  79. return nil, err
  80. }
  81. return &message, nil
  82. }
  83. //GetClickButtonReplyMessagesByOrgID 通过user_org_id(机构ID)取信息
  84. func GetClickButtonReplyMessagesByOrgID(orgID int64, key string) (*models.AuthorizationMessageManagements, error) {
  85. var message models.AuthorizationMessageManagements
  86. 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
  87. if err == gorm.ErrRecordNotFound {
  88. return nil, nil
  89. }
  90. if err != nil {
  91. return nil, err
  92. }
  93. return &message, nil
  94. }