基于javaweb+mysql的springboot在线小说阅读系统(前后端分离+java+vue+springboot+ssm+mysql+maven)

基于javaweb+mysql的springboot在线小说阅读系统(前后端分离+java+vue+springboot+ssm+mysql+maven)

运行环境

Java≥8、MySQL≥5.7、Node.js≥10

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot在线小说阅读系统(前后端分离+java+vue+springboot+ssm+mysql+maven)

一、项目简述

本系统功能包括: 普通用户端登录注册,小说的分类,日榜,月榜,年榜, 小说的阅读,分章节,小说的评论,收藏,推荐等等,以 及后台小说的维护,上架,编辑等等。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX (Webstorm也 行)+ Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts都支 持)。

项目技术: Springboot + Maven + Mybatis + Vue , B/S 模式+ Maven等等


@RestController
@RequestMapping("/api/chapter")
@Api(tags = "共同前缀:/api/chapter", description = "ChapterController")
@Slf4j
public class ChapterController {

	@Autowired
	ChapterService chapterService;

	@PostMapping
	@ApiOperation("新增Chapter")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject post(@RequestBody HashMap<String, String> data) {
		log.info("新增Chapter");
		if (data.get("title") == null || data.get("title").equals("")) {
			throw new ControllerException("volume_id不可为null");
		} else if (data.get("volume_id") == null || data.get("volume_id").equals("")) {
			throw new ControllerException("title不可为null,也不可为空字符串");
		} else if (data.get("chapterContent") == null || data.get("chapterContent").equals("")) {
			throw new ControllerException("chapterContent不可为null,也不可为空字符串");
		} else {
			try {
				// 文件夹
				File directory = new File(ResourceUtils.getURL("src").getPath() + "main/resources/static/txt/");
				if (!directory.exists()) {
					directory.mkdirs();
				}
				// 文件
				String content = new Date().getTime() + ".txt";
				File file2 = new File(directory, content);
				if (!file2.exists()) {
					file2.createNewFile();
				}
				// 往文件内写内容
				FileWriter fileWriter = new FileWriter(file2);
				fileWriter.write(data.get("chapterContent"));
				fileWriter.flush();
				fileWriter.close();
				Chapter chapter = new Chapter();
				chapter.setTitle(data.get("title"));
				chapter.setVolume_id(Integer.parseInt(data.get("volume_id")));

@RestController
@RequestMapping("/api/collection")
@Api(tags = "共同前缀:/api/collection", description = "CollectionController")
@Slf4j
public class CollectionController {
	@Autowired
	CollectionService collectionService;
	@Autowired
	UserService userService;
	@Autowired
	NovelService novelService;

	@PostMapping
	@ApiOperation("新增Collection")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject post(Collection collection) {
		log.info("新增Collection");
		if (collection.getId() != null) {
			throw new ControllerException("id必须为null");
		} else if (collection.getNovel_id() == null) {
			throw new ControllerException("novel_id不可为null");
		} else {
			collection.setUser_id(userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal())
					.getId());
			if (collectionService.selectByUser_idNovel_id(collection.getUser_id(), collection.getNovel_id()) != null) {
				throw new ControllerException("该用户已经收藏过该小说了,不可重复收藏");
			} else {
				return new ResponseObject("200", "操作成功", collectionService.insert(collection));
			}
		}
	}

	@GetMapping
	@ApiOperation("查询Collection")
	public ResponseObject get(Integer novel_id, Integer user_id) {
		log.info("查询Collection");
			throw new ControllerException("novel_id不可为null");
		}
	}

	@GetMapping("/{id:[0-9]+}")
	@ApiOperation("查询Volume")
	public ResponseObject getById(@PathVariable Integer id) {
		log.info("查询Volume");
		if (id != null) {
			return new ResponseObject("200", "操作成功", volumeService.selectById(id));
		} else {
			throw new ControllerException("id不可为null");
		}
	}

	@PatchMapping("/{id:[0-9]+}")
	@ApiOperation("修改Volume")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject patchById(@PathVariable Integer id,@RequestBody Volume volume) {
		log.info("修改Volume");
		if (id == null) {
			throw new ControllerException("id不可为null");
		} else {
			Volume volume2 = volumeService.selectById(id);
			if (volume2 == null) {
				throw new ControllerException("不存在为该id的volume");
			} else if (volume.getName() != null && !volume.getName().equals("")) {
				volume2.setName(volume.getName());
				if (volumeService.selectByNovel_idName(volume2.getNovel_id(), volume2.getName()) != null) {
					throw new ControllerException("name不可重复");
				}
			} else if (volume.getSummary() != null && !volume.getSummary().equals("")) {
				volume2.setSummary(volume.getSummary());
			} else {
				throw new ControllerException("请传入需要修改的数据,如name,summary");
			}
			User user = userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal());
			if (user.getId() == novelService.selectById(volume2.getNovel_id()).getUser_id()
					|| user.getRole().equals("ADMIN")) {
				return new ResponseObject("200", "操作成功", volumeService.update(volume2));
			} else {
				throw new ControllerException("该用户无权限修改该volume");
			}

	@DeleteMapping
	@ApiOperation("删除Collection")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject delete(Integer novel_id, Integer user_id) {
		log.info("删除Collection");
		if (novel_id == null) {
			throw new ControllerException("novel_id不可为null");
		} else if (user_id == null) {
			throw new ControllerException("user_id不可为null");
		} else {
			Collection collection = collectionService.selectByUser_idNovel_id(user_id, novel_id);
			if (collection == null) {
				throw new ControllerException("该用户还未收藏该小说,无法取消收藏");
			} else {
				User user = userService.selectByUsername(
						(String) SecurityContextHolder.getContext().getAuthentication().getPrincipal());
				if (user.getId() == user_id || user.getRole().equals("ADMIN")) {
					collectionService.deleteById(collection.getId());
					return new ResponseObject("200", "操作成功", null);
				} else {
					throw new ControllerException("该用户无权限取消收藏");
				}
			}
		}
	}

	@GetMapping("/count")
	@ApiOperation("查询Collection")
	public ResponseObject getCount(Integer novel_id) {
		log.info("查询Collection");
		if (novel_id == null) {
			throw new ControllerException("novel_id不可为null");
		} else {
			return new ResponseObject("200", "操作成功", collectionService.selectByNovel_id(novel_id).size());
		}
	}
}
package com.homework.web.controller;

		} else if (rank != null && parent_id == null) {
			return new ResponseObject("200", "操作成功", categoryService.selectByRank(rank));
		} else if (rank == null && parent_id != null) {
			return new ResponseObject("200", "操作成功", categoryService.selectByParent_id(parent_id));
		} else {
			throw new ControllerException("rank或者parent_id至少要有一个不为null");
		}
	}

