1
This commit is contained in:
parent
5a6927160f
commit
ac45db9fd1
@ -88,6 +88,7 @@ CREATE TABLE `t_friend_blacklist` (
|
|||||||
`idx` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',
|
`idx` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',
|
||||||
`account_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '账号',
|
`account_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '账号',
|
||||||
`block_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '被拉黑的账号',
|
`block_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '被拉黑的账号',
|
||||||
|
`add_time` int(11) NOT NULL DEFAULT '0' COMMENT '成为好友时间',
|
||||||
`deleted` int(11) NOT NULL DEFAULT '0' COMMENT '是否已删除',
|
`deleted` int(11) NOT NULL DEFAULT '0' COMMENT '是否已删除',
|
||||||
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||||
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
||||||
|
@ -10,13 +10,11 @@ import (
|
|||||||
type friendMgr struct {
|
type friendMgr struct {
|
||||||
friendHash map[string]map[string]int32
|
friendHash map[string]map[string]int32
|
||||||
blackHash map[string]map[string]int32
|
blackHash map[string]map[string]int32
|
||||||
byBlackHash map[string]map[string]int32
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *friendMgr) Init() {
|
func (this *friendMgr) Init() {
|
||||||
this.friendHash = make(map[string]map[string]int32)
|
this.friendHash = make(map[string]map[string]int32)
|
||||||
this.blackHash = make(map[string]map[string]int32)
|
this.blackHash = make(map[string]map[string]int32)
|
||||||
this.byBlackHash = make(map[string]map[string]int32)
|
|
||||||
this.loadFromDB()
|
this.loadFromDB()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +62,38 @@ func (this *friendMgr) loadFriendships() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *friendMgr) loadBlacklist() {
|
func (this *friendMgr) loadBlacklist() {
|
||||||
|
var lastIdx int64
|
||||||
|
f5.GetSysLog().Info("friendMgr.loadBlacklist begin")
|
||||||
|
var done = false
|
||||||
|
for !done {
|
||||||
|
f5.GetJsStyleDb().SyncSelectCustomQuery(
|
||||||
|
constant.FRIEND_DB,
|
||||||
|
fmt.Sprintf("SELECT * FROM t_friend_blacklist WHERE idx > %d AND deleted = 0", lastIdx),
|
||||||
|
func (err error, ds *f5.DataSet) {
|
||||||
|
if err != nil {
|
||||||
|
panic(fmt.Sprintf("friendMgr.loadBlacklist dberror:%s", err))
|
||||||
|
}
|
||||||
|
for ds.Next() {
|
||||||
|
idx := q5.ToInt64(ds.GetByName("idx"))
|
||||||
|
accountId := ds.GetByName("account_id")
|
||||||
|
blockId := ds.GetByName("block_id")
|
||||||
|
addTime := q5.ToInt32(ds.GetByName("add_time"))
|
||||||
|
if idx > lastIdx {
|
||||||
|
lastIdx = idx
|
||||||
|
} else {
|
||||||
|
panic(fmt.Sprintf("friendMgr.loadBlacklist idxerror:%s %s", idx, lastIdx))
|
||||||
|
}
|
||||||
|
this.addBlackList(accountId, blockId, addTime)
|
||||||
|
}
|
||||||
|
if ds.NumOfReaded() <= 0 {
|
||||||
|
done = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
f5.GetSysLog().Info("friendMgr.loadBlacklist end lastIdx:%d friendNum:%d blackNum:%d",
|
||||||
|
lastIdx,
|
||||||
|
len(this.friendHash),
|
||||||
|
len(this.blackHash))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *friendMgr) IsFriend(accountId1 string, accountId2 string) bool {
|
func (this *friendMgr) IsFriend(accountId1 string, accountId2 string) bool {
|
||||||
@ -133,6 +162,13 @@ func (this *friendMgr) getFriends(accountId string) *map[string]int32 {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *friendMgr) getBlacks(accountId string) *map[string]int32 {
|
||||||
|
if blacks, ok := this.blackHash[accountId]; ok {
|
||||||
|
return &blacks
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (this *friendMgr) AsyncGetApplyList(int64, string, func(int32, string, int64, []string)) {
|
func (this *friendMgr) AsyncGetApplyList(int64, string, func(int32, string, int64, []string)) {
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -179,3 +215,14 @@ func (this *friendMgr) addFriendShip(accountId1 string, accountId2 string, addTi
|
|||||||
(*friends)[accountId1] = addTime
|
(*friends)[accountId1] = addTime
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *friendMgr) addBlackList(accountId string, blockId string, addTime int32) {
|
||||||
|
{
|
||||||
|
blacks := this.getBlacks(accountId)
|
||||||
|
if blacks != nil {
|
||||||
|
this.blackHash[accountId] = make(map[string]int32)
|
||||||
|
blacks = this.getBlacks(accountId)
|
||||||
|
}
|
||||||
|
(*blacks)[blockId] = addTime
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user