From eb5d956250d77f94041dba25fb98780a06802dc4 Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Tue, 19 Aug 2025 11:33:39 +0800 Subject: [PATCH] =?UTF-8?q?8=E6=9C=8818=E6=97=A5=EF=BC=88=E6=96=B0?= =?UTF-8?q?=EF=BC=89=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/config/SqlServer1DataSourceConfig.java | 6 +-- .../controller/coin/HistoryRecordController.java | 17 +++++--- .../example/demo/domain/vo/coin/HistoryRecord.java | 8 +++- .../demo/mapper/sqlserver/HistoryRecordMapper.java | 6 ++- .../serviceImpl/coin/HistoryRecordServiceImpl.java | 30 +++++++++++-- .../sqlServiceMapper/HistoryRecordMapper.xml | 49 --------------------- .../sqlserverMapper/HistoryRecordMapper.xml | 51 ++++++++++++++++++++++ 7 files changed, 104 insertions(+), 63 deletions(-) delete mode 100644 src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml create mode 100644 src/main/resources/sqlserverMapper/HistoryRecordMapper.xml diff --git a/src/main/java/com/example/demo/config/SqlServer1DataSourceConfig.java b/src/main/java/com/example/demo/config/SqlServer1DataSourceConfig.java index c54fbe7..a9fe647 100644 --- a/src/main/java/com/example/demo/config/SqlServer1DataSourceConfig.java +++ b/src/main/java/com/example/demo/config/SqlServer1DataSourceConfig.java @@ -34,11 +34,11 @@ public class SqlServer1DataSourceConfig { */ @Bean(name = "sqlserver1SqlSessionFactory") public SqlSessionFactory sqlserver1SqlSessionFactory(@Qualifier("sqlserver1DataSource") DataSource dataSource, - @Qualifier("globalConfiguration1") org.apache.ibatis.session.Configuration globalConfiguration) throws Exception { + @Qualifier("globalConfiguration6") org.apache.ibatis.session.Configuration globalConfiguration) throws Exception { log.info("Initializing SQL Server SqlSessionFactory..."); SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); - sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:sqlServiceMapper/*.xml")); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:sqlserverMapper/*.xml")); sessionFactory.setConfiguration(globalConfiguration); return sessionFactory.getObject(); } @@ -57,7 +57,7 @@ public class SqlServer1DataSourceConfig { */ @Bean @ConfigurationProperties(prefix = "mybatis.configuration.sqlserver1") - public org.apache.ibatis.session.Configuration globalConfiguration() { + public org.apache.ibatis.session.Configuration globalConfiguration6() { log.info("Initializing SQL Server MyBatis global configuration..."); return new org.apache.ibatis.session.Configuration(); } diff --git a/src/main/java/com/example/demo/controller/coin/HistoryRecordController.java b/src/main/java/com/example/demo/controller/coin/HistoryRecordController.java index 9943c3b..ab41f30 100644 --- a/src/main/java/com/example/demo/controller/coin/HistoryRecordController.java +++ b/src/main/java/com/example/demo/controller/coin/HistoryRecordController.java @@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.RequestContextHolder; @@ -40,7 +41,7 @@ public class HistoryRecordController { //获取旧的历史记录 @RequestMapping("/getOldHistoryRecord") - public Result getOldHistoryRecord(Page page){ + public Result getOldHistoryRecord(@RequestBody Page page){ try { //页码校验 if (ObjectUtils.isEmpty(page.getPageNum())) { @@ -59,17 +60,21 @@ public class HistoryRecordController { } //获取新的历史记录 @RequestMapping("/getNewHistoryRecord") - public Result getNewHistoryRecord(Page page){ + public Result getNewHistoryRecord(@RequestBody HistoryRecord historyRecord){ try { //页码校验 - if (ObjectUtils.isEmpty(page.getPageNum())) { + if (ObjectUtils.isEmpty(historyRecord.getPageNum())) { return Result.error("页码数为空!"); } //页面大小校验 - if (ObjectUtils.isEmpty(page.getPageSize())) { + if (ObjectUtils.isEmpty(historyRecord.getPageSize())) { return Result.error("页大小为空!"); - } else { - return Result.success(historyRecordService.getNewHistoryRecord(page.getPageNum(), page.getPageSize(),page.getHistoryRecord())); + } + if((historyRecord.getJwcode()==null|| historyRecord.getJwcode().isEmpty())&&(historyRecord.getName()==null|| historyRecord.getName().isEmpty())){ + return Result.error("姓名,精网号不能都为空"); + } + else { + return Result.success(historyRecordService.getNewHistoryRecord(historyRecord.getPageNum(), historyRecord.getPageSize(),historyRecord)); } } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java b/src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java index 3d8d461..adce3dc 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java +++ b/src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java @@ -31,7 +31,7 @@ public class HistoryRecord implements Serializable { @ExcelProperty("客户姓名") private String name; // 客户姓名 @ExcelProperty("精网号") - private Integer jwcode; // 精网号 + private String jwcode; // 精网号 @ExcelProperty("数量") private BigDecimal num; // 数量 @ExcelProperty("更新类型") @@ -58,4 +58,10 @@ public class HistoryRecord implements Serializable { @ExcelIgnore @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date endTime; // 结束时间 + @ExcelIgnore + private Integer pageNum; // 页码 + @ExcelIgnore + private Integer pageSize; // 每页条数 + @ExcelIgnore + private Integer offset; // 偏移量 } diff --git a/src/main/java/com/example/demo/mapper/sqlserver/HistoryRecordMapper.java b/src/main/java/com/example/demo/mapper/sqlserver/HistoryRecordMapper.java index 0342a55..ad5c0d2 100644 --- a/src/main/java/com/example/demo/mapper/sqlserver/HistoryRecordMapper.java +++ b/src/main/java/com/example/demo/mapper/sqlserver/HistoryRecordMapper.java @@ -3,6 +3,7 @@ package com.example.demo.mapper.sqlserver; import com.example.demo.domain.vo.coin.HistoryRecord; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -19,6 +20,9 @@ import java.util.List; public interface HistoryRecordMapper { //获取旧的历史记录 List getOldHistoryRecord(HistoryRecord historyRecord); - //获取新的历史记录 + // 分页查询新历史数据 List getNewHistoryRecord(HistoryRecord historyRecord); + + // 统计总条数 + long countNewHistoryRecord(HistoryRecord historyRecord); } diff --git a/src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java index 496d45e..dd62a7a 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java @@ -33,9 +33,33 @@ public class HistoryRecordServiceImpl implements HistoryRecordService { @Override public PageInfo getNewHistoryRecord(Integer pageNum, Integer pageSize, HistoryRecord historyRecord) { - PageHelper.startPage(pageNum, pageSize); - List historyRecords = historyRecordMapper.getNewHistoryRecord(historyRecord); - return new PageInfo<>(historyRecords); + + // 1. 校验分页参数(避免pageNum为0或负数) + if (pageNum == null || pageNum < 1) { + pageNum = 1; + } + if (pageSize == null || pageSize < 1) { + pageSize = 10; // 默认每页10条 + } + + // 2. 计算偏移量 (SQL Server的OFFSET从0开始) + int offset = (pageNum - 1) * pageSize; + + historyRecord.setOffset(offset); + // 3. 查询当前页数据 + List records = historyRecordMapper.getNewHistoryRecord(historyRecord); + + // 4. 查询总记录数 + long total = historyRecordMapper.countNewHistoryRecord(historyRecord); + + // 5. 手动构建PageInfo对象 + PageInfo pageInfo = new PageInfo<>(records); + pageInfo.setPageNum(pageNum); // 当前页码 + pageInfo.setPageSize(pageSize); // 每页条数 + pageInfo.setTotal(total); // 总记录数 + pageInfo.setPages((int) (total + pageSize - 1) / pageSize); // 总页数 + + return pageInfo; } } diff --git a/src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml b/src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml deleted file mode 100644 index f01262a..0000000 --- a/src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/sqlserverMapper/HistoryRecordMapper.xml b/src/main/resources/sqlserverMapper/HistoryRecordMapper.xml new file mode 100644 index 0000000..3afab86 --- /dev/null +++ b/src/main/resources/sqlserverMapper/HistoryRecordMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + \ No newline at end of file