	@GetMapping("/{id:[0-9]+}")
	@ApiOperation("查询Category")
	public ResponseObject getById(@PathVariable Integer id) {
		log.info("查询Category");
		if (id != null) {
			return new ResponseObject("200", "操作成功", categoryService.selectById(id));
		} else {
			throw new ControllerException("id不可为null");
		}
	}

}
package com.homework.web.controller;

			} else {
				throw new ControllerException("请传入需要修改的数据,如name,summary");
			}
			User user = userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal());
			if (user.getId() == novelService.selectById(volume2.getNovel_id()).getUser_id()
					|| user.getRole().equals("ADMIN")) {
				return new ResponseObject("200", "操作成功", volumeService.update(volume2));
			} else {
				throw new ControllerException("该用户无权限修改该volume");
			}
		}
	}

}
package com.homework.web.controller;

@RestController
@RequestMapping("/api/collection")
@Api(tags = "共同前缀:/api/collection", description = "CollectionController")
@Slf4j
public class CollectionController {
	@Autowired
	CollectionService collectionService;
	@Autowired
	UserService userService;
	@Autowired
			throw new ControllerException("id必须为null");
		} else if (collection.getNovel_id() == null) {
			throw new ControllerException("novel_id不可为null");
		} else {
			collection.setUser_id(userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal())
					.getId());
			if (collectionService.selectByUser_idNovel_id(collection.getUser_id(), collection.getNovel_id()) != null) {
				throw new ControllerException("该用户已经收藏过该小说了,不可重复收藏");
			} else {
				return new ResponseObject("200", "操作成功", collectionService.insert(collection));
			}
		}
	}

	@GetMapping
	@ApiOperation("查询Collection")
	public ResponseObject get(Integer novel_id, Integer user_id) {
		log.info("查询Collection");
		if (novel_id != null && user_id != null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByUser_idNovel_id(user_id, novel_id));
		} else if (novel_id != null && user_id == null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByNovel_id(novel_id));
		} else if (novel_id == null && user_id != null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByUser_id(user_id));
		} else {
			throw new ControllerException("novel_id与user_id不可同时为null");
		}
	}

	@GetMapping("/novel")
	@ApiOperation("查询Collection的Novel")
	public ResponseObject getNovel(Integer user_id) {
		log.info("查询Collection的Novel");
		if (user_id == null) {
			throw new ControllerException("user_id不可为null");
		} else {
			return new ResponseObject("200", "操作成功", novelService.selectByUser_idOfCollection(user_id));
		}
	}

	@DeleteMapping
	@ApiOperation("删除Collection")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject delete(Integer novel_id, Integer user_id) {
		log.info("删除Collection");
		if (novel_id == null) {
			throw new ControllerException("novel_id不可为null");
		} else if (user_id == null) {

@RestController
@RequestMapping("/api")
@Api(tags = "共同前缀:/api", description = "AppController")
@Slf4j
public class AppController {
	@Autowired
	UserService userService;
	@Autowired
	NovelService novelService;

	@GetMapping("/me")
	@ApiOperation("查询Me")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject getMe() {
		log.info("查询Me");
		return new ResponseObject("200", "操作成功", userService
				.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal()));
	}

}
package com.homework.exception.handler;

				if (volumeService.selectByNovel_idName(volume2.getNovel_id(), volume2.getName()) != null) {
					throw new ControllerException("name不可重复");
				}
			} else if (volume.getSummary() != null && !volume.getSummary().equals("")) {
				volume2.setSummary(volume.getSummary());
			} else {
				throw new ControllerException("请传入需要修改的数据,如name,summary");
			}
			User user = userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal());
			if (user.getId() == novelService.selectById(volume2.getNovel_id()).getUser_id()
					|| user.getRole().equals("ADMIN")) {
				return new ResponseObject("200", "操作成功", volumeService.update(volume2));
			} else {
				throw new ControllerException("该用户无权限修改该volume");
			}
		}
	}

}
package com.homework.web.controller;

