admin.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package models
  2. import (
  3. "errors"
  4. "fmt"
  5. "zhiyuan/pkg/db"
  6. "github.com/gin-gonic/gin"
  7. )
  8. type Admin struct {
  9. ID int `json:"id"`
  10. Username string `json:"username"`
  11. Phone string `json:"phone"`
  12. Password string `json:"password"`
  13. AccessToken string `json:"access_token"`
  14. AccessTokenExpired string `json:"access_token_expired"`
  15. RoleIds string `json:"role_ids" search:"find_in_set"`
  16. DeptID int `json:"dept_id"`
  17. SiteID int `json:"site_id"`
  18. State int `json:"state" search:"="`
  19. RefreshAuth int `json:"refresh_auth"`
  20. RefreshDataAuth int `json:"refresh_data_auth"`
  21. CreatedAt int `json:"created_at"`
  22. UpdatedAt int `json:"updated_at"`
  23. OpenId string `json:"openid"`
  24. UnionId string `json:"unionid"`
  25. HeadImgUrl string `json:"headimgurl"`
  26. Sex int `json:"sex"`
  27. NickName string `json:"nickname"`
  28. ShopIds string `json:"shop_ids"`
  29. EntryDate int64 `json:"entry_date"`
  30. RestDay string `json:"rest_day"`
  31. LogIds string `json:"log_ids"`
  32. db.BaseModel
  33. }
  34. func (Admin) TableName() string {
  35. return "zy_admin"
  36. }
  37. func (model Admin) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
  38. return true
  39. }
  40. func (Admin) DeletedField() string {
  41. return "deleted_at"
  42. }
  43. func (a Admin) GetOne(where map[string]interface{}, fields []string, retVal interface{}) (*Admin, error) {
  44. if retVal == nil {
  45. var admin *Admin
  46. err := db.GetOne(a.TableName(), where, fields, &admin)
  47. return admin, err
  48. } else {
  49. err := db.GetOne(a.TableName(), where, fields, retVal)
  50. return nil, err
  51. }
  52. }
  53. func (a Admin) GetMulti(where map[string]interface{}, fields []string, retVal interface{}) ([]*Admin, error) {
  54. if retVal == nil {
  55. var admin []*Admin
  56. err := db.GetMulti(a.TableName(), where, fields, &admin)
  57. return admin, err
  58. } else {
  59. err := db.GetMulti(a.TableName(), where, fields, retVal)
  60. return nil, err
  61. }
  62. }
  63. func (a Admin) GetOneRaw(where map[string]string, param map[string]interface{}, retVal interface{}) (*Admin, error) {
  64. admin, err := a.GetMultiRaw(where, param, retVal)
  65. if err != nil {
  66. return nil, err
  67. }
  68. if len(admin) == 0 {
  69. return nil, errors.New("empty record2")
  70. }
  71. return admin[0], nil
  72. }
  73. func (a Admin) GetMultiRaw(where map[string]string, param map[string]interface{}, retVal interface{}) ([]*Admin, error) {
  74. field := "SELECT * FROM zy_admin "
  75. if retVal == nil {
  76. var admin []*Admin
  77. err := db.GetMultiRaw(field, where, param, &admin)
  78. return admin, err
  79. } else {
  80. err := db.GetMultiRaw(field, where, param, retVal)
  81. return nil, err
  82. }
  83. }
  84. type Manager struct {
  85. ID int `json:"id" prop:"add:false"`
  86. Username string `json:"username" label:"姓名" type:"string" prop:"edit:false" search:"like"`
  87. Phone string `json:"phone" label:"电话号码" type:"string" prop:"edit:false" search:"like"`
  88. AccountBank string `json:"account_bank" label:"开户行" type:"string" prop:"edit" default:""`
  89. AccountNo string `json:"account_no" label:"银行卡号" type:"string" prop:"edit" default:""`
  90. AuditId int `json:"audit_id" label:"预审" type:"int" prop:"edit" default:"0"`
  91. Areacode string `json:"areacode" label:"区划代码" type:"string" prop:"edit" search:"rightlike"`
  92. DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"`
  93. CreatedAt int `json:"created_at" prop:"add:false"`
  94. UpdatedAt int `json:"updated_at" prop:"add:false"`
  95. db.BaseModel
  96. }
  97. func (Manager) TableName() string {
  98. return "zy_admin"
  99. }
  100. func (model Manager) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
  101. s.Where = append(s.Where, fmt.Sprintf("FIND_IN_SET(%s, `%s`.`role_ids`)", s.Param(6), model.TableName()))
  102. s.Where = append(s.Where, fmt.Sprintf("(`%s`.`state` = %s)", model.TableName(), s.Param(1)))
  103. return true
  104. }
  105. func (Manager) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error {
  106. return errors.New("没有权限")
  107. }
  108. func (Manager) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error {
  109. return nil
  110. }
  111. func (Manager) Page() bool {
  112. return false
  113. }
  114. func (Manager) Count() bool {
  115. return true
  116. }