manager.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package manager
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "strings"
  5. "zhiyuan/pkg/app"
  6. "zhiyuan/pkg/config"
  7. "zhiyuan/pkg/utils"
  8. "zhiyuan/services/admin"
  9. "zhiyuan/services/aftersale/manager"
  10. "zhiyuan/services/form"
  11. "zhiyuan/services/role"
  12. )
  13. func Login(c *gin.Context) {
  14. var form form.AdminLogin
  15. if app.Bind(c, &form) != nil {
  16. return
  17. }
  18. token, err := manager.Login(form.Phone, form.Password)
  19. if err != nil {
  20. app.ErrorMsg(c, err.Error(), nil)
  21. return
  22. }
  23. app.Success(c, map[string]string{
  24. "token": token,
  25. })
  26. }
  27. func Info(c *gin.Context) {
  28. type SettingInfo struct {
  29. ImgHost string `json:"img_host"`
  30. PageSize int `json:"page_size"`
  31. }
  32. type AdminInfo struct {
  33. ID int `json:"id"`
  34. UserName string `json:"username"`
  35. Phone string `json:"phone"`
  36. RoleIds string `json:"role_ids"`
  37. RoleName string `json:"role_name"`
  38. Setting SettingInfo `json:"setting"`
  39. }
  40. var adminInfo AdminInfo
  41. _, err := admin.GetInfoByID(c.GetInt("adminID"), []string{"id", "username", "phone", "role_ids"}, &adminInfo)
  42. if err != nil {
  43. app.ErrorMsg(c, err.Error(), nil)
  44. return
  45. }
  46. roleListMap := make(map[int]string)
  47. if roleList, err := role.GetList(nil, []string{"id, name"}, app.Page{}, nil); err == nil {
  48. for _, v := range roleList {
  49. roleListMap[v.ID] = v.Name
  50. }
  51. }
  52. roleNames := ""
  53. roleSlice := strings.Split(adminInfo.RoleIds, ",")
  54. for _, vv := range roleSlice {
  55. roleNames += "," + roleListMap[utils.ToInt(vv)]
  56. }
  57. adminInfo.RoleName = strings.TrimLeft(roleNames, ",")
  58. adminInfo.Setting = SettingInfo{
  59. ImgHost: config.Cfg.App.ImgHost,
  60. PageSize: config.Cfg.App.PageLimitMin,
  61. }
  62. app.Success(c, adminInfo)
  63. }
  64. func Logout(c *gin.Context) {
  65. err := manager.Logout(c.GetInt("adminID"))
  66. if err != nil {
  67. app.ErrorMsg(c, err.Error(), nil)
  68. return
  69. }
  70. app.Success(c, nil)
  71. }
  72. func Password(c *gin.Context) {
  73. var form form.Password
  74. if app.Bind(c, &form) != nil {
  75. return
  76. }
  77. if err := manager.Password(c.GetInt("adminID"), form); err != nil {
  78. app.ErrorMsg(c, err.Error(), nil)
  79. return
  80. }
  81. app.Success(c, nil)
  82. }