Просмотр исходного кода

修改内容:整体概括添加SDK来源判断;游戏数据修改空值处理

lth 1 год назад
Родитель
Сommit
7853d3c448

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

@@ -62,4 +62,10 @@ public class OverallSummaryDTO {
     @ApiModelProperty(value = "推广账号")
     private BigInteger accountId;
 
+    /**
+     * SDK来源
+     */
+    @ApiModelProperty(value = "SDK来源")
+    private String sourceSystem;
+
 }

+ 6 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsOverallSummary.java

@@ -25,7 +25,7 @@ import java.time.LocalDate;
 @AllArgsConstructor
 @Builder
 @Table(AdsOverallSummary.TABLE_NAME)
-@PK({"dt", "agentId", "accountId"})
+@PK({"dt", "agentId", "accountId", "sourceSystem"})
 public class AdsOverallSummary implements Serializable {
     private static final long serialVersionUID = 1L;
     public static final String TABLE_NAME = "ads_overall_summary";
@@ -45,6 +45,11 @@ public class AdsOverallSummary implements Serializable {
      */
     private Long accountId;
 
+    /**
+     * SDK来源
+     */
+    private String sourceSystem;
+
     /**
      * 投手ID
      */

+ 11 - 9
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameDataServiceImpl.java

@@ -457,6 +457,8 @@ public class GameDataServiceImpl implements IGameDataService {
             //将tempVO中查出的数据添加到vo上
             copyNullProperties(tempVO,vo);
 
+            log.info("amount:" + tempVO.getAmount());
+
             //设置查询参数map
             Map<String, Object> dayNMap = new HashMap<>(4);
             dayNMap.put("registerBeginDate", dto.getRegisteredBeginDate());
@@ -1268,15 +1270,15 @@ public class GameDataServiceImpl implements IGameDataService {
     private String gameDataTotalSqlRecharge(){
         return """
                 SELECT
-                    sum(b.buy_amount_count) buy_amount_count,
-                    sum(b.buy_amount_num) buy_amount_num,
-                    sum(b.buy_amount) buy_amount,
-                    sum(b.nature_amount_count) nature_amount_count,
-                    sum(b.nature_amount_num) nature_amount_num,
-                    sum(b.nature_amount) nature_amount,
-                    sum(b.amount_count) amount_count,
-                    sum(b.amount_num) amount_num,
-                    sum(b.amount) amount,
+                    ifnull(sum(b.buy_amount_count),0) buy_amount_count,
+                    ifnull(sum(b.buy_amount_num),0) buy_amount_num,
+                    ifnull(sum(b.buy_amount),0) buy_amount,
+                    ifnull(sum(b.nature_amount_count),0) nature_amount_count,
+                    ifnull(sum(b.nature_amount_num),0) nature_amount_num,
+                    ifnull(sum(b.nature_amount),0) nature_amount,
+                    ifnull(sum(b.amount_count),0) amount_count,
+                    ifnull(sum(b.amount_num),0) amount_num,
+                    ifnull(sum(b.amount),0) amount,
                     
                     round(if(sum(b.buy_amount_count) > 0, sum(b.buy_amount) / sum(b.buy_amount_count), 0), 2) buy_avg_amount,
                     round(if(sum(b.nature_amount_count) > 0, sum(b.nature_amount) / sum(b.nature_amount_count), 0), 2) nature_avg_amount,

+ 5 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/OverallSummaryServiceImpl.java

@@ -8,6 +8,7 @@ import com.zanxiang.game.data.serve.pojo.vo.OverallSummaryLineDataVO;
 import com.zanxiang.game.data.serve.pojo.vo.OverallSummaryVO;
 import com.zanxiang.game.data.serve.service.IOverallSummaryService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.nutz.dao.Cnd;
 import org.nutz.dao.Condition;
 import org.nutz.dao.Dao;
@@ -207,6 +208,10 @@ public class OverallSummaryServiceImpl implements IOverallSummaryService {
             //拼接广告账户查询条件
             cri.where().andEquals("accountId", dto.getAccountId());
         }
+        if (StringUtils.isNotBlank(dto.getSourceSystem())){
+            //拼接查询 sdk 来源条件
+            cri.where().andEquals("sourceSystem", dto.getSourceSystem());
+        }
         //前端传递 pitcherId 根据 pitcherId 查询
         if (dto.getPitcherId() != null) {
             //拼接投手查询条件