@RestController
@RequestMapping("/api/collection")
@Api(tags = "共同前缀:/api/collection", description = "CollectionController")
		} else {
			return new ResponseObject("200", "操作成功", commentService.selectByNovel_id(novel_id).size());
		}
	}
}
package com.homework.exception.handler;

//无权限异常处理器
@Component
@Slf4j
public class MyAccessDeniedHandler implements AccessDeniedHandler {

	@Autowired
	ObjectMapper objectMapper;

	@Override
	public void handle(HttpServletRequest request, HttpServletResponse response,
			AccessDeniedException accessDeniedException) throws IOException, ServletException {
		log.info("已认证无权限,返回JSON格式的异常信息");
		response.setStatus(403);
		response.setCharacterEncoding("utf-8");
		response.setContentType("application/json; charset=utf-8");
		PrintWriter writer = response.getWriter();
		writer.write(objectMapper.writeValueAsString(new ResponseObject("403", "已认证无权限", null)));
		writer.flush();
		writer.close();
	}

	public ResponseObject getCount(Integer novel_id) {
		log.info("查询Collection");
		if (novel_id == null) {
			throw new ControllerException("novel_id不可为null");
		} else {
			return new ResponseObject("200", "操作成功", collectionService.selectByNovel_id(novel_id).size());
		}
	}
}
package com.homework.web.controller;

@RestController
@RequestMapping("/api/recommend")
@Api(tags = "共同前缀:/api/recommend", description = "RecommendController")
@Slf4j
public class RecommendController {

	@Autowired
	RecommendService recommendService;
	@Autowired

@RestController
@RequestMapping("/api/category")
@Api(tags = "共同前缀:/api/category", description = "CategoryController")
@Slf4j
public class CategoryController {

	@Autowired
	CategoryService categoryService;

	@PostMapping
	@ApiOperation("新增Category")
	@PreAuthorize("hasAnyAuthority('ROLE_ADMIN')")
	public ResponseObject post(@RequestBody Category category) {
		log.info("新增Category");
		if (category.getId() != null) {
			throw new ControllerException("id必须为null");
		} else if (category.getRank() == null) {
			throw new ControllerException("rank不可为null");
		} else if (category.getName() == null || category.getName().equals("")) {
			throw new ControllerException("name不可为null,也不可为空字符串");
		} else if (category.getParent_id() == null) {
			throw new ControllerException("parent_id不可为null");
		} else if (categoryService.selectByParent_idName(category.getParent_id(), category.getName()) != null) {
			throw new ControllerException("name不可重复");
		} else {
			return new ResponseObject("200", "操作成功", categoryService.insert(category));
		}
	}

	@PutMapping("/{id:[0-9]+}")
		log.info("查询User");
		return new ResponseObject("200", "操作成功", userService.selectById(id));
	}

	@PutMapping
	@ApiOperation("修改User")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject put(User user) {
		log.info("修改User");
		if (user.getNickname() == null || user.getNickname().equals("")) {
			throw new ControllerException("nickname不可为null,也不可为空字符串");
		} else if (user.getProfile() == null || user.getProfile().equals("")) {
			throw new ControllerException("profile不可为null,也不可为空字符串");
		} else if (user.getPhone() == null || user.getPhone().equals("")) {
			throw new ControllerException("phone不可为null,也不可为空字符串");
		} else if (user.getEmail() == null || user.getEmail().equals("")) {
			throw new ControllerException("email不可为null,也不可为空字符串");
		} else {
			User user2 = userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal());
			user2.setNickname(user.getNickname());
			user2.setProfile(user.getProfile());
			user2.setPhone(user.getPhone());
			user2.setEmail(user.getEmail());
			return new ResponseObject("200", "操作成功", userService.update(user2));
		}
	}

}
package com.homework.web.controller;

@RestController
@Slf4j
public class CollectionController {
	@Autowired
	CollectionService collectionService;
	@Autowired
	UserService userService;
	@Autowired
	NovelService novelService;

	@PostMapping
	@ApiOperation("新增Collection")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject post(Collection collection) {
		log.info("新增Collection");
		if (collection.getId() != null) {
			throw new ControllerException("id必须为null");
		} else if (collection.getNovel_id() == null) {
			throw new ControllerException("novel_id不可为null");
		} else {
			collection.setUser_id(userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal())
					.getId());
			if (collectionService.selectByUser_idNovel_id(collection.getUser_id(), collection.getNovel_id()) != null) {
				throw new ControllerException("该用户已经收藏过该小说了,不可重复收藏");
			} else {
				return new ResponseObject("200", "操作成功", collectionService.insert(collection));
			}
		}
	}

	@GetMapping
	@ApiOperation("查询Collection")
	public ResponseObject get(Integer novel_id, Integer user_id) {
		log.info("查询Collection");
		if (novel_id != null && user_id != null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByUser_idNovel_id(user_id, novel_id));
		} else if (novel_id != null && user_id == null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByNovel_id(novel_id));
		} else if (novel_id == null && user_id != null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByUser_id(user_id));
		} else {
			throw new ControllerException("novel_id与user_id不可同时为null");
		}

