suochencheng 7 лет назад
Родитель
Сommit
a6c3a01d3d

+ 100 - 1
src/main/java/com/izouma/awesomeadmin/dao/PlayerInfoMapper.xml

@@ -724,6 +724,56 @@
         user_id,
         season_id,
         bonus,
+        (
+        SELECT
+        COUNT(1)
+        FROM
+        player_info
+        WHERE
+        del_flag = 'N'
+        AND ranking = 1
+        AND medal = 'platinum'
+        AND user_id = p.user_id
+        AND season_id = p.season_id
+        AND game_id = p.game_id
+        ) AS platinum,
+        (
+        SELECT
+        COUNT(1)
+        FROM
+        player_info
+        WHERE
+        del_flag = 'N'
+        AND house_rank = 1
+        AND medal = 'gold'
+        AND user_id = p.user_id
+        AND season_id = p.season_id
+        AND game_id = p.game_id
+        ) AS gold,
+        (
+        SELECT
+        COUNT(1)
+        FROM
+        player_info
+        WHERE
+        del_flag = 'N'
+        AND medal = 'silver'
+        AND user_id = p.user_id
+        AND season_id = p.season_id
+        AND game_id = p.game_id
+        ) AS silver,
+        (
+        SELECT
+        COUNT(1)
+        FROM
+        player_info
+        WHERE
+        del_flag = 'N'
+        AND medal = 'bronze'
+        AND user_id = p.user_id
+        AND season_id = p.season_id
+        AND game_id = p.game_id
+        ) AS bronze,
         @curRank :=
         IF (
         @prevRank = bonus,
@@ -848,7 +898,56 @@
     <select id="seasonUserRank" parameterType="java.util.Map"
             resultMap="PagePlayerInfoResult">
 
-        select * from (
+        select *,(
+        SELECT
+        COUNT(1)
+        FROM
+        player_info
+        WHERE
+        del_flag = 'N'
+        AND ranking = 1
+        AND medal = 'platinum'
+        AND user_id = u.user_id
+        AND season_id = u.season_id
+        AND game_id = u.game_id
+        ) AS platinum,
+        (
+        SELECT
+        COUNT(1)
+        FROM
+        player_info
+        WHERE
+        del_flag = 'N'
+        AND house_rank = 1
+        AND medal = 'gold'
+        AND user_id = u.user_id
+        AND season_id = u.season_id
+        AND game_id = u.game_id
+        ) AS gold,
+        (
+        SELECT
+        COUNT(1)
+        FROM
+        player_info
+        WHERE
+        del_flag = 'N'
+        AND medal = 'silver'
+        AND user_id = u.user_id
+        AND season_id = u.season_id
+        AND game_id = u.game_id
+        ) AS silver,
+        (
+        SELECT
+        COUNT(1)
+        FROM
+        player_info
+        WHERE
+        del_flag = 'N'
+        AND medal = 'bronze'
+        AND user_id = u.user_id
+        AND season_id = u.season_id
+        AND game_id = u.game_id
+        ) AS bronze from (
         SELECT
         game_id,
         user_id,

+ 51 - 0
src/main/java/com/izouma/awesomeadmin/model/PlayerInfo.java

@@ -69,6 +69,25 @@ public class PlayerInfo {
      * 奖章
      */
     private String medal;
+    /**
+     * 白金
+     */
+    private Integer platinum;
+
+    /**
+     * 金牌
+     */
+    private Integer gold;
+
+    /**
+     * 银牌
+     */
+    private Integer silver;
+
+    /**
+     * 铜牌
+     */
+    private Integer bronze;
 
 
     public Integer getId() {
@@ -374,5 +393,37 @@ public class PlayerInfo {
     public void setMedal(String medal) {
         this.medal = medal;
     }
+
+    public Integer getPlatinum() {
+        return platinum;
+    }
+
+    public void setPlatinum(Integer platinum) {
+        this.platinum = platinum;
+    }
+
+    public Integer getGold() {
+        return gold;
+    }
+
+    public void setGold(Integer gold) {
+        this.gold = gold;
+    }
+
+    public Integer getSilver() {
+        return silver;
+    }
+
+    public void setSilver(Integer silver) {
+        this.silver = silver;
+    }
+
+    public Integer getBronze() {
+        return bronze;
+    }
+
+    public void setBronze(Integer bronze) {
+        this.bronze = bronze;
+    }
 }