From c3d5784b91eadf9b43c46ffa20b3667b212b6c26 Mon Sep 17 00:00:00 2001 From: zhx Date: Thu, 2 Jul 2026 11:37:55 +0800 Subject: [PATCH] feat: add aslan integrated stats endpoint --- .gitignore | 2 + rc-gateway/src/main/resources/application.yml | 1 + .../adapter/app/user/DatavRestController.java | 17 +- .../AslanIntegratedStatisticsServiceImpl.java | 274 ++++++++++++++++++ .../aslan/AslanIntegratedStatisticsCO.java | 104 +++++++ .../AslanIntegratedStatisticsService.java | 22 ++ .../src/main/resources/application.yml | 1 + .../src/main/resources/application.yml | 4 +- .../service/LiveMicrophoneServiceImpl.java | 4 +- .../repository/LiveMicrophoneGatewayImpl.java | 4 +- 10 files changed, 426 insertions(+), 7 deletions(-) create mode 100644 rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/count/AslanIntegratedStatisticsServiceImpl.java create mode 100644 rc-service/rc-service-console/console-client/src/main/java/com/red/circle/console/app/dto/clienobject/count/aslan/AslanIntegratedStatisticsCO.java create mode 100644 rc-service/rc-service-console/console-client/src/main/java/com/red/circle/console/app/service/app/count/AslanIntegratedStatisticsService.java diff --git a/.gitignore b/.gitignore index 5b3ad3d4..6db24d87 100644 --- a/.gitignore +++ b/.gitignore @@ -96,3 +96,5 @@ devops-monitor-id_rsa.key /.claude/ build.md + +reports/ \ No newline at end of file diff --git a/rc-gateway/src/main/resources/application.yml b/rc-gateway/src/main/resources/application.yml index 5c2ef17a..b6628cad 100644 --- a/rc-gateway/src/main/resources/application.yml +++ b/rc-gateway/src/main/resources/application.yml @@ -45,4 +45,5 @@ gateway: - /console/datav/online/user/count - /console/datav/online/room/count - /console/datav/aslan/region-country/statistics + - /console/datav/aslan/integrated-statistics - /console/user/base/info/im/sig diff --git a/rc-service/rc-service-console/console-adapter/src/main/java/com/red/circle/console/adapter/app/user/DatavRestController.java b/rc-service/rc-service-console/console-adapter/src/main/java/com/red/circle/console/adapter/app/user/DatavRestController.java index b7170f89..0b1080d9 100644 --- a/rc-service/rc-service-console/console-adapter/src/main/java/com/red/circle/console/adapter/app/user/DatavRestController.java +++ b/rc-service/rc-service-console/console-adapter/src/main/java/com/red/circle/console/adapter/app/user/DatavRestController.java @@ -1,7 +1,8 @@ package com.red.circle.console.adapter.app.user; -import com.red.circle.common.business.core.enums.SysOriginPlatformEnum; +import com.red.circle.console.app.dto.clienobject.count.aslan.AslanIntegratedStatisticsCO; import com.red.circle.console.app.dto.clienobject.count.aslan.AslanRegionCountryStatisticsCO; +import com.red.circle.console.app.service.app.count.AslanIntegratedStatisticsService; import com.red.circle.console.app.service.app.count.AslanRegionCountryStatisticsService; import com.red.circle.console.app.service.app.user.DatavService; import com.red.circle.framework.web.controller.BaseController; @@ -29,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController; public class DatavRestController extends BaseController { private final DatavService userExpandService; + private final AslanIntegratedStatisticsService aslanIntegratedStatisticsService; private final AslanRegionCountryStatisticsService aslanRegionCountryStatisticsService; @GetMapping("/active/user-country-code") @@ -53,4 +55,17 @@ public class DatavRestController extends BaseController { return aslanRegionCountryStatisticsService.listRegionCountryStatistics(date); } + @GetMapping("/aslan/integrated-statistics") + public AslanIntegratedStatisticsCO aslanIntegratedStatistics( + @RequestParam(value = "sysOrigin", required = false) String sysOrigin, + @RequestParam(value = "areaCode", required = false) String areaCode, + @RequestParam(value = "dateNumber", required = false) Integer dateNumber, + @RequestParam(value = "goldOrigin", required = false) List goldOrigins, + @RequestParam(value = "propsDate", required = false) String propsDate, + @RequestParam(value = "propsDateType", required = false) String propsDateType, + @RequestParam(value = "propsType", required = false) String propsType) { + return aslanIntegratedStatisticsService.aggregate(sysOrigin, areaCode, dateNumber, + goldOrigins, propsDate, propsDateType, propsType); + } + } diff --git a/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/count/AslanIntegratedStatisticsServiceImpl.java b/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/count/AslanIntegratedStatisticsServiceImpl.java new file mode 100644 index 00000000..746622d5 --- /dev/null +++ b/rc-service/rc-service-console/console-application/src/main/java/com/red/circle/console/app/service/app/count/AslanIntegratedStatisticsServiceImpl.java @@ -0,0 +1,274 @@ +package com.red.circle.console.app.service.app.count; + +import com.red.circle.common.business.core.enums.SysOriginPlatformEnum; +import com.red.circle.console.app.dto.clienobject.count.PropsSaleCO; +import com.red.circle.console.app.dto.clienobject.count.StatisticsDailyOperationActiveIndexCO; +import com.red.circle.console.app.dto.clienobject.count.aslan.AslanIntegratedStatisticsCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountDailyCurrencyCountGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountDailyCurrencyCountPlatformCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountDailyGoldOriginGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountDailyRegisterLogoutGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountPurchaseGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountUserRechargeRankGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CurrencyAnalyzeUserLogGroupCO; +import com.red.circle.console.app.service.app.count.ops.CountCurrencyService; +import com.red.circle.console.app.service.app.count.ops.CountDailyPurchaseService; +import com.red.circle.console.app.service.app.count.ops.CountUserService; +import com.red.circle.console.infra.database.util.LocalDateUtils; +import com.red.circle.other.inner.model.cmd.count.PropsSaleQuotaQryCmd; +import com.red.circle.tool.core.collection.CollectionUtils; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * Aslan 后台数据图表聚合查询. + */ +@Service +@RequiredArgsConstructor +public class AslanIntegratedStatisticsServiceImpl implements AslanIntegratedStatisticsService { + + private static final String DEFAULT_SYS_ORIGIN = "ATYOU"; + private static final String DEFAULT_AREA_CODE = "DAILY"; + private static final String DEFAULT_PROPS_DATE_TYPE = "MONTH_DAY"; + + private final CountUserService countUserService; + private final CountCurrencyService countCurrencyService; + private final CountDailyPurchaseService countDailyPurchaseService; + private final CountOperationActiveIndexService countOperationActiveIndexService; + + @Override + public AslanIntegratedStatisticsCO aggregate( + String sysOrigin, + String areaCode, + Integer dateNumber, + List goldOrigins, + String propsDate, + String propsDateType, + String propsType) { + + String normalizedSysOrigin = normalizeSysOrigin(sysOrigin); + String normalizedAreaCode = normalizeAreaCode(areaCode); + + // 先拿不依赖 dateNumber 的后台图表数据,再用这些已存在读模型推断 Top 榜默认日期。 + CountPurchaseGroupCO dailyPurchase = pickBySysOrigin( + countDailyPurchaseService.listAllSysOriginLast30Days(normalizedAreaCode), + CountPurchaseGroupCO::getSysOrigin, + normalizedSysOrigin); + CountPurchaseGroupCO monthlyPurchase = pickBySysOrigin( + countDailyPurchaseService.listMonthlyPurchaseAmountPlatformLatestMonth(12), + CountPurchaseGroupCO::getSysOrigin, + normalizedSysOrigin); + CountDailyRegisterLogoutGroupCO registerLogout = pickBySysOrigin( + countUserService.getLatestRegisterLogout(), + CountDailyRegisterLogoutGroupCO::getSysOrigin, + normalizedSysOrigin); + CountDailyRegisterLogoutGroupCO registerRegion = pickBySysOrigin( + countUserService.latestRegisterRegion(), + CountDailyRegisterLogoutGroupCO::getSysOrigin, + normalizedSysOrigin); + CountDailyCurrencyCountGroupCO currency = pickBySysOrigin( + countCurrencyService.listLast30Days(), + CountDailyCurrencyCountGroupCO::getSysOrigin, + normalizedSysOrigin); + + Integer resolvedDateNumber = resolveDateNumber(dateNumber, dailyPurchase, registerLogout, + currency); + CurrencyAnalyzeUserLogGroupCO dailyUserGoldTop = pickBySysOrigin( + countCurrencyService.listDailyUserGoldTop(resolvedDateNumber), + CurrencyAnalyzeUserLogGroupCO::getSysOrigin, + normalizedSysOrigin); + CountUserRechargeRankGroupCO dailyUserRechargeTop = pickBySysOrigin( + countCurrencyService.listDailyUserRechargeTop(resolvedDateNumber), + CountUserRechargeRankGroupCO::getSysOrigin, + normalizedSysOrigin); + + List activeIndexLatestDays = + countOperationActiveIndexService.listLatestDays(30); + Map goldDetails = mapGoldDetails(normalizedSysOrigin, + goldOrigins); + PropsSaleCO propsSale = queryPropsSale(normalizedSysOrigin, propsDate, propsDateType, + propsType); + + return new AslanIntegratedStatisticsCO() + .setSysOrigin(normalizedSysOrigin) + .setSysOriginName(SysOriginPlatformEnum.getSysOriginName(normalizedSysOrigin)) + .setAreaCode(normalizedAreaCode) + .setDateNumber(resolvedDateNumber) + .setRegisterLogout(registerLogout) + .setRegisterRegion(registerRegion) + .setDailyPurchase(dailyPurchase) + .setMonthlyPurchase(monthlyPurchase) + .setCurrency(currency) + .setOperationActiveIndexLatestDays(activeIndexLatestDays) + .setGoldDetails(goldDetails) + .setDailyUserGoldTop(dailyUserGoldTop) + .setDailyUserRechargeTop(dailyUserRechargeTop) + .setPropsSale(propsSale) + .setMissingSections(buildMissingSections( + registerLogout, + registerRegion, + dailyPurchase, + monthlyPurchase, + currency, + activeIndexLatestDays, + dailyUserGoldTop, + dailyUserRechargeTop, + normalizeGoldOrigins(goldOrigins), + goldDetails, + propsDate, + propsSale)); + } + + private String normalizeSysOrigin(String sysOrigin) { + String value = hasText(sysOrigin) + ? sysOrigin.trim().toUpperCase(Locale.ROOT) + : DEFAULT_SYS_ORIGIN; + if (Objects.isNull(SysOriginPlatformEnum.toEnum(value))) { + throw new IllegalArgumentException("unsupported sysOrigin: " + sysOrigin); + } + return value; + } + + private String normalizeAreaCode(String areaCode) { + return hasText(areaCode) ? areaCode.trim().toUpperCase(Locale.ROOT) : DEFAULT_AREA_CODE; + } + + private T pickBySysOrigin(List source, Function sysOriginGetter, + String sysOrigin) { + if (CollectionUtils.isEmpty(source)) { + return null; + } + return source.stream() + .filter(item -> Objects.equals(sysOriginGetter.apply(item), sysOrigin)) + .findFirst() + .orElse(null); + } + + private Integer resolveDateNumber( + Integer dateNumber, + CountPurchaseGroupCO dailyPurchase, + CountDailyRegisterLogoutGroupCO registerLogout, + CountDailyCurrencyCountGroupCO currency) { + if (Objects.nonNull(dateNumber)) { + return dateNumber; + } + if (Objects.nonNull(dailyPurchase) && Objects.nonNull(dailyPurchase.getLast()) + && Objects.nonNull(dailyPurchase.getLast().getDateNumber())) { + return dailyPurchase.getLast().getDateNumber(); + } + if (Objects.nonNull(registerLogout) && Objects.nonNull(registerLogout.getRegisterLogout()) + && Objects.nonNull(registerLogout.getRegisterLogout().getDateNumber())) { + return registerLogout.getRegisterLogout().getDateNumber(); + } + if (Objects.nonNull(currency) && CollectionUtils.isNotEmpty(currency.getLastMonths())) { + CountDailyCurrencyCountPlatformCO lastCurrency = CollectionUtils.getLastElement( + currency.getLastMonths()); + if (Objects.nonNull(lastCurrency) && Objects.nonNull(lastCurrency.getDateNumber())) { + return lastCurrency.getDateNumber(); + } + } + return LocalDateUtils.nowToInteger(); + } + + private Map mapGoldDetails( + String sysOrigin, + List goldOrigins) { + Map details = new LinkedHashMap<>(); + for (String goldOrigin : normalizeGoldOrigins(goldOrigins)) { + CountDailyGoldOriginGroupCO detail = pickBySysOrigin( + countCurrencyService.listLastGoldOrigin30Days(goldOrigin), + CountDailyGoldOriginGroupCO::getSysOrigin, + sysOrigin); + details.put(goldOrigin, detail); + } + return details; + } + + private List normalizeGoldOrigins(List goldOrigins) { + if (CollectionUtils.isEmpty(goldOrigins)) { + return CollectionUtils.newArrayList(); + } + // 兼容 goldOrigin=A&goldOrigin=B 和 goldOrigin=A,B 两种调用方式。 + return goldOrigins.stream() + .filter(Objects::nonNull) + .flatMap(origin -> Arrays.stream(origin.split(","))) + .map(String::trim) + .filter(this::hasText) + .distinct() + .toList(); + } + + private PropsSaleCO queryPropsSale( + String sysOrigin, + String propsDate, + String propsDateType, + String propsType) { + if (!hasText(propsDate)) { + return null; + } + PropsSaleQuotaQryCmd query = new PropsSaleQuotaQryCmd() + .setSysOrigin(SysOriginPlatformEnum.valueOf(sysOrigin)) + .setDateType(hasText(propsDateType) ? propsDateType.trim() : DEFAULT_PROPS_DATE_TYPE) + .setDate(propsDate.trim()); + if (hasText(propsType)) { + query.setPropsType(propsType.trim()); + } + return countOperationActiveIndexService.getPropsSale(query); + } + + private List buildMissingSections( + CountDailyRegisterLogoutGroupCO registerLogout, + CountDailyRegisterLogoutGroupCO registerRegion, + CountPurchaseGroupCO dailyPurchase, + CountPurchaseGroupCO monthlyPurchase, + CountDailyCurrencyCountGroupCO currency, + List activeIndexLatestDays, + CurrencyAnalyzeUserLogGroupCO dailyUserGoldTop, + CountUserRechargeRankGroupCO dailyUserRechargeTop, + List requestedGoldOrigins, + Map goldDetails, + String propsDate, + PropsSaleCO propsSale) { + List missing = CollectionUtils.newArrayList(); + addMissing(missing, "registerLogout", registerLogout); + addMissing(missing, "registerRegion", registerRegion); + addMissing(missing, "dailyPurchase", dailyPurchase); + addMissing(missing, "monthlyPurchase", monthlyPurchase); + addMissing(missing, "currency", currency); + addMissing(missing, "operationActiveIndexLatestDays", activeIndexLatestDays); + addMissing(missing, "dailyUserGoldTop", dailyUserGoldTop); + addMissing(missing, "dailyUserRechargeTop", dailyUserRechargeTop); + for (String goldOrigin : requestedGoldOrigins) { + addMissing(missing, "goldDetails:" + goldOrigin, goldDetails.get(goldOrigin)); + } + if (hasText(propsDate)) { + addMissing(missing, "propsSale", propsSale); + } + return missing; + } + + private void addMissing(List missing, String section, Object value) { + if (Objects.isNull(value)) { + missing.add(section); + return; + } + if (value instanceof List list && CollectionUtils.isEmpty(list)) { + missing.add(section); + return; + } + if (value instanceof Map map && map.isEmpty()) { + missing.add(section); + } + } + + private boolean hasText(String value) { + return Objects.nonNull(value) && !value.trim().isEmpty(); + } +} diff --git a/rc-service/rc-service-console/console-client/src/main/java/com/red/circle/console/app/dto/clienobject/count/aslan/AslanIntegratedStatisticsCO.java b/rc-service/rc-service-console/console-client/src/main/java/com/red/circle/console/app/dto/clienobject/count/aslan/AslanIntegratedStatisticsCO.java new file mode 100644 index 00000000..03ec69a2 --- /dev/null +++ b/rc-service/rc-service-console/console-client/src/main/java/com/red/circle/console/app/dto/clienobject/count/aslan/AslanIntegratedStatisticsCO.java @@ -0,0 +1,104 @@ +package com.red.circle.console.app.dto.clienobject.count.aslan; + +import com.red.circle.console.app.dto.clienobject.count.PropsSaleCO; +import com.red.circle.console.app.dto.clienobject.count.StatisticsDailyOperationActiveIndexCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountDailyCurrencyCountGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountDailyGoldOriginGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountDailyRegisterLogoutGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountPurchaseGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CountUserRechargeRankGroupCO; +import com.red.circle.console.app.dto.clienobject.count.ops.CurrencyAnalyzeUserLogGroupCO; +import com.red.circle.framework.dto.ClientObject; +import java.io.Serial; +import java.util.List; +import java.util.Map; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * Aslan 后台数据图表聚合结果. + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +public class AslanIntegratedStatisticsCO extends ClientObject { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 平台编码,默认 ATYOU. + */ + private String sysOrigin; + + /** + * 平台名称. + */ + private String sysOriginName; + + /** + * 内购区域口径,默认 DAILY. + */ + private String areaCode; + + /** + * Top 榜使用的统计日期,格式 yyyyMMdd. + */ + private Integer dateNumber; + + /** + * 每日新增/注销. + */ + private CountDailyRegisterLogoutGroupCO registerLogout; + + /** + * 每日新增区域分布. + */ + private CountDailyRegisterLogoutGroupCO registerRegion; + + /** + * 每日内购. + */ + private CountPurchaseGroupCO dailyPurchase; + + /** + * 每月内购. + */ + private CountPurchaseGroupCO monthlyPurchase; + + /** + * 每日金币收入/支出. + */ + private CountDailyCurrencyCountGroupCO currency; + + /** + * 活跃情况. + */ + private List operationActiveIndexLatestDays; + + /** + * 每日金币来源明细,key 为请求的 goldOrigin. + */ + private Map goldDetails; + + /** + * 每日用户金币 Top. + */ + private CurrencyAnalyzeUserLogGroupCO dailyUserGoldTop; + + /** + * 每日充值 Top. + */ + private CountUserRechargeRankGroupCO dailyUserRechargeTop; + + /** + * 道具销售情况,只有传 propsDate 时返回. + */ + private PropsSaleCO propsSale; + + /** + * 已请求但当前没有读到数据的区块. + */ + private List missingSections; +} diff --git a/rc-service/rc-service-console/console-client/src/main/java/com/red/circle/console/app/service/app/count/AslanIntegratedStatisticsService.java b/rc-service/rc-service-console/console-client/src/main/java/com/red/circle/console/app/service/app/count/AslanIntegratedStatisticsService.java new file mode 100644 index 00000000..231f7702 --- /dev/null +++ b/rc-service/rc-service-console/console-client/src/main/java/com/red/circle/console/app/service/app/count/AslanIntegratedStatisticsService.java @@ -0,0 +1,22 @@ +package com.red.circle.console.app.service.app.count; + +import com.red.circle.console.app.dto.clienobject.count.aslan.AslanIntegratedStatisticsCO; +import java.util.List; + +/** + * Aslan 后台数据图表聚合查询. + */ +public interface AslanIntegratedStatisticsService { + + /** + * 聚合后台数据图表现有统计区块. + */ + AslanIntegratedStatisticsCO aggregate( + String sysOrigin, + String areaCode, + Integer dateNumber, + List goldOrigins, + String propsDate, + String propsDateType, + String propsType); +} diff --git a/rc-service/rc-service-console/console-start/src/main/resources/application.yml b/rc-service/rc-service-console/console-start/src/main/resources/application.yml index 524148bb..1c6b941d 100644 --- a/rc-service/rc-service-console/console-start/src/main/resources/application.yml +++ b/rc-service/rc-service-console/console-start/src/main/resources/application.yml @@ -70,4 +70,5 @@ red-circle: - /console/datav/online/user/count - /console/datav/online/room/count - /console/datav/aslan/region-country/statistics + - /console/datav/aslan/integrated-statistics - /console/user/base/info/im/sig diff --git a/rc-service/rc-service-external/external-start/src/main/resources/application.yml b/rc-service/rc-service-external/external-start/src/main/resources/application.yml index 3c4e87e4..fffba5d0 100644 --- a/rc-service/rc-service-external/external-start/src/main/resources/application.yml +++ b/rc-service/rc-service-external/external-start/src/main/resources/application.yml @@ -30,8 +30,8 @@ management: show-details: always rtc: - appId: f424387a480e41088239416e10030034 - certificate: c96d8494f80542bb83c843ad4045df03 + appId: 4b5e5cea3b86476caf7f7a57d05b82d1 + certificate: a6feb209de6448148a926f59634807bb red-circle: oss: diff --git a/rc-service/rc-service-live/live-application/src/main/java/com/red/circle/live/app/service/LiveMicrophoneServiceImpl.java b/rc-service/rc-service-live/live-application/src/main/java/com/red/circle/live/app/service/LiveMicrophoneServiceImpl.java index 2364ad2f..95a83722 100644 --- a/rc-service/rc-service-live/live-application/src/main/java/com/red/circle/live/app/service/LiveMicrophoneServiceImpl.java +++ b/rc-service/rc-service-live/live-application/src/main/java/com/red/circle/live/app/service/LiveMicrophoneServiceImpl.java @@ -56,12 +56,12 @@ public class LiveMicrophoneServiceImpl implements LiveMicrophoneService { private final RedisService redisService; private final RoomUserBlacklistClient roomUserBlacklistClient; - private final String authKey = "Basic N2Q0ZTRiZDYyODUyNDc3ZGI4Yzk3OGU1NTVmMDRiOGI6ODdkMjcxMTg2NzgxNGY4YjgzZTNkOWIyZmRjOTc3OWQ="; + private final String authKey = "Basic ZjFjNWIzMDZiMzA0NGU5Y2E5Yzk5YjYzNDNlZGJlZDM6OGQ2Njc0OGQ1NjQyNDVlZmI5MTc3NDFlYTllYWUyNWU="; private final String killRoom = "https://api.sd-rtn.com/dev/v1/kicking-rule"; private final String queryUserInfo = "https://api.sd-rtn.com/dev/v1/channel/user/"; - private final String appId = "535633ae846441b09547b68f8353aad3"; + private final String appId = "4b5e5cea3b86476caf7f7a57d05b82d1"; private final UserProfileClient userProfileClient; diff --git a/rc-service/rc-service-live/live-infrastructure/src/main/java/com/red/circle/live/infra/repository/LiveMicrophoneGatewayImpl.java b/rc-service/rc-service-live/live-infrastructure/src/main/java/com/red/circle/live/infra/repository/LiveMicrophoneGatewayImpl.java index affbca5f..cf95c764 100644 --- a/rc-service/rc-service-live/live-infrastructure/src/main/java/com/red/circle/live/infra/repository/LiveMicrophoneGatewayImpl.java +++ b/rc-service/rc-service-live/live-infrastructure/src/main/java/com/red/circle/live/infra/repository/LiveMicrophoneGatewayImpl.java @@ -97,12 +97,12 @@ public class LiveMicrophoneGatewayImpl implements LiveMicrophoneGateway { private final LiveRoomCacheService liveRoomCacheService; // private final RedissonClient redissonClient; //临时处理,后续房子啊Nacos配置处理 - private final String authKey = "Basic MmIwZGFkOWQ0ZjEzNGQ2NmI5MmI2ZmY2MzljNmEwMTc6ZWRlMTQ1NTRjNTU0NDY2ZmE4OWNiYWFhNGNmZTM3YjA="; + private final String authKey = "Basic ZjFjNWIzMDZiMzA0NGU5Y2E5Yzk5YjYzNDNlZGJlZDM6OGQ2Njc0OGQ1NjQyNDVlZmI5MTc3NDFlYTllYWUyNWU="; private final String killRoom = "https://api.sd-rtn.com/dev/v1/kicking-rule"; private final String queryUserInfo = "https://api.sd-rtn.com/dev/v1/channel/user/"; - private final String appId = "660b61b534d04d44815ee855913a6efe"; + private final String appId = "4b5e5cea3b86476caf7f7a57d05b82d1"; @Override