當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Model.NewUserRole函數代碼示例

本文整理匯總了Golang中Model.NewUserRole函數的典型用法代碼示例。如果您正苦於以下問題:Golang NewUserRole函數的具體用法?Golang NewUserRole怎麽用?Golang NewUserRole使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了NewUserRole函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: FindUserByUsername

// 獲取單個用戶信息
func FindUserByUsername(username string) *model.User {
	user := model.NewUser()
	err := user.Where("username=" + username).Find()
	if err != nil {
		logger.Errorf("獲取用戶 %s 信息失敗:%s", username, err)
		return nil
	}
	if user.Uid == 0 {
		return nil
	}

	// 獲取角色信息
	userRoleList, err := model.NewUserRole().Where("uid=" + strconv.Itoa(user.Uid)).FindAll()
	if err != nil {
		logger.Errorf("獲取用戶 %s 角色 信息失敗:%s", username, err)
		return nil
	}
	for _, userRole := range userRoleList {
		if len(user.Roleids) == 0 {
			user.Rolenames = []string{model.AllRole[userRole.Roleid].Name}
		} else {
			user.Rolenames = append(user.Rolenames, model.AllRole[userRole.Roleid].Name)
		}
	}
	return user
}
開發者ID:philsong,項目名稱:studygolang,代碼行數:27,代碼來源:user.go

示例2: findUserByUniq

// 通過唯一鍵(uid或username)獲取用戶信息
func findUserByUniq(field, val string) *model.User {
	user := model.NewUser()
	err := user.Where(field + "=" + val).Find()
	if err != nil {
		logger.Errorf("獲取用戶 %s 信息失敗:%s", val, err)
		return nil
	}
	if user.Uid == 0 {
		return nil
	}

	// 獲取用戶角色信息
	userRoleList, err := model.NewUserRole().
		Order("roleid ASC").Where("uid="+strconv.Itoa(user.Uid)).FindAll("uid", "roleid")
	if err != nil {
		logger.Errorf("獲取用戶 %s 角色 信息失敗:%s", val, err)
		return nil
	}

	if roleNum := len(userRoleList); roleNum > 0 {
		user.Roleids = make([]int, roleNum)
		user.Rolenames = make([]string, roleNum)

		for i, userRole := range userRoleList {
			user.Roleids[i] = userRole.Roleid
			user.Rolenames[i] = Roles[userRole.Roleid-1].Name
		}
	}

	return user
}
開發者ID:NeoChow,項目名稱:studygolang,代碼行數:32,代碼來源:user.go

示例3: FindCurrentUser

// 獲取當前登錄用戶信息(常用信息)
func FindCurrentUser(username string) (user map[string]interface{}, err error) {
	userLogin := model.NewUserLogin()
	err = userLogin.Where("username=" + username).Find()
	if err != nil {
		logger.Errorf("獲取用戶 %s 信息失敗:%s", username, err)
		return
	}
	if userLogin.Uid == 0 {
		logger.Infof("用戶 %s 不存在!", username)
		return
	}
	user = map[string]interface{}{
		"uid":      userLogin.Uid,
		"username": userLogin.Username,
		"email":    userLogin.Email,
	}

	// 獲取未讀消息數
	user["msgnum"] = FindNotReadMsgNum(userLogin.Uid)

	// 獲取角色信息
	userRoleList, err := model.NewUserRole().Where("uid=" + strconv.Itoa(userLogin.Uid)).FindAll()
	if err != nil {
		logger.Errorf("獲取用戶 %s 角色 信息失敗:%s", username, err)
		return
	}
	for _, userRole := range userRoleList {
		if userRole.Roleid <= model.AdminMinRoleId {
			// 是管理員
			user["isadmin"] = true
		}
	}
	return
}
開發者ID:philsong,項目名稱:studygolang,代碼行數:35,代碼來源:user.go

示例4: FindUsers

func FindUsers() (map[int]*model.User, error) {
	userList, err := model.NewUser().FindAll()
	if err != nil {
		logger.Errorln("user service FindUsers Error:", err)
		return nil, err
	}
	userCount := len(userList)
	userMap := make(map[int]*model.User, userCount)
	uids := make([]int, userCount)
	for i, user := range userList {
		userMap[user.Uid] = user
		uids[i] = user.Uid
	}
	// 獲得角色信息
	userRoleList, err := model.NewUserRole().Where("uid in (" + util.Join(uids, ",") + ")").FindAll()
	if err != nil {
		logger.Errorln("user service FindUsers Error:", err)
		return nil, err
	}
	for _, userRole := range userRoleList {
		user := userMap[userRole.Uid]
		if len(user.Roleids) == 0 {
			user.Roleids = []int{userRole.Roleid}
			user.Rolenames = []string{model.AllRole[userRole.Roleid].Name}
		} else {
			user.Roleids = append(user.Roleids, userRole.Roleid)
			user.Rolenames = append(user.Rolenames, model.AllRole[userRole.Roleid].Name)
		}
	}
	return userMap, nil
}
開發者ID:jimmykuu,項目名稱:studygolang,代碼行數:31,代碼來源:user.go

示例5: CreateUser

