今天做云笔记项目中的收藏笔记部分时,卡在了检查是否已经收藏过该笔记这里,想了很久,终于解决了。具体来说,就是通过shareId+userId拼接起来作为收藏笔记的id,这样就不会出现甲收藏了A笔记,乙在没有收藏A笔记的情况下,不能收藏A笔记的bug了。
public NoteResult collectNote(String shareId, String userId) {
NoteResult result = new NoteResult();
//检查是否已经收藏过该笔记
Note note1 = noteDao.findByNoteId(shareId + userId);
if(note1 != null) {
result.setStatus(1);
result.setMsg("该笔记已被收藏过");
return result;
}
Share share = shareDao.findById(shareId);
Note note = new Note();
note.setCn_note_body(share.getCn_share_body());
note.setCn_note_create_time(System.currentTimeMillis());
note.setCn_note_id(share.getCn_share_id() + userId);
note.setCn_note_last_modify_time(System.currentTimeMillis());
note.setCn_note_title(share.getCn_share_title());
note.setCn_user_id(userId);
noteDao.save2(note);
result.setStatus(0);
result.setMsg("收藏笔记成功");
return result;
}