| 328 | } |
| 329 | |
| 330 | func (u *userDB) addMessage(userID int64, msgID int64) (int64, error) { |
| 331 | key := UserMessageKey(userID, msgID) |
| 332 | val := util.EncodeInt64(msgID) |
| 333 | if err := u.db.Put(key, val, nil); err != nil { |
| 334 | return 0, errors.Trace(err) |
| 335 | } |
| 336 | |
| 337 | before := int64(0) |
| 338 | v, err := u.db.Get(UserLastMessageKey(userID), nil) |
| 339 | if err == nil { |
| 340 | before = util.DecodeInt64(v) |
| 341 | } else if err != leveldb.ErrNotFound { |
| 342 | return 0, errors.Trace(err) |
| 343 | } |
| 344 | |
| 345 | log.Debugf("user:%d, before:%d, new:%d", userID, before, msgID) |
| 346 | |
| 347 | return before, u.db.Put(UserLastMessageKey(userID), util.EncodeInt64(msgID), nil) |
| 348 | } |
| 349 | |
| 350 | func (u *userDB) getLastID(userID int64) (int64, error) { |
| 351 | v, err := u.db.Get(UserLastMessageKey(userID), nil) |