|
|
@@ -3,6 +3,8 @@ import { ActivityEntity, ActivityType } from '../src/server/modules/activities/a
|
|
|
import { RouteEntity } from '../src/server/modules/routes/route.entity.js';
|
|
|
import { VehicleType, TravelMode } from '../src/server/modules/routes/route.schema.js';
|
|
|
import { LocationEntity } from '../src/server/modules/locations/location.entity.js';
|
|
|
+import { Passenger, IdType } from '../src/server/modules/passengers/passenger.entity.js';
|
|
|
+import { UserEntity } from '../src/server/modules/users/user.entity.js';
|
|
|
import fs from 'fs';
|
|
|
|
|
|
async function seed() {
|
|
|
@@ -17,8 +19,11 @@ async function seed() {
|
|
|
const activityRepository = AppDataSource.getRepository(ActivityEntity);
|
|
|
const routeRepository = AppDataSource.getRepository(RouteEntity);
|
|
|
const locationRepository = AppDataSource.getRepository(LocationEntity);
|
|
|
+ const userRepository = AppDataSource.getRepository(UserEntity);
|
|
|
+ const passengerRepository = AppDataSource.getRepository(Passenger);
|
|
|
|
|
|
// 清空现有数据
|
|
|
+ await passengerRepository.createQueryBuilder().delete().execute();
|
|
|
await routeRepository.createQueryBuilder().delete().execute();
|
|
|
await activityRepository.createQueryBuilder().delete().execute();
|
|
|
await locationRepository.createQueryBuilder().delete().execute();
|
|
|
@@ -393,8 +398,69 @@ async function seed() {
|
|
|
const savedRoutes = await routeRepository.save(routes);
|
|
|
console.log(`已创建 ${savedRoutes.length} 条路线`);
|
|
|
|
|
|
+ // 创建示例乘客数据
|
|
|
+ console.log('创建乘客数据...');
|
|
|
+
|
|
|
+ // 获取现有用户(管理员用户)
|
|
|
+ const existingUsers = await userRepository.find();
|
|
|
+ let passengerCount = 0;
|
|
|
+
|
|
|
+ if (existingUsers.length === 0) {
|
|
|
+ console.warn('没有找到用户数据,跳过创建乘客数据');
|
|
|
+ } else {
|
|
|
+ const adminUser = existingUsers[0]; // 使用第一个用户(管理员)
|
|
|
+
|
|
|
+ const passengers = [
|
|
|
+ {
|
|
|
+ userId: adminUser.id,
|
|
|
+ name: '张三',
|
|
|
+ idType: IdType.ID_CARD,
|
|
|
+ idNumber: '110101199001011234',
|
|
|
+ phone: '13800138001',
|
|
|
+ isDefault: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ userId: adminUser.id,
|
|
|
+ name: '李四',
|
|
|
+ idType: IdType.ID_CARD,
|
|
|
+ idNumber: '110101199002022345',
|
|
|
+ phone: '13800138002',
|
|
|
+ isDefault: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ userId: adminUser.id,
|
|
|
+ name: '王五',
|
|
|
+ idType: IdType.PASSPORT,
|
|
|
+ idNumber: 'E12345678',
|
|
|
+ phone: '13800138003',
|
|
|
+ isDefault: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ userId: adminUser.id,
|
|
|
+ name: '赵六',
|
|
|
+ idType: IdType.HONG_KONG_MACAO_PASS,
|
|
|
+ idNumber: 'H123456789',
|
|
|
+ phone: '13800138004',
|
|
|
+ isDefault: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ userId: adminUser.id,
|
|
|
+ name: '钱七',
|
|
|
+ idType: IdType.TAIWAN_PASS,
|
|
|
+ idNumber: 'T123456789',
|
|
|
+ phone: '13800138005',
|
|
|
+ isDefault: false
|
|
|
+ }
|
|
|
+ ];
|
|
|
+
|
|
|
+ // 保存乘客数据
|
|
|
+ const savedPassengers = await passengerRepository.save(passengers);
|
|
|
+ passengerCount = savedPassengers.length;
|
|
|
+ console.log(`已创建 ${passengerCount} 个乘客`);
|
|
|
+ }
|
|
|
+
|
|
|
console.log('种子数据创建完成!');
|
|
|
- console.log(`总计: 3280+ 个区域, ${savedLocations.length} 个地点, ${savedActivities.length} 个活动, ${savedRoutes.length} 条路线`);
|
|
|
+ console.log(`总计: 3280+ 个区域, ${savedLocations.length} 个地点, ${savedActivities.length} 个活动, ${savedRoutes.length} 条路线, ${passengerCount} 个乘客`);
|
|
|
|
|
|
} catch (error) {
|
|
|
console.error('创建种子数据时出错:', error);
|