|
|
@@ -6,6 +6,7 @@ package com.kede.news.service.impl;
|
|
|
import java.text.ParseException;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -91,12 +92,40 @@ public class NewsServiceImpl extends BaseMybatisDao<NewsMapper> implements NewsS
|
|
|
@Override
|
|
|
public OutNews addHotelectNews(InputNews in) {
|
|
|
OutNews use = selectNews(in);
|
|
|
+ use.setHot(use.getHot()+1);
|
|
|
OutNews newNews=new OutNews();
|
|
|
newNews.setId(use.getId());
|
|
|
- newNews.setHot(use.getHot()+1);
|
|
|
+ newNews.setHot(use.getHot());
|
|
|
+ pushAfter(use);
|
|
|
+
|
|
|
newsMapper.updateByPrimaryKeySelective(newNews);
|
|
|
- use.setHot(use.getHot()+1);
|
|
|
return use;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 计算上一篇下一篇
|
|
|
+ * @param use
|
|
|
+ */
|
|
|
+ private void pushAfter(OutNews use) {
|
|
|
+ List<OutNews>list= newsMapper.selectByType(use.getType());
|
|
|
+ int max = list.size()-1;
|
|
|
+ list.forEach(i ->{
|
|
|
+ if (i.getId().equals(use.getId())){
|
|
|
+ int index=list.indexOf(i);
|
|
|
+ if (index==0&&max>0){
|
|
|
+ use.setAfterId(list.get(1).getId());
|
|
|
+ use.setAfterTitle(list.get(1).getTitle());
|
|
|
+ }else if (index==max&&max>0){
|
|
|
+ use.setBeforeId(list.get(index-1).getId());
|
|
|
+ use.setBeforeTitle(list.get(index-1).getTitle());
|
|
|
+ }else {
|
|
|
+ use.setAfterId(list.get(index+1).getId());
|
|
|
+ use.setAfterTitle(list.get(index+1).getTitle());
|
|
|
+ use.setBeforeId(list.get(index-1).getId());
|
|
|
+ use.setBeforeTitle(list.get(index-1).getTitle());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
}
|