From 16e4c98a45f954714811c59f194520e9a1534a64 Mon Sep 17 00:00:00 2001 From: xiaoyang Date: Sat, 11 Dec 2021 18:30:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=BC=95=E5=85=A5xxy-common?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- novel-common/pom.xml | 18 ++ .../core/advice/CommonExceptionHandler.java | 46 ----- .../com/java2nb/novel/core/bean/PageBean.java | 53 ------ .../java2nb/novel/core/bean/ResultBean.java | 73 -------- .../novel/core/enums/ResponseStatus.java | 23 +-- .../core/exception/BusinessException.java | 22 --- .../java2nb/novel/core/utils/BeanUtil.java | 33 ---- .../java2nb/novel/core/utils/FileUtil.java | 1 + .../java2nb/novel/core/utils/IdWorker.java | 163 ------------------ .../com/java2nb/novel/core/utils/MD5Util.java | 61 ------- .../java2nb/novel/core/utils/SpringUtil.java | 52 ------ .../java2nb/novel/core/utils/ThreadUtil.java | 26 --- .../java2nb/novel/core/utils/UUIDUtil.java | 96 ----------- .../java2nb/novel/core/valid/AddGroup.java | 11 -- .../java2nb/novel/core/valid/UpdateGroup.java | 11 -- .../java/com/java2nb/novel/entity/User.java | 6 +- .../novel/controller/CrawlController.java | 29 ++-- .../java2nb/novel/core/crawl/CrawlParser.java | 3 +- .../core/schedule/CrawlThreadMonitor.java | 2 +- .../java2nb/novel/service/CrawlService.java | 2 +- .../novel/service/impl/CrawlServiceImpl.java | 19 +- .../novel/controller/AuthorController.java | 55 +++--- .../novel/controller/BookController.java | 68 ++++---- .../novel/controller/CacheController.java | 9 +- .../novel/controller/FileController.java | 14 +- .../controller/FriendLinkController.java | 8 +- .../novel/controller/NewsController.java | 16 +- .../novel/controller/UserController.java | 105 +++++------ .../novel/core/filter/NovelFilter.java | 2 + .../novel/core/utils/ThreadLocalUtil.java | 1 + .../java2nb/novel/page/PageController.java | 2 +- .../java2nb/novel/service/AuthorService.java | 2 +- .../java2nb/novel/service/BookService.java | 2 +- .../java2nb/novel/service/NewsService.java | 2 +- .../java2nb/novel/service/SearchService.java | 5 +- .../java2nb/novel/service/UserService.java | 2 +- .../novel/service/impl/AuthorServiceImpl.java | 9 +- .../novel/service/impl/BookServiceImpl.java | 20 +-- .../impl/DbBookContentServiceImpl.java | 4 - .../service/impl/FriendLinkServiceImpl.java | 2 +- .../novel/service/impl/NewsServiceImpl.java | 7 +- .../novel/service/impl/SearchServiceImpl.java | 11 +- .../novel/service/impl/UserServiceImpl.java | 19 +- .../src/main/resources/application.yml | 2 +- pom.xml | 34 ++-- 45 files changed, 252 insertions(+), 899 deletions(-) delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/advice/CommonExceptionHandler.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/bean/PageBean.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/bean/ResultBean.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/exception/BusinessException.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/utils/BeanUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/utils/IdWorker.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/utils/MD5Util.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/utils/SpringUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/utils/ThreadUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/utils/UUIDUtil.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/valid/AddGroup.java delete mode 100644 novel-common/src/main/java/com/java2nb/novel/core/valid/UpdateGroup.java diff --git a/novel-common/pom.xml b/novel-common/pom.xml index f1cb571..43ecae7 100644 --- a/novel-common/pom.xml +++ b/novel-common/pom.xml @@ -123,6 +123,24 @@ true + + io.github.xxyopen + xxy-model + 1.0.0-SNAPSHOT + + + + io.github.xxyopen + xxy-web + 1.0.0-SNAPSHOT + + + + io.github.xxyopen + xxy-util + 1.0.0-SNAPSHOT + + diff --git a/novel-common/src/main/java/com/java2nb/novel/core/advice/CommonExceptionHandler.java b/novel-common/src/main/java/com/java2nb/novel/core/advice/CommonExceptionHandler.java deleted file mode 100644 index 1296d0d..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/advice/CommonExceptionHandler.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.java2nb.novel.core.advice; - -import com.java2nb.novel.core.bean.ResultBean; -import com.java2nb.novel.core.enums.ResponseStatus; -import com.java2nb.novel.core.exception.BusinessException; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.BindException; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; - -/** - * 通用的异常处理器 - * - * @author 11797*/ -@Slf4j -@RestControllerAdvice(basePackages = "com.java2nb.novel.controller") -public class CommonExceptionHandler { - - /** - * 处理后台数据校验异常 - * */ - @ExceptionHandler(BindException.class) - public ResultBean handlerBindException(BindException e){ - log.error(e.getMessage(),e); - return ResultBean.fail(ResponseStatus.PARAM_ERROR); - } - - /** - * 处理业务异常 - * */ - @ExceptionHandler(BusinessException.class) - public ResultBean handlerBusinessException(BusinessException e){ - log.error(e.getMessage(),e); - return ResultBean.fail(e.getResStatus()); - } - - - /** - * 处理系统异常 - * */ - @ExceptionHandler(Exception.class) - public ResultBean handlerException(Exception e){ - log.error(e.getMessage(),e); - return ResultBean.error(); - } -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/bean/PageBean.java b/novel-common/src/main/java/com/java2nb/novel/core/bean/PageBean.java deleted file mode 100644 index f4f837b..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/bean/PageBean.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.java2nb.novel.core.bean; - -import com.github.pagehelper.PageInfo; -import lombok.Data; - -import java.util.List; - -/** - * 封装通用分页数据,接收PageHelper、SpringData等框架的分页数据,转换成通用的PageBean对象 - * @author xiongxiaoyang - * @version 1.0 - * @since 2021/2/4 - * @param 分页集合类型 - */ -@Data -public class PageBean { - - private Integer pageNum; - private Integer pageSize; - private Long total; - private List list; - - - /** - * 该构造函数用于PageHelper工具进行分页查询的场景 - * 接收PageHelper分页后的list - */ - public PageBean(List list){ - PageInfo pageInfo = new PageInfo<>(list); - this.pageNum = pageInfo.getPageNum(); - this.pageSize = pageInfo.getPageSize(); - this.total = pageInfo.getTotal(); - this.list = pageInfo.getList(); - - } - - /** - * 该构造函数用于通用分页查询的场景 - * 接收普通分页数据和普通集合 - */ - public PageBean(Integer pageNum, Integer pageSize, Long total, List list) { - this.pageNum = pageNum; - this.pageSize = pageSize; - this.total = total; - this.list = list; - } - - - //TODO 使用其他的分页工具或框架进行分页查询的场景 - - - -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/bean/ResultBean.java b/novel-common/src/main/java/com/java2nb/novel/core/bean/ResultBean.java deleted file mode 100644 index d48a54d..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/bean/ResultBean.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.java2nb.novel.core.bean; - - -import com.java2nb.novel.core.enums.ResponseStatus; -import lombok.Data; - -import java.io.Serializable; - -/** - * 自定义响应结构 - * - * @param - * @author 11797 - */ -@Data -public class ResultBean implements Serializable { - private static final long serialVersionUID = 1L; - - private int code = ResponseStatus.OK.getCode(); - - /** - * 响应消息 - */ - private String msg = ResponseStatus.OK.getMsg(); - /** - * 响应中的数据 - */ - private T data; - - private ResultBean() { - - } - - private ResultBean(ResponseStatus responseStatus) { - this.code = responseStatus.getCode(); - this.msg = responseStatus.getMsg(); - } - - private ResultBean(T data) { - this.data = data; - } - - - /** - * 业务处理成功,无数据返回 - */ - public static ResultBean ok() { - return new ResultBean<>(); - } - - /** - * 业务处理成功,有数据返回 - */ - public static ResultBean ok(T data) { - return new ResultBean<>(data); - } - - /** - * 业务处理失败 - */ - public static ResultBean fail(ResponseStatus responseStatus) { - return new ResultBean<>(responseStatus); - } - - - /** - * 系统错误 - */ - public static ResultBean error() { - return new ResultBean<>(ResponseStatus.ERROR); - } -} - diff --git a/novel-common/src/main/java/com/java2nb/novel/core/enums/ResponseStatus.java b/novel-common/src/main/java/com/java2nb/novel/core/enums/ResponseStatus.java index b73bc5a..1fce47a 100644 --- a/novel-common/src/main/java/com/java2nb/novel/core/enums/ResponseStatus.java +++ b/novel-common/src/main/java/com/java2nb/novel/core/enums/ResponseStatus.java @@ -1,5 +1,6 @@ package com.java2nb.novel.core.enums; +import io.github.xxyopen.model.resp.IResultCode; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -11,27 +12,7 @@ import lombok.NoArgsConstructor; @Getter @AllArgsConstructor @NoArgsConstructor -public enum ResponseStatus { - - /** - * 请求成功 - * */ - OK(200,"SUCCESS"), - - /** - * 服务器异常 - * */ - ERROR(500,"未知异常,请联系管理员!"), - - /** - * 参数错误 - * */ - PARAM_ERROR(400,"非法参数!"), - - /** - * 拒绝访问 - * */ - FORBIDDEN(403,"拒绝访问!"), +public enum ResponseStatus implements IResultCode { /** diff --git a/novel-common/src/main/java/com/java2nb/novel/core/exception/BusinessException.java b/novel-common/src/main/java/com/java2nb/novel/core/exception/BusinessException.java deleted file mode 100644 index d2af22f..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/exception/BusinessException.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.java2nb.novel.core.exception; - -import com.java2nb.novel.core.enums.ResponseStatus; -import lombok.Data; - -/** - * 自定义业务异常,用于处理用户请求时,业务错误时抛出 - */ -@Data -public class BusinessException extends RuntimeException { - - private ResponseStatus resStatus; - - public BusinessException(ResponseStatus resStatus) { - //不调用父类Throwable的fillInStackTrace()方法生成栈追踪信息,提高应用性能 - //构造器之间的调用必须在第一行 - super(resStatus.getMsg(), null, false, false); - this.resStatus = resStatus; - } - - -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/BeanUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/BeanUtil.java deleted file mode 100644 index 2b1de8e..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/utils/BeanUtil.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.java2nb.novel.core.utils; - -import lombok.SneakyThrows; -import org.springframework.beans.BeanUtils; - -import java.util.ArrayList; -import java.util.List; - -/** - * Bean操作工具类 - * @author Administrator - */ -public class BeanUtil { - - /** - * 复制集合对象属性值,生成新类型集合 - * @param source 源集合 - * @param targetClass 目标集合类型 - * @return 新集合 - * */ - @SneakyThrows - public static List copyList(List source,Class targetClass){ - List target = new ArrayList<>(source.size()); - for( int i = 0 ; i < source.size() ; i++){ - Object sourceItem = source.get(i); - T targetItem = targetClass.newInstance(); - BeanUtils.copyProperties(sourceItem,targetItem); - target.add(targetItem); - } - return target; - - } -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/FileUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/FileUtil.java index 50ea3dc..f423fe0 100644 --- a/novel-common/src/main/java/com/java2nb/novel/core/utils/FileUtil.java +++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/FileUtil.java @@ -1,5 +1,6 @@ package com.java2nb.novel.core.utils; +import io.github.xxyopen.util.UUIDUtil; import lombok.SneakyThrows; import lombok.experimental.UtilityClass; import lombok.extern.slf4j.Slf4j; diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/IdWorker.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/IdWorker.java deleted file mode 100644 index aff07f9..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/utils/IdWorker.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.java2nb.novel.core.utils; - - -import java.lang.management.ManagementFactory; -import java.net.InetAddress; -import java.net.NetworkInterface; - -/** - *

名称:IdWorker.java

- *

描述:分布式自增长ID

- *
- *     Twitter的 Snowflake JAVA实现方案
- * 
- * 核心代码为其IdWorker这个类实现,其原理结构如下,我分别用一个0表示一位,用—分割开部分的作用: - * 1||0---0000000000 0000000000 0000000000 0000000000 0 --- 00000 ---00000 ---000000000000 - * 在上面的字符串中,第一位为未使用(实际上也可作为long的符号位),接下来的41位为毫秒级时间, - * 然后5位datacenter标识位,5位机器ID(并不算标识符,实际是为线程标识), - * 然后12位该毫秒内的当前毫秒内的计数,加起来刚好64位,为一个Long型。 - * 这样的好处是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由datacenter和机器ID作区分), - * 并且效率较高,经测试,snowflake每秒能够产生26万ID左右,完全满足需要。 - *

- * 64位ID (42(毫秒)+5(机器ID)+5(业务编码)+12(重复累加)) - * - */ -public class IdWorker { - // 时间起始标记点,作为基准,一般取系统的最近时间(一旦确定不能变动) - private final static long twepoch = 1288834974657L; - // 机器标识位数 - private final static long workerIdBits = 5L; - // 数据中心标识位数 - private final static long datacenterIdBits = 5L; - // 机器ID最大值 - private final static long maxWorkerId = -1L ^ (-1L << workerIdBits); - // 数据中心ID最大值 - private final static long maxDatacenterId = -1L ^ (-1L << datacenterIdBits); - // 毫秒内自增位 - private final static long sequenceBits = 12L; - // 机器ID偏左移12位 - private final static long workerIdShift = sequenceBits; - // 数据中心ID左移17位 - private final static long datacenterIdShift = sequenceBits + workerIdBits; - // 时间毫秒左移22位 - private final static long timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits; - - private final static long sequenceMask = -1L ^ (-1L << sequenceBits); - /* 上次生产id时间戳 */ - private static long lastTimestamp = -1L; - // 0,并发控制 - private long sequence = 0L; - - private final long workerId; - // 数据标识id部分 - private final long datacenterId; - - public IdWorker(){ - this.datacenterId = getDatacenterId(maxDatacenterId); - this.workerId = getMaxWorkerId(datacenterId, maxWorkerId); - } - /** - * @param workerId - * 工作机器ID - * @param datacenterId - * 序列号 - */ - public IdWorker(long workerId, long datacenterId) { - if (workerId > maxWorkerId || workerId < 0) { - throw new IllegalArgumentException(String.format("worker Id can't be greater than %d or less than 0", maxWorkerId)); - } - if (datacenterId > maxDatacenterId || datacenterId < 0) { - throw new IllegalArgumentException(String.format("datacenter Id can't be greater than %d or less than 0", maxDatacenterId)); - } - this.workerId = workerId; - this.datacenterId = datacenterId; - } - /** - * 获取下一个ID - * - * @return - */ - public synchronized long nextId() { - long timestamp = timeGen(); - if (timestamp < lastTimestamp) { - throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", lastTimestamp - timestamp)); - } - - if (lastTimestamp == timestamp) { - // 当前毫秒内,则+1 - sequence = (sequence + 1) & sequenceMask; - if (sequence == 0) { - // 当前毫秒内计数满了,则等待下一秒 - timestamp = tilNextMillis(lastTimestamp); - } - } else { - sequence = 0L; - } - lastTimestamp = timestamp; - // ID偏移组合生成最终的ID,并返回ID - long nextId = ((timestamp - twepoch) << timestampLeftShift) - | (datacenterId << datacenterIdShift) - | (workerId << workerIdShift) | sequence; - - return nextId; - } - - private long tilNextMillis(final long lastTimestamp) { - long timestamp = this.timeGen(); - while (timestamp <= lastTimestamp) { - timestamp = this.timeGen(); - } - return timestamp; - } - - private long timeGen() { - return System.currentTimeMillis(); - } - - /** - *

- * 获取 maxWorkerId - *

- */ - protected static long getMaxWorkerId(long datacenterId, long maxWorkerId) { - StringBuffer mpid = new StringBuffer(); - mpid.append(datacenterId); - String name = ManagementFactory.getRuntimeMXBean().getName(); - if (!name.isEmpty()) { - /* - * GET jvmPid - */ - mpid.append(name.split("@")[0]); - } - /* - * MAC + PID 的 hashcode 获取16个低位 - */ - return (mpid.toString().hashCode() & 0xffff) % (maxWorkerId + 1); - } - - /** - *

- * 数据标识id部分 - *

- */ - protected static long getDatacenterId(long maxDatacenterId) { - long id = 0L; - try { - InetAddress ip = InetAddress.getLocalHost(); - NetworkInterface network = NetworkInterface.getByInetAddress(ip); - if (network == null) { - id = 1L; - } else { - byte[] mac = network.getHardwareAddress(); - id = ((0x000000FF & (long) mac[mac.length - 1]) - | (0x0000FF00 & (((long) mac[mac.length - 2]) << 8))) >> 6; - id = id % (maxDatacenterId + 1); - } - } catch (Exception e) { - System.out.println(" getDatacenterId: " + e.getMessage()); - } - return id; - } - - -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/MD5Util.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/MD5Util.java deleted file mode 100644 index 4bc27bc..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/utils/MD5Util.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.java2nb.novel.core.utils; - - -import lombok.SneakyThrows; -import sun.misc.BASE64Encoder; - -import java.security.MessageDigest; - -/** - * @author 11797 - */ -public class MD5Util { - - private static final String DEFAUL_CHARSET = "utf-8" ; - - private static String byteArrayToHexString(byte[] b) { - StringBuffer resultSb = new StringBuffer(); - for (int i = 0; i < b.length; i++) { - resultSb.append(byteToHexString(b[i])); - } - - return resultSb.toString(); - } - - private static String byteToHexString(byte b) { - int n = b; - if (n < 0) { - n += 256; - } - int d1 = n / 16; - int d2 = n % 16; - return HEX_DIGITS[d1] + HEX_DIGITS[d2]; - } - - @SneakyThrows - public static String MD5Encode(String origin,String charsetname) { - MessageDigest md = MessageDigest.getInstance("MD5"); - if (charsetname == null || "".equals(charsetname)) { - return byteArrayToHexString(md.digest(origin - .getBytes())); - } else { - return byteArrayToHexString(md.digest(origin - .getBytes(charsetname))); - } - } - - @SneakyThrows - public static String MD5New(String str) { - //首先利用MD5算法将密码加密,变成等长字节 - MessageDigest md = MessageDigest.getInstance("MD5"); - byte[] b1 = md.digest(str.getBytes()); - //将等长字节利用Base64算法转换成字符串 - BASE64Encoder encoder = new BASE64Encoder(); - return encoder.encode(b1); - } - - private static final String[] HEX_DIGITS = {"0", "1", "2", "3", "4", "5", - "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}; - - -} \ No newline at end of file diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/SpringUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/SpringUtil.java deleted file mode 100644 index ad5d5d9..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/utils/SpringUtil.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.java2nb.novel.core.utils; - -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.stereotype.Component; - -/** - * @author Administrator - */ -@Component -public class SpringUtil implements ApplicationContextAware { - - - - private static ApplicationContext applicationContext; - - @Override - public void setApplicationContext(ApplicationContext applicationContext) { - if (SpringUtil.applicationContext == null) { - SpringUtil.applicationContext = applicationContext; - } - } - - /** - * 获取applicationContext - * */ - public static ApplicationContext getApplicationContext() { - return applicationContext; - } - - /** - * 通过name获取 Bean. - * */ - public static Object getBean(String name) { - return getApplicationContext().getBean(name); - } - - /** - * 通过class获取Bean - * */ - public static T getBean(Class clazz) { - return getApplicationContext().getBean(clazz); - } - - /** - * 通过name,以及Clazz返回指定的Bean - * */ - public static T getBean(String name, Class clazz) { - return getApplicationContext().getBean(name, clazz); - } - -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/ThreadUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/ThreadUtil.java deleted file mode 100644 index aa216da..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/utils/ThreadUtil.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.java2nb.novel.core.utils; - -/** - * 线程工具类 - * @author Administrator - */ -public class ThreadUtil { - - /** - * 根据线程ID获取线程 - * */ - public static Thread findThread(long threadId) { - ThreadGroup group = Thread.currentThread().getThreadGroup(); - while(group != null) { - Thread[] threads = new Thread[(int)(group.activeCount() * 1.2)]; - int count = group.enumerate(threads, true); - for(int i = 0; i < count; i++) { - if(threadId == threads[i].getId()) { - return threads[i]; - } - } - group = group.getParent(); - } - return null; - } -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/UUIDUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/UUIDUtil.java deleted file mode 100644 index 71d3cb6..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/utils/UUIDUtil.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.java2nb.novel.core.utils; - -import java.util.UUID; - -/** - * @author Administrator - */ -public class UUIDUtil { - - public static final String[] CHARS = new String[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", - "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", - "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", - "S", "T", "U", "V", "W", "X", "Y", "Z" }; - - /** - * 生成指定长度的uuid - * - * @param length - * @return - */ - private static String getUUID(int length, UUID uuid) { - int groupLength = 32 / length; - StringBuilder sb = new StringBuilder(); - String id = uuid.toString().replace("-", ""); - for (int i = 0; i < length; i++) { - String str = id.substring(i * groupLength, i * groupLength + groupLength); - int x = Integer.parseInt(str, 16); - sb.append(CHARS[x % 0x3E]); - } - return sb.toString(); - } - - /** - * 8位UUID - * - * @return - */ - public static String getUUID8() { - return getUUID(8, UUID.randomUUID()); - } - - /** - * 8位UUID - * - * @return - */ - public static String getUUID8(byte[] bytes) { - return getUUID(8, UUID.nameUUIDFromBytes(bytes)); - } - - /** - * 8位UUID - * - * @return - */ - public static String getUUID8(String fromString) { - return getUUID(8, UUID.fromString(fromString)); - } - - /** - * 16位UUID - * - * @return - */ - public static String getUUID16() { - return getUUID(16, UUID.randomUUID()); - } - - /** - * 16位UUID - * - * @return - */ - public static String getUUID16(String fromString) { - return getUUID(16, UUID.fromString(fromString)); - } - - /** - * 16位UUID - * - * @return - */ - public static String getUUID16(byte[] bytes) { - return getUUID(16, UUID.nameUUIDFromBytes(bytes)); - } - - /** - * 32位UUID - * - * @return - */ - public static String getUUID32() { - return UUID.randomUUID().toString().replace("-", ""); - } - -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/valid/AddGroup.java b/novel-common/src/main/java/com/java2nb/novel/core/valid/AddGroup.java deleted file mode 100644 index 8bb5974..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/valid/AddGroup.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.java2nb.novel.core.valid; - -/** - * 新增数据的校验分组 - * @author xiongxiaoyang - */ -public interface AddGroup { - - - -} diff --git a/novel-common/src/main/java/com/java2nb/novel/core/valid/UpdateGroup.java b/novel-common/src/main/java/com/java2nb/novel/core/valid/UpdateGroup.java deleted file mode 100644 index 502b2fc..0000000 --- a/novel-common/src/main/java/com/java2nb/novel/core/valid/UpdateGroup.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.java2nb.novel.core.valid; - -/** - * 更新数据的校验分组 - * @author xiongxiaoyang - */ -public interface UpdateGroup { - - - -} diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/User.java b/novel-common/src/main/java/com/java2nb/novel/entity/User.java index 00be48e..fd3805e 100644 --- a/novel-common/src/main/java/com/java2nb/novel/entity/User.java +++ b/novel-common/src/main/java/com/java2nb/novel/entity/User.java @@ -1,11 +1,11 @@ package com.java2nb.novel.entity; -import com.java2nb.novel.core.valid.AddGroup; -import com.java2nb.novel.core.valid.UpdateGroup; +import io.github.xxyopen.web.valid.AddGroup; +import io.github.xxyopen.web.valid.UpdateGroup; -import java.util.Date; import javax.annotation.Generated; import javax.validation.constraints.*; +import java.util.Date; public class User { diff --git a/novel-crawl/src/main/java/com/java2nb/novel/controller/CrawlController.java b/novel-crawl/src/main/java/com/java2nb/novel/controller/CrawlController.java index 80c9c16..cefdb30 100644 --- a/novel-crawl/src/main/java/com/java2nb/novel/controller/CrawlController.java +++ b/novel-crawl/src/main/java/com/java2nb/novel/controller/CrawlController.java @@ -1,10 +1,11 @@ package com.java2nb.novel.controller; -import com.java2nb.novel.core.bean.PageBean; -import com.java2nb.novel.core.bean.ResultBean; +import io.github.xxyopen.model.page.PageBean; + import com.java2nb.novel.entity.CrawlSingleTask; import com.java2nb.novel.entity.CrawlSource; import com.java2nb.novel.service.CrawlService; +import io.github.xxyopen.model.resp.RestResult; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -23,10 +24,10 @@ public class CrawlController { * 新增爬虫源 * */ @PostMapping("addCrawlSource") - public ResultBean addCrawlSource(CrawlSource source){ + public RestResult addCrawlSource(CrawlSource source){ crawlService.addCrawlSource(source); - return ResultBean.ok(); + return RestResult.ok(); } @@ -34,30 +35,30 @@ public class CrawlController { * 爬虫源分页列表查询 * */ @GetMapping("listCrawlByPage") - public ResultBean> listCrawlByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize){ + public RestResult> listCrawlByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize){ - return ResultBean.ok(crawlService.listCrawlByPage(page,pageSize)); + return RestResult.ok(crawlService.listCrawlByPage(page,pageSize)); } /** * 开启或停止爬虫 * */ @PostMapping("openOrCloseCrawl") - public ResultBean openOrCloseCrawl(Integer sourceId,Byte sourceStatus){ + public RestResult openOrCloseCrawl(Integer sourceId,Byte sourceStatus){ crawlService.openOrCloseCrawl(sourceId,sourceStatus); - return ResultBean.ok(); + return RestResult.ok(); } /** * 新增单本采集任务 * */ @PostMapping("addCrawlSingleTask") - public ResultBean addCrawlSingleTask(CrawlSingleTask singleTask){ + public RestResult addCrawlSingleTask(CrawlSingleTask singleTask){ crawlService.addCrawlSingleTask(singleTask); - return ResultBean.ok(); + return RestResult.ok(); } @@ -65,20 +66,20 @@ public class CrawlController { * 单本采集任务分页列表查询 * */ @GetMapping("listCrawlSingleTaskByPage") - public ResultBean> listCrawlSingleTaskByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize){ + public RestResult> listCrawlSingleTaskByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize){ - return ResultBean.ok(crawlService.listCrawlSingleTaskByPage(page,pageSize)); + return RestResult.ok(crawlService.listCrawlSingleTaskByPage(page,pageSize)); } /** * 删除采集任务 * */ @DeleteMapping("delCrawlSingleTask/{id}") - public ResultBean delCrawlSingleTask(@PathVariable("id") Long id){ + public RestResult delCrawlSingleTask(@PathVariable("id") Long id){ crawlService.delCrawlSingleTask(id); - return ResultBean.ok(); + return RestResult.ok(); } diff --git a/novel-crawl/src/main/java/com/java2nb/novel/core/crawl/CrawlParser.java b/novel-crawl/src/main/java/com/java2nb/novel/core/crawl/CrawlParser.java index 3fd3d91..85955cd 100644 --- a/novel-crawl/src/main/java/com/java2nb/novel/core/crawl/CrawlParser.java +++ b/novel-crawl/src/main/java/com/java2nb/novel/core/crawl/CrawlParser.java @@ -5,6 +5,7 @@ import com.java2nb.novel.entity.Book; import com.java2nb.novel.entity.BookContent; import com.java2nb.novel.entity.BookIndex; import com.java2nb.novel.utils.Constants; +import io.github.xxyopen.util.IdWorker; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -26,7 +27,7 @@ import static java.util.regex.Pattern.compile; @Slf4j public class CrawlParser { - private static final IdWorker idWorker = new IdWorker(); + private static final IdWorker idWorker = IdWorker.INSTANCE; private static final RestTemplate restTemplate = RestTemplateUtil.getInstance("utf-8"); diff --git a/novel-crawl/src/main/java/com/java2nb/novel/core/schedule/CrawlThreadMonitor.java b/novel-crawl/src/main/java/com/java2nb/novel/core/schedule/CrawlThreadMonitor.java index 1009cdf..a04ce49 100644 --- a/novel-crawl/src/main/java/com/java2nb/novel/core/schedule/CrawlThreadMonitor.java +++ b/novel-crawl/src/main/java/com/java2nb/novel/core/schedule/CrawlThreadMonitor.java @@ -3,9 +3,9 @@ package com.java2nb.novel.core.schedule; import com.java2nb.novel.core.cache.CacheKey; import com.java2nb.novel.core.cache.CacheService; -import com.java2nb.novel.core.utils.ThreadUtil; import com.java2nb.novel.entity.CrawlSource; import com.java2nb.novel.service.CrawlService; +import io.github.xxyopen.util.ThreadUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; diff --git a/novel-crawl/src/main/java/com/java2nb/novel/service/CrawlService.java b/novel-crawl/src/main/java/com/java2nb/novel/service/CrawlService.java index d8e9821..38c6f4b 100644 --- a/novel-crawl/src/main/java/com/java2nb/novel/service/CrawlService.java +++ b/novel-crawl/src/main/java/com/java2nb/novel/service/CrawlService.java @@ -1,6 +1,6 @@ package com.java2nb.novel.service; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.core.crawl.RuleBean; import com.java2nb.novel.entity.CrawlSingleTask; import com.java2nb.novel.entity.CrawlSource; diff --git a/novel-crawl/src/main/java/com/java2nb/novel/service/impl/CrawlServiceImpl.java b/novel-crawl/src/main/java/com/java2nb/novel/service/impl/CrawlServiceImpl.java index 8d45778..2e95141 100644 --- a/novel-crawl/src/main/java/com/java2nb/novel/service/impl/CrawlServiceImpl.java +++ b/novel-crawl/src/main/java/com/java2nb/novel/service/impl/CrawlServiceImpl.java @@ -2,17 +2,17 @@ package com.java2nb.novel.service.impl; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.pagehelper.PageHelper; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.core.cache.CacheKey; import com.java2nb.novel.core.cache.CacheService; import com.java2nb.novel.core.crawl.CrawlParser; import com.java2nb.novel.core.crawl.RuleBean; import com.java2nb.novel.core.enums.ResponseStatus; -import com.java2nb.novel.core.exception.BusinessException; -import com.java2nb.novel.core.utils.BeanUtil; -import com.java2nb.novel.core.utils.IdWorker; -import com.java2nb.novel.core.utils.SpringUtil; -import com.java2nb.novel.core.utils.ThreadUtil; +import io.github.xxyopen.model.page.builder.pagehelper.PageBuilder; +import io.github.xxyopen.util.IdWorker; +import io.github.xxyopen.util.ThreadUtil; +import io.github.xxyopen.web.exception.BusinessException; +import io.github.xxyopen.web.util.BeanUtil; import com.java2nb.novel.entity.Book; import com.java2nb.novel.entity.CrawlSingleTask; import com.java2nb.novel.entity.CrawlSource; @@ -24,6 +24,7 @@ import com.java2nb.novel.service.BookService; import com.java2nb.novel.service.CrawlService; import com.java2nb.novel.vo.CrawlSingleTaskVO; import com.java2nb.novel.vo.CrawlSourceVO; +import io.github.xxyopen.web.util.SpringUtil; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -79,7 +80,7 @@ public class CrawlServiceImpl implements CrawlService { .build() .render(RenderingStrategies.MYBATIS3); List crawlSources = crawlSourceMapper.selectMany(render); - PageBean pageBean = new PageBean<>(crawlSources); + PageBean pageBean = PageBuilder.build(crawlSources); pageBean.setList(BeanUtil.copyList(crawlSources, CrawlSourceVO.class)); return pageBean; } @@ -168,7 +169,7 @@ public class CrawlServiceImpl implements CrawlService { .build() .render(RenderingStrategies.MYBATIS3); List crawlSingleTasks = crawlSingleTaskMapper.selectMany(render); - PageBean pageBean = new PageBean<>(crawlSingleTasks); + PageBean pageBean = PageBuilder.build(crawlSingleTasks); pageBean.setList(BeanUtil.copyList(crawlSingleTasks, CrawlSingleTaskVO.class)); return pageBean; } @@ -299,7 +300,7 @@ public class CrawlServiceImpl implements CrawlService { book.setCrawlBookId(bookId); book.setCrawlSourceId(sourceId); book.setCrawlLastTime(new Date()); - book.setId(new IdWorker().nextId()); + book.setId(IdWorker.INSTANCE.nextId()); //解析章节目录 CrawlParser.parseBookIndexAndContent(bookId, book, ruleBean, new HashMap<>(0), chapter -> { bookService.saveBookAndIndexAndContent(book, chapter.getBookIndexList(), chapter.getBookContentList()); diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/AuthorController.java b/novel-front/src/main/java/com/java2nb/novel/controller/AuthorController.java index 9b23947..c89d02f 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/AuthorController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/AuthorController.java @@ -1,10 +1,11 @@ package com.java2nb.novel.controller; -import com.java2nb.novel.core.bean.PageBean; -import com.java2nb.novel.core.bean.ResultBean; +import io.github.xxyopen.model.page.PageBean; + import com.java2nb.novel.core.bean.UserDetails; import com.java2nb.novel.core.enums.ResponseStatus; -import com.java2nb.novel.core.exception.BusinessException; +import io.github.xxyopen.model.resp.RestResult; +import io.github.xxyopen.web.exception.BusinessException; import com.java2nb.novel.entity.Author; import com.java2nb.novel.entity.AuthorIncome; import com.java2nb.novel.entity.AuthorIncomeDetail; @@ -35,25 +36,25 @@ public class AuthorController extends BaseController{ * 校验笔名是否存在 * */ @GetMapping("checkPenName") - public ResultBean checkPenName(String penName){ + public RestResult checkPenName(String penName){ - return ResultBean.ok(authorService.checkPenName(penName)); + return RestResult.ok(authorService.checkPenName(penName)); } /** * 作家发布小说分页列表查询 * */ @GetMapping("listBookByPage") - public ResultBean> listBookByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize , HttpServletRequest request){ + public RestResult> listBookByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize , HttpServletRequest request){ - return ResultBean.ok(bookService.listBookPageByUserId(getUserDetails(request).getId(),page,pageSize)); + return RestResult.ok(bookService.listBookPageByUserId(getUserDetails(request).getId(),page,pageSize)); } /** * 发布小说 * */ @PostMapping("addBook") - public ResultBean addBook(@RequestParam("bookDesc") String bookDesc,Book book,HttpServletRequest request){ + public RestResult addBook(@RequestParam("bookDesc") String bookDesc,Book book,HttpServletRequest request){ Author author = checkAuthor(request); @@ -64,20 +65,20 @@ public class AuthorController extends BaseController{ //发布小说 bookService.addBook(book,author.getId(),author.getPenName()); - return ResultBean.ok(); + return RestResult.ok(); } /** * 更新小说状态,上架或下架 * */ @PostMapping("updateBookStatus") - public ResultBean updateBookStatus(Long bookId,Byte status,HttpServletRequest request){ + public RestResult updateBookStatus(Long bookId,Byte status,HttpServletRequest request){ Author author = checkAuthor(request); //更新小说状态,上架或下架 bookService.updateBookStatus(bookId,status,author.getId()); - return ResultBean.ok(); + return RestResult.ok(); } @@ -86,28 +87,28 @@ public class AuthorController extends BaseController{ * 删除章节 */ @DeleteMapping("deleteIndex/{indexId}") - public ResultBean deleteIndex(@PathVariable("indexId") Long indexId, HttpServletRequest request) { + public RestResult deleteIndex(@PathVariable("indexId") Long indexId, HttpServletRequest request) { Author author = checkAuthor(request); //删除章节 bookService.deleteIndex(indexId, author.getId()); - return ResultBean.ok(); + return RestResult.ok(); } /** * 更新章节名 */ @PostMapping("updateIndexName") - public ResultBean updateIndexName(Long indexId, String indexName, HttpServletRequest request) { + public RestResult updateIndexName(Long indexId, String indexName, HttpServletRequest request) { Author author = checkAuthor(request); //更新章节名 bookService.updateIndexName(indexId, indexName, author.getId()); - return ResultBean.ok(); + return RestResult.ok(); } @@ -117,7 +118,7 @@ public class AuthorController extends BaseController{ * 发布章节内容 */ @PostMapping("addBookContent") - public ResultBean addBookContent(Long bookId, String indexName, String content,Byte isVip, HttpServletRequest request) { + public RestResult addBookContent(Long bookId, String indexName, String content,Byte isVip, HttpServletRequest request) { Author author = checkAuthor(request); content = content.replaceAll("\\n", "
") @@ -125,14 +126,14 @@ public class AuthorController extends BaseController{ //发布章节内容 bookService.addBookContent(bookId, indexName, content,isVip, author.getId()); - return ResultBean.ok(); + return RestResult.ok(); } /** * 查询章节内容 */ @GetMapping("queryIndexContent/{indexId}") - public ResultBean queryIndexContent(@PathVariable("indexId") Long indexId, HttpServletRequest request) { + public RestResult queryIndexContent(@PathVariable("indexId") Long indexId, HttpServletRequest request) { Author author = checkAuthor(request); @@ -141,14 +142,14 @@ public class AuthorController extends BaseController{ content = content.replaceAll("
", "\n") .replaceAll(" ", " "); - return ResultBean.ok(content); + return RestResult.ok(content); } /** * 更新章节内容 */ @PostMapping("updateBookContent") - public ResultBean updateBookContent(Long indexId, String indexName, String content, HttpServletRequest request) { + public RestResult updateBookContent(Long indexId, String indexName, String content, HttpServletRequest request) { Author author = checkAuthor(request); content = content.replaceAll("\\n", "
") @@ -156,17 +157,17 @@ public class AuthorController extends BaseController{ //更新章节内容 bookService.updateBookContent(indexId, indexName, content, author.getId()); - return ResultBean.ok(); + return RestResult.ok(); } /** * 修改小说封面 */ @PostMapping("updateBookPic") - public ResultBean updateBookPic(@RequestParam("bookId") Long bookId,@RequestParam("bookPic") String bookPic,HttpServletRequest request) { + public RestResult updateBookPic(@RequestParam("bookId") Long bookId,@RequestParam("bookPic") String bookPic,HttpServletRequest request) { Author author = checkAuthor(request); bookService.updateBookPic(bookId,bookPic, author.getId()); - return ResultBean.ok(); + return RestResult.ok(); } @@ -174,14 +175,14 @@ public class AuthorController extends BaseController{ * 作家日收入统计数据分页列表查询 * */ @GetMapping("listIncomeDailyByPage") - public ResultBean> listIncomeDailyByPage(@RequestParam(value = "curr", defaultValue = "1") int page, + public RestResult> listIncomeDailyByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize , @RequestParam(value = "bookId", defaultValue = "0") Long bookId, @RequestParam(value = "startTime",defaultValue = "2020-05-01") Date startTime, @RequestParam(value = "endTime",defaultValue = "2030-01-01") Date endTime, HttpServletRequest request){ - return ResultBean.ok(authorService.listIncomeDailyByPage(page,pageSize,getUserDetails(request).getId(),bookId,startTime,endTime)); + return RestResult.ok(authorService.listIncomeDailyByPage(page,pageSize,getUserDetails(request).getId(),bookId,startTime,endTime)); } @@ -189,12 +190,12 @@ public class AuthorController extends BaseController{ * 作家月收入统计数据分页列表查询 * */ @GetMapping("listIncomeMonthByPage") - public ResultBean> listIncomeMonthByPage(@RequestParam(value = "curr", defaultValue = "1") int page, + public RestResult> listIncomeMonthByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize , @RequestParam(value = "bookId", defaultValue = "0") Long bookId, HttpServletRequest request){ - return ResultBean.ok(authorService.listIncomeMonthByPage(page,pageSize,getUserDetails(request).getId(),bookId)); + return RestResult.ok(authorService.listIncomeMonthByPage(page,pageSize,getUserDetails(request).getId(),bookId)); } private Author checkAuthor(HttpServletRequest request) { diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/BookController.java b/novel-front/src/main/java/com/java2nb/novel/controller/BookController.java index 960df44..d95cc2c 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/BookController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/BookController.java @@ -1,8 +1,5 @@ package com.java2nb.novel.controller; -import com.github.pagehelper.PageInfo; -import com.java2nb.novel.core.bean.PageBean; -import com.java2nb.novel.core.bean.ResultBean; import com.java2nb.novel.core.bean.UserDetails; import com.java2nb.novel.core.enums.ResponseStatus; import com.java2nb.novel.entity.Book; @@ -15,6 +12,9 @@ import com.java2nb.novel.vo.BookSettingVO; import com.java2nb.novel.vo.BookSpVO; import com.java2nb.novel.service.BookService; import com.java2nb.novel.vo.BookVO; +import io.github.xxyopen.model.page.PageBean; +import io.github.xxyopen.model.page.builder.pagehelper.PageBuilder; +import io.github.xxyopen.model.resp.RestResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -49,56 +49,56 @@ public class BookController extends BaseController { * 查询首页小说设置列表数据 */ @GetMapping("listBookSetting") - public ResultBean>> listBookSetting() { - return ResultBean.ok(bookService.listBookSettingVO()); + public RestResult>> listBookSetting() { + return RestResult.ok(bookService.listBookSettingVO()); } /** * 查询首页点击榜单数据 */ @GetMapping("listClickRank") - public ResultBean> listClickRank() { - return ResultBean.ok(bookService.listClickRank()); + public RestResult> listClickRank() { + return RestResult.ok(bookService.listClickRank()); } /** * 查询首页新书榜单数据 */ @GetMapping("listNewRank") - public ResultBean> listNewRank() { - return ResultBean.ok(bookService.listNewRank()); + public RestResult> listNewRank() { + return RestResult.ok(bookService.listNewRank()); } /** * 查询首页更新榜单数据 */ @GetMapping("listUpdateRank") - public ResultBean> listUpdateRank() { - return ResultBean.ok(bookService.listUpdateRank()); + public RestResult> listUpdateRank() { + return RestResult.ok(bookService.listUpdateRank()); } /** * 查询小说分类列表 */ @GetMapping("listBookCategory") - public ResultBean> listBookCategory() { - return ResultBean.ok(bookService.listBookCategory()); + public RestResult> listBookCategory() { + return RestResult.ok(bookService.listBookCategory()); } /** * 分页搜索 */ @GetMapping("searchByPage") - public ResultBean searchByPage(BookSpVO bookSP, @RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "20") int pageSize) { - return ResultBean.ok(bookService.searchByPage(bookSP, page, pageSize)); + public RestResult searchByPage(BookSpVO bookSP, @RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "20") int pageSize) { + return RestResult.ok(bookService.searchByPage(bookSP, page, pageSize)); } /** * 查询小说详情信息 */ @GetMapping("queryBookDetail/{id}") - public ResultBean queryBookDetail(@PathVariable("id") Long id) { - return ResultBean.ok(bookService.queryBookDetail(id)); + public RestResult queryBookDetail(@PathVariable("id") Long id) { + return RestResult.ok(bookService.queryBookDetail(id)); } @@ -106,28 +106,28 @@ public class BookController extends BaseController { * 查询小说排行信息 */ @GetMapping("listRank") - public ResultBean> listRank(@RequestParam(value = "type", defaultValue = "0") Byte type, @RequestParam(value = "limit", defaultValue = "30") Integer limit) { - return ResultBean.ok(bookService.listRank(type, limit)); + public RestResult> listRank(@RequestParam(value = "type", defaultValue = "0") Byte type, @RequestParam(value = "limit", defaultValue = "30") Integer limit) { + return RestResult.ok(bookService.listRank(type, limit)); } /** * 增加点击次数 */ @PostMapping("addVisitCount") - public ResultBean addVisitCount(Long bookId) { + public RestResult addVisitCount(Long bookId) { if (enableMq == 1) { rabbitTemplate.convertAndSend("ADD-BOOK-VISIT-EXCHANGE", null, bookId); } else { bookService.addVisitCount(bookId, 1); } - return ResultBean.ok(); + return RestResult.ok(); } /** * 查询章节相关信息 */ @GetMapping("queryBookIndexAbout") - public ResultBean> queryBookIndexAbout(Long bookId, Long lastBookIndexId) { + public RestResult> queryBookIndexAbout(Long bookId, Long lastBookIndexId) { Map data = new HashMap<>(2); data.put("bookIndexCount", bookService.queryIndexCount(bookId)); BookIndex bookIndex = bookService.queryBookIndex(lastBookIndexId); @@ -136,15 +136,15 @@ public class BookController extends BaseController { lastBookContent = lastBookContent.substring(0, 42); } data.put("lastBookContent", lastBookContent); - return ResultBean.ok(data); + return RestResult.ok(data); } /** * 根据分类id查询同类推荐书籍 */ @GetMapping("listRecBookByCatId") - public ResultBean> listRecBookByCatId(Integer catId) { - return ResultBean.ok(bookService.listRecBookByCatId(catId)); + public RestResult> listRecBookByCatId(Integer catId) { + return RestResult.ok(bookService.listRecBookByCatId(catId)); } @@ -152,37 +152,37 @@ public class BookController extends BaseController { * 分页查询书籍评论列表 */ @GetMapping("listCommentByPage") - public ResultBean> listCommentByPage(@RequestParam("bookId") Long bookId, @RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize) { - return ResultBean.ok(bookService.listCommentByPage(null, bookId, page, pageSize)); + public RestResult> listCommentByPage(@RequestParam("bookId") Long bookId, @RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize) { + return RestResult.ok(bookService.listCommentByPage(null, bookId, page, pageSize)); } /** * 新增评价 */ @PostMapping("addBookComment") - public ResultBean addBookComment(BookComment comment, HttpServletRequest request) { + public RestResult addBookComment(BookComment comment, HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } bookService.addBookComment(userDetails.getId(), comment); - return ResultBean.ok(); + return RestResult.ok(); } /** * 根据小说ID查询小说前十条最新更新目录集合 */ @GetMapping("queryNewIndexList") - public ResultBean> queryNewIndexList(Long bookId) { - return ResultBean.ok(bookService.queryIndexList(bookId, "index_num desc", 1, 10)); + public RestResult> queryNewIndexList(Long bookId) { + return RestResult.ok(bookService.queryIndexList(bookId, "index_num desc", 1, 10)); } /** * 目录页 */ @GetMapping("/queryIndexList") - public ResultBean> indexList(Long bookId, @RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize, @RequestParam(value = "orderBy", defaultValue = "index_num desc") String orderBy) { - return ResultBean.ok(new PageBean<>(bookService.queryIndexList(bookId, orderBy, page, pageSize))); + public RestResult> indexList(Long bookId, @RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize, @RequestParam(value = "orderBy", defaultValue = "index_num desc") String orderBy) { + return RestResult.ok(PageBuilder.build(bookService.queryIndexList(bookId, orderBy, page, pageSize))); } diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/CacheController.java b/novel-front/src/main/java/com/java2nb/novel/controller/CacheController.java index e22f4b6..e7aced8 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/CacheController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/CacheController.java @@ -1,12 +1,13 @@ package com.java2nb.novel.controller; -import com.java2nb.novel.core.bean.ResultBean; + import com.java2nb.novel.core.cache.CacheKey; import com.java2nb.novel.core.cache.CacheService; import com.java2nb.novel.core.enums.ResponseStatus; import com.java2nb.novel.service.BookService; import com.java2nb.novel.service.FriendLinkService; import com.java2nb.novel.service.NewsService; +import io.github.xxyopen.model.resp.RestResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -40,9 +41,9 @@ public class CacheController { * @param type 缓存类型,1:首页书籍推荐,2:首页新闻,3:首页友情链接 * */ @GetMapping("refresh/{pass}/{type}") - public ResultBean refreshCache(@PathVariable("type") Byte type, @PathVariable("pass") String pass){ + public RestResult refreshCache(@PathVariable("type") Byte type, @PathVariable("pass") String pass){ if(!cacheManagerPass.equals(pass)){ - return ResultBean.fail(ResponseStatus.PASSWORD_ERROR); + return RestResult.fail(ResponseStatus.PASSWORD_ERROR); } switch (type){ case 1:{ @@ -69,7 +70,7 @@ public class CacheController { } - return ResultBean.ok(); + return RestResult.ok(); } diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/FileController.java b/novel-front/src/main/java/com/java2nb/novel/controller/FileController.java index 6cd9eb3..1cf83fa 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/FileController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/FileController.java @@ -1,13 +1,14 @@ package com.java2nb.novel.controller; -import com.java2nb.novel.core.bean.ResultBean; + import com.java2nb.novel.core.cache.CacheService; import com.java2nb.novel.core.enums.ResponseStatus; -import com.java2nb.novel.core.exception.BusinessException; import com.java2nb.novel.core.utils.Constants; import com.java2nb.novel.core.utils.FileUtil; import com.java2nb.novel.core.utils.RandomValidateCodeUtil; -import com.java2nb.novel.core.utils.UUIDUtil; +import io.github.xxyopen.model.resp.RestResult; +import io.github.xxyopen.util.UUIDUtil; +import io.github.xxyopen.web.exception.BusinessException; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -19,9 +20,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.*; +import java.io.File; import java.util.Date; -import java.util.Objects; /** * @author 11797 @@ -64,7 +64,7 @@ public class FileController { @SneakyThrows @ResponseBody @PostMapping("/picUpload") - ResultBean upload(@RequestParam("file") MultipartFile file) { + RestResult upload(@RequestParam("file") MultipartFile file) { Date currentDate = new Date(); String savePath = Constants.LOCAL_PIC_PREFIX + DateUtils.formatDate(currentDate, "yyyy") + "/" + @@ -86,7 +86,7 @@ public class FileController { saveFile.delete(); throw new BusinessException(ResponseStatus.FILE_NOT_IMAGE); }; - return ResultBean.ok(savePath + "/" + saveFileName); + return RestResult.ok(savePath + "/" + saveFileName); } diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/FriendLinkController.java b/novel-front/src/main/java/com/java2nb/novel/controller/FriendLinkController.java index 0857e2b..b86f50c 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/FriendLinkController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/FriendLinkController.java @@ -1,12 +1,12 @@ package com.java2nb.novel.controller; -import com.java2nb.novel.core.bean.ResultBean; + import com.java2nb.novel.entity.FriendLink; import com.java2nb.novel.service.FriendLinkService; +import io.github.xxyopen.model.resp.RestResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -27,8 +27,8 @@ public class FriendLinkController { * 查询首页友情链接 * */ @GetMapping("listIndexLink") - public ResultBean> listIndexLink(){ - return ResultBean.ok(friendLinkService.listIndexLink()); + public RestResult> listIndexLink(){ + return RestResult.ok(friendLinkService.listIndexLink()); } diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/NewsController.java b/novel-front/src/main/java/com/java2nb/novel/controller/NewsController.java index 6eec326..2e97b0a 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/NewsController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/NewsController.java @@ -1,10 +1,10 @@ package com.java2nb.novel.controller; import com.github.pagehelper.PageInfo; -import com.java2nb.novel.core.bean.PageBean; -import com.java2nb.novel.core.bean.ResultBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.entity.News; import com.java2nb.novel.service.NewsService; +import io.github.xxyopen.model.resp.RestResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -26,25 +26,25 @@ public class NewsController { * 查询首页新闻 * */ @GetMapping("listIndexNews") - public ResultBean> listIndexNews(){ - return ResultBean.ok(newsService.listIndexNews()); + public RestResult> listIndexNews(){ + return RestResult.ok(newsService.listIndexNews()); } /** * 分页查询新闻列表 * */ @GetMapping("listByPage") - public ResultBean> listByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize){ - return ResultBean.ok(newsService.listByPage(page,pageSize)); + public RestResult> listByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize){ + return RestResult.ok(newsService.listByPage(page,pageSize)); } /** * 增加新闻阅读量 * */ @PostMapping("addReadCount") - public ResultBean addReadCount(@RequestParam(value = "newsId") Integer newsId){ + public RestResult addReadCount(@RequestParam(value = "newsId") Integer newsId){ newsService.addReadCount(newsId); - return ResultBean.ok(); + return RestResult.ok(); } diff --git a/novel-front/src/main/java/com/java2nb/novel/controller/UserController.java b/novel-front/src/main/java/com/java2nb/novel/controller/UserController.java index 8ae40d4..0213f32 100644 --- a/novel-front/src/main/java/com/java2nb/novel/controller/UserController.java +++ b/novel-front/src/main/java/com/java2nb/novel/controller/UserController.java @@ -1,16 +1,17 @@ package com.java2nb.novel.controller; -import com.java2nb.novel.core.bean.ResultBean; + import com.java2nb.novel.core.bean.UserDetails; import com.java2nb.novel.core.cache.CacheService; import com.java2nb.novel.core.enums.ResponseStatus; import com.java2nb.novel.core.utils.RandomValidateCodeUtil; -import com.java2nb.novel.core.valid.AddGroup; -import com.java2nb.novel.core.valid.UpdateGroup; import com.java2nb.novel.entity.User; import com.java2nb.novel.entity.UserBuyRecord; import com.java2nb.novel.service.BookService; import com.java2nb.novel.service.UserService; +import io.github.xxyopen.model.resp.RestResult; +import io.github.xxyopen.web.valid.AddGroup; +import io.github.xxyopen.web.valid.UpdateGroup; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -41,7 +42,7 @@ public class UserController extends BaseController { * 登陆 */ @PostMapping("login") - public ResultBean> login(User user) { + public RestResult> login(User user) { //登陆 UserDetails userDetails = userService.login(user); @@ -49,7 +50,7 @@ public class UserController extends BaseController { Map data = new HashMap<>(1); data.put("token", jwtTokenUtil.generateToken(userDetails)); - return ResultBean.ok(data); + return RestResult.ok(data); } @@ -58,12 +59,12 @@ public class UserController extends BaseController { * 注册 */ @PostMapping("register") - public ResultBean register(@Validated({AddGroup.class}) User user, @RequestParam(value = "velCode", defaultValue = "") String velCode) { + public RestResult register(@Validated({AddGroup.class}) User user, @RequestParam(value = "velCode", defaultValue = "") String velCode) { //判断验证码是否正确 if (!velCode.equals(cacheService.get(RandomValidateCodeUtil.RANDOM_CODE_KEY))) { - return ResultBean.fail(ResponseStatus.VEL_CODE_ERROR); + return RestResult.fail(ResponseStatus.VEL_CODE_ERROR); } //注册 @@ -71,7 +72,7 @@ public class UserController extends BaseController { Map data = new HashMap<>(1); data.put("token", jwtTokenUtil.generateToken(userDetails)); - return ResultBean.ok(data); + return RestResult.ok(data); } @@ -81,7 +82,7 @@ public class UserController extends BaseController { * 刷新token */ @PostMapping("refreshToken") - public ResultBean refreshToken(HttpServletRequest request) { + public RestResult refreshToken(HttpServletRequest request) { String token = getToken(request); if (jwtTokenUtil.canRefresh(token)) { token = jwtTokenUtil.refreshToken(token); @@ -90,10 +91,10 @@ public class UserController extends BaseController { UserDetails userDetail = jwtTokenUtil.getUserDetailsFromToken(token); data.put("username", userDetail.getUsername()); data.put("nickName", userDetail.getNickName()); - return ResultBean.ok(data); + return RestResult.ok(data); } else { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } } @@ -102,131 +103,131 @@ public class UserController extends BaseController { * 查询小说是否已加入书架 */ @GetMapping("queryIsInShelf") - public ResultBean queryIsInShelf(Long bookId, HttpServletRequest request) { + public RestResult queryIsInShelf(Long bookId, HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } - return ResultBean.ok(userService.queryIsInShelf(userDetails.getId(), bookId)); + return RestResult.ok(userService.queryIsInShelf(userDetails.getId(), bookId)); } /** * 加入书架 * */ @PostMapping("addToBookShelf") - public ResultBean addToBookShelf(Long bookId,Long preContentId, HttpServletRequest request) { + public RestResult addToBookShelf(Long bookId,Long preContentId, HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } userService.addToBookShelf(userDetails.getId(),bookId,preContentId); - return ResultBean.ok(); + return RestResult.ok(); } /** * 移出书架 * */ @DeleteMapping("removeFromBookShelf/{bookId}") - public ResultBean removeFromBookShelf(@PathVariable("bookId") Long bookId, HttpServletRequest request) { + public RestResult removeFromBookShelf(@PathVariable("bookId") Long bookId, HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } userService.removeFromBookShelf(userDetails.getId(),bookId); - return ResultBean.ok(); + return RestResult.ok(); } /** * 分页查询书架 * */ @GetMapping("listBookShelfByPage") - public ResultBean listBookShelfByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize,HttpServletRequest request) { + public RestResult listBookShelfByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize,HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } - return ResultBean.ok(userService.listBookShelfByPage(userDetails.getId(),page,pageSize)); + return RestResult.ok(userService.listBookShelfByPage(userDetails.getId(),page,pageSize)); } /** * 分页查询阅读记录 * */ @GetMapping("listReadHistoryByPage") - public ResultBean listReadHistoryByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize,HttpServletRequest request) { + public RestResult listReadHistoryByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int pageSize,HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } - return ResultBean.ok(userService.listReadHistoryByPage(userDetails.getId(),page,pageSize)); + return RestResult.ok(userService.listReadHistoryByPage(userDetails.getId(),page,pageSize)); } /** * 添加阅读记录 * */ @PostMapping("addReadHistory") - public ResultBean addReadHistory(Long bookId,Long preContentId, HttpServletRequest request) { + public RestResult addReadHistory(Long bookId,Long preContentId, HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } userService.addReadHistory(userDetails.getId(),bookId,preContentId); - return ResultBean.ok(); + return RestResult.ok(); } /** * 添加反馈 * */ @PostMapping("addFeedBack") - public ResultBean addFeedBack(String content, HttpServletRequest request) { + public RestResult addFeedBack(String content, HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } userService.addFeedBack(userDetails.getId(),content); - return ResultBean.ok(); + return RestResult.ok(); } /** * 分页查询我的反馈列表 * */ @GetMapping("listUserFeedBackByPage") - public ResultBean listUserFeedBackByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize, HttpServletRequest request){ + public RestResult listUserFeedBackByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize, HttpServletRequest request){ UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } - return ResultBean.ok(userService.listUserFeedBackByPage(userDetails.getId(),page,pageSize)); + return RestResult.ok(userService.listUserFeedBackByPage(userDetails.getId(),page,pageSize)); } /** * 查询个人信息 * */ @GetMapping("userInfo") - public ResultBean userInfo(HttpServletRequest request) { + public RestResult userInfo(HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } - return ResultBean.ok(userService.userInfo(userDetails.getId())); + return RestResult.ok(userService.userInfo(userDetails.getId())); } /** * 更新个人信息 * */ @PostMapping("updateUserInfo") - public ResultBean updateUserInfo(@Validated({UpdateGroup.class}) User user, HttpServletRequest request) { + public RestResult updateUserInfo(@Validated({UpdateGroup.class}) User user, HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } userService.updateUserInfo(userDetails.getId(),user); if(user.getNickName() != null){ userDetails.setNickName(user.getNickName()); Map data = new HashMap<>(1); data.put("token", jwtTokenUtil.generateToken(userDetails)); - return ResultBean.ok(data); + return RestResult.ok(data); } - return ResultBean.ok(); + return RestResult.ok(); } @@ -234,28 +235,28 @@ public class UserController extends BaseController { * 更新密码 * */ @PostMapping("updatePassword") - public ResultBean updatePassword(String oldPassword,String newPassword1,String newPassword2,HttpServletRequest request) { + public RestResult updatePassword(String oldPassword,String newPassword1,String newPassword2,HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } if(!(StringUtils.isNotBlank(newPassword1) && newPassword1.equals(newPassword2))){ - ResultBean.fail(ResponseStatus.TWO_PASSWORD_DIFF); + RestResult.fail(ResponseStatus.TWO_PASSWORD_DIFF); } userService.updatePassword(userDetails.getId(),oldPassword,newPassword1); - return ResultBean.ok(); + return RestResult.ok(); } /** * 分页查询用户书评 * */ @GetMapping("listCommentByPage") - public ResultBean listCommentByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize,HttpServletRequest request) { + public RestResult listCommentByPage(@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize,HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } - return ResultBean.ok(bookService.listCommentByPage(userDetails.getId(),null,page,pageSize)); + return RestResult.ok(bookService.listCommentByPage(userDetails.getId(),null,page,pageSize)); } @@ -263,14 +264,14 @@ public class UserController extends BaseController { * 购买小说章节 * */ @PostMapping("buyBookIndex") - public ResultBean buyBookIndex(UserBuyRecord buyRecord, HttpServletRequest request) { + public RestResult buyBookIndex(UserBuyRecord buyRecord, HttpServletRequest request) { UserDetails userDetails = getUserDetails(request); if (userDetails == null) { - return ResultBean.fail(ResponseStatus.NO_LOGIN); + return RestResult.fail(ResponseStatus.NO_LOGIN); } buyRecord.setBuyAmount(bookService.queryBookIndex(buyRecord.getBookIndexId()).getBookPrice()); userService.buyBookIndex(userDetails.getId(),buyRecord); - return ResultBean.ok(); + return RestResult.ok(); } diff --git a/novel-front/src/main/java/com/java2nb/novel/core/filter/NovelFilter.java b/novel-front/src/main/java/com/java2nb/novel/core/filter/NovelFilter.java index 0f01f58..88e3e6d 100644 --- a/novel-front/src/main/java/com/java2nb/novel/core/filter/NovelFilter.java +++ b/novel-front/src/main/java/com/java2nb/novel/core/filter/NovelFilter.java @@ -3,6 +3,8 @@ package com.java2nb.novel.core.filter; import com.java2nb.novel.core.cache.CacheKey; import com.java2nb.novel.core.cache.CacheService; import com.java2nb.novel.core.utils.*; +import io.github.xxyopen.util.UUIDUtil; +import io.github.xxyopen.web.util.SpringUtil; import javax.servlet.*; import javax.servlet.http.Cookie; diff --git a/novel-front/src/main/java/com/java2nb/novel/core/utils/ThreadLocalUtil.java b/novel-front/src/main/java/com/java2nb/novel/core/utils/ThreadLocalUtil.java index b830c6f..0cc9da8 100644 --- a/novel-front/src/main/java/com/java2nb/novel/core/utils/ThreadLocalUtil.java +++ b/novel-front/src/main/java/com/java2nb/novel/core/utils/ThreadLocalUtil.java @@ -2,6 +2,7 @@ package com.java2nb.novel.core.utils; import com.java2nb.novel.core.cache.CacheKey; import com.java2nb.novel.core.cache.CacheService; +import io.github.xxyopen.web.util.SpringUtil; /** * 模板操作工具类 diff --git a/novel-front/src/main/java/com/java2nb/novel/page/PageController.java b/novel-front/src/main/java/com/java2nb/novel/page/PageController.java index 3a54449..873624a 100644 --- a/novel-front/src/main/java/com/java2nb/novel/page/PageController.java +++ b/novel-front/src/main/java/com/java2nb/novel/page/PageController.java @@ -1,13 +1,13 @@ package com.java2nb.novel.page; import com.java2nb.novel.controller.BaseController; -import com.java2nb.novel.core.bean.PageBean; import com.java2nb.novel.core.bean.UserDetails; import com.java2nb.novel.core.utils.ThreadLocalUtil; import com.java2nb.novel.entity.*; import com.java2nb.novel.service.*; import com.java2nb.novel.vo.BookCommentVO; import com.java2nb.novel.vo.BookSettingVO; +import io.github.xxyopen.model.page.PageBean; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; diff --git a/novel-front/src/main/java/com/java2nb/novel/service/AuthorService.java b/novel-front/src/main/java/com/java2nb/novel/service/AuthorService.java index 3c5437c..3c42acd 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/AuthorService.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/AuthorService.java @@ -1,7 +1,7 @@ package com.java2nb.novel.service; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.entity.Author; import com.java2nb.novel.entity.AuthorIncome; import com.java2nb.novel.entity.AuthorIncomeDetail; diff --git a/novel-front/src/main/java/com/java2nb/novel/service/BookService.java b/novel-front/src/main/java/com/java2nb/novel/service/BookService.java index 36b279e..7759811 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/BookService.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/BookService.java @@ -1,7 +1,7 @@ package com.java2nb.novel.service; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.entity.*; import com.java2nb.novel.vo.BookCommentVO; import com.java2nb.novel.vo.BookSettingVO; diff --git a/novel-front/src/main/java/com/java2nb/novel/service/NewsService.java b/novel-front/src/main/java/com/java2nb/novel/service/NewsService.java index 719a0e5..496bfd3 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/NewsService.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/NewsService.java @@ -1,7 +1,7 @@ package com.java2nb.novel.service; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.entity.News; import com.java2nb.novel.vo.NewsVO; diff --git a/novel-front/src/main/java/com/java2nb/novel/service/SearchService.java b/novel-front/src/main/java/com/java2nb/novel/service/SearchService.java index 52f1521..1454ab6 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/SearchService.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/SearchService.java @@ -1,11 +1,8 @@ package com.java2nb.novel.service; -import com.github.pagehelper.PageInfo; -import com.java2nb.novel.core.bean.PageBean; import com.java2nb.novel.entity.Book; import com.java2nb.novel.vo.BookSpVO; -import com.java2nb.novel.vo.BookVO; import com.java2nb.novel.vo.EsBookVO; /** @@ -26,5 +23,5 @@ public interface SearchService { * @param pageSize 每页大小 * @return 分页信息 */ - PageBean searchBook(BookSpVO params, int page, int pageSize); + io.github.xxyopen.model.page.PageBean searchBook(BookSpVO params, int page, int pageSize); } diff --git a/novel-front/src/main/java/com/java2nb/novel/service/UserService.java b/novel-front/src/main/java/com/java2nb/novel/service/UserService.java index 9826e6e..577954b 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/UserService.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/UserService.java @@ -1,7 +1,7 @@ package com.java2nb.novel.service; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.core.bean.UserDetails; import com.java2nb.novel.entity.UserBuyRecord; import com.java2nb.novel.entity.UserFeedback; diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/AuthorServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/AuthorServiceImpl.java index 5e8b31d..499e257 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/impl/AuthorServiceImpl.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/AuthorServiceImpl.java @@ -1,11 +1,12 @@ package com.java2nb.novel.service.impl; import com.github.pagehelper.PageHelper; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.core.cache.CacheKey; import com.java2nb.novel.core.cache.CacheService; import com.java2nb.novel.core.enums.ResponseStatus; -import com.java2nb.novel.core.exception.BusinessException; +import io.github.xxyopen.model.page.builder.pagehelper.PageBuilder; +import io.github.xxyopen.web.exception.BusinessException; import com.java2nb.novel.entity.Author; import com.java2nb.novel.entity.AuthorIncome; import com.java2nb.novel.entity.AuthorIncomeDetail; @@ -173,7 +174,7 @@ public class AuthorServiceImpl implements AuthorService { @Override public PageBean listIncomeDailyByPage(int page, int pageSize, Long userId, Long bookId, Date startTime, Date endTime) { PageHelper.startPage(page, pageSize); - return new PageBean<>(authorIncomeDetailMapper.selectMany( + return PageBuilder.build(authorIncomeDetailMapper.selectMany( select(AuthorIncomeDetailDynamicSqlSupport.incomeDate, AuthorIncomeDetailDynamicSqlSupport.incomeAccount , AuthorIncomeDetailDynamicSqlSupport.incomeCount, AuthorIncomeDetailDynamicSqlSupport.incomeNumber) .from(AuthorIncomeDetailDynamicSqlSupport.authorIncomeDetail) @@ -190,7 +191,7 @@ public class AuthorServiceImpl implements AuthorService { @Override public PageBean listIncomeMonthByPage(int page, int pageSize, Long userId, Long bookId) { PageHelper.startPage(page, pageSize); - return new PageBean<>(authorIncomeMapper.selectMany(select(AuthorIncomeDynamicSqlSupport.incomeMonth + return PageBuilder.build(authorIncomeMapper.selectMany(select(AuthorIncomeDynamicSqlSupport.incomeMonth , AuthorIncomeDynamicSqlSupport.preTaxIncome , AuthorIncomeDynamicSqlSupport.afterTaxIncome , AuthorIncomeDynamicSqlSupport.payStatus diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java index f165675..056bda6 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java @@ -2,15 +2,12 @@ package com.java2nb.novel.service.impl; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.pagehelper.PageHelper; -import com.java2nb.novel.core.bean.PageBean; import com.java2nb.novel.core.cache.CacheKey; import com.java2nb.novel.core.cache.CacheService; import com.java2nb.novel.core.config.BookPriceProperties; import com.java2nb.novel.core.enums.ResponseStatus; -import com.java2nb.novel.core.exception.BusinessException; -import com.java2nb.novel.core.utils.BeanUtil; +import io.github.xxyopen.web.util.BeanUtil; import com.java2nb.novel.core.utils.Constants; -import com.java2nb.novel.core.utils.IdWorker; import com.java2nb.novel.core.utils.StringUtil; import com.java2nb.novel.entity.Book; import com.java2nb.novel.entity.*; @@ -23,6 +20,10 @@ import com.java2nb.novel.vo.BookCommentVO; import com.java2nb.novel.vo.BookSettingVO; import com.java2nb.novel.vo.BookSpVO; import com.java2nb.novel.vo.BookVO; +import io.github.xxyopen.model.page.PageBean; +import io.github.xxyopen.model.page.builder.pagehelper.PageBuilder; +import io.github.xxyopen.util.IdWorker; +import io.github.xxyopen.web.exception.BusinessException; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -216,8 +217,7 @@ public class BookServiceImpl implements BookService { if (StringUtils.isNotBlank(params.getSort())) { OrderByHelper.orderBy(params.getSort() + " desc"); } - return new PageBean<>(bookMapper.searchByPage(params)); - + return PageBuilder.build(bookMapper.searchByPage(params)); } @@ -388,7 +388,7 @@ public class BookServiceImpl implements BookService { public PageBean listCommentByPage(Long userId, Long bookId, int page, int pageSize) { PageHelper.startPage(page, pageSize); OrderByHelper.orderBy("t1.create_time desc"); - return new PageBean<>(bookCommentMapper.listCommentByPage(userId, bookId)); + return PageBuilder.build(bookCommentMapper.listCommentByPage(userId, bookId)); } @Transactional(rollbackFor = Exception.class) @@ -428,7 +428,7 @@ public class BookServiceImpl implements BookService { } else { //作者不存在,先创建作者 Date currentDate = new Date(); - authorId = new IdWorker().nextId(); + authorId = IdWorker.INSTANCE.nextId(); BookAuthor bookAuthor = new BookAuthor(); bookAuthor.setId(authorId); bookAuthor.setPenName(authorName); @@ -505,7 +505,7 @@ public class BookServiceImpl implements BookService { .orderBy(BookDynamicSqlSupport.createTime.descending()) .build() .render(RenderingStrategies.MYBATIS3); - return new PageBean<>(bookMapper.selectMany(selectStatement)); + return PageBuilder.build(bookMapper.selectMany(selectStatement)); } @@ -548,7 +548,7 @@ public class BookServiceImpl implements BookService { //并不是更新自己的小说 return; } - Long lastIndexId = new IdWorker().nextId(); + Long lastIndexId = IdWorker.INSTANCE.nextId(); Date currentDate = new Date(); int wordCount = StringUtil.getStrValidWordCount(content); diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/DbBookContentServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/DbBookContentServiceImpl.java index 7d5fce0..8d4ae55 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/impl/DbBookContentServiceImpl.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/DbBookContentServiceImpl.java @@ -7,14 +7,10 @@ import com.java2nb.novel.service.BookContentService; import lombok.RequiredArgsConstructor; import org.mybatis.dynamic.sql.render.RenderingStrategies; import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; -import java.util.List; - import static com.java2nb.novel.mapper.BookContentDynamicSqlSupport.bookContent; import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo; -import static org.mybatis.dynamic.sql.SqlBuilder.update; import static org.mybatis.dynamic.sql.select.SelectDSL.select; diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/FriendLinkServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/FriendLinkServiceImpl.java index b065016..cea174d 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/impl/FriendLinkServiceImpl.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/FriendLinkServiceImpl.java @@ -1,6 +1,6 @@ package com.java2nb.novel.service.impl; -import com.java2nb.novel.core.utils.BeanUtil; +import io.github.xxyopen.web.util.BeanUtil; import com.java2nb.novel.service.FriendLinkService; import com.java2nb.novel.core.cache.CacheKey; import com.java2nb.novel.core.cache.CacheService; diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/NewsServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/NewsServiceImpl.java index ea75678..ce4ba9c 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/impl/NewsServiceImpl.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/NewsServiceImpl.java @@ -1,8 +1,8 @@ package com.java2nb.novel.service.impl; import com.github.pagehelper.PageHelper; -import com.java2nb.novel.core.bean.PageBean; -import com.java2nb.novel.core.utils.BeanUtil; +import io.github.xxyopen.model.page.PageBean; +import io.github.xxyopen.web.util.BeanUtil; import com.java2nb.novel.mapper.FrontNewsMapper; import com.java2nb.novel.service.NewsService; import com.java2nb.novel.core.cache.CacheKey; @@ -10,6 +10,7 @@ import com.java2nb.novel.core.cache.CacheService; import com.java2nb.novel.entity.News; import com.java2nb.novel.mapper.NewsMapper; import com.java2nb.novel.vo.NewsVO; +import io.github.xxyopen.model.page.builder.pagehelper.PageBuilder; import lombok.RequiredArgsConstructor; import org.mybatis.dynamic.sql.render.RenderingStrategies; import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; @@ -69,7 +70,7 @@ public class NewsServiceImpl implements NewsService { .build() .render(RenderingStrategies.MYBATIS3); List news = newsMapper.selectMany(selectStatement); - PageBean pageBean = new PageBean<>(news); + PageBean pageBean = PageBuilder.build(news); pageBean.setList(BeanUtil.copyList(news,NewsVO.class)); return pageBean; } diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/SearchServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/SearchServiceImpl.java index b77e7a6..33611cf 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/impl/SearchServiceImpl.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/SearchServiceImpl.java @@ -2,15 +2,13 @@ package com.java2nb.novel.service.impl; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.pagehelper.PageInfo; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.core.enums.ResponseStatus; -import com.java2nb.novel.core.exception.BusinessException; -import com.java2nb.novel.core.utils.StringUtil; +import io.github.xxyopen.util.StringUtil; +import io.github.xxyopen.web.exception.BusinessException; import com.java2nb.novel.entity.Book; import com.java2nb.novel.vo.BookSpVO; import com.java2nb.novel.service.SearchService; -import com.java2nb.novel.vo.BookVO; import com.java2nb.novel.vo.EsBookVO; import io.searchbox.client.JestClient; import io.searchbox.core.Count; @@ -200,8 +198,7 @@ public class SearchServiceImpl implements SearchService { } } } - - return new PageBean<>(page,pageSize,total.longValue(),bookList); + return new PageBean<>(page, pageSize, total.longValue(), bookList); } throw new BusinessException(ResponseStatus.ES_SEARCH_FAIL); } diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/UserServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/UserServiceImpl.java index e3b971a..b4970b6 100644 --- a/novel-front/src/main/java/com/java2nb/novel/service/impl/UserServiceImpl.java +++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/UserServiceImpl.java @@ -1,20 +1,21 @@ package com.java2nb.novel.service.impl; import com.github.pagehelper.PageHelper; -import com.java2nb.novel.core.bean.PageBean; +import io.github.xxyopen.model.page.PageBean; import com.java2nb.novel.core.bean.UserDetails; -import com.java2nb.novel.core.utils.BeanUtil; import com.java2nb.novel.entity.*; import com.java2nb.novel.entity.User; import com.java2nb.novel.service.UserService; import com.java2nb.novel.core.enums.ResponseStatus; -import com.java2nb.novel.core.exception.BusinessException; +import io.github.xxyopen.model.page.builder.pagehelper.PageBuilder; +import io.github.xxyopen.util.IdWorker; +import io.github.xxyopen.util.MD5Util; +import io.github.xxyopen.web.exception.BusinessException; import com.java2nb.novel.mapper.*; import com.java2nb.novel.vo.BookReadHistoryVO; import com.java2nb.novel.vo.BookShelfVO; -import com.java2nb.novel.core.utils.IdWorker; -import com.java2nb.novel.core.utils.MD5Util; import com.java2nb.novel.vo.UserFeedbackVO; +import io.github.xxyopen.web.util.BeanUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.Charsets; @@ -73,7 +74,7 @@ public class UserServiceImpl implements UserService { User entity = new User(); BeanUtils.copyProperties(user,entity); //数据库生成注册记录 - Long id = new IdWorker().nextId(); + Long id = IdWorker.INSTANCE.nextId(); entity.setId(id); entity.setNickName(entity.getUsername()); Date currentDate = new Date(); @@ -150,7 +151,7 @@ public class UserServiceImpl implements UserService { @Override public PageBean listBookShelfByPage(Long userId, int page, int pageSize) { PageHelper.startPage(page, pageSize); - return new PageBean<>(userBookshelfMapper.listBookShelf(userId)); + return PageBuilder.build(userBookshelfMapper.listBookShelf(userId)); } @Transactional(rollbackFor = Exception.class) @@ -211,7 +212,7 @@ public class UserServiceImpl implements UserService { .build() .render(RenderingStrategies.MYBATIS3); List userFeedbacks = userFeedbackMapper.selectMany(selectStatement); - PageBean pageBean = new PageBean<>(userFeedbacks); + PageBean pageBean = PageBuilder.build(userFeedbacks); pageBean.setList(BeanUtil.copyList(userFeedbacks,UserFeedbackVO.class)); return pageBean; } @@ -229,7 +230,7 @@ public class UserServiceImpl implements UserService { @Override public PageBean listReadHistoryByPage(Long userId, int page, int pageSize) { PageHelper.startPage(page, pageSize); - return new PageBean<>(userReadHistoryMapper.listReadHistory(userId)); + return PageBuilder.build(userReadHistoryMapper.listReadHistory(userId)); } @Override diff --git a/novel-front/src/main/resources/application.yml b/novel-front/src/main/resources/application.yml index d919598..8ef3bd8 100644 --- a/novel-front/src/main/resources/application.yml +++ b/novel-front/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 8080 + port: 8083 spring: profiles: diff --git a/pom.xml b/pom.xml index 488c49b..5d0d04f 100644 --- a/pom.xml +++ b/pom.xml @@ -78,35 +78,33 @@ - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - + ali + https://maven.aliyun.com/repository/public + true + + + false - spring-milestones - Spring Milestones - https://repo.spring.io/milestone + oss + https://s01.oss.sonatype.org/content/groups/public/ + + true + - false + true - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - + ali-plugin + https://maven.aliyun.com/repository/public + true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone + false