package com.yeshi.buwan.service.imp.juhe;
|
|
import com.yeshi.buwan.dao.juhe.youku.InternetSearchVideoDao;
|
import com.yeshi.buwan.domain.video.InternetSearchVideo;
|
import com.yeshi.buwan.exception.ParamsException;
|
import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService;
|
import org.springframework.data.mongodb.core.query.Query;
|
import org.springframework.stereotype.Service;
|
import org.springframework.validation.annotation.Validated;
|
import org.yeshi.utils.StringUtil;
|
|
import javax.annotation.Resource;
|
import javax.validation.Valid;
|
import java.util.*;
|
|
@Service
|
public class InternetSearchVideoServiceImpl implements InternetSearchVideoService {
|
|
@Resource
|
private InternetSearchVideoDao internetSearchVideoDao;
|
|
|
@Validated
|
@Override
|
public void save(@Valid InternetSearchVideo video) throws ParamsException, Exception {
|
InternetSearchVideo oldVideo = internetSearchVideoDao.get(video.getId());
|
Set<Integer> resourceIds = listResourceId(video);
|
resourceIds.add(Integer.parseInt(video.getResourceIds()));
|
Integer[] rids = new Integer[resourceIds.size()];
|
resourceIds.toArray(rids);
|
video.setResourceIds(StringUtil.concat(rids, ","));
|
if (oldVideo == null) {
|
video.setCreateTime(new Date());
|
internetSearchVideoDao.save(video);
|
} else {
|
internetSearchVideoDao.updateSelective(video);
|
}
|
}
|
|
private Set<Integer> listResourceId(InternetSearchVideo video) {
|
if (video == null) {
|
return new HashSet<>();
|
}
|
List<String> list = Arrays.asList(video.getResourceIds().split(","));
|
Set<Integer> sets = new HashSet<>();
|
for (String st : list) {
|
sets.add(Integer.parseInt(st));
|
}
|
return sets;
|
}
|
|
@Override
|
public Set<Integer> listResourceId(String id) {
|
InternetSearchVideo oldVideo = internetSearchVideoDao.get(id);
|
return listResourceId(oldVideo);
|
}
|
|
@Override
|
public long countAll() {
|
|
return internetSearchVideoDao.count(new Query());
|
}
|
|
@Override
|
public List<InternetSearchVideo> listAll(int page, int pageSize) {
|
Query query = new Query();
|
query.skip((page - 1) * pageSize);
|
query.limit(pageSize);
|
return internetSearchVideoDao.findList(query);
|
}
|
|
@Override
|
public InternetSearchVideo selectByPrimaryKey(String id) {
|
return internetSearchVideoDao.get(id);
|
}
|
|
|
}
|