This commit is contained in:
2025-01-02 18:54:38 +08:00
parent f4998e1073
commit 2f2bae4aca
4 changed files with 135 additions and 105 deletions

View File

@@ -1,101 +1,132 @@
package com.sqx.common.utils; package com.sqx.common.utils;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
* 分页工具类 * 分页工具类
*
*/ */
public class PageUtils implements Serializable { public class PageUtils implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 总记录数 * 总记录数
*/ */
private int totalCount; private int totalCount;
/** /**
* 每页记录数 * 每页记录数
*/ */
private int pageSize; private int pageSize;
/** /**
* 总页数 * 总页数
*/ */
private int totalPage; private int totalPage;
/** /**
* 当前页数 * 当前页数
*/ */
private int currPage; private int currPage;
/** /**
* 列表数据 * 列表数据
*/ */
private List<?> list; private List<?> list;
private List<?> records;
/**
* 分页
* @param list 列表数据
* @param totalCount 总记录数
* @param pageSize 每页记录数
* @param currPage 当前页数
*/
public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
this.list = list;
this.totalCount = totalCount;
this.pageSize = pageSize;
this.currPage = currPage;
this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
}
/**
* 分页
*/
public PageUtils(IPage<?> page) {
this.list = page.getRecords();
this.totalCount = (int)page.getTotal();
this.pageSize = (int)page.getSize();
this.currPage = (int)page.getCurrent();
this.totalPage = (int)page.getPages();
}
public int getTotalCount() { public PageUtils() {
return totalCount; }
}
public void setTotalCount(int totalCount) { /**
this.totalCount = totalCount; * 分页
} *
* @param list 列表数据
* @param totalCount 总记录数
* @param pageSize 每页记录数
* @param currPage 当前页数
*/
public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
this.list = list;
this.totalCount = totalCount;
this.pageSize = pageSize;
this.currPage = currPage;
this.totalPage = (int) Math.ceil((double) totalCount / pageSize);
}
public int getPageSize() { /**
return pageSize; * 分页
} */
public PageUtils(IPage<?> page) {
this.list = page.getRecords();
this.totalCount = (int) page.getTotal();
this.pageSize = (int) page.getSize();
this.currPage = (int) page.getCurrent();
this.totalPage = (int) page.getPages();
}
public void setPageSize(int pageSize) { public static PageUtils page(PageInfo<?> page) {
this.pageSize = pageSize; return page(page,false);
} }
public int getTotalPage() { public static PageUtils page(PageInfo<?> page, boolean isRecords) {
return totalPage; PageUtils pageUtils = new PageUtils();
} if (isRecords) {
pageUtils.records = page.getList();
} else {
pageUtils.list = page.getList();
}
pageUtils.totalCount = (int) page.getTotal();
pageUtils.pageSize = page.getSize();
pageUtils.currPage = page.getPageNum();
pageUtils.totalPage = page.getPages();
return pageUtils;
}
public void setTotalPage(int totalPage) { public int getTotalCount() {
this.totalPage = totalPage; return totalCount;
} }
public int getCurrPage() { public void setTotalCount(int totalCount) {
return currPage; this.totalCount = totalCount;
} }
public void setCurrPage(int currPage) { public int getPageSize() {
this.currPage = currPage; return pageSize;
} }
public List<?> getList() { public void setPageSize(int pageSize) {
return list; this.pageSize = pageSize;
} }
public void setList(List<?> list) { public int getTotalPage() {
this.list = list; return totalPage;
} }
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getCurrPage() {
return currPage;
}
public void setCurrPage(int currPage) {
this.currPage = currPage;
}
public List<?> getList() {
return list;
}
public void setList(List<?> list) {
this.list = list;
}
public List<?> getRecords() {
return records;
}
public void setRecords(List<?> records) {
this.records = records;
}
} }

View File

@@ -1,9 +1,10 @@
package com.sqx.modules.app.service.impl; package com.sqx.modules.app.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.Result; import com.sqx.common.utils.Result;
import com.sqx.modules.app.dao.UserMoneyDetailsDao; import com.sqx.modules.app.dao.UserMoneyDetailsDao;
import com.sqx.modules.app.entity.UserMoneyDetails; import com.sqx.modules.app.entity.UserMoneyDetails;
@@ -11,7 +12,6 @@ import com.sqx.modules.app.service.UserMoneyDetailsService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -21,7 +21,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
@Override @Override
public Result queryUserMoneyDetails(Integer page, Integer limit, Long sysUserId, Long userId, Integer classify, public Result queryUserMoneyDetails(Integer page, Integer limit, Long sysUserId, Long userId, Integer classify,
Integer type, Integer moneyType, Integer viewType) { Integer type, Integer moneyType, Integer viewType) {
IPage<UserMoneyDetails> page1 = new Page(page, limit); PageHelper.startPage(page, limit);
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper(); QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper();
if (sysUserId != null) { if (sysUserId != null) {
queryWrapper.eq("sys_user_id", sysUserId); queryWrapper.eq("sys_user_id", sysUserId);
@@ -45,7 +45,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
queryWrapper.in("classify", arrayList); queryWrapper.in("classify", arrayList);
} }
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
return Result.success().put("data", baseMapper.selectPage(page1, queryWrapper)); return Result.success().put("data", PageUtils.page(new PageInfo<>(baseMapper.selectList(queryWrapper))));
} }
@Override @Override

