From a20dc5da83b5fffd6f8cc2ec05f7b7a9f016e2c4 Mon Sep 17 00:00:00 2001 From: nili Date: Thu, 18 Apr 2024 16:44:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E8=AE=BE=E5=A4=87=E6=9F=A5=EF=BC=8C?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E8=A1=A8=E6=A0=BC=E7=B4=AF=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/game/service/AdminService.java | 25 ++++++++++++------- .../group/game/service/bo/PageResult.java | 2 ++ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/game-service/src/main/java/awesome/group/game/service/AdminService.java b/game-service/src/main/java/awesome/group/game/service/AdminService.java index 4897e46..3a75024 100644 --- a/game-service/src/main/java/awesome/group/game/service/AdminService.java +++ b/game-service/src/main/java/awesome/group/game/service/AdminService.java @@ -87,7 +87,7 @@ public class AdminService { public PageResult advList(AdvRecordQuery param, Integer adminId) { List appList = appList(adminId); - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + QueryWrapper wrapper = Wrappers.query(); Optional app = appList.stream().filter(x -> x.getCode().equals(param.code)).findFirst(); if (app.isEmpty()) { @@ -95,33 +95,40 @@ public class AdminService { } MatrixAdmin admin = adminMapper.selectById(adminId); if (admin.getRole() == DEVICE_OWNER) { - wrapper.eq(MatrixAdvRecord::getAdminId, adminId); + wrapper.eq("admin_id", adminId); } - wrapper.eq(MatrixAdvRecord::getAppId, app.get().getId()); + wrapper.eq("app_id", app.get().getId()); if (param.advType != null) { - wrapper.eq(MatrixAdvRecord::getAdvType, param.advType); + wrapper.eq("adv_type", param.advType); } if (param.platform != null) { - wrapper.eq(MatrixAdvRecord::getPlatform, param.platform); + wrapper.eq("platform", param.platform); } if (StringUtils.hasText(param.deviceId)) { - wrapper.eq(MatrixAdvRecord::getDeviceId, param.deviceId); + wrapper.eq("device_id", param.deviceId); } if (!CollectionUtils.isEmpty(param.createdAt)) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); try { Date begin = format.parse(param.createdAt.get(0)), end = format.parse(param.createdAt.get(1)); - wrapper.between(MatrixAdvRecord::getCreatedAt, new Timestamp(begin.getTime()), new Timestamp(end.getTime() + 86400_000 - 1000)); + wrapper.between("created_at", new Timestamp(begin.getTime()), new Timestamp(end.getTime() + 86400_000 - 1000)); } catch (ParseException e) { throw new PaganiException(PaganiExceptionCode.ILLEGAL_REQUEST, "时间范围有误"); } } - wrapper.orderByDesc(MatrixAdvRecord::getId); int page = param.current; int pageSize = param.pageSize; - IPage iPage = advRecordMapper.selectPage(new Page<>(page, pageSize), wrapper); PageResult res = new PageResult<>(); + if(page == 1 && StringUtils.hasText(param.deviceId)) { + QueryWrapper sumQuery = wrapper.clone(); + sumQuery.select("sum(ecpm) as ecpm"); + MatrixAdvRecord sum = advRecordMapper.selectOne(sumQuery); + res.sum = sum != null ? sum.getEcpm() : 0L; + } + + wrapper.orderByDesc("id"); + IPage iPage = advRecordMapper.selectPage(new Page<>(page, pageSize), wrapper); Map appMap = appList.stream().collect(Collectors.toMap(MatrixApp::getId, x -> x)); res.total = iPage.getTotal(); res.data = iPage.getRecords().stream().map(x -> { diff --git a/game-service/src/main/java/awesome/group/game/service/bo/PageResult.java b/game-service/src/main/java/awesome/group/game/service/bo/PageResult.java index cfd12eb..82bfdca 100644 --- a/game-service/src/main/java/awesome/group/game/service/bo/PageResult.java +++ b/game-service/src/main/java/awesome/group/game/service/bo/PageResult.java @@ -6,6 +6,8 @@ public class PageResult { public List data; public long total; + public Long sum; + public PageResult() { }