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