Ver código fonte

fix : 游戏区服修改上线

bilingfeng 1 ano atrás
pai
commit
625ec89a5e

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/OrderParam.java

@@ -42,7 +42,7 @@ public class OrderParam extends BaseListDTO<Order> {
     private String cpId;
 
     @ApiModelProperty(notes = "充值游戏id")
-    private String gameId;
+    private Long gameId;
 
     @ApiModelProperty(notes = "注册渠道对应的id")
     private Long channelId;

+ 9 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/GameRemitLogVO.java

@@ -0,0 +1,9 @@
+package com.zanxiang.game.module.manage.pojo.vo;
+
+/**
+ * @author : lingfeng
+ * @time : 2023-08-08
+ * @description : 提现记录
+ */
+public class GameRemitLogVO {
+}

+ 6 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/GameUserRoleListVO.java

@@ -100,6 +100,12 @@ public class GameUserRoleListVO {
     @ApiModelProperty(notes = "游戏应用类型名称")
     private String gameCategoryName;
 
+    /**
+     * 原始服务器名称
+     */
+    @ApiModelProperty(notes = "原始服务器名称")
+    private String sourceServerName;
+
     /**
      * 游戏区服
      */

+ 7 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/OrderExcelVO.java

@@ -1,6 +1,7 @@
 package com.zanxiang.game.module.manage.pojo.vo;
 
 import com.zanxiang.module.util.excel.ExcelAnno;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -147,6 +148,12 @@ public class OrderExcelVO {
     @ExcelAnno(title = "商户名称")
     private String merchantName;
 
+    /**
+     * 原始服务器名称
+     */
+    @ApiModelProperty(notes = "原始服务器名称")
+    private String sourceServerName;
+
     /**
      * 所在服务器名称
      */

+ 6 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/OrderVO.java

@@ -195,6 +195,12 @@ public class OrderVO {
     @ApiModelProperty(notes = "商户名称")
     private String merchantName;
 
+    /**
+     * 原始服务器名称
+     */
+    @ApiModelProperty(notes = "原始服务器名称")
+    private String sourceServerName;
+
     /**
      * 所在服务器名称
      */

+ 12 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/IGameRemitLogService.java

@@ -0,0 +1,12 @@
+package com.zanxiang.game.module.manage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.game.module.mybatis.entity.GameRemitLog;
+
+/**
+ * @author : lingfeng
+ * @time : 2023-07-17
+ * @description : 游戏提现记录
+ */
+public interface IGameRemitLogService extends IService<GameRemitLog> {
+}

+ 19 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GameRemitLogServiceImpl.java

@@ -0,0 +1,19 @@
+package com.zanxiang.game.module.manage.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.game.module.manage.service.IGameRemitLogService;
+import com.zanxiang.game.module.mybatis.entity.GameRemitLog;
+import com.zanxiang.game.module.mybatis.mapper.GameRemitLogMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author : lingfeng
+ * @time : 2023-07-17
+ * @description : 游戏提现记录
+ */
+@Slf4j
+@Service
+public class GameRemitLogServiceImpl extends ServiceImpl<GameRemitLogMapper, GameRemitLog> implements IGameRemitLogService {
+
+}

+ 2 - 2
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GameServerServiceImpl.java

@@ -46,8 +46,8 @@ public class GameServerServiceImpl extends ServiceImpl<GameServerMapper, GameSer
             return Collections.emptyList();
         }
         return super.list(new LambdaQueryWrapper<GameServer>()
-                .eq(GameServer::getGameId, gameId)
-                .like(GameServer::getServerName, serverName)
+                .eq(gameId != null, GameServer::getGameId, gameId)
+                .like(Strings.isNotBlank(serverName), GameServer::getServerName, serverName)
         ).stream().map(GameServer::getServerId).collect(Collectors.toList());
     }
 

+ 14 - 4
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GameUserRoleServiceImpl.java

@@ -14,6 +14,7 @@ import com.zanxiang.game.module.manage.pojo.vo.GameUserRoleListVO;
 import com.zanxiang.game.module.manage.pojo.vo.GameUserRoleVO;
 import com.zanxiang.game.module.manage.service.*;
 import com.zanxiang.game.module.mybatis.entity.Agent;
+import com.zanxiang.game.module.mybatis.entity.GameServer;
 import com.zanxiang.game.module.mybatis.entity.GameUserRole;
 import com.zanxiang.game.module.mybatis.mapper.GameUserRoleMapper;
 import com.zanxiang.module.util.bean.BeanUtil;
@@ -44,15 +45,15 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
     @Autowired
     private IGameService gameService;
 
-    @Autowired
-    private IGameUserService gameUserService;
-
     @Autowired
     private ICpService cpService;
 
     @Autowired
     private IAgentService agentService;
 
+    @Autowired
+    private IGameServerService gameServerService;
+
     @Override
     public GameUserRole getLastGameUserRoleName(Long userId, Long gameId) {
         return super.getOne(new LambdaQueryWrapper<GameUserRole>()
@@ -122,6 +123,8 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
         if (userMap != null && userMap.isEmpty()) {
             return new Page<>();
         }
+        //区服筛选
+        List<String> serverIdList = gameServerService.listServerId(param.getGameId(), param.getServerName());
         //相关用户id
         Set<Long> userIdSet = userMap == null ? null : userMap.keySet();
         Map<Long, CpDTO> cpMap = cpService.cpMap();
@@ -129,7 +132,7 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
         //执行查询
         return page(param.toPage(), new QueryWrapper<GameUserRole>().lambda()
                 .in(CollectionUtils.isNotEmpty(userIdSet), GameUserRole::getUserId, userIdSet)
-                .like(Strings.isNotBlank(param.getServerName()), GameUserRole::getServerName, param.getServerName())
+                .in(CollectionUtils.isNotEmpty(serverIdList), GameUserRole::getServerId, serverIdList)
                 .like(Strings.isNotBlank(param.getRoleName()), GameUserRole::getRoleName, param.getRoleName())
                 .in(gameMap != null, GameUserRole::getGameId, gameMap != null ? gameMap.keySet() : null)
                 .eq(Strings.isNotBlank(param.getOs()), GameUserRole::getOs, param.getOs())
@@ -190,6 +193,13 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
         }
         //注册充值时间差
         gameUserRoleListVO.setRegPayTimeDiff(DateUtils.getRegPayTimeDiff(gameUserRoleListVO.getRegTime(), gameUserRoleListVO.getLastRechargeTime()));
+        //设置源服务器名称
+        GameServer gameServer = gameServerService.getOne(new LambdaQueryWrapper<GameServer>()
+                .eq(GameServer::getGameId, gameUserRole.getGameId())
+                .eq(GameServer::getServerId, gameUserRole.getServerId()));
+        if (gameServer != null) {
+            gameUserRoleListVO.setSourceServerName(gameServer.getServerName());
+        }
         return gameUserRoleListVO;
     }
 }

+ 35 - 18
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/OrderServiceImpl.java

@@ -20,6 +20,7 @@ import com.zanxiang.game.module.manage.pojo.vo.OrderVO;
 import com.zanxiang.game.module.manage.pojo.vo.UserOrderListVO;
 import com.zanxiang.game.module.manage.service.*;
 import com.zanxiang.game.module.mybatis.entity.Agent;
+import com.zanxiang.game.module.mybatis.entity.GameServer;
 import com.zanxiang.game.module.mybatis.entity.Order;
 import com.zanxiang.game.module.mybatis.entity.User;
 import com.zanxiang.game.module.mybatis.mapper.OrderMapper;
@@ -69,6 +70,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Autowired
     private IPayMerchantService payMerchantService;
 
+    @Autowired
+    private IGameServerService gameServerService;
+
     @Override
     public IPage<UserOrderListVO> orderList(UserOrderListParam param) {
         //执行查询
@@ -115,13 +119,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     .like(User::getUsername, param.getUsername())
             ).stream().map(User::getId).collect(Collectors.toList());
         }
+        //区服筛选
+        List<String> serverIdList = gameServerService.listServerId(param.getGameId(), param.getServerName());
         //查询订单列表
-        IPage<OrderVO> page = page(param.toPage(), getListWrapper(param, agentIds, userIds, "*")).convert(this::orderToVo);
+        IPage<OrderVO> page = page(param.toPage(), getListWrapper(param, agentIds, userIds, serverIdList, "*")).convert(this::toVO);
         if (page.getTotal() == 0) {
             return new OrderListVO(param.toPage().getSize());
         }
         //统计:订单金额与实付金额
-        Order total = super.getOne(getListWrapper(param, agentIds, userIds, "IFNULL(SUM(amount),0) amount, IFNULL(SUM(real_amount),0) realAmount"));
+        Order total = super.getOne(getListWrapper(param, agentIds, userIds, serverIdList, "IFNULL(SUM(amount),0) amount, IFNULL(SUM(real_amount),0) realAmount"));
         HashMap<String, BigDecimal> totalData = new HashMap<>(2);
         if (total == null) {
             totalData.put("totalOrderAmount", new BigDecimal("0.00"));
@@ -157,6 +163,27 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return orderListVO;
     }
 
+    private OrderVO toVO(Order order) {
+        if (Objects.isNull(order)) {
+            return null;
+        }
+        OrderVO orderVO = BeanUtil.copy(order, OrderVO.class);
+        //原始区服名称
+        GameServer gameServer = gameServerService.getOne(new LambdaQueryWrapper<GameServer>()
+                .eq(GameServer::getGameId, order.getGameId())
+                .eq(GameServer::getServerId, order.getServerId()));
+        if (gameServer != null) {
+            orderVO.setSourceServerName(gameServer.getServerName());
+        }
+        //支付渠道, 场景
+        orderVO.setPayWayName(PayWayEnum.getNameByPayWayId(orderVO.getPayWayId()));
+        orderVO.setPayDeviceName(PayDeviceEnum.getByPayWayId(orderVO.getPayDeviceId()));
+        //注册充值时间差
+        orderVO.setRegPayTimeDiff(DateUtils.getRegPayTimeDiff(orderVO.getRegTime(), orderVO.getPayTime()));
+        //返回
+        return orderVO;
+    }
+
     private void toVO(OrderVO orderVO, Map<Long, UserDTO> userMap, Map<Long, GameDTO> gameMap, Map<Long, CpDTO> cpMap,
                       Map<Long, AgentDTO> agentMap, Map<String, PayMerchantDTO> payMerchantMap) {
         orderVO.setDateTime(orderVO.getCreateTime().toLocalDate());
@@ -194,21 +221,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             orderVO.setGameCategoryId(gameCategoryEnum == null ? null : gameCategoryEnum.getId());
             orderVO.setGameCategoryName(gameCategoryEnum == null ? null : gameCategoryEnum.getName());
         }
-        //支付渠道, 场景
-        orderVO.setPayWayName(PayWayEnum.getNameByPayWayId(orderVO.getPayWayId()));
-        orderVO.setPayDeviceName(PayDeviceEnum.getByPayWayId(orderVO.getPayDeviceId()));
-        //注册充值时间差
-        orderVO.setRegPayTimeDiff(DateUtils.getRegPayTimeDiff(orderVO.getRegTime(), orderVO.getPayTime()));
     }
 
