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

130 lines
4.4 KiB

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