//无权限异常处理器
@Component
@Slf4j
public class MyAccessDeniedHandler implements AccessDeniedHandler {

	@Autowired
	ObjectMapper objectMapper;

	@Override
	public void handle(HttpServletRequest request, HttpServletResponse response,
			AccessDeniedException accessDeniedException) throws IOException, ServletException {
		log.info("已认证无权限,返回JSON格式的异常信息");
		response.setStatus(403);
		response.setCharacterEncoding("utf-8");
		response.setContentType("application/json; charset=utf-8");
		PrintWriter writer = response.getWriter();
		writer.write(objectMapper.writeValueAsString(new ResponseObject("403", "已认证无权限", null)));
		writer.flush();
		writer.close();
	}

}
package com.homework.exception.handler;

		} else {
			follow.setFollower_id(userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal())
					.getId());
			if (follow.getFollower_id() == follow.getFollowing_id()) {
				throw new ControllerException("不可自己关注自己");
			} else if (followService.selectByFollower_idFollowing_id(follow.getFollower_id(),
					follow.getFollowing_id()) != null) {
				throw new ControllerException("该用户已经关注过了,不可重复关注");
			} else {
				return new ResponseObject("200", "操作成功", followService.insert(follow));
			}
		}
	}

	@GetMapping
	@ApiOperation("查询Follow")
	public ResponseObject get(Integer follower_id, Integer following_id) {
		log.info("查询Follow");
		if (follower_id != null && following_id != null) {
			return new ResponseObject("200", "操作成功",
					followService.selectByFollower_idFollowing_id(follower_id, following_id));
		} else if (follower_id != null && following_id == null) {
			return new ResponseObject("200", "操作成功", userService.selectByFollower_id(follower_id));
		} else if (follower_id == null && following_id != null) {
			return new ResponseObject("200", "操作成功", userService.selectByFollowing_id(following_id));
		} else {
			throw new ControllerException("follower_id与following_id不可同时为null");
		}
	}

	@DeleteMapping
	@ApiOperation("删除Follow")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject delete(Integer following_id) {
		log.info("删除Follow");
		if (following_id == null) {
			throw new ControllerException("following_id不可为null");
		} else {
			Integer follower_id = userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal())
					.getId();
			Follow follow = followService.selectByFollower_idFollowing_id(follower_id, following_id);
			if (follow == null) {
				throw new ControllerException("该用户未关注,无法取消关注");
			} else {
				followService.deleteById(follow.getId());
				return new ResponseObject("200", "操作成功", null);
	NovelService novelService;

	@PostMapping
	@ApiOperation("新增Collection")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject post(Collection collection) {
		log.info("新增Collection");
		if (collection.getId() != null) {
			throw new ControllerException("id必须为null");
		} else if (collection.getNovel_id() == null) {
			throw new ControllerException("novel_id不可为null");
		} else {
			collection.setUser_id(userService
					.selectByUsername((String) SecurityContextHolder.getContext().getAuthentication().getPrincipal())
					.getId());
			if (collectionService.selectByUser_idNovel_id(collection.getUser_id(), collection.getNovel_id()) != null) {
				throw new ControllerException("该用户已经收藏过该小说了,不可重复收藏");
			} else {
				return new ResponseObject("200", "操作成功", collectionService.insert(collection));
			}
		}
	}

	@GetMapping
	@ApiOperation("查询Collection")
	public ResponseObject get(Integer novel_id, Integer user_id) {
		log.info("查询Collection");
		if (novel_id != null && user_id != null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByUser_idNovel_id(user_id, novel_id));
		} else if (novel_id != null && user_id == null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByNovel_id(novel_id));
		} else if (novel_id == null && user_id != null) {
			return new ResponseObject("200", "操作成功", collectionService.selectByUser_id(user_id));
		} else {
			throw new ControllerException("novel_id与user_id不可同时为null");
		}
	}

	@GetMapping("/novel")
	@ApiOperation("查询Collection的Novel")
	public ResponseObject getNovel(Integer user_id) {
		log.info("查询Collection的Novel");
		if (user_id == null) {
			throw new ControllerException("user_id不可为null");

//无权限异常处理器
@Component
@Slf4j
public class MyAccessDeniedHandler implements AccessDeniedHandler {

	@Autowired
	ObjectMapper objectMapper;

	@Override
	public void handle(HttpServletRequest request, HttpServletResponse response,
			AccessDeniedException accessDeniedException) throws IOException, ServletException {
		log.info("已认证无权限,返回JSON格式的异常信息");
		response.setStatus(403);
		response.setCharacterEncoding("utf-8");
		response.setContentType("application/json; charset=utf-8");
		PrintWriter writer = response.getWriter();
		writer.write(objectMapper.writeValueAsString(new ResponseObject("403", "已认证无权限", null)));
		writer.flush();
		writer.close();
	}

}
package com.homework.exception.handler;

				fileWriter.write(data.get("chapterContent"));
				fileWriter.flush();
				fileWriter.close();
				return new ResponseObject("200", "操作成功", data.get("chapterContent"));
			} catch (Exception e) {
				throw new ControllerException("找不到该章节的内容");
			}
		}
	}

}
package com.homework.web.controller;

