mirror of
https://github.com/vastxie/99AI.git
synced 2025-11-13 04:03:45 +08:00
v-4.0.0 开源可二开源码
This commit is contained in:
@@ -13,11 +13,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.StatisticController = void 0;
|
||||
const statistic_service_1 = require("./statistic.service");
|
||||
const adminAuth_guard_1 = require("../../common/auth/adminAuth.guard");
|
||||
const common_1 = require("@nestjs/common");
|
||||
const swagger_1 = require("@nestjs/swagger");
|
||||
const queryStatisticDto_dto_1 = require("./dto/queryStatisticDto.dto");
|
||||
const adminAuth_guard_1 = require("../../common/auth/adminAuth.guard");
|
||||
const statistic_service_1 = require("./statistic.service");
|
||||
let StatisticController = class StatisticController {
|
||||
constructor(statisticService) {
|
||||
this.statisticService = statisticService;
|
||||
|
||||
16
dist/modules/statistic/statistic.module.js
vendored
16
dist/modules/statistic/statistic.module.js
vendored
@@ -8,19 +8,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.StatisticModule = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const statistic_controller_1 = require("./statistic.controller");
|
||||
const statistic_service_1 = require("./statistic.service");
|
||||
const typeorm_1 = require("@nestjs/typeorm");
|
||||
const user_entity_1 = require("../user/user.entity");
|
||||
const chatLog_entity_1 = require("../chatLog/chatLog.entity");
|
||||
const config_entity_1 = require("../globalConfig/config.entity");
|
||||
const order_entity_1 = require("../order/order.entity");
|
||||
const midjourney_entity_1 = require("../midjourney/midjourney.entity");
|
||||
const user_entity_1 = require("../user/user.entity");
|
||||
const statistic_controller_1 = require("./statistic.controller");
|
||||
const statistic_service_1 = require("./statistic.service");
|
||||
let StatisticModule = class StatisticModule {
|
||||
};
|
||||
StatisticModule = __decorate([
|
||||
(0, common_1.Module)({
|
||||
imports: [typeorm_1.TypeOrmModule.forFeature([user_entity_1.UserEntity, chatLog_entity_1.ChatLogEntity, config_entity_1.ConfigEntity, order_entity_1.OrderEntity, midjourney_entity_1.MidjourneyEntity])],
|
||||
imports: [
|
||||
typeorm_1.TypeOrmModule.forFeature([
|
||||
user_entity_1.UserEntity,
|
||||
chatLog_entity_1.ChatLogEntity,
|
||||
config_entity_1.ConfigEntity,
|
||||
order_entity_1.OrderEntity,
|
||||
]),
|
||||
],
|
||||
controllers: [statistic_controller_1.StatisticController],
|
||||
providers: [statistic_service_1.StatisticService],
|
||||
})
|
||||
|
||||
54
dist/modules/statistic/statistic.service.js
vendored
54
dist/modules/statistic/statistic.service.js
vendored
@@ -14,7 +14,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.StatisticService = void 0;
|
||||
const balance_constant_1 = require("../../common/constants/balance.constant");
|
||||
const midjourney_constant_1 = require("../../common/constants/midjourney.constant");
|
||||
const date_1 = require("../../common/utils/date");
|
||||
const common_1 = require("@nestjs/common");
|
||||
const typeorm_1 = require("@nestjs/typeorm");
|
||||
@@ -23,16 +22,14 @@ const typeorm_2 = require("typeorm");
|
||||
const chatLog_entity_1 = require("../chatLog/chatLog.entity");
|
||||
const config_entity_1 = require("../globalConfig/config.entity");
|
||||
const globalConfig_service_1 = require("../globalConfig/globalConfig.service");
|
||||
const midjourney_entity_1 = require("../midjourney/midjourney.entity");
|
||||
const order_entity_1 = require("../order/order.entity");
|
||||
const user_entity_1 = require("../user/user.entity");
|
||||
let StatisticService = class StatisticService {
|
||||
constructor(userEntity, chatLogEntity, configEntity, orderEntity, midjourneyEntity, globalConfigService) {
|
||||
constructor(userEntity, chatLogEntity, configEntity, orderEntity, globalConfigService) {
|
||||
this.userEntity = userEntity;
|
||||
this.chatLogEntity = chatLogEntity;
|
||||
this.configEntity = configEntity;
|
||||
this.orderEntity = orderEntity;
|
||||
this.midjourneyEntity = midjourneyEntity;
|
||||
this.globalConfigService = globalConfigService;
|
||||
}
|
||||
async getBaseStatistic() {
|
||||
@@ -42,7 +39,6 @@ let StatisticService = class StatisticService {
|
||||
const newChatCount = await this.countNewChatsToday();
|
||||
const drawCount = await this.countDraws();
|
||||
const dellDrawCount = await this.countNewDrawsToday();
|
||||
const mjDrawCount = await this.countNewMidhourneysToday();
|
||||
const orderCount = await this.countOrders();
|
||||
const newOrderCount = await this.countNewOrdersToday();
|
||||
return {
|
||||
@@ -51,7 +47,7 @@ let StatisticService = class StatisticService {
|
||||
chatCount,
|
||||
newChatCount,
|
||||
drawCount,
|
||||
newDrawCount: mjDrawCount + dellDrawCount,
|
||||
newDrawCount: dellDrawCount,
|
||||
orderCount,
|
||||
newOrderCount,
|
||||
};
|
||||
@@ -59,12 +55,11 @@ let StatisticService = class StatisticService {
|
||||
async getChatStatistic({ days = 7 }) {
|
||||
const chatData = await this.countChatsByTimeRange(days);
|
||||
const drawData = await this.countDrawsByTimeRange(days);
|
||||
const mjDrawData = await this.countMjDrawsByTimeRange(days);
|
||||
return {
|
||||
date: chatData.map((item) => item.date),
|
||||
chat: chatData.map((item) => item.value),
|
||||
draw: drawData.map((item, index) => {
|
||||
return item.value + mjDrawData[index].value;
|
||||
return item.value;
|
||||
}),
|
||||
};
|
||||
}
|
||||
@@ -123,17 +118,6 @@ let StatisticService = class StatisticService {
|
||||
.getCount();
|
||||
return drawCount;
|
||||
}
|
||||
async countNewMidhourneysToday() {
|
||||
const today = new Date();
|
||||
today.setHours(0, 0, 0, 0);
|
||||
const tomorrow = new Date(today.getTime() + 24 * 60 * 60 * 1000);
|
||||
const queryBuilder = this.midjourneyEntity.createQueryBuilder('midjourney');
|
||||
const midjourneyCount = await queryBuilder
|
||||
.where('midjourney.createdAt >= :today', { today })
|
||||
.andWhere('midjourney.createdAt < :tomorrow', { tomorrow })
|
||||
.getCount();
|
||||
return midjourneyCount;
|
||||
}
|
||||
async countChatsByTimeRange(days) {
|
||||
var _a, _b;
|
||||
const today = new Date();
|
||||
@@ -190,36 +174,6 @@ let StatisticService = class StatisticService {
|
||||
}
|
||||
return dailyData;
|
||||
}
|
||||
async countMjDrawsByTimeRange(days) {
|
||||
var _a, _b;
|
||||
const today = new Date();
|
||||
today.setHours(0, 0, 0, 0);
|
||||
const startDate = new Date(today.getTime() - (days - 1) * 24 * 60 * 60 * 1000);
|
||||
const queryBuilder = this.midjourneyEntity.createQueryBuilder('midjourney');
|
||||
const result = await queryBuilder
|
||||
.select(`DATE(midjourney.createdAt) as date, COUNT(*) as count`)
|
||||
.where(`midjourney.status = :status`, {
|
||||
status: midjourney_constant_1.MidjourneyStatusEnum.DRAWED,
|
||||
})
|
||||
.andWhere('midjourney.createdAt >= :startDate', { startDate })
|
||||
.groupBy('date')
|
||||
.orderBy('date')
|
||||
.getRawMany();
|
||||
const dailyData = [];
|
||||
const currentDate = startDate;
|
||||
for (let i = 0; i < days; i++) {
|
||||
const dateString = (0, date_1.formatDate)(new Date(currentDate), 'M.DD');
|
||||
const count = (_b = (_a = result.find((r) => (0, date_1.formatDate)(new Date(r.date), 'M.DD') === dateString)) === null || _a === void 0 ? void 0 : _a.count) !== null && _b !== void 0 ? _b : 0;
|
||||
if (count > 0) {
|
||||
dailyData.push({ date: dateString, value: Number(count) });
|
||||
}
|
||||
else {
|
||||
dailyData.push({ date: dateString, value: 0 });
|
||||
}
|
||||
currentDate.setDate(currentDate.getDate() + 1);
|
||||
}
|
||||
return dailyData;
|
||||
}
|
||||
async getNewAccessToken(baiduApiKey, baiduSecretKey, baiduRefreshToken) {
|
||||
const tokenUrl = `http://openapi.baidu.com/oauth/2.0/token?grant_type=refresh_token&refresh_token=${baiduRefreshToken}&client_id=${baiduApiKey}&client_secret=${baiduSecretKey}`;
|
||||
common_1.Logger.log('获取新 accessToken', tokenUrl);
|
||||
@@ -317,12 +271,10 @@ StatisticService = __decorate([
|
||||
__param(1, (0, typeorm_1.InjectRepository)(chatLog_entity_1.ChatLogEntity)),
|
||||
__param(2, (0, typeorm_1.InjectRepository)(config_entity_1.ConfigEntity)),
|
||||
__param(3, (0, typeorm_1.InjectRepository)(order_entity_1.OrderEntity)),
|
||||
__param(4, (0, typeorm_1.InjectRepository)(midjourney_entity_1.MidjourneyEntity)),
|
||||
__metadata("design:paramtypes", [typeorm_2.Repository,
|
||||
typeorm_2.Repository,
|
||||
typeorm_2.Repository,
|
||||
typeorm_2.Repository,
|
||||
typeorm_2.Repository,
|
||||
globalConfig_service_1.GlobalConfigService])
|
||||
], StatisticService);
|
||||
exports.StatisticService = StatisticService;
|
||||
|
||||
Reference in New Issue
Block a user