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() { }