beginTransaction(); // 写入签到记录(uk_user_date 唯一,重复签到会抛异常) $pdo->prepare('INSERT INTO ' . tn('sign_logs') . ' (user_id, sign_date, points, created_at) VALUES (?, CURDATE(), ?, NOW())') ->execute([$user['id'], $signPoints]); // 同事务内加积分并写流水(避免嵌套事务) $pdo->prepare('UPDATE ' . tn('users') . ' SET points = points + ? WHERE id = ?') ->execute([$signPoints, $user['id']]); $bal = getUserPoints($user['id']); $pdo->prepare('INSERT INTO ' . tn('points_log') . ' (user_id, type, amount, balance, remark, created_at) VALUES (?, ?, ?, ?, ?, NOW())') ->execute([$user['id'], 'sign', $signPoints, $bal, '每日签到']); $pdo->commit(); $points = getUserPoints($user['id']); $signed = true; $msg = '签到成功,获得 ' . $signPoints . ' 积分!'; } catch (Throwable $e) { if ($pdo->inTransaction()) $pdo->rollBack(); $err = '签到失败:' . $e->getMessage(); } } } require 'includes/header.php'; ?>

每日签到

我的积分

积分系统当前已关闭,暂不可签到。

每日签到可领取 积分,积分可用于兑换设置了「积分价」的商品。

想赚更多积分?邀请好友 注册成功可得 积分。