登陆特讯网[简洁版]与好友互动、家族乐斗、最炫魔法花园、武林精武帮战、最牛游戏赢活动豪礼!注册>>>
首页>每日签到>签到说明
【签到说明】
【怎么签】
每天可以签到一次,写下 20 字以内的内容。
签到获得元宝,连续签到天数会累加。
【奖励表】
系统在 0 - 100 之间掷一个数,命中下表就拿到对应奖励,否则拿 10 元宝。
掷到 100 → 40 元宝
掷到 88 → 30 元宝
掷到 66 → 26 元宝
掷到 22 → 22 元宝
掷到 15 → 18 元宝
掷到 5 → 14 元宝
其他 → 10 元宝
【会员双倍】
持有会员贵族时,签到奖励翻倍。
会员过期后不再翻倍 —— 原系统只检查有没有会员记录,不看是否到期, 所以过期会员能一直领双倍。
【修正的缺陷】
连续天数被盖到全部历史记录上:原代码是 UPDATE wap_qda SET point = point + 1 WHERE uid = 我 —— 没有加当天那一行的条件,于是把该会员所有历史签到行都加了 1。
实测指纹很清楚:某位签到 700 次的会员,各行数值从 700 一路递减到 691。
现在只写当天那一行。
「一天只能签一次」不是原子操作:原代码先查有没有今天的记录,再插入并发奖 —— 没有事务、也没有唯一约束。两个请求可以同时查到「今天还没签」,然后各发一次奖。
现在整个签到在一个事务里完成,并且先锁住该会员的钱包。
写记录、发奖励、加天数分三步:中间失败会出现「签了没发钱」或「发了钱没记录」。
现在合并为一个事务。
随机数不牢靠:原系统用时钟种子的 Random。奖励是真钱,改用加密级随机数。
去签到.签到记录