From d2279ff182d0c33e0ca6ef84a1ed351cf05d8798 Mon Sep 17 00:00:00 2001 From: Tankaikai Date: Wed, 2 Apr 2025 18:57:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E5=89=A7=E6=96=B0=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/ext/dao/ExtSysDao.java | 2 ++ .../ext/service/impl/ExtSysServiceImpl.java | 21 +++++++++++----- src/main/resources/mapper/ext/ExtSysDao.xml | 25 +++++++++++++++++++ 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/sqx/modules/ext/dao/ExtSysDao.java b/src/main/java/com/sqx/modules/ext/dao/ExtSysDao.java index 2750ec90..a16a6ffe 100644 --- a/src/main/java/com/sqx/modules/ext/dao/ExtSysDao.java +++ b/src/main/java/com/sqx/modules/ext/dao/ExtSysDao.java @@ -14,6 +14,8 @@ import java.util.List; */ @Mapper public interface ExtSysDao { + long commonCount(@Param("keywords") String keywords); + List findInviteFriendList(@Param("keywords") String keywords); List findInviteSignInList(@Param("userId") Long userId); diff --git a/src/main/java/com/sqx/modules/ext/service/impl/ExtSysServiceImpl.java b/src/main/java/com/sqx/modules/ext/service/impl/ExtSysServiceImpl.java index bffdd399..fdfdb631 100644 --- a/src/main/java/com/sqx/modules/ext/service/impl/ExtSysServiceImpl.java +++ b/src/main/java/com/sqx/modules/ext/service/impl/ExtSysServiceImpl.java @@ -82,8 +82,9 @@ public class ExtSysServiceImpl implements ExtSysService { @Override public PageUtils queryInviteFriendRecord(Integer page, Integer limit, String keywords) { + String countSql = sqlFetcher.getSqlFromXml("com.sqx.modules.ext.dao.ExtSysDao.commonCount", keywords); + int totalCount = getTotalCount(countSql); String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.ext.dao.ExtSysDao.findInviteFriendList", keywords); - int totalCount = getTotalCount(sql); List list = getQueryList(sql, InviteFriendDTO.class, totalCount, page, limit); return new PageUtils(list, totalCount, limit, page); } @@ -91,7 +92,7 @@ public class ExtSysServiceImpl implements ExtSysService { @Override public PageUtils queryInviteSignInRecord(Integer page, Integer limit, Long userId) { String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.ext.dao.ExtSysDao.findInviteSignInList", userId); - int totalCount = getTotalCount(sql); + int totalCount = getFullTotalCount(sql); List list = getQueryList(sql, SignInNumDTO.class, totalCount, page, limit); return new PageUtils(list, totalCount, limit, page); } @@ -99,15 +100,16 @@ public class ExtSysServiceImpl implements ExtSysService { @Override public PageUtils queryInviteAwardDetailRecord(Integer page, Integer limit, Long userId) { String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.ext.dao.ExtSysDao.findInviteAwardDetailList", userId); - int totalCount = getTotalCount(sql); + int totalCount = getFullTotalCount(sql); List list = getQueryList(sql, InviteAwardDTO.class, totalCount, page, limit); return new PageUtils(list, totalCount, limit, page); } @Override public PageUtils queryLotteryCountPage(Integer page, Integer limit, String keywords) { + String countSql = sqlFetcher.getSqlFromXml("com.sqx.modules.ext.dao.ExtSysDao.commonCount", keywords); + int totalCount = getTotalCount(countSql); String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.ext.dao.ExtSysDao.findLotteryCountList", keywords); - int totalCount = getTotalCount(sql); List list = getQueryList(sql, LotteryCountQueryDTO.class, totalCount, page, limit); return new PageUtils(list, totalCount, limit, page); } @@ -115,13 +117,20 @@ public class ExtSysServiceImpl implements ExtSysService { @Override public PageUtils queryLotteryDetailPage(Integer page, Integer limit, Long userId) { String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.ext.dao.ExtSysDao.findLotteryDetailPage", userId); - int totalCount = getTotalCount(sql); + int totalCount = getFullTotalCount(sql); List list = getQueryList(sql, LotteryDetailDTO.class, totalCount, page, limit); return new PageUtils(list, totalCount, limit, page); } @SneakyThrows - private int getTotalCount(String sql) { + private int getTotalCount(String countSql) { + System.out.println("CountSQL:" + countSql); + Number count = Db.use(profiles).queryNumber(countSql); + return count.intValue(); + } + + @SneakyThrows + private int getFullTotalCount(String sql) { String countSql = StrUtil.format("select count(*) from ({}) as tmp", sql); System.out.println("CountSQL:" + countSql); Number count = Db.use(profiles).queryNumber(countSql); diff --git a/src/main/resources/mapper/ext/ExtSysDao.xml b/src/main/resources/mapper/ext/ExtSysDao.xml index 7616eeaa..16732d2b 100644 --- a/src/main/resources/mapper/ext/ExtSysDao.xml +++ b/src/main/resources/mapper/ext/ExtSysDao.xml @@ -2,6 +2,29 @@ + + + + and (t1.user_name = '${keywords}' or t1.phone = '${keywords}') + + + + + + + \ No newline at end of file