|
@@ -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信息
|