@RestController
@RequestMapping("/api/volume")
@Api(tags = "共同前缀:/api/volume", description = "VolumeController")
@Slf4j
public class VolumeController {
		} else if (data.get("chapterContent") == null || data.get("chapterContent").equals("")) {
			throw new ControllerException("chapterContent不可为null,也不可为空字符串");
		} else {
			try {
				// 文件夹
				File directory = new File(ResourceUtils.getURL("src").getPath() + "main/resources/static/txt/");
				if (!directory.exists()) {
					directory.mkdirs();
				}
				// 文件
				String content = new Date().getTime() + ".txt";
				File file2 = new File(directory, content);
				if (!file2.exists()) {
					file2.createNewFile();
				}
				// 往文件内写内容
				FileWriter fileWriter = new FileWriter(file2);
				fileWriter.write(data.get("chapterContent"));
				fileWriter.flush();
				fileWriter.close();
				Chapter chapter = new Chapter();
				chapter.setTitle(data.get("title"));
				chapter.setVolume_id(Integer.parseInt(data.get("volume_id")));
				chapter.setContent(content);
				return new ResponseObject("200", "操作成功", chapterService.insert(chapter));
			} catch (Exception e) {
				throw new ControllerException("操作失败");
			}
		}
	}

	@GetMapping
	@ApiOperation("查询Chapter")
	public ResponseObject get(Integer volume_id) {
		log.info("查询Chapter");
		if (volume_id == null) {
			throw new ControllerException("volume_id不可为null");
		} else {
			return new ResponseObject("200", "操作成功", chapterService.selectByVolume_id(volume_id));
		}

@RestController
@RequestMapping("/api/chapter")
@Api(tags = "共同前缀:/api/chapter", description = "ChapterController")
@Slf4j
public class ChapterController {

	@Autowired
	ChapterService chapterService;

	@PostMapping
	@ApiOperation("新增Chapter")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject post(@RequestBody HashMap<String, String> data) {
		log.info("新增Chapter");
		if (data.get("title") == null || data.get("title").equals("")) {
			throw new ControllerException("volume_id不可为null");
		} else if (data.get("volume_id") == null || data.get("volume_id").equals("")) {
			throw new ControllerException("title不可为null,也不可为空字符串");
		} else if (data.get("chapterContent") == null || data.get("chapterContent").equals("")) {
			throw new ControllerException("chapterContent不可为null,也不可为空字符串");
		} else {
			try {
				// 文件夹
		} else if (category.getName() == null || category.getName().equals("")) {
			throw new ControllerException("name不可为null,也不可为空字符串");
		} else if (category.getParent_id() == null) {
			throw new ControllerException("parent_id不可为null");
		} else if (categoryService.selectByParent_idName(category.getParent_id(), category.getName()) != null) {
			throw new ControllerException("name不可重复");
		} else {
			return new ResponseObject("200", "操作成功", categoryService.insert(category));
		}
	}

	@PutMapping("/{id:[0-9]+}")
	@ApiOperation("修改Category")
	@PreAuthorize("hasAnyAuthority('ROLE_ADMIN')")
	public ResponseObject putById(@PathVariable Integer id, @RequestBody HashMap<String, String> data) {
		log.info("修改Category");
		Category category = categoryService.selectById(id);
		if (category == null) {
			throw new ControllerException("使用该id的Category不存在");
		} else if (categoryService.selectByParent_idName(category.getParent_id(), data.get("name")) != null) {
			throw new ControllerException("同一个分类下的name不可重复");
		} else {
			category.setName(data.get("name"));
			return new ResponseObject("200", "操作成功", categoryService.update(category));
		}
	}

	@GetMapping
	@ApiOperation("查询Category")
	public ResponseObject getByParent_id(Integer rank, Integer parent_id) {
		log.info("查询Category");
		if (rank != null && parent_id != null) {
			return new ResponseObject("200", "操作成功", categoryService.selectByRankParent_id(rank, parent_id));
		} else if (rank != null && parent_id == null) {
			return new ResponseObject("200", "操作成功", categoryService.selectByRank(rank));
		} else if (rank == null && parent_id != null) {
			return new ResponseObject("200", "操作成功", categoryService.selectByParent_id(parent_id));
		} else {
			throw new ControllerException("rank或者parent_id至少要有一个不为null");
		}
	}

			throw new ControllerException("novel_id不可为null");
		} else {
			return new ResponseObject("200", "操作成功", collectionService.selectByNovel_id(novel_id).size());
		}
	}
}
package com.homework.web.controller;

