You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
2.4 KiB

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.example.demo.mapper.sqlserver.HistoryRecordMapper">
  4. <select id="getOldHistoryRecord" resultType="com.example.demo.domain.vo.coin.HistoryRecord">
  5. </select>
  6. <!-- 新增分页查询方法 -->
  7. <select id="getNewHistoryRecord" resultType="com.example.demo.domain.vo.coin.HistoryRecord">
  8. SELECT
  9. ui.Name AS name,
  10. ugr.jwcode AS jwcode,
  11. (ugr.buy_jb + ugr.free + ugr.core_jb) AS num,
  12. ugt.remark_cn AS updateType,
  13. ugr.buy_jb AS permanentGold,
  14. ugr.free AS freeGold,
  15. ugr.core_jb AS taskGold,
  16. ugr.cz_user AS operator,
  17. ugr.cz_time AS createTime,
  18. ugr.cz_bz AS remark
  19. FROM [hwhcGold].[dbo].[user_gold_records] ugr
  20. LEFT JOIN [hwerp].[dbo].[UserInfo] ui ON ugr.jwcode = ui.Jwcode
  21. LEFT JOIN [hwhcGold].[dbo].[user_gold_typeInfo] ugt ON ugr.gtype = ugt.id
  22. <where>
  23. <if test="startTime != null">AND ugr.cz_time &gt;= #{startTime}</if>
  24. <if test="endTime != null">AND ugr.cz_time &lt;= #{endTime}</if>
  25. <if test="jwcode != null and jwcode!=''">AND ugr.jwcode = #{jwcode}</if>
  26. <if test="name != null and name!=''">AND ui.Name = #{name}</if> <!-- 修复姓名关联字段 -->
  27. </where>
  28. ORDER BY ugr.cz_time DESC
  29. -- SQL Server 手动分页语法
  30. OFFSET #{offset} ROWS FETCH NEXT #{pageSize} ROWS ONLY
  31. </select>
  32. <!-- 新增统计总条数的方法 -->
  33. <select id="countNewHistoryRecord" resultType="java.lang.Long">
  34. SELECT COUNT(0)
  35. FROM [hwhcGold].[dbo].[user_gold_records] ugr
  36. LEFT JOIN [hwerp].[dbo].[UserInfo] ui ON ugr.jwcode = ui.Jwcode
  37. LEFT JOIN [hwhcGold].[dbo].[user_gold_typeInfo] ugt ON ugr.gtype = ugt.id
  38. <where>
  39. <if test="startTime != null">AND ugr.cz_time &gt;= #{startTime}</if>
  40. <if test="endTime != null">
  41. <!-- 给 endTime 加 1 秒,语法:DATEADD(second, 1, 时间值) -->
  42. AND ugr.cz_time &lt;= DATEADD(second, 1, #{endTime})
  43. </if>
  44. <if test="jwcode != null and jwcode!=''">AND ugr.jwcode = #{jwcode}</if>
  45. <if test="name != null and name!=''">AND ui.Name = #{name}</if> <!-- 修复姓名关联字段 -->
  46. </where>
  47. </select>
  48. </mapper>