diff --git a/.idea/csv-editor.xml b/.idea/csv-editor.xml
deleted file mode 100644
index af8e228..0000000
--- a/.idea/csv-editor.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/client/src/pages/book/Bookshelf.tsx b/client/src/pages/book/Bookshelf.tsx
index f5407a7..1cfc2a2 100644
--- a/client/src/pages/book/Bookshelf.tsx
+++ b/client/src/pages/book/Bookshelf.tsx
@@ -96,7 +96,7 @@ function Bookshelf() {
{
name: 'name',
label: '书名',
- width: 120,
+ width: 150,
fixed: 'left',
},
{
diff --git a/client/src/pages/book/Chapter.tsx b/client/src/pages/book/Chapter.tsx
index 881259b..e5c3026 100644
--- a/client/src/pages/book/Chapter.tsx
+++ b/client/src/pages/book/Chapter.tsx
@@ -65,7 +65,7 @@ function Chapter() {
{
type: 'action',
label: '',
- icon: 'fa fa-book-open-reader',
+ icon: 'fa fa-rotate-right',
actionType: 'ajax',
tooltip: '序号重排',
tooltipPlacement: 'top',
@@ -76,7 +76,7 @@ function Chapter() {
{
type: 'action',
label: '',
- icon: 'fa fa-glasses',
+ icon: 'fa fa-book-open-reader',
actionType: 'dialog',
tooltip: '全文阅读',
tooltipPlacement: 'top',
diff --git a/src/main/java/com/lanyuanxiaoyao/bookstore/helper/OptimiseHelper.java b/src/main/java/com/lanyuanxiaoyao/bookstore/helper/OptimiseHelper.java
new file mode 100644
index 0000000..741e755
--- /dev/null
+++ b/src/main/java/com/lanyuanxiaoyao/bookstore/helper/OptimiseHelper.java
@@ -0,0 +1,54 @@
+package com.lanyuanxiaoyao.bookstore.helper;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 优化工具
+ *
+ * @author lanyuanxiaoyao
+ * @version 20250929
+ */
+@Slf4j
+public class OptimiseHelper {
+ public static String optimize(String text) {
+ // 移除空行
+ text = StrUtil.trimToNull(text);
+ if (ObjectUtil.isNull(text)) {
+ return null;
+ }
+
+ // 英文全角字符转换为半角字符
+ text = halfWidth(text);
+
+
+ return text;
+ }
+
+ private static String halfWidth(String text) {
+ var builder = new StringBuilder();
+ for (var c : text.toCharArray()) {
+ // 检查是否为全角数字 (U+FF10 到 U+FF19)
+ if (c >= 0xFF10 && c <= 0xFF19) {
+ // 对应的半角数字是 (c - 0xFEE0)
+ builder.append((char) (c - 0xFEE0));
+ }
+ // 检查是否为全角大写字母 (U+FF21 到 U+FF3A)
+ else if (c >= 0xFF21 && c <= 0xFF3A) {
+ // 对应的半角字母是 (c - 0xFEE0)
+ builder.append((char) (c - 0xFEE0));
+ }
+ // 检查是否为全角小写字母 (U+FF41 到 U+FF5A)
+ else if (c >= 0xFF41 && c <= 0xFF5A) {
+ // 对应的半角字母是 (c - 0xFEE0)
+ builder.append((char) (c - 0xFEE0));
+ }
+ // 非全角字母和数字字符直接添加
+ else {
+ builder.append(c);
+ }
+ }
+ return builder.toString();
+ }
+}
diff --git a/src/main/java/com/lanyuanxiaoyao/bookstore/repository/ChapterRepository.java b/src/main/java/com/lanyuanxiaoyao/bookstore/repository/ChapterRepository.java
index ca1c356..f1bc921 100644
--- a/src/main/java/com/lanyuanxiaoyao/bookstore/repository/ChapterRepository.java
+++ b/src/main/java/com/lanyuanxiaoyao/bookstore/repository/ChapterRepository.java
@@ -8,7 +8,7 @@ import org.springframework.stereotype.Repository;
@Repository
public interface ChapterRepository extends SimpleRepository {
- @Query("select max(chapter.sequence) from Chapter chapter")
+ @Query("select max(chapter.sequence) from Chapter chapter where chapter.book.id = ?1")
Optional findMaxSequence(Long bookId);
}