@RestController
@RequestMapping("/api/recommend")
@Api(tags = "共同前缀:/api/recommend", description = "RecommendController")
@Slf4j
public class RecommendController {

	@Autowired
	RecommendService recommendService;
	@Autowired
	UserService userService;
			throw new ControllerException("category_id或user_id或searchName不可为null");
		}
	}

	@GetMapping("/{id:[0-9]+}")
	@ApiOperation("查询Novel")
	public ResponseObject getById(@PathVariable Integer id) {
		log.info("查询Novel");
		if (id != null) {
			return new ResponseObject("200", "操作成功", novelService.selectById(id));
		} else {
			throw new ControllerException("id不可为null");
		}
	}

	@PatchMapping("/{id:[0-9]+}")
	@ApiOperation("修改Novel")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject patchById(@PathVariable Integer id, @RequestBody Novel novel) {
		log.info("修改Novel");
		if (id == null) {
			throw new ControllerException("id不可为null");
		} else {
			Novel novel2 = novelService.selectById(id);
			if (novel2 == null) {
				throw new ControllerException("不存在为该id的novel");
			} else {
				User user = userService.selectByUsername(
						(String) SecurityContextHolder.getContext().getAuthentication().getPrincipal());
				if (user.getId() == novel2.getUser_id() || user.getRole().equals("ADMIN")) {
					if (novel.getName() != null && !novel.getName().equals("")) {
						novel2.setName(novel.getName());
					} else if (novel.getSummary() != null && !novel.getSummary().equals("")) {
						novel2.setSummary(novel.getSummary());
					} else if (novel.getCategory_id() != null) {
						novel2.setCategory_id(novel.getCategory_id());
					} else if (novel.getMultiplier() != null) {
						novel2.setMultiplier(novel.getMultiplier());
					} else if (novel.getAddend() != null) {
						novel2.setAddend(novel.getAddend());
					} else {
						throw new ControllerException("请传入需要修改的数据,如name,summary,category_id,multiplier,addend");
					}
					return new ResponseObject("200", "操作成功", novelService.update(novel2));
				} else {
					throw new ControllerException("该用户无权限修改该小说");
				}
			}
		}
				throw new ControllerException("根据novel_id查询出来的novel为null");
			} else {
				User user = userService.selectByUsername(
						(String) SecurityContextHolder.getContext().getAuthentication().getPrincipal());
				if (user.getId() == novel.getUser_id() || user.getRole().equals("ADMIN")) {
					novel.setImage(image);
					return new ResponseObject("200", "操作成功", novelService.update(novel));
				} else {
					throw new ControllerException("该用户无权限修改小说头像");
				}
			}
		}
	}

}
package com.homework.web.controller;

