Browse Source

Merge remote-tracking branch 'origin/milestone-20250727-金币重构三期' into milestone-20250727-金币重构三期

lijianlin/feature-20250728171217-三期金豆消费相关
huangqizhen 3 days ago
parent
commit
6383d3d9b5
  1. 16
      src/main/java/com/example/demo/controller/coin/HistoryRecordController.java
  2. 2
      src/main/java/com/example/demo/mapper/sqlserver/HistoryRecordMapper.java
  3. 30
      src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java
  4. 6
      src/main/resources/application-dev.yml
  5. 6
      src/main/resources/application-prod.yml
  6. 44
      src/main/resources/sqlserverMapper/HistoryRecordMapper.xml

16
src/main/java/com/example/demo/controller/coin/HistoryRecordController.java

@ -41,17 +41,22 @@ public class HistoryRecordController {
//获取旧的历史记录
@RequestMapping("/getOldHistoryRecord")
public Result getOldHistoryRecord(@RequestBody Page page){
public Result getOldHistoryRecord(@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.getOldHistoryRecord(page.getPageNum(), page.getPageSize(),page.getHistoryRecord()));
}
if((historyRecord.getJwcode()==null|| historyRecord.getJwcode().isEmpty())&&(historyRecord.getName()==null|| historyRecord.getName().isEmpty())){
// return Result.success(historyRecordService.getOldHistoryRecord(historyRecord.getPageNum(), historyRecord.getPageSize(),historyRecord));
return Result.error("姓名,精网号不能都为空");
}
else {
return Result.success(historyRecordService.getOldHistoryRecord(historyRecord.getPageNum(), historyRecord.getPageSize(),historyRecord));
}
} catch (Exception e) {
e.printStackTrace();
@ -71,6 +76,7 @@ public class HistoryRecordController {
return Result.error("页大小为空!");
}
if((historyRecord.getJwcode()==null|| historyRecord.getJwcode().isEmpty())&&(historyRecord.getName()==null|| historyRecord.getName().isEmpty())){
// return Result.success(historyRecordService.getNewHistoryRecord(historyRecord.getPageNum(), historyRecord.getPageSize(),historyRecord));
return Result.error("姓名,精网号不能都为空");
}
else {

2
src/main/java/com/example/demo/mapper/sqlserver/HistoryRecordMapper.java

@ -25,4 +25,6 @@ public interface HistoryRecordMapper {
// 统计总条数
long countNewHistoryRecord(HistoryRecord historyRecord);
// 统计总条数
long countOldHistoryRecord(HistoryRecord historyRecord);
}

30
src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java

@ -26,9 +26,33 @@ public class HistoryRecordServiceImpl implements HistoryRecordService {
@Override
public PageInfo<HistoryRecord> getOldHistoryRecord(Integer pageNum, Integer pageSize, HistoryRecord historyRecord) {
PageHelper.startPage(pageNum, pageSize);
List<HistoryRecord> historyRecords = historyRecordMapper.getOldHistoryRecord(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<HistoryRecord> records = historyRecordMapper.getOldHistoryRecord(historyRecord);
// 4. 查询总记录数
long total = historyRecordMapper.countOldHistoryRecord(historyRecord);
// 5. 手动构建PageInfo对象
PageInfo<HistoryRecord> pageInfo = new PageInfo<>(records);
pageInfo.setPageNum(pageNum); // 当前页码
pageInfo.setPageSize(pageSize); // 每页条数
pageInfo.setTotal(total); // 总记录数
pageInfo.setPages((int) (total + pageSize - 1) / pageSize); // 总页数
return pageInfo;
}
@Override

6
src/main/resources/application-dev.yml

@ -44,9 +44,9 @@ spring:
pool-name: mysql5HikariCP
maximum-pool-size: 10
sqlserver1:
jdbc-url: jdbc:sqlserver://10.19.183.6:1433;databaseName=hwhcGold;encrypt=true;sslProtocol=TLSv1;trustServerCertificate=true;
username: hwhc_gold_query
password: hwhc_gold_query4564jkj
jdbc-url: jdbc:sqlserver://52.76.43.43:1433;encrypt=true;sslProtocol=TLSv1;trustServerCertificate=true;
username: gjb_test
password: qweuio!@#$2
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
application:

6
src/main/resources/application-prod.yml

@ -44,9 +44,9 @@ spring:
pool-name: mysql5HikariCP
maximum-pool-size: 10
sqlserver1:
jdbc-url: jdbc:sqlserver://10.19.183.6:1433;databaseName=hwhcGold;encrypt=true;sslProtocol=TLSv1;trustServerCertificate=true;
username: hwhc_gold_query
password: hwhc_gold_query4564jkj
jdbc-url: jdbc:sqlserver://52.76.43.43:1433;encrypt=true;sslProtocol=TLSv1;trustServerCertificate=true;
username: gjb_test
password: qweuio!@#$2
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver

44
src/main/resources/sqlserverMapper/HistoryRecordMapper.xml

@ -2,10 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.sqlserver.HistoryRecordMapper">
<select id="getOldHistoryRecord" resultType="com.example.demo.domain.vo.coin.HistoryRecord">
</select>
<!-- 新增分页查询方法 -->
<select id="getNewHistoryRecord" resultType="com.example.demo.domain.vo.coin.HistoryRecord">
SELECT
ui.Name AS name,
@ -32,6 +28,29 @@
OFFSET #{offset} ROWS FETCH NEXT #{pageSize} ROWS ONLY
</select>
<!-- 新增分页查询方法 -->
<select id="getOldHistoryRecord" resultType="com.example.demo.domain.vo.coin.HistoryRecord">
SELECT
ui.Name AS name,
hj.jwcode AS jwcode,
hj.jbsl AS num,
ugt.remark_cn AS updateType,
hj.jbtime AS createTime,
hj.jbremark AS remark
FROM [kstms].[dbo].[hwjt_jbxflogInfo] hj
LEFT JOIN [hwerp].[dbo].[UserInfo] ui ON hj.jwcode = ui.Jwcode
LEFT JOIN [hwhcGold].[dbo].[user_gold_typeInfo] ugt ON hj.jbzcsrtype = ugt.id
<where>
<if test="startTime != null">AND hj.jbtime &gt;= #{startTime}</if>
<if test="endTime != null">AND hj.jbtime &lt;= #{endTime}</if>
<if test="jwcode != null and jwcode!=''">AND hj.jwcode = #{jwcode}</if>
<if test="name != null and name!=''">AND ui.Name = #{name}</if> <!-- 修复姓名关联字段 -->
</where>
ORDER BY hj.jbtime DESC
-- SQL Server 手动分页语法
OFFSET #{offset} ROWS FETCH NEXT #{pageSize} ROWS ONLY
</select>
<!-- 新增统计总条数的方法 -->
<select id="countNewHistoryRecord" resultType="java.lang.Long">
SELECT COUNT(0)
@ -48,4 +67,21 @@
<if test="name != null and name!=''">AND ui.Name = #{name}</if> <!-- 修复姓名关联字段 -->
</where>
</select>
<!-- 新增统计总条数的方法 -->
<select id="countOldHistoryRecord" resultType="java.lang.Long">
SELECT COUNT(0)
FROM [kstms].[dbo].[hwjt_jbxflogInfo] hj
LEFT JOIN [hwerp].[dbo].[UserInfo] ui ON hj.jwcode = ui.Jwcode
LEFT JOIN [hwhcGold].[dbo].[user_gold_typeInfo] ugt ON hj.jbzcsrtype = ugt.id
<where>
<if test="startTime != null">AND hj.jbtime &gt;= #{startTime}</if>
<if test="endTime != null">
<!-- 给 endTime 加 1 秒,语法:DATEADD(second, 1, 时间值) -->
AND hj.jbtime &lt;= DATEADD(second, 1, #{endTime})
</if>
<if test="jwcode != null and jwcode!=''">AND hj.jwcode = #{jwcode}</if>
<if test="name != null and name!=''">AND ui.Name = #{name}</if> <!-- 修复姓名关联字段 -->
</where>
</select>
</mapper>
Loading…
Cancel
Save