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