package com.zhangmeng.fiction.controller; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zhangmeng.api.service.fiction.FictionControllerApi; import com.zhangmeng.fiction.service.*; import com.zhangmeng.model.base.baseController.BaseController; import com.zhangmeng.model.base.baseUtil.CommonUtil; import com.zhangmeng.model.dto.system.SysConstant; import com.zhangmeng.model.entity.Fiction; import com.zhangmeng.model.entity.FictionChapter; import com.zhangmeng.model.entity.FictionCollection; import com.zhangmeng.model.entity.FictionDetails; import com.zhangmeng.model.vo.Result; import com.zhangmeng.model.vo.StatusCode; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import springfox.documentation.annotations.ApiIgnore; import tk.mybatis.mapper.entity.Condition; import tk.mybatis.mapper.entity.Example; import java.util.Date; import java.util.List; import java.util.Map; @RestController @RequestMapping("/fiction") public class FictionController extends BaseController implements FictionControllerApi { @Autowired private FictionService fictionService; @Autowired private FictionCollectionService fictionCollectionService; @Autowired private FictionChapterService fictionChapterService; @Autowired private FictionDetailsService fictionDetailsService; @Autowired private TianYuXiaoShuoJsoupService tianYuXiaoShuoJsoupService; @Override @PostMapping("/save") public Result save(@RequestParam @RequestBody Map map) { FictionCollection fictionCollection = CommonUtil.map2Obj(map, FictionCollection.class); fictionCollection.setAddTime(new Date()); fictionCollection.setDeleteStatus(false); fictionCollection.setUpdateTime(new Date()); fictionCollection.setGenStatus(0); List collections = this.fictionCollectionService.findByObj(fictionCollection); if (collections.size() > 0) { this.fictionCollectionService.update(fictionCollection); } this.fictionCollectionService.save(fictionCollection); return this.success(); } @Override @GetMapping("/check") public Result check() { List all = this.fictionCollectionService.findAll(); if (all.size() > 0) { for (FictionCollection fictionCollection : all) { String bookName = fictionCollection.getTitle(); Fiction fiction = this.fictionService.finbByBookName(bookName); if (fiction != null) { fictionCollection.setUpdateTime(new Date()); fictionCollection.setGenStatus(1); this.fictionCollectionService.update(fictionCollection); } } } return this.success(); } @Override @GetMapping("/fictionName") public Result update_fiction(String fictionName) { //查询小说 Fiction fiction = this.fictionService.finbByBookName(fictionName); if (fiction != null) { String links = fiction.getLinks(); //获取该小说的最新章节 this.tianYuXiaoShuoJsoupService.update_fiction(links); } return new Result(true, StatusCode.OK, "更新成功"); } @Override @GetMapping("/findBy/{id}") public Fiction getFictionById(@PathVariable("id") Long id) { return this.fictionService.findById(id); } @Override @GetMapping("/findByFictionId") public List findByFictionId(@RequestParam("id") Long id) { Condition condition = new Condition(FictionChapter.class); Example.Criteria criteria = condition.createCriteria(); criteria.andEqualTo("fiction_id",id); return this.fictionChapterService.findByCondition(condition); } @Override @GetMapping("/fictionDetailsId") public List fictionDetailsId(@RequestParam("id") Long id) { Condition condition = new Condition(FictionDetails.class); Example.Criteria criteria = condition.createCriteria(); if (CommonUtil.isNotNull(id)) { criteria.andEqualTo("fiction_chapter_id", id); } return this.fictionDetailsService.findByCondition(condition); } @GetMapping("/findAllToFiction") public List findAll() { return this.fictionService.findAll(); } }