7 changed files with 104 additions and 63 deletions
-
6src/main/java/com/example/demo/config/SqlServer1DataSourceConfig.java
-
17src/main/java/com/example/demo/controller/coin/HistoryRecordController.java
-
8src/main/java/com/example/demo/domain/vo/coin/HistoryRecord.java
-
6src/main/java/com/example/demo/mapper/sqlserver/HistoryRecordMapper.java
-
30src/main/java/com/example/demo/serviceImpl/coin/HistoryRecordServiceImpl.java
-
49src/main/resources/sqlServiceMapper/HistoryRecordMapper.xml
-
51src/main/resources/sqlserverMapper/HistoryRecordMapper.xml
@ -1,49 +0,0 @@ |
|||||
<?xml version="1.0" encoding="UTF-8"?> |
|
||||
<!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 |
|
||||
-- 主表字段(hwhcGold库) |
|
||||
ui.Name AS name, |
|
||||
ugr.jwcode AS jwcode, |
|
||||
(ugr.buy_jb + ugr.free + ugr.core_jb) AS num, |
|
||||
-- 关联表字段(其他库,例如db2库的user_info表) |
|
||||
ugt.remark_cn AS updateType, -- 假设从其他库获取更新类型 |
|
||||
ugr.buy_jb AS permanentGold, |
|
||||
ugr.free AS freeGold, |
|
||||
ugr.core_jb AS taskGold, |
|
||||
ugr.cz_user AS operator, |
|
||||
ugr.cz_time AS createTime, |
|
||||
ugr.cz_bz AS remark |
|
||||
FROM |
|
||||
-- 主表:hwhcGold库的user_gold_records |
|
||||
[hwhcGold].[dbo].[user_gold_records] ugr |
|
||||
LEFT JOIN |
|
||||
-- 关联表:user_info |
|
||||
[hwerp].[dbo].[UserInfo] ui |
|
||||
ON ugr.jwcode = ui.Jwcode -- 关联条件:精网号 |
|
||||
LEFT JOIN |
|
||||
-- 关联表 |
|
||||
[hwhcGold].[dbo].[user_gold_typeInfo] ugt |
|
||||
ON ugr.gtype = ugt.id -- 关联条件:精网号 |
|
||||
<where> |
|
||||
<if test="startTime != null"> |
|
||||
AND ugr.cz_time >= #{startTime} |
|
||||
</if> |
|
||||
<if test="endTime != null"> |
|
||||
AND ugr.cz_time <= #{endTime} |
|
||||
</if> |
|
||||
<if test="jwcode != null"> |
|
||||
AND ugr.jwcode = #{jwcode} -- 支持按精网号筛选 |
|
||||
</if> |
|
||||
<if test="name != null"> |
|
||||
AND ugr.name = #{name} -- 支持按姓名筛选 |
|
||||
</if> |
|
||||
</where> |
|
||||
ORDER BY ugr.cz_time DESC |
|
||||
</select> |
|
||||
</mapper> |
|
@ -0,0 +1,51 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!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, |
||||
|
ugr.jwcode AS jwcode, |
||||
|
(ugr.buy_jb + ugr.free + ugr.core_jb) AS num, |
||||
|
ugt.remark_cn AS updateType, |
||||
|
ugr.buy_jb AS permanentGold, |
||||
|
ugr.free AS freeGold, |
||||
|
ugr.core_jb AS taskGold, |
||||
|
ugr.cz_user AS operator, |
||||
|
ugr.cz_time AS createTime, |
||||
|
ugr.cz_bz AS remark |
||||
|
FROM [hwhcGold].[dbo].[user_gold_records] ugr |
||||
|
LEFT JOIN [hwerp].[dbo].[UserInfo] ui ON ugr.jwcode = ui.Jwcode |
||||
|
LEFT JOIN [hwhcGold].[dbo].[user_gold_typeInfo] ugt ON ugr.gtype = ugt.id |
||||
|
<where> |
||||
|
<if test="startTime != null">AND ugr.cz_time >= #{startTime}</if> |
||||
|
<if test="endTime != null">AND ugr.cz_time <= #{endTime}</if> |
||||
|
<if test="jwcode != null and jwcode!=''">AND ugr.jwcode = #{jwcode}</if> |
||||
|
<if test="name != null and name!=''">AND ui.Name = #{name}</if> <!-- 修复姓名关联字段 --> |
||||
|
</where> |
||||
|
ORDER BY ugr.cz_time DESC |
||||
|
-- SQL Server 手动分页语法 |
||||
|
OFFSET #{offset} ROWS FETCH NEXT #{pageSize} ROWS ONLY |
||||
|
</select> |
||||
|
|
||||
|
<!-- 新增统计总条数的方法 --> |
||||
|
<select id="countNewHistoryRecord" resultType="java.lang.Long"> |
||||
|
SELECT COUNT(0) |
||||
|
FROM [hwhcGold].[dbo].[user_gold_records] ugr |
||||
|
LEFT JOIN [hwerp].[dbo].[UserInfo] ui ON ugr.jwcode = ui.Jwcode |
||||
|
LEFT JOIN [hwhcGold].[dbo].[user_gold_typeInfo] ugt ON ugr.gtype = ugt.id |
||||
|
<where> |
||||
|
<if test="startTime != null">AND ugr.cz_time >= #{startTime}</if> |
||||
|
<if test="endTime != null"> |
||||
|
<!-- 给 endTime 加 1 秒,语法:DATEADD(second, 1, 时间值) --> |
||||
|
AND ugr.cz_time <= DATEADD(second, 1, #{endTime}) |
||||
|
</if> |
||||
|
<if test="jwcode != null and jwcode!=''">AND ugr.jwcode = #{jwcode}</if> |
||||
|
<if test="name != null and name!=''">AND ui.Name = #{name}</if> <!-- 修复姓名关联字段 --> |
||||
|
</where> |
||||
|
</select> |
||||
|
</mapper> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue