|
@@ -19,6 +19,7 @@ import com.fs.live.vo.RecentLiveDataVo;
|
|
import com.fs.live.vo.TrendDataVO;
|
|
import com.fs.live.vo.TrendDataVO;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
@@ -90,7 +91,6 @@ public class LiveDataServiceImpl extends ServiceImpl<LiveDataMapper, LiveData> i
|
|
@Override
|
|
@Override
|
|
public int insertLiveData(LiveData liveData)
|
|
public int insertLiveData(LiveData liveData)
|
|
{
|
|
{
|
|
- liveData.setCreateTime(DateUtils.getNowDate());
|
|
|
|
return baseMapper.insertLiveData(liveData);
|
|
return baseMapper.insertLiveData(liveData);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -349,11 +349,15 @@ public class LiveDataServiceImpl extends ServiceImpl<LiveDataMapper, LiveData> i
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional
|
|
public String updateLikeByLiveId(Long liveId, Long userId) {
|
|
public String updateLikeByLiveId(Long liveId, Long userId) {
|
|
//一个用户一天只能点赞十次
|
|
//一个用户一天只能点赞十次
|
|
- String key = "live:like" + liveId + ":user:" + userId+":date:"+ DateUtils.getDate();
|
|
|
|
|
|
+ String key = "live:like:" + liveId + ":user:" + userId+":date:"+ DateUtils.getDate();
|
|
LiveUserLike liveUserLike;
|
|
LiveUserLike liveUserLike;
|
|
- if(!redisCache.redisTemplate.hasKey(key)) {
|
|
|
|
|
|
+ //用户直播间第一次点赞
|
|
|
|
+ if(redisCache.setIfAbsent( key,1, 1, TimeUnit.DAYS)) {
|
|
|
|
+ //直播间总点赞数
|
|
|
|
+ redisCache.increment("live:like:" + liveId,1);
|
|
liveUserLike = liveUserLikeService.selectLiveUserLikeByIds(liveId, userId);
|
|
liveUserLike = liveUserLikeService.selectLiveUserLikeByIds(liveId, userId);
|
|
if (liveUserLike == null) {
|
|
if (liveUserLike == null) {
|
|
liveUserLike = new LiveUserLike();
|
|
liveUserLike = new LiveUserLike();
|
|
@@ -361,10 +365,11 @@ public class LiveDataServiceImpl extends ServiceImpl<LiveDataMapper, LiveData> i
|
|
liveUserLike.setLiveId(liveId);
|
|
liveUserLike.setLiveId(liveId);
|
|
liveUserLike.setCreateTime(new Date());
|
|
liveUserLike.setCreateTime(new Date());
|
|
liveUserLikeService.insertLiveUserLike(liveUserLike);
|
|
liveUserLikeService.insertLiveUserLike(liveUserLike);
|
|
|
|
+ return "点赞成功";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- int count =redisCache.getCacheObject(key);
|
|
|
|
- if(count>=10) {
|
|
|
|
|
|
+ Integer count =redisCache.getCacheObject(key);
|
|
|
|
+ if((count==null?0: count)>=10) {
|
|
//当前时间
|
|
//当前时间
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDateTime now = LocalDateTime.now();
|
|
//明天0点
|
|
//明天0点
|
|
@@ -425,29 +430,31 @@ public class LiveDataServiceImpl extends ServiceImpl<LiveDataMapper, LiveData> i
|
|
//判断是收藏店铺还是收藏产品
|
|
//判断是收藏店铺还是收藏产品
|
|
if (productId != null) {
|
|
if (productId != null) {
|
|
//查询用户是否收藏过该产品
|
|
//查询用户是否收藏过该产品
|
|
- LiveUserFavorite liveUserFavorite = liveUserFavoriteService.selectByIds(productId,storeId,liveId,userId);
|
|
|
|
- if (liveUserFavorite != null) {
|
|
|
|
|
|
+ List<LiveUserFavorite> liveUserFavorites = liveUserFavoriteService.selectByIds(productId, storeId, liveId, userId);
|
|
|
|
+ if (liveUserFavorites != null) {
|
|
liveUserFavoriteService.deleteLiveUserFavoriteByIds(productId,storeId,liveId,userId);
|
|
liveUserFavoriteService.deleteLiveUserFavoriteByIds(productId,storeId,liveId,userId);
|
|
return "取消收藏成功";
|
|
return "取消收藏成功";
|
|
}
|
|
}
|
|
- liveUserFavorite = new LiveUserFavorite();
|
|
|
|
|
|
+ LiveUserFavorite liveUserFavorite = new LiveUserFavorite();
|
|
liveUserFavorite.setProductId(productId);
|
|
liveUserFavorite.setProductId(productId);
|
|
liveUserFavorite.setStoreId(storeId);
|
|
liveUserFavorite.setStoreId(storeId);
|
|
liveUserFavorite.setLiveId(liveId);
|
|
liveUserFavorite.setLiveId(liveId);
|
|
liveUserFavorite.setCreateTime(new Date());
|
|
liveUserFavorite.setCreateTime(new Date());
|
|
|
|
+ liveUserFavorite.setUserId(userId);
|
|
liveUserFavoriteService.insertLiveUserFavorite(liveUserFavorite);
|
|
liveUserFavoriteService.insertLiveUserFavorite(liveUserFavorite);
|
|
return "收藏成功";
|
|
return "收藏成功";
|
|
}
|
|
}
|
|
//查询用户是否收藏过该店铺
|
|
//查询用户是否收藏过该店铺
|
|
- LiveUserFavorite liveUserFavorite = liveUserFavoriteService.selectByIds(null,storeId,liveId,userId);
|
|
|
|
- if (liveUserFavorite != null) {
|
|
|
|
|
|
+ List<LiveUserFavorite> liveUserFavorites = liveUserFavoriteService.selectByIds(null, storeId, liveId, userId);
|
|
|
|
+ if (liveUserFavorites != null) {
|
|
liveUserFavoriteService.deleteLiveUserFavoriteByIds(null,storeId,liveId,userId);
|
|
liveUserFavoriteService.deleteLiveUserFavoriteByIds(null,storeId,liveId,userId);
|
|
return "取消收藏成功";
|
|
return "取消收藏成功";
|
|
}
|
|
}
|
|
- liveUserFavorite = new LiveUserFavorite();
|
|
|
|
|
|
+ LiveUserFavorite liveUserFavorite = new LiveUserFavorite();
|
|
liveUserFavorite.setStoreId(storeId);
|
|
liveUserFavorite.setStoreId(storeId);
|
|
liveUserFavorite.setLiveId(liveId);
|
|
liveUserFavorite.setLiveId(liveId);
|
|
liveUserFavorite.setCreateTime(new Date());
|
|
liveUserFavorite.setCreateTime(new Date());
|
|
|
|
+ liveUserFavorite.setUserId(userId);
|
|
liveUserFavoriteService.insertLiveUserFavorite(liveUserFavorite);
|
|
liveUserFavoriteService.insertLiveUserFavorite(liveUserFavorite);
|
|
return "收藏成功";
|
|
return "收藏成功";
|
|
}
|
|
}
|
|
@@ -460,7 +467,7 @@ public class LiveDataServiceImpl extends ServiceImpl<LiveDataMapper, LiveData> i
|
|
//关注数
|
|
//关注数
|
|
liveViewData.put("follow", baseMapper.selectLiveDataByLiveId(liveId).getFollow_num());
|
|
liveViewData.put("follow", baseMapper.selectLiveDataByLiveId(liveId).getFollow_num());
|
|
//点赞数
|
|
//点赞数
|
|
- liveViewData.put("like", redisCache.getCacheObject("live:like"+liveId));
|
|
|
|
|
|
+ liveViewData.put("like", redisCache.getCacheObject("live:like:"+liveId));
|
|
return liveViewData;
|
|
return liveViewData;
|
|
}
|
|
}
|
|
|
|
|