mystyle-cloud-parent/mystyle-cloud-fiction/src/main/java/com/zhangmeng/fiction/controller/FictionController.java

128 lines
4.6 KiB
Java
Raw Normal View History

2021-11-15 09:43:03 +00:00
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<String, Object> map) {
FictionCollection fictionCollection = CommonUtil.map2Obj(map, FictionCollection.class);
fictionCollection.setAddTime(new Date());
fictionCollection.setDeleteStatus(false);
fictionCollection.setUpdateTime(new Date());
fictionCollection.setGenStatus(0);
List<FictionCollection> 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<FictionCollection> 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<FictionChapter> findByFictionId(@RequestParam("id") Long id) {
2021-12-13 09:10:28 +00:00
Condition condition = new Condition(FictionChapter.class);
Example.Criteria criteria = condition.createCriteria();
criteria.andEqualTo("fiction_id",id);
return this.fictionChapterService.findByCondition(condition);
2021-11-15 09:43:03 +00:00
}
@Override
@GetMapping("/fictionDetailsId")
public List<FictionDetails> 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<Fiction> findAll() {
return this.fictionService.findAll();
}
}