更新上限信息
(uid int64, number int)
| 231 | |
| 232 | // 更新上限信息 |
| 233 | func (sql *fishdb) updateFishInfo(uid int64, number int) (residue int, err error) { |
| 234 | sql.Lock() |
| 235 | defer sql.Unlock() |
| 236 | userInfo := fishState{ID: uid} |
| 237 | err = sql.db.Create("fishState", &userInfo) |
| 238 | if err != nil { |
| 239 | return 0, err |
| 240 | } |
| 241 | _ = sql.db.Find("fishState", &userInfo, "WHERE ID = ?", uid) |
| 242 | if time.Unix(userInfo.Duration, 0).Day() != time.Now().Day() { |
| 243 | userInfo.Fish = 0 |
| 244 | userInfo.Duration = time.Now().Unix() |
| 245 | } |
| 246 | if userInfo.Fish >= FishLimit { |
| 247 | return 0, nil |
| 248 | } |
| 249 | residue = number |
| 250 | if userInfo.Fish+number > FishLimit { |
| 251 | residue = FishLimit - userInfo.Fish |
| 252 | number = residue |
| 253 | } |
| 254 | userInfo.Fish += number |
| 255 | err = sql.db.Insert("fishState", &userInfo) |
| 256 | return |
| 257 | } |
| 258 | |
| 259 | // 更新诅咒 |
| 260 | func (sql *fishdb) updateCurseFor(uid int64, info string, number int) (err error) { |