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;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import java.io.Serializable;
import java.util.List;
/**
* 分页工具类
*
*/
public class PageUtils implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 总记录数
*/
private int totalCount;
/**
* 每页记录数
*/
private int pageSize;
/**
* 总页数
*/
private int totalPage;
/**
* 当前页数
*/
private int currPage;
/**
* 列表数据
*/
private List<?> list;
/**
* 分页
* @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);
}
private static final long serialVersionUID = 1L;
/**
* 总记录数
*/
private int totalCount;
/**
* 每页记录数
*/
private int pageSize;
/**
* 总页数
*/
private int totalPage;
/**
* 当前页数
*/
private int currPage;
/**
* 列表数据
*/
private List<?> list;
private List<?> records;
/**
* 分页
*/
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() {
return totalCount;
}
public PageUtils() {
}
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) {
this.pageSize = pageSize;
}
public static PageUtils page(PageInfo<?> page) {
return page(page,false);
}
public int getTotalPage() {
return totalPage;
}
public static PageUtils page(PageInfo<?> page, boolean isRecords) {
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) {
this.totalPage = totalPage;
}
public int getTotalCount() {
return totalCount;
}
public int getCurrPage() {
return currPage;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public void setCurrPage(int currPage) {
this.currPage = currPage;
}
public int getPageSize() {
return pageSize;
}
public List<?> getList() {
return list;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public void setList(List<?> list) {
this.list = list;
}
public int getTotalPage() {
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;
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.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.app.dao.UserMoneyDetailsDao;
import com.sqx.modules.app.entity.UserMoneyDetails;
@@ -11,7 +12,6 @@ import com.sqx.modules.app.service.UserMoneyDetailsService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -21,7 +21,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
@Override
public Result queryUserMoneyDetails(Integer page, Integer limit, Long sysUserId, Long userId, Integer classify,
Integer type, Integer moneyType, Integer viewType) {
IPage<UserMoneyDetails> page1 = new Page(page, limit);
PageHelper.startPage(page, limit);
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper();
if (sysUserId != null) {
queryWrapper.eq("sys_user_id", sysUserId);
@@ -45,7 +45,7 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
queryWrapper.in("classify", arrayList);
}
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

View File

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

View File

@@ -30,17 +30,16 @@ spring:
# 区域分库策略的计算字段
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-algorithm: duanju-$->{course_i%5}
course_details-sharding-database-algorithm: duanju-$->{course_id % 5}
# 数据源名称
datasource:
duanju:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -51,7 +50,7 @@ spring:
# 数据源配置begin
duanju-0:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -61,7 +60,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-1:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -71,7 +70,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-2:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -81,7 +80,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-3:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -91,7 +90,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-4:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -102,7 +101,7 @@ spring:
duanju-slave:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -112,7 +111,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-slave-0:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -122,7 +121,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-slave-1:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -132,7 +131,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-slave-2:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -142,7 +141,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-slave-3:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -152,7 +151,7 @@ spring:
connection-timeout: ${connection-timeout}
duanju-slave-4:
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
password: gongyijieqp002
minimum-idle: ${minimum-idle}
@@ -165,7 +164,7 @@ spring:
# 读写分离配置begin
master-slave-rules:
#数据源
center:
duanju:
masterDataSourceName: duanju
slaveDataSourceNames:
- duanju-slave