@RestController
@RequestMapping("/api/chapter")
@Api(tags = "共同前缀:/api/chapter", description = "ChapterController")
@Slf4j
public class ChapterController {

	@Autowired
	ChapterService chapterService;

	@PostMapping
			return new ResponseObject("200", "操作成功", recommendService.selectByNovel_id(novel_id).size());
		}
	}

	@GetMapping("/novel")
	@ApiOperation("查询Recommend的Novel")
	public ResponseObject getNovel(Integer user_id) {
		log.info("查询Recommend的Novel");
		if (user_id == null) {
			throw new ControllerException("user_id不可为null");
		} else {
			return new ResponseObject("200", "操作成功", novelService.selectByUser_idOfRecommend(user_id));
		}
	}

}
package com.homework.web.controller;

@RestController
@RequestMapping("/api/follow")
@Api(tags = "共同前缀:/api/follow", description = "FollowController")
@Slf4j
public class FollowController {
	@Autowired
	UserService userService;
	@Autowired
	FollowService followService;

	@PostMapping
	@ApiOperation("新增Follow")
	@PreAuthorize("isAuthenticated()")
	public ResponseObject post(@RequestBody Follow follow) {
		log.info("新增Follow");
	@PreAuthorize("hasAnyAuthority('ROLE_ADMIN')")
	public ResponseObject post(@RequestBody Category category) {
		log.info("新增Category");
		if (category.getId() != null) {
			throw new ControllerException("id必须为null");
		} else if (category.getRank() == null) {
			throw new ControllerException("rank不可为null");
		} else if (category.getName() == null || category.getName().equals("")) {
			throw new ControllerException("name不可为null,也不可为空字符串");
		} else if (category.getParent_id() == null) {
			throw new ControllerException("parent_id不可为null");
		} else if (categoryService.selectByParent_idName(category.getParent_id(), category.getName()) != null) {
			throw new ControllerException("name不可重复");
		} else {
			return new ResponseObject("200", "操作成功", categoryService.insert(category));
		}
	}

	@PutMapping("/{id:[0-9]+}")
	@ApiOperation("修改Category")
	@PreAuthorize("hasAnyAuthority('ROLE_ADMIN')")
	public ResponseObject putById(@PathVariable Integer id, @RequestBody HashMap<String, String> data) {
		log.info("修改Category");
		Category category = categoryService.selectById(id);
		if (category == null) {
			throw new ControllerException("使用该id的Category不存在");
		} else if (categoryService.selectByParent_idName(category.getParent_id(), data.get("name")) != null) {
			throw new ControllerException("同一个分类下的name不可重复");
		} else {
			category.setName(data.get("name"));
			return new ResponseObject("200", "操作成功", categoryService.update(category));
		}
	}

	@GetMapping
	@ApiOperation("查询Category")
	public ResponseObject getByParent_id(Integer rank, Integer parent_id) {
		log.info("查询Category");
		if (rank != null && parent_id != null) {
			return new ResponseObject("200", "操作成功", categoryService.selectByRankParent_id(rank, parent_id));
		} else if (rank != null && parent_id == null) {
			return new ResponseObject("200", "操作成功", categoryService.selectByRank(rank));
		} else if (rank == null && parent_id != null) {

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值