View File

@@ -9,10 +9,10 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.aliyun.tea.ValidateException; import com.aliyun.tea.ValidateException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sqx.common.exception.SqxException; import com.sqx.common.exception.SqxException;
import com.sqx.common.utils.Constant; import com.sqx.common.utils.Constant;
import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.PageUtils;
@@ -100,8 +100,8 @@ public class UserPrizeExchangeServiceImpl extends ServiceImpl<UserPrizeExchangeD
wrapper.orderByDesc(UserPrizeExchange::getId); wrapper.orderByDesc(UserPrizeExchange::getId);
long pageNum = proxy.getLong(Constant.PAGE, 1L); long pageNum = proxy.getLong(Constant.PAGE, 1L);
long pageSize = proxy.getLong(Constant.LIMIT, 10L); long pageSize = proxy.getLong(Constant.LIMIT, 10L);
IPage<UserPrizeExchange> page = this.page(new Page<>(pageNum, pageSize), wrapper); PageHelper.startPage((int) pageNum, (int) pageSize);
return new PageUtils(page); return PageUtils.page(new PageInfo<>(this.list(wrapper)));
} }
@Override @Override
@@ -245,14 +245,14 @@ public class UserPrizeExchangeServiceImpl extends ServiceImpl<UserPrizeExchangeD
} }
int count = userMoneyDetailsService.count( int count = userMoneyDetailsService.count(
Wrappers.<UserMoneyDetails>lambdaQuery() Wrappers.<UserMoneyDetails>lambdaQuery()
.eq(UserMoneyDetails::getUserId, currentUserId) .eq(UserMoneyDetails::getUserId, currentUserId)
.eq(UserMoneyDetails::getType, 1) .eq(UserMoneyDetails::getType, 1)
.eq(UserMoneyDetails::getClassify, 7) .eq(UserMoneyDetails::getClassify, 7)
.eq(UserMoneyDetails::getMoneyType, 1) .eq(UserMoneyDetails::getMoneyType, 1)
.likeLeft(UserMoneyDetails::getTitle, "[连续签到") .likeLeft(UserMoneyDetails::getTitle, "[连续签到")
.likeRight(UserMoneyDetails::getTitle, "天]") .likeRight(UserMoneyDetails::getTitle, "天]")
); );
if(count > 0){ if (count > 0) {
throw new SqxException("已经领取过连续签到奖励,无需重复操作"); throw new SqxException("已经领取过连续签到奖励,无需重复操作");
} }
BigDecimal money = new BigDecimal(moneyStr); BigDecimal money = new BigDecimal(moneyStr);

View File

@@ -30,17 +30,16 @@ spring:
# 区域分库策略的计算字段 # 区域分库策略的计算字段
region-tables-sharding-database-column: user_id region-tables-sharding-database-column: user_id
# 分库的计算方法 # 分库的计算方法
region-tables-sharding-database-algorithm: duanju-$->{user_id%5} region-tables-sharding-database-algorithm: duanju-$->{user_id % 5}
# 短剧集表 拆分 # 短剧集表 拆分
course_details-sharding-database-column: course_id course_details-sharding-database-column: course_id
course_details-sharding-database-algorithm: duanju-$->{course_i%5} course_details-sharding-database-algorithm: duanju-$->{course_id % 5}
# 数据源名称 # 数据源名称
datasource: datasource:
duanju: duanju:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -51,7 +50,7 @@ spring:
# 数据源配置begin # 数据源配置begin
duanju-0: duanju-0:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -61,7 +60,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-1: duanju-1:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -71,7 +70,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-2: duanju-2:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -81,7 +80,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-3: duanju-3:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -91,7 +90,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-4: duanju-4:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -102,7 +101,7 @@ spring:
duanju-slave: duanju-slave:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -112,7 +111,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-slave-0: duanju-slave-0:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -122,7 +121,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-slave-1: duanju-slave-1:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -132,7 +131,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-slave-2: duanju-slave-2:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -142,7 +141,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-slave-3: duanju-slave-3:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -152,7 +151,7 @@ spring:
connection-timeout: ${connection-timeout} connection-timeout: ${connection-timeout}
duanju-slave-4: duanju-slave-4:
driver-class-name: ${driver-class-name} driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://192.168.1.5:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root username: root
password: gongyijieqp002 password: gongyijieqp002
minimum-idle: ${minimum-idle} minimum-idle: ${minimum-idle}
@@ -165,7 +164,7 @@ spring:
# 读写分离配置begin # 读写分离配置begin
master-slave-rules: master-slave-rules:
#数据源 #数据源
center: duanju:
masterDataSourceName: duanju masterDataSourceName: duanju
slaveDataSourceNames: slaveDataSourceNames:
- duanju-slave - duanju-slave