feat: 更新AI提示并增强后端功能

更新AI提示字符串包含海南地区
添加CrawlInfoAdd实体到Bids模块
优化爬虫信息统计查询
增加请求体大小限制和启用CORS
修正前端部署路径
This commit is contained in:
dmy
2026-01-13 19:46:41 +08:00
parent 894976e680
commit 6825885005
5 changed files with 23 additions and 13 deletions

View File

@@ -1 +1 @@
export const PromptString: string = `先给我说你统计了多少个项目。我只对辽宁、山东、江苏、浙江、福建、广东、广西、河北这些地方的海上风电、海上光伏、漂浮式光伏、滩涂光伏、滩涂风电、渔光互补项目感兴趣。从我提供的这些工程里面找到我感兴趣的工程无论如何至少推荐10个工程。如果没有推荐的也要给出思考过程。`; export const PromptString: string = `先给我说你统计了多少个项目。我只对辽宁、山东、江苏、浙江、福建、广东、广西、海南、河北这些地方的海上风电、海上光伏、漂浮式光伏、滩涂光伏、滩涂风电、渔光互补项目感兴趣。从我提供的这些工程里面找到我感兴趣的工程无论如何至少推荐10个工程。如果没有推荐的也要给出思考过程。`;

View File

@@ -3,9 +3,10 @@ import { TypeOrmModule } from '@nestjs/typeorm';
import { BidItem } from './entities/bid-item.entity'; import { BidItem } from './entities/bid-item.entity';
import { BidsService } from './services/bid.service'; import { BidsService } from './services/bid.service';
import { BidsController } from './controllers/bid.controller'; import { BidsController } from './controllers/bid.controller';
import { CrawlInfoAdd } from '../crawler/entities/crawl-info-add.entity';
@Module({ @Module({
imports: [TypeOrmModule.forFeature([BidItem])], imports: [TypeOrmModule.forFeature([BidItem, CrawlInfoAdd])],
providers: [BidsService], providers: [BidsService],
controllers: [BidsController], controllers: [BidsController],
exports: [BidsService], exports: [BidsService],

View File

@@ -2,12 +2,15 @@ import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm'; import { InjectRepository } from '@nestjs/typeorm';
import { Repository, LessThan, MoreThanOrEqual } from 'typeorm'; import { Repository, LessThan, MoreThanOrEqual } from 'typeorm';
import { BidItem } from '../entities/bid-item.entity'; import { BidItem } from '../entities/bid-item.entity';
import { CrawlInfoAdd } from '../../crawler/entities/crawl-info-add.entity';
@Injectable() @Injectable()
export class BidsService { export class BidsService {
constructor( constructor(
@InjectRepository(BidItem) @InjectRepository(BidItem)
private bidRepository: Repository<BidItem>, private bidRepository: Repository<BidItem>,
@InjectRepository(CrawlInfoAdd)
private crawlInfoRepository: Repository<CrawlInfoAdd>,
) {} ) {}
async findAll(query?: any) { async findAll(query?: any) {
@@ -117,11 +120,7 @@ export class BidsService {
} }
async getCrawlInfoAddStats() { async getCrawlInfoAddStats() {
const { InjectRepository } = require('@nestjs/typeorm'); // 获取每个来源的最新一次爬虫记录(按 createdAt 降序)
const { Repository } = require('typeorm');
const { CrawlInfoAdd } = require('../../crawler/entities/crawl-info-add.entity');
// 获取每个来源的最新一次爬虫记录
const query = ` const query = `
SELECT SELECT
source, source,
@@ -130,15 +129,15 @@ export class BidsService {
error, error,
createdAt as latestUpdate createdAt as latestUpdate
FROM crawl_info_add FROM crawl_info_add
WHERE id IN ( WHERE (source, createdAt) IN (
SELECT MAX(id) SELECT source, MAX(createdAt)
FROM crawl_info_add FROM crawl_info_add
GROUP BY source GROUP BY source
) )
ORDER BY source ASC ORDER BY source ASC
`; `;
const results = await this.bidRepository.query(query); const results = await this.crawlInfoRepository.query(query);
return results.map((item: any) => ({ return results.map((item: any) => ({
source: item.source, source: item.source,

View File

@@ -3,12 +3,22 @@ import { AppModule } from './app.module';
import { CustomLogger } from './common/logger/logger.service'; import { CustomLogger } from './common/logger/logger.service';
async function bootstrap() { async function bootstrap() {
const app = await NestFactory.create(AppModule); const app = await NestFactory.create(AppModule, {
bodyParser: true,
});
// 使用自定义日志服务 // 使用自定义日志服务
const logger = await app.resolve(CustomLogger); const logger = await app.resolve(CustomLogger);
app.useLogger(logger); app.useLogger(logger);
// 增加请求体大小限制(默认 100kb增加到 50mb
const express = require('express');
app.use(express.json({ limit: '50mb' }));
app.use(express.urlencoded({ limit: '50mb', extended: true }));
// 启用 CORS
app.enableCors();
await app.listen(process.env.PORT ?? 3000); await app.listen(process.env.PORT ?? 3000);
} }
bootstrap(); bootstrap();

View File

@@ -6,7 +6,7 @@ $remotePort = "1122"
$remoteUser = "cubie" $remoteUser = "cubie"
$keyPath = "d:\163" $keyPath = "d:\163"
$serverDest = "/home/cubie/down/document/bidding/publish/server" $serverDest = "/home/cubie/down/document/bidding/publish/server"
$frontendDest = "/home/cubie/down/document/bidding/publish/" $frontendDest = "/home/cubie/down/document/bidding/publish/frontend"
$srcDest = "/home/cubie/down/document/bidding/" $srcDest = "/home/cubie/down/document/bidding/"
# Check if key file exists # Check if key file exists
@@ -50,7 +50,7 @@ Write-Host "dist directory uploaded successfully" -ForegroundColor Green
# Upload entire frontend directory to publish directory # Upload entire frontend directory to publish directory
Write-Host "`nUploading frontend directory to ${frontendDest}..." -ForegroundColor Yellow Write-Host "`nUploading frontend directory to ${frontendDest}..." -ForegroundColor Yellow
scp -i $keyPath -P $remotePort -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r frontend "${remoteUser}@${remoteHost}:${frontendDest}" scp -i $keyPath -P $remotePort -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r frontend/dist "${remoteUser}@${remoteHost}:${frontendDest}"
if ($LASTEXITCODE -ne 0) { if ($LASTEXITCODE -ne 0) {
Write-Error "Failed to upload frontend directory" Write-Error "Failed to upload frontend directory"