Browse Source

Merge branch 'dev' of GameCenter/game-center into master

zhimo 1 year ago
parent
commit
10521801d6

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

@@ -48,6 +48,12 @@ public class AdsOrderDetailListDTO extends BasePage {
     @ApiModelProperty(notes = "所在服务器名称")
     private String serverName;
 
+    /**
+     * 所在原始服务器名称
+     */
+    @ApiModelProperty(notes = "所在原始服务器名称")
+    private String sourceServerName;
+
     /**
      * 游戏角色
      */

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

@@ -47,6 +47,12 @@ public class AdsOrderDetailTotalDTO {
     @ApiModelProperty(notes = "所在服务器名称")
     private String serverName;
 
+    /**
+     * 所在原始服务器名称
+     */
+    @ApiModelProperty(notes = "所在原始服务器名称")
+    private String sourceServerName;
+
     /**
      * 游戏角色
      */

+ 2 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/PromotionDayDTO.java

@@ -8,6 +8,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @author tianhua
@@ -96,7 +97,7 @@ public class PromotionDayDTO extends BasePage {
      * 渠道ID
      */
     @ApiModelProperty(value = "渠道ID")
-    private Long[] agentId;
+    private List<Long> agentId;
 
     /**
      * cp名称

+ 12 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/RoleRechargeRankingDTO.java

@@ -153,4 +153,16 @@ public class RoleRechargeRankingDTO extends BasePage {
     @ApiModelProperty(notes = "排序方式:升序asc;降序desc")
     private String sortType;
 
+    /**
+     * 角色累计充值金额最大值(单位:元)
+     */
+    @ApiModelProperty(notes = "角色累计充值金额最大值(单位:元)")
+    private Long totalRechargeMax;
+
+    /**
+     * 角色累计充值金额最小值(单位:元)
+     */
+    @ApiModelProperty(notes = "角色累计充值金额最小值(单位:元)")
+    private Long totalRechargeMin;
+
 }

+ 2 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/TencentPromotionDayDTO.java

@@ -8,6 +8,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @author tianhua
@@ -96,7 +97,7 @@ public class TencentPromotionDayDTO extends BasePage {
      * 渠道ID
      */
     @ApiModelProperty(value = "渠道ID")
-    private Long[] agentId;
+    private List<Long> agentId;
 
     /**
      * cp名称

+ 20 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdsOrderDetailService.java

@@ -72,6 +72,9 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
         if (StringUtils.isNotBlank(dto.getServerName())) {
             cri.where().andEquals("server_name", dto.getServerName());
         }
+        if (StringUtils.isNotBlank(dto.getSourceServerName())) {
+            cri.where().andEquals("source_server_name", dto.getSourceServerName());
+        }
         if (gameIds != null) {
             cri.where().andInList("order_game_id", gameIds);
         }
@@ -123,6 +126,9 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
         if (dto.getRegPayIntervalTimeMax() != null) {
             cri.where().andLTE("TIMESTAMPDIFF(MINUTE, reg_time, pay_time)", dto.getRegPayIntervalTimeMax());
         }
+        if (StringUtils.isNotBlank(dto.getRoleName())) {
+            cri.where().andLike("role_name", dto.getRoleName());
+        }
 
         //pager
         Pager pager = dto.toPage();
@@ -149,7 +155,13 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
         sql.setPager(pager);
         //执行获取结果
         dao.execute(sql);
-        List<AdsOrderDetailVO> list = sql.getList(AdsOrderDetailVO.class);
+        List<AdsOrderDetailVO> list = sql.getList(AdsOrderDetailVO.class).stream().map(vo -> {
+            //去除‘null’字符串
+            if ("null".equals(vo.getPayAccountId())) {
+                vo.setPayAccountId(null);
+            }
+            return vo;
+        }).collect(Collectors.toList());
 
         return new Page<>(list, pager);
     }
@@ -185,6 +197,9 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
         if (StringUtils.isNotBlank(dto.getServerName())) {
             cri.where().andEquals("server_name", dto.getServerName());
         }
+        if (StringUtils.isNotBlank(dto.getSourceServerName())) {
+            cri.where().andEquals("source_server_name", dto.getSourceServerName());
+        }
         if (gameIds != null) {
             cri.where().andInList("order_game_id", gameIds);
         }
@@ -236,6 +251,10 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
         if (dto.getRegPayIntervalTimeMax() != null) {
             cri.where().andLTE("TIMESTAMPDIFF(MINUTE, reg_time, pay_time)", dto.getRegPayIntervalTimeMax());
         }
+        if (StringUtils.isNotBlank(dto.getRoleName())) {
+            cri.where().andLike("role_name", dto.getRoleName());
+        }
+
         Sql sql = Sqls.create(getOrderDetailTotalSql() + cri);
         sql.setCallback(Sqls.callback.entity());
         sql.setEntity(dao.getEntity(AdsOrderDetailTotalVO.class));

+ 5 - 4
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PromotionDayServiceImpl.java

@@ -12,6 +12,7 @@ import com.zanxiang.game.data.serve.pojo.vo.*;
 import com.zanxiang.game.data.serve.service.IAdsPromotionDayService;
 import com.zanxiang.game.data.serve.utils.Page;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.nutz.dao.Cnd;
@@ -787,8 +788,8 @@ public class PromotionDayServiceImpl implements IAdsPromotionDayService {
         if (userIds != null) {
             cri.where().andInList("pitcher_id", userIds);
         }
-        if (ArrayUtils.isNotEmpty(dto.getAgentId())) {
-            cri.where().andInList("agent_id", Arrays.asList(dto.getAgentId()));
+        if (CollectionUtils.isNotEmpty(dto.getAgentId())) {
+            cri.where().andInList("agent_id", dto.getAgentId());
         }
         if (StringUtils.isNotBlank(dto.getCpName())) {
             cri.where().andEquals("cp_name", dto.getCpName());
@@ -860,8 +861,8 @@ public class PromotionDayServiceImpl implements IAdsPromotionDayService {
         if (userIds != null) {
             cri.where().andInList("pitcher_id", userIds);
         }
-        if (ArrayUtils.isNotEmpty(dto.getAgentId())) {
-            cri.where().andInList("agent_id", Arrays.asList(dto.getAgentId()));
+        if (CollectionUtils.isNotEmpty(dto.getAgentId())) {
+            cri.where().andInList("agent_id", dto.getAgentId());
         }
         if (StringUtils.isNotBlank(dto.getCpName())) {
             cri.where().andEquals("cp_name", dto.getCpName());

+ 25 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -119,6 +119,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
             //客服
             criA.where().andEquals("customer_service_id", dto.getCustomerServerId());
         }
+        if (dto.getTotalRechargeMin() != null) {
+            //累计充值金额最小值
+            criA.where().andGTE("amount", dto.getTotalRechargeMin());
+        }
+        if (dto.getTotalRechargeMax() != null) {
+            //累计充值金额最大值
+            criA.where().andLTE("amount", dto.getTotalRechargeMax());
+        }
         //给充值时间查询条件
         Criteria criTodayAmount = Cnd.cri();
         //查询充值成功的
@@ -148,7 +156,23 @@ public class RoleManageServiceImpl implements IRoleManageService {
         sql.setCallback(Sqls.callback.maps());
         sql.setPager(pager);
         dao.execute(sql);
-        List<Map> list = sql.getList(Map.class).stream().map(map -> getNameById(map)).collect(Collectors.toList());
+        List<Map> list = sql.getList(Map.class).stream().map(map -> {
+            getNameById(map);
+            //去除‘null’字符串
+            if ("null".equals(map.get("add_corp_user_id"))) {
+                map.put("add_corp_user_id", null);
+            }
+            if ("null".equals(map.get("user_wechat"))) {
+                map.put("user_wechat", null);
+            }
+            if ("null".equals(map.get("remark"))) {
+                map.put("remark", null);
+            }
+            if ("null".equals(map.get("user_phone"))) {
+                map.put("user_phone", null);
+            }
+            return map;
+        }).collect(Collectors.toList());
 
         //返回结果
         return new Page<>(list, pager);

+ 67 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/utils/ApiVisitHistory.java

@@ -0,0 +1,67 @@
+package com.zanxiang.game.data.serve.utils;
+
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author tianhua
+ * @time 2023/10/16
+ * @Description Api历史访问记录
+ **/
+@Component
+@Aspect
+public class ApiVisitHistory {
+
+    /*private Logger log = LoggerFactory.getLogger(ApiVisitHistory.class);
+
+    private ThreadLocal<Long> startTime = new ThreadLocal<>();
+
+    *//**
+     * 定义切面
+     * 此处代表com.zanxiang.game.data.serve.controller包下的所有接口都会被统计
+     *//*
+    @Pointcut("execution(* com.zanxiang.game.data.serve.controller..*.*(..)) && !execution(* com.zanxiang.game.data.serve.controller.GameListController.*(..))")
+    public void pointCut(){
+
+    }
+
+    *//**
+     * 在接口原有的方法执行前,将会首先执行此处的代码
+     *//*
+    @Before("pointCut()")
+    public void doBefore(JoinPoint joinPoint) {
+        startTime.set(System.currentTimeMillis());
+        //获取传入目标方法的参数
+        Object[] args = joinPoint.getArgs();
+        log.info("类名:{}", joinPoint.getSignature().getDeclaringType().getSimpleName());
+        log.info("方法名:{}", joinPoint.getSignature().getName() );
+        log.info("输入的参数:{}", Arrays.toString(joinPoint.getArgs()));
+    }
+
+    *//**
+     * 只有正常返回才会执行此方法
+     * 如果程序执行失败,则不执行此方法
+     *//*
+    @AfterReturning(returning = "returnVal", pointcut = "pointCut()")
+    public void doAfterReturning(JoinPoint joinPoint, Object returnVal) {
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        log.info("URI:[{}], 耗费时间:[{}] ms, 访问IP:[{}]",
+                request.getRequestURI(),
+                System.currentTimeMillis() - startTime.get(),
+                request.getRemoteUser());
+    }
+
+    *//**
+     * 当接口报错时执行此方法
+     *//*
+    @AfterThrowing(pointcut = "pointCut()")
+    public void doAfterThrowing(JoinPoint joinPoint) {
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        log.info("接口访问失败,URI:[{}], 耗费时间:[{}] ms", request.getRequestURI(), System.currentTimeMillis() - startTime.get());
+    }*/
+
+
+
+}
+
+

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -21,7 +21,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 <游戏授权模块修改1> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 <bug修改> ( ´・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 3 - 2
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/GameAuthAddParam.java

@@ -4,6 +4,7 @@ import com.zanxiang.game.module.base.pojo.enums.GameAuthEnum;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 
@@ -25,14 +26,14 @@ public class GameAuthAddParam {
     /**
      * 用户id列表
      */
-    @NotNull(message = "用户id列表不可为空")
+    @NotEmpty(message = "用户id列表不可为空")
     @ApiModelProperty(notes = "用户id列表, 调接口, 从接口中给的人中选择")
     private List<Long> userIdList;
 
     /**
      * 游戏授权列表
      */
-    @NotNull(message = "游戏id列表不可为空")
+    @NotEmpty(message = "游戏id列表不可为空")
     @ApiModelProperty(notes = "游戏id列表, 所有游戏下拉选择")
     private List<GameAuthBean> gameAuthList;