金币系统后端
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.

143 lines
4.7 KiB

6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
  1. package com.example.demo.mapper;
  2. import com.example.demo.domain.entity.User;
  3. import com.example.demo.domain.entity.UserGold;
  4. import com.example.demo.domain.vo.UserVo;
  5. import org.apache.ibatis.annotations.*;
  6. import java.util.List;
  7. @Mapper
  8. public interface UserMapper {
  9. @Select({
  10. "<script>",
  11. "select jwcode from user",
  12. "<where>",
  13. "<if test='jwcode!=null and jwcode.length>0'>and jwcode=#{jwcode}</if>",
  14. "</where>",
  15. "</script>"
  16. })
  17. List<String> selectJwcode();
  18. @Select({
  19. "<script>",
  20. "select * from user",
  21. "<where>",
  22. "<if test='jwcode!=null and jwcode.length>0'>and jwcode=#{jwcode}</if>",
  23. "</where>",
  24. "</script>"
  25. })
  26. User select(String user);
  27. @Select({
  28. "<script>",
  29. "select * from user_gold",
  30. "<where>",
  31. "<if test='jwcode!=null and jwcode.length>0'>and jwcode=#{jwcode}</if>",
  32. "</where>",
  33. "</script>"
  34. })
  35. UserGold selectGold(String userGold);
  36. @Select({
  37. "<script>",
  38. "select * from user",
  39. "<where>",
  40. "<if test='jwcode!=null and jwcode.length>0'>and jwcode=#{jwcode}</if>",
  41. "</where>",
  42. "</script>"
  43. })
  44. User get(String jwcode);
  45. @Select({
  46. "SELECT\n" +
  47. " u.*,user.name,user.area," +
  48. " MIN(d.create_time) AS first_recharge_date, \n" +
  49. " SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) AS total_recharge_gold, \n" +
  50. " SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) AS total_spend_gold, \n" +
  51. " COUNT(CASE WHEN d.update_type = '0' THEN 1 END) AS recharge_times, \n" +
  52. " COUNT(CASE WHEN d.update_type = '1' THEN 1 END) AS spend_times, \n" +
  53. " COUNT(CASE WHEN a.status = 0 AND d.update_type = '0' THEN 1 END) AS pending_recharge_times, \n" +
  54. " COUNT(CASE WHEN a.status = 0 AND d.update_type = '1' THEN 1 END) AS pending_spend_times \n" +
  55. "FROM\n" +
  56. " user_gold u\n" +
  57. "LEFT JOIN user on user.jwcode=u.jwcode",
  58. "LEFT JOIN\n" +
  59. " detail d ON u.jwcode = d.jwcode\n" +
  60. "LEFT JOIN\n" +
  61. " audit a ON d.detail_id = a.detail_id AND a.audit_flag = 1\n" +
  62. "WHERE\n" +
  63. " u.jwcode =#{jwcode}"
  64. })
  65. UserVo selectA(UserVo userVo);
  66. @Select({
  67. "<script>",
  68. "select * from user",
  69. "<where>",
  70. "<if test='jwcode!=null and jwcode.length>0'>and jwcode=#{jwcode}</if>",
  71. "</where>",
  72. "</script>"
  73. })
  74. List<User> selectAll(User user);
  75. @Select({
  76. "select * from user where name=#{name}"
  77. })
  78. User selectByName(String name);
  79. @Select({
  80. "select * from user_gold where jwcode=#{jwcode}"
  81. })
  82. User selectByJwcode(String jwcode);
  83. @Select({
  84. "select * from user where jwcode=#{jwcode}"
  85. })
  86. User selectByJwcode1(String jwcode);
  87. @Update({
  88. "<script>",
  89. "update user_gold",
  90. "<set>",
  91. "<if test='buyJb!=null'>buy_jb=#{buyJb},</if>",
  92. "<if test='coreJb!=null'>core_jb=#{coreJb},</if>",
  93. "<if test='free6!=null'>free_6=#{free6},</if>",
  94. "<if test='free12!=null'>free_12=#{free12},</if>",
  95. "</set>",
  96. "where jwcode=#{jwcode}",
  97. "</script>",
  98. })
  99. int update(User user);
  100. @Update({
  101. "<script>",
  102. "update user_gold",
  103. "<set>",
  104. "<if test='buyJb!=null'>buy_jb=#{buyJb},</if>",
  105. "<if test='coreJb!=null'>core_jb=#{coreJb},</if>",
  106. "<if test='free6!=null'>free_6=#{free6},</if>",
  107. "<if test='free12!=null'>free_12=#{free12},</if>",
  108. "last_time= now()",
  109. "</set>",
  110. "where jwcode=#{jwcode}",
  111. "</script>",
  112. })
  113. int updateGold(UserGold userGold);
  114. @Select({
  115. "SELECT DISTINCT area FROM `user`"
  116. })
  117. List<String> selectArea();
  118. // //去掉免费金币,先去6个月,再去12月
  119. // @Update({
  120. // "<script>",
  121. // "update user",
  122. // "<set>",
  123. // "<if test='Free6!=null'>free_6=#{Free6},</if>",
  124. // "<if test='Free12!=null'>free_12=#{Free12},</if>",
  125. // "</set>",
  126. // "where jwcode=#{jwcode}",
  127. // "</script>",
  128. // })
  129. // int updatecoin();
  130. }