Преглед на файлове

修改内容:用户详情修改空值判断;滚服接口编写

lth преди 1 година
родител
ревизия
90d6cb8955

+ 16 - 3
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameServerDayDTO.java

@@ -21,10 +21,16 @@ import java.time.LocalDate;
 public class GameServerDayDTO extends BasePage {
 
     /**
-     * 开服时间
+     * 开服时间(开始时间)
      */
-    @ApiModelProperty(value = "开服时间")
-    private LocalDate dt;
+    @ApiModelProperty(value = "开服时间(起始)")
+    private LocalDate beginDate;
+
+    /**
+     * 开服时间(结束时间)
+     */
+    @ApiModelProperty(value = "开服时间(结束)")
+    private LocalDate endDate;
 
     /**
      * 游戏ID
@@ -44,6 +50,13 @@ public class GameServerDayDTO extends BasePage {
     @ApiModelProperty(value = "区服名称")
     private String serverName;
 
+    /**
+     * SDK来源
+     */
+    @ApiModelProperty(value = "SDK来源")
+    private String sourceSystem;
+
+
     /**
      * 排序字段
      */

+ 6 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameServerDayTotalDTO.java

@@ -43,4 +43,10 @@ public class GameServerDayTotalDTO {
     @ApiModelProperty(value = "区服名称")
     private String serverName;
 
+    /**
+     * SDK来源
+     */
+    @ApiModelProperty(value = "SDK来源")
+    private String sourceSystem;
+
 }

+ 0 - 6
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsGameServerDay.java

@@ -1,9 +1,6 @@
 package com.zanxiang.game.data.serve.pojo.entity;
 
-import lombok.AllArgsConstructor;
-import lombok.Builder;
 import lombok.Data;
-import lombok.NoArgsConstructor;
 import org.nutz.dao.entity.annotation.Column;
 import org.nutz.dao.entity.annotation.PK;
 import org.nutz.dao.entity.annotation.Table;
@@ -13,9 +10,6 @@ import java.math.BigDecimal;
 import java.time.LocalDate;
 
 @Data
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
 @Table(AdsGameServerDay.TABLE_NAME)
 @PK({"dt", "sourceSystem", "serverId", "serverName", "gameId", "gameName"})
 public class AdsGameServerDay implements Serializable {

+ 83 - 89
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameServerDayVO.java

@@ -1,10 +1,7 @@
 package com.zanxiang.game.data.serve.pojo.vo;
 
 import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
 import lombok.Data;
-import lombok.NoArgsConstructor;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
@@ -15,9 +12,6 @@ import java.time.LocalDate;
  * @Description 前端展示的游戏区服数据
  **/
 @Data
-@AllArgsConstructor
-@NoArgsConstructor
-@Builder
 public class GameServerDayVO {
 
     /**
@@ -366,252 +360,252 @@ public class GameServerDayVO {
      * 区服第1天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
     @ApiModelProperty(value = "区服第1天")
-    private String da1Trend;
+    private GameServerTrendVO da1Trend;
 
     /**
      * 区服在第2天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da2Trend;
+    @ApiModelProperty(value = "区服第2天")
+    private GameServerTrendVO da2Trend;
 
     /**
      * 区服在第3天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da3Trend;
+    @ApiModelProperty(value = "区服第3天")
+    private GameServerTrendVO da3Trend;
 
     /**
      * 区服在第4天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da4Trend;
+    @ApiModelProperty(value = "区服第4天")
+    private GameServerTrendVO da4Trend;
 
     /**
      * 区服在第5天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da5Trend;
+    @ApiModelProperty(value = "区服第5天")
+    private GameServerTrendVO da5Trend;
 
     /**
      * 区服在第6天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da6Trend;
+    @ApiModelProperty(value = "区服第6天")
+    private GameServerTrendVO da6Trend;
 
     /**
      * 区服在第7天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da7Trend;
+    @ApiModelProperty(value = "区服第7天")
+    private GameServerTrendVO da7Trend;
 
     /**
      * 区服在第8天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da8Trend;
+    @ApiModelProperty(value = "区服第8天")
+    private GameServerTrendVO da8Trend;
 
     /**
      * 区服在第9天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da9Trend;
+    @ApiModelProperty(value = "区服第9天")
+    private GameServerTrendVO da9Trend;
 
     /**
      * 区服在第10天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da10Trend;
+    @ApiModelProperty(value = "区服第10天")
+    private GameServerTrendVO da10Trend;
 
     /**
      * 区服在第11天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da11Trend;
+    @ApiModelProperty(value = "区服第11天")
+    private GameServerTrendVO da11Trend;
 
     /**
      * 区服在第12天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da12Trend;
+    @ApiModelProperty(value = "区服第12天")
+    private GameServerTrendVO da12Trend;
 
     /**
      * 区服在第13天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da13Trend;
+    @ApiModelProperty(value = "区服第13天")
+    private GameServerTrendVO da13Trend;
 
     /**
      * 区服在第14天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da14Trend;
+    @ApiModelProperty(value = "区服第14天")
+    private GameServerTrendVO da14Trend;
 
     /**
      * 区服在第15天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da15Trend;
+    @ApiModelProperty(value = "区服第15天")
+    private GameServerTrendVO da15Trend;
 
     /**
      * 区服在第16天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da16Trend;
+    @ApiModelProperty(value = "区服第16天")
+    private GameServerTrendVO da16Trend;
 
     /**
      * 区服在第17天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da17Trend;
+    @ApiModelProperty(value = "区服第17天")
+    private GameServerTrendVO da17Trend;
 
     /**
      * 区服在第18天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da18Trend;
+    @ApiModelProperty(value = "区服第18天")
+    private GameServerTrendVO da18Trend;
 
     /**
      * 区服在第19天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da19Trend;
+    @ApiModelProperty(value = "区服第19天")
+    private GameServerTrendVO da19Trend;
 
     /**
      * 区服在第20天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da20Trend;
+    @ApiModelProperty(value = "区服第20天")
+    private GameServerTrendVO da20Trend;
 
     /**
      * 区服在第21天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da21Trend;
+    @ApiModelProperty(value = "区服第21天")
+    private GameServerTrendVO da21Trend;
 
     /**
      * 区服在第22天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da22Trend;
+    @ApiModelProperty(value = "区服第22天")
+    private GameServerTrendVO da22Trend;
 
     /**
      * 区服在第23天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da23Trend;
+    @ApiModelProperty(value = "区服第23天")
+    private GameServerTrendVO da23Trend;
 
     /**
      * 区服在第24天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da24Trend;
+    @ApiModelProperty(value = "区服第24天")
+    private GameServerTrendVO da24Trend;
 
     /**
      * 区服在第25天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da25Trend;
+    @ApiModelProperty(value = "区服第25天")
+    private GameServerTrendVO da25Trend;
 
     /**
      * 区服在第26天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da26Trend;
+    @ApiModelProperty(value = "区服第26天")
+    private GameServerTrendVO da26Trend;
 
     /**
      * 区服在第27天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da27Trend;
+    @ApiModelProperty(value = "区服第27天")
+    private GameServerTrendVO da27Trend;
 
     /**
      * 区服在第28天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da28Trend;
+    @ApiModelProperty(value = "区服第28天")
+    private GameServerTrendVO da28Trend;
 
     /**
      * 区服在第29天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da29Trend;
+    @ApiModelProperty(value = "区服第29天")
+    private GameServerTrendVO da29Trend;
 
     /**
      * 区服在第30天:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String da30Trend;
+    @ApiModelProperty(value = "区服第30天")
+    private GameServerTrendVO da30Trend;
 
     /**
      * 区服在第2月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String m2Trend;
+    @ApiModelProperty(value = "区服第2月")
+    private GameServerTrendVO m2Trend;
 
     /**
      * 区服在第3月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String m3Trend;
+    @ApiModelProperty(value = "区服第3月")
+    private GameServerTrendVO m3Trend;
 
     /**
      * 区服在第4月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String m4Trend;
+    @ApiModelProperty(value = "区服第4月")
+    private GameServerTrendVO m4Trend;
 
     /**
      * 区服在第5月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String m5Trend;
+    @ApiModelProperty(value = "区服第5月")
+    private GameServerTrendVO m5Trend;
 
     /**
      * 区服在第6月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String m6Trend;
+    @ApiModelProperty(value = "区服第6月")
+    private GameServerTrendVO m6Trend;
 
     /**
      * 区服在第7月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String m7Trend;
+    @ApiModelProperty(value = "区服第7月")
+    private GameServerTrendVO m7Trend;
 
     /**
      * 区服在第8月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String m8Trend;
+    @ApiModelProperty(value = "区服第8月")
+    private GameServerTrendVO m8Trend;
 
     /**
      * 区服在第9月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String m9Trend;
+    @ApiModelProperty(value = "区服第9月")
+    private GameServerTrendVO m9Trend;
 
     /**
      * 区服在第10月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1")
-    private String m10Trend;
+    @ApiModelProperty(value = "区服第10月")
+    private GameServerTrendVO m10Trend;
 
     /**
      * 区服在第11月:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1")
-    private String m11Trend;
+    @ApiModelProperty(value = "区服第11月")
+    private GameServerTrendVO m11Trend;
 
     /**
      * 区服在第1年:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1")
-    private String y1Trend;
+    @ApiModelProperty(value = "区服第1")
+    private GameServerTrendVO y1Trend;
 
     /**
      * 区服至今:注册人数/创角人数/活跃人数/付费人数/付费金额/滚服人数/滚服付费人数/滚服付费金额/滚服付费占比
      */
-    @ApiModelProperty(value = "区服第1天")
-    private String totalTrend;
+    @ApiModelProperty(value = "区服至今总数据")
+    private GameServerTrendVO totalTrend;
 
 }

+ 71 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameServerTrendVO.java

@@ -0,0 +1,71 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameServerTrendVO {
+
+    /**
+     * 注册人数
+     */
+    @ApiModelProperty(notes = "注册人数")
+    private Long regNum;
+
+    /**
+     * 创角人数
+     */
+    @ApiModelProperty(notes = "创角人数")
+    private Long roleNum;
+
+    /**
+     * 活跃人数
+     */
+    @ApiModelProperty(notes = "活跃人数")
+    private Long activeNum;
+
+    /**
+     * 付费人数
+     */
+    @ApiModelProperty(notes = "付费人数")
+    private Long amountNum;
+
+    /**
+     * 付费金额
+     */
+    @ApiModelProperty(notes = "付费金额")
+    private BigDecimal amount;
+
+    /**
+     * 滚服人数
+     */
+    @ApiModelProperty(notes = "滚服人数")
+    private Long rollServerNum;
+
+    /**
+     * 滚服付费人数
+     */
+    @ApiModelProperty(notes = "滚服付费人数")
+    private Long rollServerAmountNum;
+
+    /**
+     * 滚服付费金额
+     */
+    @ApiModelProperty(notes = "滚服付费金额")
+    private BigDecimal rollServerAmount;
+
+    /**
+     * 滚服付费占比
+     */
+    @ApiModelProperty(notes = "滚服付费占比")
+    private BigDecimal rollServerAmountRate;
+
+}

+ 6 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameDataServiceImpl.java

@@ -3379,7 +3379,12 @@ public class GameDataServiceImpl implements IGameDataService {
         } else {
             userDetilsSql.vars().set("amount", "today_total_amount");
         }
-        userDetilsSql.params().set("usersId", usersId);
+        if (ArrayUtils.isNotEmpty(usersId)) {
+            userDetilsSql.params().set("usersId", usersId);
+        } else {
+            //用户不存在赋空值
+            userDetilsSql.params().set("usersId", null);
+        }
         //设置回传对象
         userDetilsSql.setCallback(Sqls.callback.entities());
         userDetilsSql.setEntity(dao.getEntity(GameDataUserDetailsVO.class));

+ 179 - 2
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServerServiceImpl.java

@@ -1,15 +1,32 @@
 package com.zanxiang.game.data.serve.service.impl;
 
+import com.google.common.base.CaseFormat;
 import com.zanxiang.game.data.serve.pojo.dto.GameServerDayDTO;
 import com.zanxiang.game.data.serve.pojo.dto.GameServerDayTotalDTO;
+import com.zanxiang.game.data.serve.pojo.entity.AdsGameServerDay;
+import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
 import com.zanxiang.game.data.serve.pojo.vo.GameServerDayTotalVO;
 import com.zanxiang.game.data.serve.pojo.vo.GameServerDayVO;
+import com.zanxiang.game.data.serve.pojo.vo.GameServerTrendVO;
 import com.zanxiang.game.data.serve.service.IGameServerService;
 import com.zanxiang.game.data.serve.utils.Page;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.nutz.dao.Cnd;
 import org.nutz.dao.Dao;
+import org.nutz.dao.Sqls;
+import org.nutz.dao.pager.Pager;
+import org.nutz.dao.sql.Criteria;
+import org.nutz.dao.sql.Sql;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import reactor.util.function.Tuple2;
+import reactor.util.function.Tuples;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.time.LocalDate;
+import java.util.*;
 
 /**
  * @author tianhua
@@ -20,22 +37,111 @@ import org.springframework.stereotype.Service;
 @Service
 public class GameServerServiceImpl implements IGameServerService {
 
+    //存储映射的List
+    private static final List<Tuple2<Field,Field>> dayNFieldMapList;
+    //private static final List<Tuple2<Field,Field>> dayNTotalFieldMapList;
+
+    static {
+        //解析游戏区服的dayN映射
+        Map<String, Field> fieldMap = new HashMap<>();
+        List<Field> dayNFieldList = new ArrayList<>();
+        Class<?> tempClazz = GameServerDayVO.class;
+        while (tempClazz != null) {
+            //得到所有的field
+            Field[] fields = tempClazz.getDeclaredFields();
+            for (Field field : fields) {
+                if (Modifier.isFinal(field.getModifiers()) || Modifier.isStatic(field.getModifiers())) {
+                    continue;
+                }
+                //map里面存储了所有的field
+                fieldMap.put(field.getName(), field);
+                if (field.getType() == GameServerTrendVO.class) {
+                    //list里面只存储了 Trend 相关的field
+                    dayNFieldList.add(field);
+                }
+            }
+            tempClazz = tempClazz.getSuperclass();
+        }
+        if (dayNFieldList.isEmpty()) {
+            dayNFieldMapList = Collections.emptyList();
+        } else {
+            dayNFieldMapList = new ArrayList<>(dayNFieldList.size());
+            for (Field dayNField : dayNFieldList) {
+                dayNField.setAccessible(true);
+                Field sourceField = fieldMap.get(dayNField.getName().replace("Trend", ""));
+                sourceField.setAccessible(true);
+                if (sourceField != null) {
+                    dayNFieldMapList.add(Tuples.of(sourceField, dayNField));
+                }
+            }
+        }
+    }
+
+
     @Autowired
     private Dao dao;
 
     /**
      * 游戏区服数据
+     *
      * @param dto 前端传递的查询参数
      * @return page
      */
     @Override
     public Page<GameServerDayVO> getGameServerDataDay(GameServerDayDTO dto) {
-        //游戏id为最小维度
-        return null;
+
+        //不传递时间,默认查询当天数据
+        if (dto.getBeginDate() == null || dto.getEndDate() == null) {
+            dto.setBeginDate(LocalDate.now());
+            dto.setEndDate(LocalDate.now());
+        }
+        //默认排序字段 开服时间 降序
+        if (StringUtils.isBlank(dto.getSortFiled())) {
+            dto.setSortFiled("dt");
+        }
+        if (StringUtils.isBlank(dto.getSortType())) {
+            dto.setSortType(OrderByEnum.DESC.getOrderType());
+        }
+        //创建查询条件、
+        Criteria cri = Cnd.cri();
+        if (dto.getGameId() != null) {
+            //拼接游戏ID查询条件
+            cri.where().andEquals("game_id", dto.getGameId());
+        }
+        if (dto.getServerId() != null) {
+            //拼接区服ID查询条件
+            cri.where().andEquals("server_id", dto.getServerId());
+        }
+        if (StringUtils.isNotBlank(dto.getServerName())) {
+            //拼接区服名称查询条件
+            cri.where().andLike("server_name", dto.getServerName());
+        }
+        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
+            //拼接开服时间查询条件
+            cri.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
+        }
+        //添加排序条件
+        //拼接排序条件
+        cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
+        //创建sql语句查询数据
+        Sql sql = Sqls.create(gameServerDaySql() + cri);
+        //设置自定义回传对象
+        sql.setCallback(Sqls.callback.entities());
+        sql.setEntity(dao.getEntity(GameServerDayVO.class));
+        //设置分页对象
+        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
+        sql.setPager(pager);
+        //执行sql
+        dao.execute(sql);
+        //设置总记录数
+        pager.setRecordCount(dao.count(AdsGameServerDay.class, cri));
+        //返回结果
+        return new Page<>(sql.getList(GameServerDayVO.class), pager);
     }
 
     /**
      * 游戏区服数据总计
+     *
      * @param dto 前端传递的查询参数
      * @return vo
      */
@@ -43,4 +149,75 @@ public class GameServerServiceImpl implements IGameServerService {
     public GameServerDayTotalVO getGameServerDataDayTotal(GameServerDayTotalDTO dto) {
         return null;
     }
+
+    /**
+     * 游戏区服数据SQL
+     * @return String
+     */
+    private String gameServerDaySql() {
+        return """
+                SELECT
+                    dt,
+                    source_system,
+                    server_id,
+                    server_name,
+                    game_id,
+                    game_name,
+                    classify,
+                    out_total_num,
+                    out_total_amount_num,
+                    out_total_amount,
+                    out_total_rate,
+                    total_role_num,
+                    total_reg_num,
+                    total_amount_num,
+                    total_amount,
+                    da1,
+                    da2,
+                    da3,
+                    da4,
+                    da5,
+                    da6,
+                    da7,
+                    da8,
+                    da9,
+                    da10,
+                    da11,
+                    da12,
+                    da13,
+                    da14,
+                    da15,
+                    da16,
+                    da17,
+                    da18,
+                    da19,
+                    da20,
+                    da21,
+                    da22,
+                    da23,
+                    da24,
+                    da25,
+                    da26,
+                    da27,
+                    da28,
+                    da29,
+                    da30,
+                    m2,
+                    m3,
+                    m4,
+                    m5,
+                    m6,
+                    m7,
+                    m8,
+                    m9,
+                    m10,
+                    m11,
+                    y1,
+                    total
+                FROM
+                    game_ads.ads_game_server_day
+                """;
+    }
+
+
 }