feat: 增加首页小说推荐查询接口

This commit is contained in:
xiongxiaoyang 2022-05-13 08:51:36 +08:00
parent e1cdc613c2
commit cd8fcf9dbe
112 changed files with 213 additions and 1739 deletions

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.admin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 系统日志 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/sysLog")
public class SysLogController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.admin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 系统菜单 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/sysMenu")
public class SysMenuController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.admin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 角色 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/sysRole")
public class SysRoleController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.admin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 角色与菜单对应关系 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/sysRoleMenu")
public class SysRoleMenuController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.admin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 系统用户 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/sysUser")
public class SysUserController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.admin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户与角色对应关系 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/sysUserRole")
public class SysUserRoleController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.author;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 作家邀请码 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/authorCode")
public class AuthorCodeController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.author;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 稿费收入统计 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/authorIncome")
public class AuthorIncomeController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.author;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 稿费收入明细统计 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/authorIncomeDetail")
public class AuthorIncomeDetailController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.author;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 作者信息 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/authorInfo")
public class AuthorInfoController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 小说类别 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/bookCategory")
public class BookCategoryController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 小说章节 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/bookChapter")
public class BookChapterController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 小说评论 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/bookComment")
public class BookCommentController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 小说评论 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/bookCommentCopy1")
public class BookCommentCopy1Controller {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 小说评论回复 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/bookCommentReply")
public class BookCommentReplyController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 小说内容 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/bookContent")
public class BookContentController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 小说信息 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/bookInfo")
public class BookInfoController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 小说推荐 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/homeBook")
public class HomeBookController {
}

View File

@ -0,0 +1,34 @@
package io.github.xxyopen.novel.controller.front;
import io.github.xxyopen.novel.core.common.constant.ApiRouterConsts;
import io.github.xxyopen.novel.core.common.resp.RestResp;
import io.github.xxyopen.novel.dto.resp.HomeBookRespDto;
import io.github.xxyopen.novel.service.HomeService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 首页模块 API 接口
*
* @author xiongxiaoyang
* @date 2022/5/12
*/
@RestController
@RequestMapping(ApiRouterConsts.API_FRONT_HOME_URL_PREFIX)
@RequiredArgsConstructor
public class HomeController {
private final HomeService homeService;
/**
* 首页小说推荐查询接口
* */
@GetMapping("books")
public RestResp<List<HomeBookRespDto>> listHomeBooks(){
return homeService.listHomeBooks();
}
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 友情链接 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/homeFriendLink")
public class HomeFriendLinkController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 新闻类别 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/newsCategory")
public class NewsCategoryController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 新闻内容 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/newsContent")
public class NewsContentController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 新闻信息 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/newsInfo")
public class NewsInfoController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 支付宝支付 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/payAlipay")
public class PayAlipayController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 微信支付 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/payWechat")
public class PayWechatController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户书架 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/userBookshelf")
public class UserBookshelfController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户评论 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/userComment")
public class UserCommentController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户评论回复 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/userCommentReply")
public class UserCommentReplyController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户消费记录 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/userConsumeLog")
public class UserConsumeLogController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户反馈 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/userFeedback")
public class UserFeedbackController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户信息 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/userInfo")
public class UserInfoController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户充值记录 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/userPayLog")
public class UserPayLogController {
}

View File

@ -1,18 +0,0 @@
package io.github.xxyopen.novel.controller.front;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户阅读历史 控制器
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
@RestController
@RequestMapping("/userReadHistory")
public class UserReadHistoryController {
}

View File

@ -12,7 +12,7 @@ import java.time.LocalDateTime;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
@TableName("book_category")
public class BookCategory implements Serializable {

View File

@ -12,7 +12,7 @@ import java.time.LocalDateTime;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
@TableName("home_book")
public class HomeBook implements Serializable {

View File

@ -12,7 +12,7 @@ import java.time.LocalDateTime;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
@TableName("news_category")
public class NewsCategory implements Serializable {

View File

@ -12,7 +12,7 @@ import java.time.LocalDateTime;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
@TableName("news_info")
public class NewsInfo implements Serializable {

View File

@ -12,7 +12,7 @@ import java.time.LocalDateTime;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
@TableName("sys_user")
public class SysUser implements Serializable {

View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
public interface BookCategoryMapper extends BaseMapper<BookCategory> {

View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
public interface HomeBookMapper extends BaseMapper<HomeBook> {

View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
public interface NewsCategoryMapper extends BaseMapper<NewsCategory> {

View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
public interface NewsInfoMapper extends BaseMapper<NewsInfo> {

View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
* @date 2022/05/12
*/
public interface SysUserMapper extends BaseMapper<SysUser> {

View File

@ -0,0 +1,39 @@
package io.github.xxyopen.novel.dto.resp;
import lombok.Data;
/**
* 首页小说推荐 响应DTO
*
* @author xiongxiaoyang
* @date 2022/5/13
*/
@Data
public class HomeBookRespDto {
/**
* 推荐小说ID
*/
private Long bookId;
/**
* 小说封面地址
*/
private String picUrl;
/**
* 小说名
*/
private String bookName;
/**
* 作家名
*/
private String authorName;
/**
* 书籍描述
*/
private String bookDesc;
}

View File

@ -0,0 +1,78 @@
package io.github.xxyopen.novel.manager;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.github.xxyopen.novel.core.constant.CacheConsts;
import io.github.xxyopen.novel.dao.entity.BookInfo;
import io.github.xxyopen.novel.dao.entity.HomeBook;
import io.github.xxyopen.novel.dao.mapper.BookInfoMapper;
import io.github.xxyopen.novel.dao.mapper.HomeBookMapper;
import io.github.xxyopen.novel.dto.resp.HomeBookRespDto;
import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 首页推荐小说 缓存管理类
*
* @author xiongxiaoyang
* @date 2022/5/12
*/
@Component
@RequiredArgsConstructor
public class HomeBookCacheManager {
private final HomeBookMapper homeBookMapper;
private final BookInfoMapper bookInfoMapper;
/**
* 查询首页小说推荐并放入缓存中
*/
@Cacheable(cacheManager = CacheConsts.CAFFEINE_CACHE_MANAGER
, value = CacheConsts.HOME_BOOK_CACHE_NAME)
public List<HomeBookRespDto> listHomeBooks() {
// 从首页小说推荐表中查询出需要推荐的小说
List<HomeBook> homeBooks = homeBookMapper.selectList(null);
// 获取推荐小说ID列表
if (!CollectionUtils.isEmpty(homeBooks)) {
List<Long> bookIds = homeBooks.stream()
.map(HomeBook::getBookId)
.toList();
// 根据小说ID列表查询相关的小说信息列表
QueryWrapper<BookInfo> bookInfoQueryWrapper = new QueryWrapper<>();
bookInfoQueryWrapper.in("id", bookIds);
List<BookInfo> bookInfos = bookInfoMapper.selectList(bookInfoQueryWrapper);
// 组装 HomeBookRespDto 列表数据并返回
if(!CollectionUtils.isEmpty(bookInfos)){
Map<Long, BookInfo> bookInfoMap = bookInfos.stream()
.collect(Collectors.toMap(BookInfo::getId, Function.identity()));
return homeBooks.stream().map(v -> {
BookInfo bookInfo = bookInfoMap.get(v.getBookId());
HomeBookRespDto bookRespDto = new HomeBookRespDto();
bookRespDto.setBookId(v.getBookId());
bookRespDto.setBookName(bookInfo.getBookName());
bookRespDto.setPicUrl(bookInfo.getPicUrl());
bookRespDto.setAuthorName(bookInfo.getAuthorName());
bookRespDto.setBookDesc(bookInfo.getBookDesc());
return bookRespDto;
}).toList();
}
}
return Collections.emptyList();
}
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.AuthorCode;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 作家邀请码 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface AuthorCodeService extends IService<AuthorCode> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.AuthorIncomeDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 稿费收入明细统计 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface AuthorIncomeDetailService extends IService<AuthorIncomeDetail> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.AuthorIncome;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 稿费收入统计 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface AuthorIncomeService extends IService<AuthorIncome> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.AuthorInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 作者信息 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface AuthorInfoService extends IService<AuthorInfo> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.BookCategory;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 小说类别 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface BookCategoryService extends IService<BookCategory> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.BookChapter;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 小说章节 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface BookChapterService extends IService<BookChapter> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.BookCommentCopy1;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 小说评论 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface BookCommentCopy1Service extends IService<BookCommentCopy1> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.BookCommentReply;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 小说评论回复 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface BookCommentReplyService extends IService<BookCommentReply> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.BookComment;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 小说评论 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface BookCommentService extends IService<BookComment> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.BookContent;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 小说内容 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface BookContentService extends IService<BookContent> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.BookInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 小说信息 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface BookInfoService extends IService<BookInfo> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.HomeBook;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 小说推荐 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface HomeBookService extends IService<HomeBook> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.HomeFriendLink;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 友情链接 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface HomeFriendLinkService extends IService<HomeFriendLink> {
}

View File

@ -0,0 +1,22 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.core.common.resp.RestResp;
import io.github.xxyopen.novel.dto.resp.HomeBookRespDto;
import java.util.List;
/**
* 首页模块 服务类
*
* @author xiongxiaoyang
* @date 2022/5/13
*/
public interface HomeService {
/**
* 查询首页小说推荐列表
*
* @return 首页小说推荐列表的 rest 响应结果
* */
RestResp<List<HomeBookRespDto>> listHomeBooks();
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.NewsCategory;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 新闻类别 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface NewsCategoryService extends IService<NewsCategory> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.NewsContent;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 新闻内容 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface NewsContentService extends IService<NewsContent> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.NewsInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 新闻信息 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface NewsInfoService extends IService<NewsInfo> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.PayAlipay;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 支付宝支付 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface PayAlipayService extends IService<PayAlipay> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.PayWechat;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 微信支付 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface PayWechatService extends IService<PayWechat> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.SysLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 系统日志 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface SysLogService extends IService<SysLog> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 系统菜单 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface SysMenuService extends IService<SysMenu> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.SysRoleMenu;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 角色与菜单对应关系 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface SysRoleMenuService extends IService<SysRoleMenu> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 角色 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface SysRoleService extends IService<SysRole> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.SysUserRole;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户与角色对应关系 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface SysUserRoleService extends IService<SysUserRole> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 系统用户 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface SysUserService extends IService<SysUser> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.UserBookshelf;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户书架 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface UserBookshelfService extends IService<UserBookshelf> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.UserCommentReply;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户评论回复 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface UserCommentReplyService extends IService<UserCommentReply> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.UserComment;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户评论 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface UserCommentService extends IService<UserComment> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.UserConsumeLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户消费记录 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface UserConsumeLogService extends IService<UserConsumeLog> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.UserFeedback;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户反馈 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface UserFeedbackService extends IService<UserFeedback> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户信息 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface UserInfoService extends IService<UserInfo> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.UserPayLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户充值记录 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface UserPayLogService extends IService<UserPayLog> {
}

View File

@ -1,16 +0,0 @@
package io.github.xxyopen.novel.service;
import io.github.xxyopen.novel.dao.entity.UserReadHistory;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户阅读历史 服务类
* </p>
*
* @author xiongxiaoyang
* @date 2022/05/11
*/
public interface UserReadHistoryService extends IService<UserReadHistory> {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.AuthorCode;
import io.github.xxyopen.novel.dao.mapper.AuthorCodeMapper;
import io.github.xxyopen.novel.service.AuthorCodeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 作家邀请码 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class AuthorCodeServiceImpl extends ServiceImpl<AuthorCodeMapper, AuthorCode> implements AuthorCodeService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.AuthorIncomeDetail;
import io.github.xxyopen.novel.dao.mapper.AuthorIncomeDetailMapper;
import io.github.xxyopen.novel.service.AuthorIncomeDetailService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 稿费收入明细统计 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class AuthorIncomeDetailServiceImpl extends ServiceImpl<AuthorIncomeDetailMapper, AuthorIncomeDetail> implements AuthorIncomeDetailService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.AuthorIncome;
import io.github.xxyopen.novel.dao.mapper.AuthorIncomeMapper;
import io.github.xxyopen.novel.service.AuthorIncomeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 稿费收入统计 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class AuthorIncomeServiceImpl extends ServiceImpl<AuthorIncomeMapper, AuthorIncome> implements AuthorIncomeService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.AuthorInfo;
import io.github.xxyopen.novel.dao.mapper.AuthorInfoMapper;
import io.github.xxyopen.novel.service.AuthorInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 作者信息 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class AuthorInfoServiceImpl extends ServiceImpl<AuthorInfoMapper, AuthorInfo> implements AuthorInfoService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.BookCategory;
import io.github.xxyopen.novel.dao.mapper.BookCategoryMapper;
import io.github.xxyopen.novel.service.BookCategoryService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 小说类别 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class BookCategoryServiceImpl extends ServiceImpl<BookCategoryMapper, BookCategory> implements BookCategoryService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.BookChapter;
import io.github.xxyopen.novel.dao.mapper.BookChapterMapper;
import io.github.xxyopen.novel.service.BookChapterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 小说章节 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class BookChapterServiceImpl extends ServiceImpl<BookChapterMapper, BookChapter> implements BookChapterService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.BookCommentCopy1;
import io.github.xxyopen.novel.dao.mapper.BookCommentCopy1Mapper;
import io.github.xxyopen.novel.service.BookCommentCopy1Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 小说评论 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class BookCommentCopy1ServiceImpl extends ServiceImpl<BookCommentCopy1Mapper, BookCommentCopy1> implements BookCommentCopy1Service {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.BookCommentReply;
import io.github.xxyopen.novel.dao.mapper.BookCommentReplyMapper;
import io.github.xxyopen.novel.service.BookCommentReplyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 小说评论回复 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class BookCommentReplyServiceImpl extends ServiceImpl<BookCommentReplyMapper, BookCommentReply> implements BookCommentReplyService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.BookComment;
import io.github.xxyopen.novel.dao.mapper.BookCommentMapper;
import io.github.xxyopen.novel.service.BookCommentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 小说评论 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class BookCommentServiceImpl extends ServiceImpl<BookCommentMapper, BookComment> implements BookCommentService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.BookContent;
import io.github.xxyopen.novel.dao.mapper.BookContentMapper;
import io.github.xxyopen.novel.service.BookContentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 小说内容 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class BookContentServiceImpl extends ServiceImpl<BookContentMapper, BookContent> implements BookContentService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.BookInfo;
import io.github.xxyopen.novel.dao.mapper.BookInfoMapper;
import io.github.xxyopen.novel.service.BookInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 小说信息 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class BookInfoServiceImpl extends ServiceImpl<BookInfoMapper, BookInfo> implements BookInfoService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.HomeBook;
import io.github.xxyopen.novel.dao.mapper.HomeBookMapper;
import io.github.xxyopen.novel.service.HomeBookService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 小说推荐 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class HomeBookServiceImpl extends ServiceImpl<HomeBookMapper, HomeBook> implements HomeBookService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.HomeFriendLink;
import io.github.xxyopen.novel.dao.mapper.HomeFriendLinkMapper;
import io.github.xxyopen.novel.service.HomeFriendLinkService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 友情链接 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class HomeFriendLinkServiceImpl extends ServiceImpl<HomeFriendLinkMapper, HomeFriendLink> implements HomeFriendLinkService {
}

View File

@ -0,0 +1,28 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.core.common.resp.RestResp;
import io.github.xxyopen.novel.dto.resp.HomeBookRespDto;
import io.github.xxyopen.novel.manager.HomeBookCacheManager;
import io.github.xxyopen.novel.service.HomeService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 首页模块 服务实现类
*
* @author xiongxiaoyang
* @date 2022/5/13
*/
@Service
@RequiredArgsConstructor
public class HomeServiceImpl implements HomeService {
private final HomeBookCacheManager homeBookCacheManager;
@Override
public RestResp<List<HomeBookRespDto>> listHomeBooks() {
return RestResp.ok(homeBookCacheManager.listHomeBooks());
}
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.NewsCategory;
import io.github.xxyopen.novel.dao.mapper.NewsCategoryMapper;
import io.github.xxyopen.novel.service.NewsCategoryService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 新闻类别 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class NewsCategoryServiceImpl extends ServiceImpl<NewsCategoryMapper, NewsCategory> implements NewsCategoryService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.NewsContent;
import io.github.xxyopen.novel.dao.mapper.NewsContentMapper;
import io.github.xxyopen.novel.service.NewsContentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 新闻内容 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class NewsContentServiceImpl extends ServiceImpl<NewsContentMapper, NewsContent> implements NewsContentService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.NewsInfo;
import io.github.xxyopen.novel.dao.mapper.NewsInfoMapper;
import io.github.xxyopen.novel.service.NewsInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 新闻信息 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class NewsInfoServiceImpl extends ServiceImpl<NewsInfoMapper, NewsInfo> implements NewsInfoService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.PayAlipay;
import io.github.xxyopen.novel.dao.mapper.PayAlipayMapper;
import io.github.xxyopen.novel.service.PayAlipayService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 支付宝支付 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class PayAlipayServiceImpl extends ServiceImpl<PayAlipayMapper, PayAlipay> implements PayAlipayService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.PayWechat;
import io.github.xxyopen.novel.dao.mapper.PayWechatMapper;
import io.github.xxyopen.novel.service.PayWechatService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 微信支付 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class PayWechatServiceImpl extends ServiceImpl<PayWechatMapper, PayWechat> implements PayWechatService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.SysLog;
import io.github.xxyopen.novel.dao.mapper.SysLogMapper;
import io.github.xxyopen.novel.service.SysLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 系统日志 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> implements SysLogService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.SysMenu;
import io.github.xxyopen.novel.dao.mapper.SysMenuMapper;
import io.github.xxyopen.novel.service.SysMenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 系统菜单 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
}

View File

@ -1,20 +0,0 @@
package io.github.xxyopen.novel.service.impl;
import io.github.xxyopen.novel.dao.entity.SysRoleMenu;
import io.github.xxyopen.novel.dao.mapper.SysRoleMenuMapper;
import io.github.xxyopen.novel.service.SysRoleMenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 角色与菜单对应关系 服务实现类
* </p>
*
* @author xiongxiaoyang
* @since 2022/05/11
*/
@Service
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {
}

Some files were not shown because too many files have changed in this diff Show More