package cc.mrbird.febs.video.service.impl;
|
|
import cc.mrbird.febs.video.entity.VideoMasterDataEntity;
|
import cc.mrbird.febs.video.mapper.VideoMasterDataMapper;
|
import cc.mrbird.febs.video.service.IVideoMasterDataService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* @author wzy
|
* @date 2021-12-20
|
**/
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class VideoMasterDataServiceImpl extends ServiceImpl<VideoMasterDataMapper, VideoMasterDataEntity> implements IVideoMasterDataService {
|
|
|
@Override
|
public synchronized void modifyVideoData(Long masterId, int cnt, int type) {
|
VideoMasterDataEntity data = this.baseMapper.selectDataByMasterIdForUpdate(masterId);
|
if (data == null) {
|
data = new VideoMasterDataEntity();
|
data.setMasterId(masterId);
|
data.setCollectCnt(0);
|
data.setPlayCnt(0);
|
data.setStarCnt(0);
|
}
|
|
int targetCnt = 0;
|
switch (type) {
|
// 播放量
|
case 1:
|
targetCnt = data.getPlayCnt() + cnt;
|
if (targetCnt < 0) {
|
targetCnt = 0;
|
}
|
data.setPlayCnt(targetCnt);
|
break;
|
// 收藏量
|
case 2:
|
targetCnt = data.getCollectCnt() + cnt;
|
if (targetCnt < 0) {
|
targetCnt = 0;
|
}
|
data.setCollectCnt(targetCnt);
|
break;
|
// 点赞量
|
case 3:
|
targetCnt = data.getStarCnt() + cnt;
|
if (targetCnt < 0) {
|
targetCnt = 0;
|
}
|
data.setStarCnt(targetCnt);
|
break;
|
}
|
|
this.baseMapper.updateById(data);
|
}
|
}
|