package com.yutou.tools.services; import com.alibaba.fastjson2.JSONObject; import com.yutou.tools.mybatis.dao.BangumiItemDao; import com.yutou.tools.mybatis.dao.BangumiListDao; import com.yutou.tools.mybatis.model.BangumiItem; import com.yutou.tools.mybatis.model.BangumiItemExample; import com.yutou.tools.mybatis.model.BangumiList; import com.yutou.tools.mybatis.model.BangumiListExample; import com.yutou.tools.services.interfaces.BangumiService; import com.yutou.tools.utils.BangumiTools; import com.yutou.tools.utils.RedisTools; import com.yutou.tools.utils.Tools; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; @Service("BangumiService") public class BangumiServiceImpl implements BangumiService { @Resource BangumiListDao listDao; @Resource BangumiItemDao itemDao; @Override public int addBangumiList(BangumiList... list) { for (BangumiList bangumiList : list) { if (listDao.insert(bangumiList) <= 0) { return 0; } } return 1; } @Override public int addBangumiItem(BangumiItem... list) { for (BangumiItem item : list) { if (itemDao.insert(item) <= 0) { return 0; } } return 1; } @Override public int updateBangumiItem(BangumiItem item) { return itemDao.updateByPrimaryKey(item); } @Override public int removeBangumiItem(int id) { return itemDao.deleteByPrimaryKey(id); } @Override public int removeBangumiType(int id) { BangumiItemExample example = new BangumiItemExample(); example.createCriteria().andBidEqualTo(id + ""); itemDao.deleteByExample(example); return listDao.deleteByPrimaryKey(id); } @Override public BangumiItem getBangumiItem(int id) { return itemDao.selectByPrimaryKey(id); } @Override public List getBangumiItemList(String type) { BangumiItemExample example = new BangumiItemExample(); example.createCriteria().andBidEqualTo(type); List items = itemDao.selectByExample(example); for (BangumiItem item : items) { if(item.getEnable()==0||item.getBgmid()==0){ continue; } String tmp=RedisTools.get(item.getBgmid()+"",1); JSONObject bangumi= tmp==null?BangumiTools.getBangumiInfoSmall(item.getBgmid()):JSONObject.parseObject(tmp); RedisTools.set(1,2592000,item.getBgmid()+"",bangumi.toJSONString()); if(bangumi.containsKey("code")&&bangumi.getInteger("code")==404){ continue; } int day=Tools.getWeekDay(); if (day == 0) { day = 7; } if(bangumi.getInteger("air_weekday")==day) { item.setUpdate(true); } } return items; } @Override public List getAllBangumiItemList() { return itemDao.selectByExample(new BangumiItemExample()); } @Override public List getAllBangumiList() { return listDao.selectByExample(new BangumiListExample()); } }