extension.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package mysql
  2. import (
  3. "crm-api/pkg/lfshook"
  4. )
  5. /* *****************************************************************************************
  6. // GetExtensionRangeInfoByName
  7. // 根据名字获取号码取值范围
  8. func GetExtensionRangeInfoByName(name string) map[string]string {
  9. data, err := DBOrmInstance.SQL("select exten_start,exten_end from t_extension_range where name = ?", name).QueryString()
  10. if err != nil {
  11. lfshook.NewLogger().Error(err)
  12. return nil
  13. } else if data == nil {
  14. return nil
  15. }
  16. return data[0]
  17. }
  18. // ***************************************************************************************** */
  19. // GetDialPlanByUserID 通过用户 ID 获取主控话机的拨号规则名
  20. func GetDialPlanByUserID(id int64) (plan string) {
  21. data, err := DBOrmInstance.SQL("select name from t_dial_plan where id = (select dial_plan_id from t_extension_digital where exten = (select user_exten from t_user where id = ?))", id).QueryString()
  22. if err != nil {
  23. lfshook.NewLogger().Errorf("middleware GetExtraInfo %+v", err)
  24. return "default"
  25. }
  26. lfshook.NewLogger().Infof("GetDialPlanByUserID %+v", data)
  27. if len(data) == 0 {
  28. return "default"
  29. }
  30. return data[0]["name"]
  31. }
  32. // GetDialPlanByExtension 通过分机号 获取主控话机的拨号规则名
  33. func GetDialPlanByExtension(extension string) (plan string) {
  34. data, err := DBOrmInstance.SQL("select name from t_dial_plan where id = (select dial_plan_id from t_extension_digital where exten = ?)", extension).QueryString()
  35. if err != nil {
  36. lfshook.NewLogger().Errorf("middleware GetExtraInfo %+v", err)
  37. return "default"
  38. }
  39. lfshook.NewLogger().Infof("GetDialPlanByUserID %+v", data)
  40. if len(data) == 0 {
  41. return "default"
  42. }
  43. return data[0]["name"]
  44. }
  45. /* *****************************************************************************************
  46. // GetExtensionByUserID 通过用户 ID 获取主控话机的分机号
  47. func GetExtensionByUserID(id int64) (extension string) {
  48. user := commonModel.User{
  49. ID: id,
  50. }
  51. _, err := DBOrmInstance.Get(&user)
  52. if err != nil {
  53. lfshook.NewLogger().Error(err)
  54. }
  55. return user.UserExtension
  56. }
  57. // GetUserInfoByID 通过 ID 获取用户信息
  58. func GetUserInfoByID(id int64) commonModel.User {
  59. user := commonModel.User{}
  60. _, err := DBOrmInstance.Where("id = ?", id).Get(&user)
  61. if err != nil {
  62. lfshook.NewLogger().Error(err)
  63. }
  64. if user.ID == 0 {
  65. user.Role = "extension"
  66. }
  67. return user
  68. }
  69. // GetExtensionNameByNumber 通过号码获取名称
  70. func GetExtensionNameByNumber(number string) (name string) {
  71. data := adminModel.TabExtensionDigital{
  72. Exten: number,
  73. }
  74. ok, err := DBOrmInstance.Get(&data)
  75. if err != nil {
  76. lfshook.NewLogger().Error(err)
  77. return number
  78. }
  79. if ok {
  80. return data.Username
  81. }
  82. return number
  83. }
  84. func GetAllAnalogExtension() (data []*adminModel.TabExtensionAnalog, err error) {
  85. err = DBOrmInstance.Find(&data)
  86. if err != nil {
  87. lfshook.NewLogger().Error(err)
  88. return data, err
  89. }
  90. return data, nil
  91. }
  92. func GetAllDigitalExtension() (data []*adminModel.TabExtensionDigital, err error) {
  93. err = DBOrmInstance.Find(&data)
  94. if err != nil {
  95. lfshook.NewLogger().Error(err)
  96. return data, err
  97. }
  98. return data, nil
  99. }
  100. // ***************************************************************************************** */