diff --git a/novel-admin/pom.xml b/novel-admin/pom.xml
index d20fbbc..cafc30b 100644
--- a/novel-admin/pom.xml
+++ b/novel-admin/pom.xml
@@ -5,7 +5,7 @@
com.java2nb
novel-admin
- 5.2.1
+ 5.2.2
jar
novel-admin
diff --git a/novel-admin/src/main/java/com/java2nb/common/annotation/ValidateSortOrder.java b/novel-admin/src/main/java/com/java2nb/common/annotation/ValidateSortOrder.java
new file mode 100644
index 0000000..81b55b3
--- /dev/null
+++ b/novel-admin/src/main/java/com/java2nb/common/annotation/ValidateSortOrder.java
@@ -0,0 +1,13 @@
+package com.java2nb.common.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * @author xiongxiaoyang
+ * @date 2025/7/17
+ */
+@Target(ElementType.PARAMETER)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface ValidateSortOrder {
+}
diff --git a/novel-admin/src/main/java/com/java2nb/common/aspect/SortOrderValidationAspect.java b/novel-admin/src/main/java/com/java2nb/common/aspect/SortOrderValidationAspect.java
new file mode 100644
index 0000000..01da149
--- /dev/null
+++ b/novel-admin/src/main/java/com/java2nb/common/aspect/SortOrderValidationAspect.java
@@ -0,0 +1,56 @@
+package com.java2nb.common.aspect;
+
+import com.java2nb.common.annotation.ValidateSortOrder;
+import com.java2nb.common.utils.SortWhitelistUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.stereotype.Component;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.Map;
+
+/**
+ * @author xiongxiaoyang
+ * @date 2025/7/17
+ */
+@Aspect
+@Component
+@RequiredArgsConstructor
+public class SortOrderValidationAspect {
+
+ /**
+ * 拦截所有的mapper方法
+ */
+ @SneakyThrows
+ @Around("execution(* com.java2nb.*.dao.*Dao.*(..))")
+ public Object validateSortAndOrder(ProceedingJoinPoint joinPoint) {
+ Object[] args = joinPoint.getArgs();
+ MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+ Method method = signature.getMethod();
+
+ Annotation[][] parameterAnnotations = method.getParameterAnnotations();
+
+ for (int i = 0; i < parameterAnnotations.length; i++) {
+ boolean hasAnnotation = Arrays.stream(parameterAnnotations[i])
+ .anyMatch(a -> a.annotationType().equals(ValidateSortOrder.class));
+
+ if (hasAnnotation && args[i] instanceof Map map) {
+ if (map.get("sort") instanceof String sortStr) {
+ map.put("sort", SortWhitelistUtil.sanitizeColumn(sortStr));
+ }
+ if (map.get("order") instanceof String orderStr) {
+ map.put("order", SortWhitelistUtil.sanitizeOrder(orderStr));
+ }
+ }
+ }
+
+ return joinPoint.proceed(args);
+ }
+
+}
diff --git a/novel-admin/src/main/java/com/java2nb/common/dao/DictDao.java b/novel-admin/src/main/java/com/java2nb/common/dao/DictDao.java
index 6fab6f6..c358fa8 100644
--- a/novel-admin/src/main/java/com/java2nb/common/dao/DictDao.java
+++ b/novel-admin/src/main/java/com/java2nb/common/dao/DictDao.java
@@ -1,5 +1,6 @@
package com.java2nb.common.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
import com.java2nb.common.domain.DictDO;
import java.util.List;
@@ -19,7 +20,7 @@ public interface DictDao {
DictDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/common/dao/FileDao.java b/novel-admin/src/main/java/com/java2nb/common/dao/FileDao.java
index 2aa5769..3dec742 100644
--- a/novel-admin/src/main/java/com/java2nb/common/dao/FileDao.java
+++ b/novel-admin/src/main/java/com/java2nb/common/dao/FileDao.java
@@ -1,5 +1,6 @@
package com.java2nb.common.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
import com.java2nb.common.domain.FileDO;
import java.util.List;
@@ -18,7 +19,7 @@ public interface FileDao {
FileDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/common/dao/GenColumnsDao.java b/novel-admin/src/main/java/com/java2nb/common/dao/GenColumnsDao.java
index 1985bbf..c5ee927 100644
--- a/novel-admin/src/main/java/com/java2nb/common/dao/GenColumnsDao.java
+++ b/novel-admin/src/main/java/com/java2nb/common/dao/GenColumnsDao.java
@@ -3,6 +3,7 @@ package com.java2nb.common.dao;
import java.util.List;
import java.util.Map;
+import com.java2nb.common.annotation.ValidateSortOrder;
import com.java2nb.common.domain.GenColumnsDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -19,7 +20,7 @@ public interface GenColumnsDao {
GenColumnsDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/common/dao/LogDao.java b/novel-admin/src/main/java/com/java2nb/common/dao/LogDao.java
index e859984..7e3e42a 100644
--- a/novel-admin/src/main/java/com/java2nb/common/dao/LogDao.java
+++ b/novel-admin/src/main/java/com/java2nb/common/dao/LogDao.java
@@ -1,5 +1,6 @@
package com.java2nb.common.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
import com.java2nb.common.domain.LogDO;
import java.util.List;
@@ -18,7 +19,7 @@ public interface LogDao {
LogDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/common/utils/SortWhitelistUtil.java b/novel-admin/src/main/java/com/java2nb/common/utils/SortWhitelistUtil.java
new file mode 100644
index 0000000..2ca8300
--- /dev/null
+++ b/novel-admin/src/main/java/com/java2nb/common/utils/SortWhitelistUtil.java
@@ -0,0 +1,28 @@
+package com.java2nb.common.utils;
+
+import lombok.experimental.UtilityClass;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author xiongxiaoyang
+ * @date 2025/7/17
+ */
+@UtilityClass
+public class SortWhitelistUtil {
+
+ private final Set allowedColumns = new HashSet<>(
+ Arrays.asList("id", "name", "create_time", "update_time", "order_num", "last_index_update_time", "word_count",
+ "visit_count"));
+ private final Set allowedOrders = new HashSet<>(Arrays.asList("asc", "desc"));
+
+ public String sanitizeColumn(String input) {
+ return allowedColumns.contains(input.toLowerCase()) ? input.toLowerCase() : "id";
+ }
+
+ public String sanitizeOrder(String input) {
+ return allowedOrders.contains(input.toLowerCase()) ? input.toLowerCase() : "asc";
+ }
+}
\ No newline at end of file
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/AuthorCodeDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/AuthorCodeDao.java
index 3300858..2beee31 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/AuthorCodeDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/AuthorCodeDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.AuthorCodeDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface AuthorCodeDao {
AuthorCodeDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/AuthorDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/AuthorDao.java
index 9dd6632..44daeaf 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/AuthorDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/AuthorDao.java
@@ -1,5 +1,6 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
import com.java2nb.novel.domain.AuthorDO;
import java.util.Date;
@@ -19,7 +20,7 @@ public interface AuthorDao {
AuthorDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/BookCommentDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/BookCommentDao.java
index 24dd6fd..7350a31 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/BookCommentDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/BookCommentDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.BookCommentDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface BookCommentDao {
BookCommentDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/BookContentDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/BookContentDao.java
index fcdcdfa..697340d 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/BookContentDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/BookContentDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.BookContentDO;
import org.apache.ibatis.annotations.Mapper;
@@ -18,7 +20,7 @@ public interface BookContentDao {
BookContentDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/BookDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/BookDao.java
index bb4fa5f..7ccec2d 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/BookDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/BookDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.BookDO;
import org.apache.ibatis.annotations.Mapper;
@@ -19,7 +21,7 @@ public interface BookDao {
BookDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/BookIndexDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/BookIndexDao.java
index 2536d92..56e70ff 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/BookIndexDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/BookIndexDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.BookIndexDO;
import org.apache.ibatis.annotations.Mapper;
@@ -18,7 +20,7 @@ public interface BookIndexDao {
BookIndexDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/BookSettingDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/BookSettingDao.java
index 532a349..2cbb02f 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/BookSettingDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/BookSettingDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.BookSettingDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface BookSettingDao {
BookSettingDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/CategoryDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/CategoryDao.java
index 55139d3..d8c1904 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/CategoryDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/CategoryDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.CategoryDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface CategoryDao {
CategoryDO get(Integer id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/FriendLinkDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/FriendLinkDao.java
index d8b587c..e3698f6 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/FriendLinkDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/FriendLinkDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.FriendLinkDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface FriendLinkDao {
FriendLinkDO get(Integer id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/NewsDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/NewsDao.java
index 3366eef..c909ca9 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/NewsDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/NewsDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.NewsDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface NewsDao {
NewsDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/PayDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/PayDao.java
index acb672e..acb5aa9 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/PayDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/PayDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.PayDO;
import java.util.Date;
@@ -19,7 +21,7 @@ public interface PayDao {
PayDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/UserDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/UserDao.java
index e641e61..d42d2a4 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/UserDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/UserDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.UserDO;
import org.apache.ibatis.annotations.Mapper;
@@ -17,7 +19,7 @@ public interface UserDao {
UserDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/UserFeedbackDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/UserFeedbackDao.java
index 65b8744..a17eb60 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/UserFeedbackDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/UserFeedbackDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.UserFeedbackDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface UserFeedbackDao {
UserFeedbackDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/novel/dao/WebsiteInfoDao.java b/novel-admin/src/main/java/com/java2nb/novel/dao/WebsiteInfoDao.java
index f84ee58..9d646b9 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/dao/WebsiteInfoDao.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/dao/WebsiteInfoDao.java
@@ -1,5 +1,7 @@
package com.java2nb.novel.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.novel.domain.WebsiteInfoDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface WebsiteInfoDao {
WebsiteInfoDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/system/dao/DataPermDao.java b/novel-admin/src/main/java/com/java2nb/system/dao/DataPermDao.java
index 5651a23..ba2103f 100644
--- a/novel-admin/src/main/java/com/java2nb/system/dao/DataPermDao.java
+++ b/novel-admin/src/main/java/com/java2nb/system/dao/DataPermDao.java
@@ -1,5 +1,7 @@
package com.java2nb.system.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.system.domain.DataPermDO;
import java.util.List;
@@ -19,7 +21,7 @@ public interface DataPermDao {
DataPermDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/system/dao/DeptDao.java b/novel-admin/src/main/java/com/java2nb/system/dao/DeptDao.java
index 0b1a979..c2b11e2 100644
--- a/novel-admin/src/main/java/com/java2nb/system/dao/DeptDao.java
+++ b/novel-admin/src/main/java/com/java2nb/system/dao/DeptDao.java
@@ -1,5 +1,7 @@
package com.java2nb.system.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.system.domain.DeptDO;
import java.util.List;
@@ -19,7 +21,7 @@ public interface DeptDao {
DeptDO get(Long deptId);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/system/dao/MenuDao.java b/novel-admin/src/main/java/com/java2nb/system/dao/MenuDao.java
index 454a03c..7d6ce8c 100644
--- a/novel-admin/src/main/java/com/java2nb/system/dao/MenuDao.java
+++ b/novel-admin/src/main/java/com/java2nb/system/dao/MenuDao.java
@@ -1,5 +1,7 @@
package com.java2nb.system.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.system.domain.MenuDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface MenuDao {
MenuDO get(Long menuId);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/system/dao/RoleDao.java b/novel-admin/src/main/java/com/java2nb/system/dao/RoleDao.java
index 21c3572..6e1d425 100644
--- a/novel-admin/src/main/java/com/java2nb/system/dao/RoleDao.java
+++ b/novel-admin/src/main/java/com/java2nb/system/dao/RoleDao.java
@@ -1,5 +1,7 @@
package com.java2nb.system.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.system.domain.RoleDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface RoleDao {
RoleDO get(Long roleId);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/system/dao/RoleDataPermDao.java b/novel-admin/src/main/java/com/java2nb/system/dao/RoleDataPermDao.java
index df978b0..5d4eb85 100644
--- a/novel-admin/src/main/java/com/java2nb/system/dao/RoleDataPermDao.java
+++ b/novel-admin/src/main/java/com/java2nb/system/dao/RoleDataPermDao.java
@@ -1,5 +1,7 @@
package com.java2nb.system.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.system.domain.RoleDataPermDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface RoleDataPermDao {
RoleDataPermDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/system/dao/RoleMenuDao.java b/novel-admin/src/main/java/com/java2nb/system/dao/RoleMenuDao.java
index 6c07032..7625a0c 100644
--- a/novel-admin/src/main/java/com/java2nb/system/dao/RoleMenuDao.java
+++ b/novel-admin/src/main/java/com/java2nb/system/dao/RoleMenuDao.java
@@ -1,5 +1,7 @@
package com.java2nb.system.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.system.domain.RoleMenuDO;
import java.util.List;
@@ -18,7 +20,7 @@ public interface RoleMenuDao {
RoleMenuDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/system/dao/SysUserDao.java b/novel-admin/src/main/java/com/java2nb/system/dao/SysUserDao.java
index 4979a42..1bef4be 100644
--- a/novel-admin/src/main/java/com/java2nb/system/dao/SysUserDao.java
+++ b/novel-admin/src/main/java/com/java2nb/system/dao/SysUserDao.java
@@ -1,5 +1,7 @@
package com.java2nb.system.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.system.domain.UserDO;
import java.util.List;
@@ -19,7 +21,7 @@ public interface SysUserDao {
UserDO get(Long userId);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/java/com/java2nb/system/dao/UserRoleDao.java b/novel-admin/src/main/java/com/java2nb/system/dao/UserRoleDao.java
index b3c863f..10f385f 100644
--- a/novel-admin/src/main/java/com/java2nb/system/dao/UserRoleDao.java
+++ b/novel-admin/src/main/java/com/java2nb/system/dao/UserRoleDao.java
@@ -1,5 +1,7 @@
package com.java2nb.system.dao;
+import com.java2nb.common.annotation.ValidateSortOrder;
+
import com.java2nb.system.domain.UserRoleDO;
import java.util.List;
@@ -19,7 +21,7 @@ public interface UserRoleDao {
UserRoleDO get(Long id);
- List list(Map map);
+ List list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/resources/templates/common/generator/Dao.java.vm b/novel-admin/src/main/resources/templates/common/generator/Dao.java.vm
index 0964018..b3d5f41 100644
--- a/novel-admin/src/main/resources/templates/common/generator/Dao.java.vm
+++ b/novel-admin/src/main/resources/templates/common/generator/Dao.java.vm
@@ -18,7 +18,7 @@ public interface ${className}Dao {
${className}DO get(${pk.javaType} ${pk.attrname});
- List<${className}DO> list(Map map);
+ List<${className}DO> list(@ValidateSortOrder Map map);
int count(Map map);
diff --git a/novel-admin/src/main/resources/templates/common/generator/Mapper.java.vm b/novel-admin/src/main/resources/templates/common/generator/Mapper.java.vm
index 1e70543..ffdbe09 100644
--- a/novel-admin/src/main/resources/templates/common/generator/Mapper.java.vm
+++ b/novel-admin/src/main/resources/templates/common/generator/Mapper.java.vm
@@ -44,7 +44,7 @@ public interface ${className}Mapper {
"limit #{offset}, #{limit}" +
""+
"")
- List<${className}DO> list(Map map);
+ List<${className}DO> list(@ValidateSortOrder Map map);
@Select("