func CreateUser(form url.Values) (errMsg string, err error) {
	// 存用戶基本信息,產生自增長UID
	user := model.NewUser()
	err = util.ConvertAssign(user, form)
	if err != nil {
		logger.Errorln("user ConvertAssign error", err)
		errMsg = err.Error()
		return
	}
	uid, err := user.Insert()
	if err != nil {
		errMsg = "內部服務器錯誤"
		logger.Errorln(errMsg, ":", err)
		return
	}

	// 存用戶登錄信息
	userLogin := model.NewUserLogin()
	err = util.ConvertAssign(userLogin, form)
	if err != nil {
		errMsg = err.Error()
		logger.Errorln("CreateUser error:", err)
		return
	}
	userLogin.Uid = uid
	_, err = userLogin.Insert()
	if err != nil {
		errMsg = "內部服務器錯誤"
		logger.Errorln(errMsg, ":", err)
		return
	}

	// 存用戶角色信息
	userRole := model.NewUserRole()
	// 默認為初級會員
	roleId := model.AllRoleId[len(model.AllRoleId)-1]
	if form.Get("roleid") != "" {
		tmpId, err := strconv.Atoi(form.Get("roleid"))
		if err == nil {
			roleId = tmpId
		}
	}
	userRole.Roleid = roleId
	userRole.Uid = uid
	if _, err = userRole.Insert(); err != nil {
		logger.Errorln("userRole insert Error:", err)
	}

	// 存用戶活躍信息,初始活躍+2
	userActive := model.NewUserActive()
	userActive.Uid = uid
	userActive.Username = user.Username
	userActive.Email = user.Email
	userActive.Weight = 2
	if _, err = userActive.Insert(); err != nil {
		logger.Errorln("UserActive insert Error:", err)
	}
	return
}
開發者ID:sndnvaps,項目名稱:studygolang,代碼行數:59,代碼來源:user.go

示例6: AllocUserRoles

func AllocUserRoles(uid int, roleids []string) error {
	userRole := model.NewUserRole()
	userRole.Uid = uid

	for _, roleId := range roleids {
		userRole.Roleid, _ = strconv.Atoi(roleId)
		if userRole.Roleid == 0 {
			continue
		}

		userRole.Insert()
	}

	return nil
}
開發者ID:NeoChow,項目名稱:studygolang,代碼行數:15,代碼來源:user.go

示例7: userAuthority

func userAuthority(uid string) (map[int]bool, error) {
	userRoles, err := model.NewUserRole().Where("uid=" + uid).FindAll("roleid")
	if err != nil {
		logger.Errorln("userAuthority userole read fail:", err)
		return nil, err
	}

	roleAuthLocker.RLock()

	aidMap := make(map[int]bool)
	for _, userRole := range userRoles {
		for _, aid := range RoleAuthorities[userRole.Roleid] {
			aidMap[aid] = true
		}
	}

	roleAuthLocker.RUnlock()

	return aidMap, nil
}
開發者ID:bluefchen,項目名稱:studygolang,代碼行數:20,代碼來源:authority.go

示例8: CreateUser

func CreateUser(form url.Values) (errMsg string, err error) {
	if EmailExists(form.Get("email")) {
		err = errors.New("該郵箱已注冊過")
		return
	}
	if UsernameExists(form.Get("username")) {
		err = errors.New("用戶名已存在")
		return
	}
	// 存用戶基本信息,產生自增長UID
	user := model.NewUser()
	err = util.ConvertAssign(user, form)
	if err != nil {
		logger.Errorln("user ConvertAssign error", err)
		errMsg = err.Error()
		return
	}
	user.Ctime = util.TimeNow()

	// 隨機給一個默認頭像
	user.Avatar = DefaultAvatars[rand.Intn(len(DefaultAvatars))]
	uid, err := user.Insert()
	if err != nil {
		errMsg = "內部服務器錯誤"
		logger.Errorln(errMsg, ":", err)
		return
	}

	// 存用戶登錄信息
	userLogin := model.NewUserLogin()
	err = util.ConvertAssign(userLogin, form)
	if err != nil {
		errMsg = err.Error()
		logger.Errorln("CreateUser error:", err)
		return
	}
	userLogin.Uid = uid
	_, err = userLogin.Insert()
	if err != nil {
		errMsg = "內部服務器錯誤"
		logger.Errorln(errMsg, ":", err)
		return
	}

	// 存用戶角色信息
	userRole := model.NewUserRole()
	// 默認為初級會員
	userRole.Roleid = Roles[len(Roles)-1].Roleid
	userRole.Uid = uid
	if _, err = userRole.Insert(); err != nil {
		logger.Errorln("userRole insert Error:", err)
	}

	// 存用戶活躍信息,初始活躍+2
	userActive := model.NewUserActive()
	userActive.Uid = uid
	userActive.Username = user.Username
	userActive.Avatar = user.Avatar
	userActive.Email = user.Email
	userActive.Weight = 2
	if _, err = userActive.Insert(); err != nil {
		logger.Errorln("UserActive insert Error:", err)
	}
	return
}
開發者ID:NeoChow,項目名稱:studygolang,代碼行數:65,代碼來源:user.go


注:本文中的Model.NewUserRole函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。