65 lines
3.9 KiB
JavaScript
65 lines
3.9 KiB
JavaScript
const mongoose = require('mongoose');
|
|
|
|
mongoose.connect('mongodb://localhost:27017/e-scooter-rental')
|
|
.then(async () => {
|
|
console.log('✅ MongoDB 连接成功');
|
|
|
|
const Store = require('./server/models/Store');
|
|
const Payment = require('./server/models/Payment');
|
|
const Complaint = require('./server/models/Complaint');
|
|
const Customer = require('./server/models/Customer');
|
|
const Order = require('./server/models/Order');
|
|
|
|
// 清空数据
|
|
await Store.deleteMany({});
|
|
await Payment.deleteMany({});
|
|
await Complaint.deleteMany({});
|
|
console.log('🧹 已清空门店、财务、投诉数据');
|
|
|
|
// 门店数据
|
|
await Store.insertMany([
|
|
{ storeId: 'STORE001', name: '朝阳区总店', address: '北京市朝阳区建国路88号', phone: '010-12345678', manager: '王店长', status: '营业中', approvalStatus: '已通过' },
|
|
{ storeId: 'STORE002', name: '海淀区一分店', address: '北京市海淀区中关村大街1号', phone: '010-23456789', manager: '李店长', status: '营业中', approvalStatus: '已通过' },
|
|
{ storeId: 'STORE003', name: '西城区二分店', address: '北京市西城区西单北大街120号', phone: '010-34567890', manager: '张店长', status: '营业中', approvalStatus: '已通过' },
|
|
{ storeId: 'STORE004', name: '东城区三分店', address: '北京市东城区王府井大街138号', phone: '010-45678901', manager: '赵店长', status: '装修中', approvalStatus: '已通过' },
|
|
{ storeId: 'STORE005', name: '丰台区四分店', address: '北京市丰台区南三环西路16号', phone: '010-56789012', manager: '钱店长', status: '营业中', approvalStatus: '待审批' }
|
|
]);
|
|
console.log('✅ 门店: 5 个');
|
|
|
|
// 支付数据 (财务)
|
|
await Payment.insertMany([
|
|
{ paymentId: 'PAY001', type: '收入', party: '张三', amount: 300, method: '微信', category: '租金收入', remark: 'ORDER001租金', operator: '系统' },
|
|
{ paymentId: 'PAY002', type: '收入', party: '李四', amount: 300, method: '支付宝', category: '租金收入', remark: 'ORDER002租金', operator: '系统' },
|
|
{ paymentId: 'PAY003', type: '收入', party: '王五', amount: 200, method: '微信', category: '租金收入', remark: 'ORDER003租金', operator: '系统' },
|
|
{ paymentId: 'PAY004', type: '支出', party: '张三', amount: 200, method: '微信', category: '押金退还', remark: 'ORDER003押金退还', operator: '系统' },
|
|
{ paymentId: 'PAY005', type: '支出', party: '员工A', amount: 5000, method: '银行卡', category: '工资', remark: '2月工资', operator: '财务' }
|
|
]);
|
|
console.log('✅ 财务记录: 5 条');
|
|
|
|
// 投诉数据
|
|
const customers = await Customer.find();
|
|
const orders = await Order.find();
|
|
|
|
if (customers.length > 0 && orders.length > 0) {
|
|
await Complaint.insertMany([
|
|
{ complaintId: 'COMP001', customer: customers[0]._id, order: orders[0]._id, type: '车辆问题', content: '电动车刹车不灵', status: '处理中', handler: '王店长' },
|
|
{ complaintId: 'COMP002', customer: customers[1]._id, order: orders[1]._id, type: '服务态度', content: '店员服务态度差', status: '已解决', response: '已道歉并整改', handler: '李店长' },
|
|
{ complaintId: 'COMP003', customer: customers[2]?._id || customers[0]._id, order: orders[2]?._id || orders[0]._id, type: '费用问题', content: '费用计算有误', status: '待处理' }
|
|
]);
|
|
console.log('✅ 投诉: 3 条');
|
|
}
|
|
|
|
console.log('\n🎉 测试数据创建完成!');
|
|
console.log('📊 数据汇总:');
|
|
console.log(' - 车辆: 5 辆');
|
|
console.log(' - 客户: 5 个');
|
|
console.log(' - 订单: 3 个');
|
|
console.log(' - 门店: 5 个');
|
|
console.log(' - 财务: 5 条');
|
|
console.log(' - 投诉: 3 条');
|
|
|
|
mongoose.disconnect();
|
|
process.exit(0);
|
|
})
|
|
.catch(err => console.error('❌ 错误:', err));
|