func DelAuthority(aid string) error { err := model.NewAuthority().Where("aid=" + aid).Delete() global.AuthorityChan <- struct{}{} return err }
func SaveAuthority(form url.Values, opUser string) (errMsg string, err error) { authority := model.NewAuthority() err = util.ConvertAssign(authority, form) if err != nil { logger.Errorln("authority ConvertAssign error", err) errMsg = err.Error() return } authority.OpUser = opUser if authority.Aid != 0 { err = authority.Persist(authority) } else { authority.Ctime = util.TimeNow() _, err = authority.Insert() } if err != nil { errMsg = "内部服务器错误" logger.Errorln(errMsg, ":", err) return } global.AuthorityChan <- struct{}{} return }
func FindAuthority(aid string) *model.Authority { if aid == "" { return nil } authority := model.NewAuthority() err := authority.Where("aid=" + aid).Find() if err != nil { logger.Errorln("authority FindAuthority error:", err) return nil } return authority }
// 将所有 权限 加载到内存中;后台修改权限时,重新加载一次 func LoadAuthorities() error { authorities, err := model.NewAuthority().FindAll() if err != nil { logger.Errorln("LoadAuthorities authority read fail:", err) return err } authLocker.Lock() defer authLocker.Unlock() Authorities = authorities logger.Infoln("LoadAuthorities successfully!") return nil }
func FindAuthoritiesByPage(conds map[string]string, curPage, limit int) ([]*model.Authority, int) { conditions := make([]string, 0, len(conds)) for k, v := range conds { conditions = append(conditions, k+"="+v) } authority := model.NewAuthority() limitStr := strconv.Itoa((curPage-1)*limit) + "," + strconv.Itoa(limit) auhtorities, err := authority.Where(strings.Join(conditions, " AND ")).Limit(limitStr). FindAll() if err != nil { return nil, 0 } total, err := authority.Count() if err != nil { return nil, 0 } return auhtorities, total }