123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package servicer
- import (
- "errors"
- 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,
- "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.ServicerRoleId, "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.Servicer)
- }
- 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.Servicer)
- }
- func Password(id int, form form.Password) error {
- if err := admin.Password(id, form); err != nil {
- return err
- }
- return admin.ClearToken(id, adminParam.Entry.Servicer)
- }
|