示例#1
0
文件: team.go 项目: Liuyanglong/uic
func (this *Team) Remove() error {
	err := UnlinkByTeamId(this.Id)
	if err != nil {
		return err
	}

	num, err := DeleteTeamById(this.Id)
	if err == nil && num > 0 {
		cache.Delete(fmt.Sprintf("team:id:%s", this.Name))
		cache.Delete(fmt.Sprintf("team:obj:%d", this.Id))
	}

	return err
}
示例#2
0
文件: team.go 项目: Liuyanglong/uic
func (this *Team) Update() (int64, error) {
	num, err := orm.NewOrm().Update(this)

	if err == nil && num > 0 {
		cache.Delete(fmt.Sprintf("team:obj:%d", this.Id))
	}

	return num, err
}
示例#3
0
文件: team.go 项目: Liuyanglong/uic
func (this *Team) UpdateUsers(userIdstr string) error {
	if err := UnlinkByTeamId(this.Id); err != nil {
		return err
	}

	cache.Delete(fmt.Sprintf("t:uids:%d", this.Id))

	return PutUsersInTeam(this.Id, userIdstr)
}
示例#4
0
文件: team.go 项目: LianjiaTech/UIC
func UnlinkByTeamId(id int64) error {
	uids, err := Uids(id)
	if err == nil && len(uids) > 0 {
		for i := 0; i < len(uids); i++ {
			cache.Delete(fmt.Sprintf("u:tids:%d", uids[i]))
		}
	}
	_, err = orm.NewOrm().Raw("DELETE FROM `rel_team_user` WHERE `tid` = ?", id).Exec()
	return err
}
示例#5
0
文件: team.go 项目: LianjiaTech/UIC
func (this *Team) UpdateAdmins(userIdstr string) error {
	cache.Delete(fmt.Sprintf("t_admin:uids:%d", this.Id))
	uidArr := strings.Split(userIdstr, ",")
	for _, uidS := range uidArr {
		uId, _ := strconv.ParseInt(uidS, 10, 64)
		FlushTeamidCache(uId)
	}

	return PutAdminInTeam(this.Id, userIdstr)
}
示例#6
0
文件: user.go 项目: LianjiaTech/UIC
func (this *User) Remove() (int64, error) {
	num, err := DeleteUserById(this.Id)
	if err != nil {
		return num, err
	}

	cache.Delete(fmt.Sprintf("user:obj:%d", this.Id))
	cache.Delete(fmt.Sprintf("user:id:%s", this.Name))

	tids, err := Tids(this.Id)
	if err == nil && len(tids) > 0 {
		for i := 0; i < len(tids); i++ {
			cache.Delete(fmt.Sprintf("t:uids:%d", tids[i]))
		}
	}

	UnlinkByUserId(this.Id)

	return num, err
}
示例#7
0
文件: session.go 项目: hitripod/fe
func RemoveSessionByUid(uid int64) {
	var ss []Session
	Sessions().Filter("Uid", uid).All(&ss, "Id", "Sig")
	if ss == nil || len(ss) == 0 {
		return
	}

	for _, s := range ss {
		num, err := DeleteSessionById(s.Id)
		if err == nil && num > 0 {
			cache.Delete(fmt.Sprintf("session:obj:%s", s.Sig))
		}
	}
}
示例#8
0
文件: team.go 项目: LianjiaTech/UIC
func (this *Team) UpdateUsers(userIdstr string) error {
	if err := UnlinkByTeamId(this.Id); err != nil {
		return err
	}

	cache.Delete(fmt.Sprintf("t:uids:%d", this.Id))

	uidArr := strings.Split(userIdstr, ",")
	for _, uidS := range uidArr {
		uId, _ := strconv.ParseInt(uidS, 10, 64)
		FlushTeamidCache(uId)
	}

	return PutUsersInTeam(this.Id, userIdstr)
}
示例#9
0
文件: user.go 项目: LianjiaTech/UIC
func (this *User) Update() (int64, error) {
	modilist := make(map[string][]string)
	modilist["sn"] = []string{this.Cnname}
	modilist["mobile"] = []string{this.Phone}
	res, err := utils.Ldapmonify("10.10.3.102:389", "DC=lianjia,DC=com", "CN=updateuser,OU=SysUser,DC=lianjia,DC=com", "wqLTYYS8dpeUT26R", "mail", this.Email, modilist)
	if res != true || err != nil {
		fmt.Println("User Update Ldap Error: ", res, err)
		return 0, err
	}
	num, err := orm.NewOrm().Update(this)

	if err == nil && num > 0 {
		cache.Delete(fmt.Sprintf("user:obj:%d", this.Id))
	}

	return num, err
}
示例#10
0
文件: user.go 项目: LianjiaTech/UIC
func FlushTeamidCache(uid int64) {
	key := fmt.Sprintf("u:tids:%d", uid)
	cache.Delete(key)
}
示例#11
0
文件: team.go 项目: Liuyanglong/uic
func (this *Team) UpdateAdmins(userIdstr string) error {
	cache.Delete(fmt.Sprintf("t_admin:uids:%d", this.Id))

	return PutAdminInTeam(this.Id, userIdstr)
}
示例#12
0
文件: team.go 项目: LianjiaTech/UIC
func ClearTeamCacheById(id int64) {
	key := fmt.Sprintf("team:obj:%d", id)
	go cache.Delete(key)
}