@RequestCode(requestId = "REQ_FOLLOW_OR_UNFOLLOW")
public ResponseEnvelope follow(@RequestBody RequestEnvelope requestEnvelope) {
//获取查询参数
JSONObject params = requestEnvelope.getParam2JsonObj("params");
String targetId = params.getString("targetId");
String sendId = params.getString("sendId");
LambdaQueryWrapper<KbFansFollowInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(KbFansFollowInfo::getFollowId, targetId).eq(KbFansFollowInfo::getFansId, sendId);
//删除已有关注数据
int delete = kbFansFollowInfoMapper.delete(wrapper);
if (delete == 0) {
//添加关注
KbFansFollowInfo kbFansFollowInfoNew = new KbFansFollowInfo();
kbFansFollowInfoNew.setFollowId(targetId);
kbFansFollowInfoNew.setFansId(sendId);
kbFansFollowInfoNew.setNoticeStatus(0);
kbFansFollowInfoMapper.insert(kbFansFollowInfoNew);
//消息通知中添加数据
KbSystemNotice kbSystemNotice = new KbSystemNotice();
kbSystemNotice.setNoticeStatus(NoticeStatus.UNREAD.getValue());
kbSystemNotice.setNoticeType(KbSystemNotice.NoticeType.FOLLOW.getValue());
kbSystemNotice.setSendType("0");
kbSystemNotice.setSendId(sendId);
kbSystemNotice.setTargetId(targetId);
kbSystemNotice.setContent("关注了你");
kbSystemNotice.setOriginId(kbFansFollowInfoNew.getCfpId());
kbSystemNoticeMapper.insert(kbSystemNotice);
}
return ResponseEnvelope.success();
}
关注按钮是回显在页面上的,如果有数据显示已关注,没有关注数据显示关注。
后台代码直接用粉丝id和作者id就可以完成关注取关。