-    private LambdaQueryWrapper<Order> getListWrapper(OrderParam param, List<Long> agentIdList, List<Long> userIdList, String select) {
+    private LambdaQueryWrapper<Order> getListWrapper(OrderParam param, List<Long> agentIdList, List<Long> userIdList,
+                                                     List<String> serverIdList, String select) {
         return new QueryWrapper<Order>().select(select).lambda()
                 .eq(Strings.isNotBlank(param.getOrderId()), Order::getOrderId, param.getOrderId())
                 .eq(Strings.isNotBlank(param.getCpOrderId()), Order::getCpOrderId, param.getCpOrderId())
                 .eq(Strings.isNotBlank(param.getMerchantOrderNo()), Order::getMerchantOrderNo, param.getMerchantOrderNo())
                 .eq(Strings.isNotBlank(param.getUserId()), Order::getUserId, param.getUserId())
                 .in(CollectionUtils.isNotEmpty(userIdList), Order::getUserId, userIdList)
-                .like(Strings.isNotBlank(param.getServerName()), Order::getServerName, param.getServerName())
+                .in(CollectionUtils.isNotEmpty(serverIdList), Order::getServerId, serverIdList)
                 .like(Strings.isNotBlank(param.getRoleName()), Order::getRoleName, param.getRoleName())
                 .eq(param.getCpId() != null, Order::getCpId, param.getCpId())
                 .eq(param.getGameId() != null, Order::getGameId, param.getGameId())
@@ -233,13 +256,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 .orderByDesc(Order::getCreateTime);
     }
 
-    private OrderVO orderToVo(Order order) {
-        if (Objects.isNull(order)) {
-            return null;
-        }
-        return BeanUtil.copy(order, OrderVO.class);
-    }
-
     @Override
     public void getOrderExcel(OrderParam param, HttpServletResponse response) {
         if (!SecurityUtil.isAdmin()) {
@@ -256,11 +272,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     .like(User::getUsername, param.getUsername()));
         }
         final List<Long> userIds = userList.stream().map(User::getId).collect(Collectors.toList());
+        List<String> serverIdList = gameServerService.listServerId(param.getGameId(), param.getServerName());
         //excel下载
         WebExcelUtil.httpExport(response, "游戏订单", OrderExcelVO.class, ((pageNumber, pageSize) -> {
             //查询订单
-            List<OrderVO> orderVOList = page(new Page<>(pageNumber, pageSize), this.getListWrapper(param, agentIds, userIds, "*"))
-                    .convert(this::orderToVo).getRecords();
+            List<OrderVO> orderVOList = page(new Page<>(pageNumber, pageSize), this.getListWrapper(param, agentIds, userIds, serverIdList, "*"))
+                    .convert(this::toVO).getRecords();
             //商户列表
             Map<String, PayMerchantDTO> payMerchantMap = payMerchantService.payMerchantMap();
             //cp信息