我在上下投票系统上寻求帮助.
目前,我有一个投票表,该表引用了投票的用户,被投票的用户以及被投票的信息(停车位)
CREATE TABLE parking_spots_votes(
vote_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
parking_spot_id INTEGER DEFAULT NULL,
key parking_spot_id_fk (parking_spot_id),
FOREIGN KEY (parking_spot_id) REFERENCES parking_spots(id),
uploaded_by_user_id INTEGER DEFAULT NULL,
key user_id_fk (uploaded_by_user_id),
FOREIGN KEY (uploaded_by_user_id) REFERENCES parking_angel_users(id),
vote_casted_user_id INTEGER DEFAULT NULL,
key vote_cast_user_id_fk (vote_casted_user_id),
FOREIGN KEY (vote_casted_user_id) REFERENCES parking_angel_users(id),
vote_type INTEGER NOT NULL
)
投票类型可以是0表示不投票,1表示赞成票,2表示赞成票
现在我有点逻辑上的麻烦.
例如
>如果用户已经对parking_spot进行了投票该怎么办
>如何检查用户是否已经投票,如果尚未插入,但如果尚未投票,则不会插入.
>如何更新用户分数(uploaded_by_user_id).加1代表赞成,负1代表反对.
所以一般的流程是
用户按下投票,服务器将检查是否已被投票,如果已投票,则您无法再次投票.
如果不是,则vote_casted_user_id =当前用户,parking_spot_id =当前信息,upload_by_user_id =上传信息的人,
那么“ uploaded_by_user”得分将根据投票类型进行更新.
我正在将Java servlet与JDBC连接使用到MYSQL数据库.
对我有什么想法吗?