@RequestMapping(value = "/tweet/star", method = RequestMethod.POST)
  public void star(
      @RequestParam("uid") long uid,
      @RequestParam("tid") long tid,
      @RequestParam("star") boolean star) {
    Tweet tweet = tweetRepo.findOne(tid);
    if (star) {
      if (userTweetRepo.findByUidAndTidAndUserTweetType(uid, tid, UserTweet.UserTweetType.STAR)
          == null) {
        UserTweet userTweet = new UserTweet();
        userTweet.setUid(uid);
        userTweet.setTid(tid);
        userTweet.setUserTweetType(UserTweet.UserTweetType.STAR);
        userTweetRepo.saveAndFlush(userTweet);

        User user = userRepo.findOne(uid);
        Message message = new Message();
        message.setUid(uid);
        message.setUid2(tweet.getUid());
        message.setTid(tid);
        message.setMessageType(Message.MessageType.STAR);
        message.setTitle(user.getName());
        message.setContent(user.getName());
        message.setIcon(user.getAvatar());
        message.setTime(Utils.getTime());
        message.setDate(System.currentTimeMillis());
        Utils.message(messageRepo.saveAndFlush(message));
      } else {
        return;
      }
    } else {
      userTweetRepo.deleteByUidAndTidAndUserTweetType(uid, tid, UserTweet.UserTweetType.STAR);
    }
    tweet.setStarCount(star ? tweet.getStarCount() + 1 : tweet.getStarCount() - 1);
    tweetRepo.saveAndFlush(tweet);
  }