我正在寻找上下投票系统的帮助。投票系统存在逻辑问题
目前,我有一个引用投票的用户,谁是投给了用户,并且在投票
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为downvote
现在我有一点逻辑麻烦。
例如如果
- 用户已经投票在parking_spot
如何检查,如果用户已经投票,如果他没有再插入,但如果他有那么不已经投票了。
如何更新用户(uploaded_by_user_id)分数。加上一个赞成票和减去一个赞成票。
所以一般流程是,
用户按下了表决,如果已经投给了已经,如果这样,那么你不能再次投票服务器检查。 if not then vote_casted_user_id =当前用户,parking_spot_id =当前信息,uploaded_by_user_id =上传信息的人, 然后uploaded_by_user得分将根据投票类型更新。
我正在使用java连接到MYSQL数据库的JDBC连接。
对我而言有什么想法?
所以做事情佛罗里达州。 – Moonbeam