GameTeamMapper.xml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="org.dromara.system.mapper.GameTeamMapper">
  6. <update id="batchUpdateRg" >
  7. update game_team set rg_id = #{rgId}
  8. where del_flag = '0'
  9. <if test="teamIds != null and teamIds.size !=0">
  10. and team_id in
  11. <foreach item="item" collection="teamIds" separator="," open="(" close=")">
  12. #{item}
  13. </foreach>
  14. </if>
  15. </update>
  16. <!-- 查询队伍列表并包含分组名 -->
  17. <select id="selectVoListWithGroupName" resultType="org.dromara.system.domain.vo.GameTeamVo">
  18. SELECT
  19. gt.team_id,
  20. gt.event_id,
  21. gt.rg_id,
  22. grg.rg_name as rgName,
  23. gt.team_name,
  24. gt.team_code,
  25. gt.leader,
  26. gt.athlete_value as athleteValue,
  27. gt.project_value as projectValue,
  28. gt.athlete_num as athleteNum,
  29. gt.number_range as numberRange,
  30. gt.team_describe as teamDescribe,
  31. gt.status,
  32. gt.remark,
  33. gt.create_time as createTime,
  34. gt.update_time as updateTime
  35. FROM game_team gt
  36. LEFT JOIN game_rank_group grg ON gt.rg_id = grg.rg_id
  37. WHERE gt.del_flag = '0' and gt.status = '0'
  38. <if test="eventId != null">
  39. AND gt.event_id = #{eventId}
  40. </if>
  41. <if test="teamName != null and teamName != ''">
  42. AND gt.team_name LIKE CONCAT('%', #{teamName}, '%')
  43. </if>
  44. <if test="teamCode != null and teamCode != ''">
  45. AND gt.team_code LIKE CONCAT('%', #{teamCode}, '%')
  46. </if>
  47. ORDER BY gt.team_id DESC
  48. </select>
  49. <select id="selectPageTeamListWithProjects" resultType="org.dromara.system.domain.vo.GameTeamVo">
  50. SELECT
  51. gt.team_id,
  52. gt.event_id,
  53. gt.rg_id,
  54. (SELECT rg_name FROM game_rank_group WHERE rg_id = gt.rg_id) as rgName,
  55. gt.team_name,
  56. gt.team_code,
  57. (SELECT event_name FROM game_event WHERE event_id = gt.event_id) as eventName,
  58. (SELECT name FROM game_athlete WHERE athlete_id = gt.leader) as leader,
  59. gt.athlete_value as athleteValue,
  60. gt.project_value as projectValue,
  61. gt.athlete_num as athleteNum,
  62. gt.number_range as numberRange,
  63. gt.team_describe as teamDescribe,
  64. gt.status,
  65. gt.remark,
  66. gt.create_time as createTime,
  67. gt.update_time as updateTime,
  68. (SELECT GROUP_CONCAT(DISTINCT gp.project_name SEPARATOR ', ')
  69. FROM game_athlete ga
  70. JOIN game_event_project gp ON (JSON_CONTAINS(ga.project_value, CAST(gp.project_id AS CHAR)) OR JSON_CONTAINS(ga.project_value, CONCAT('"', gp.project_id, '"')))
  71. WHERE ga.team_id = gt.team_id AND ga.del_flag = '0' AND gp.del_flag = '0' AND gp.classification != '0'
  72. ) as projectNames
  73. FROM game_team gt
  74. ${ew.customSqlSegment}
  75. </select>
  76. <select id="selectTeamListWithProjects" resultType="org.dromara.system.domain.vo.GameTeamVo">
  77. SELECT
  78. gt.team_id,
  79. gt.event_id,
  80. gt.rg_id,
  81. (SELECT rg_name FROM game_rank_group WHERE rg_id = gt.rg_id) as rgName,
  82. gt.team_name,
  83. gt.team_code,
  84. (SELECT event_name FROM game_event WHERE event_id = gt.event_id) as eventName,
  85. (SELECT name FROM game_athlete WHERE athlete_id = gt.leader) as leader,
  86. gt.athlete_value as athleteValue,
  87. gt.project_value as projectValue,
  88. gt.athlete_num as athleteNum,
  89. gt.number_range as numberRange,
  90. gt.team_describe as teamDescribe,
  91. gt.status,
  92. gt.remark,
  93. gt.create_time as createTime,
  94. gt.update_time as updateTime,
  95. (SELECT GROUP_CONCAT(DISTINCT gp.project_name SEPARATOR ', ')
  96. FROM game_athlete ga
  97. JOIN game_event_project gp ON (JSON_CONTAINS(ga.project_value, CAST(gp.project_id AS CHAR)) OR JSON_CONTAINS(ga.project_value, CONCAT('"', gp.project_id, '"')))
  98. WHERE ga.team_id = gt.team_id AND ga.del_flag = '0' AND gp.del_flag = '0' AND gp.classification != '0'
  99. ) as projectNames
  100. FROM game_team gt
  101. ${ew.customSqlSegment}
  102. </select>
  103. </mapper>