const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/e-scooter-rental') .then(async () => { console.log('✅ MongoDB 连接成功'); const Dispute = require('./server/models/Dispute'); const Conflict = require('./server/models/Conflict'); const Store = require('./server/models/Store'); const Payment = require('./server/models/Payment'); // 清空纠纷和冲突数据 await Dispute.deleteMany({}); await Conflict.deleteMany({}); console.log('🧹 已清空纠纷协调数据'); const stores = await Store.find(); // 纠纷数据 (门店之间) if (stores.length >= 2) { await Dispute.insertMany([ { disputeId: 'DISP001', storeA: stores[0]._id, storeAName: stores[0].name, storeB: stores[1]._id, storeBName: stores[1].name, type: '订单纠纷', title: '跨区订单归属争议', content: '客户在A门店租车,在B门店还车,订单归属产生争议', status: '处理中', handler: '总部协调员' }, { disputeId: 'DISP002', storeA: stores[2]._id, storeAName: stores[2].name, storeB: stores[3]._id, storeBName: stores[3].name, type: '费用纠纷', title: '车辆维修费用分摊', content: '跨区车辆维修费用分摊比例未达成一致', status: '待处理' }, { disputeId: 'DISP003', storeA: stores[0]._id, storeAName: stores[0].name, storeB: stores[4]._id, storeBName: stores[4].name, type: '区域纠纷', title: '经营范围重叠', content: '两家门店服务区域划分不明确', status: '已解决', result: '已重新划分服务区域', handler: '区域经理' } ]); console.log('✅ 门店纠纷: 3 条'); } // 冲突数据 (骑手门店/门店公司) await Conflict.insertMany([ { conflictId: 'CONF001', type: '骑手门店', title: '骑手租金拖欠', content: '骑手张某拖欠门店租车租金共计500元', partyA: '骑手张某', partyB: '朝阳区总店', status: '处理中', handler: '王店长' }, { conflictId: 'CONF002', type: '骑手门店', title: '车辆损坏赔偿', content: '骑手归还车辆时发现车身刮擦,双方对赔偿金额有争议', partyA: '骑手李某', partyB: '海淀区一分店', status: '已解决', result: '骑手承担200元维修费用', handler: '李店长' }, { conflictId: 'CONF003', type: '门店公司', title: '总部扣款异议', content: '门店对公司月度扣款有异议,认为计算有误', partyA: '西城区二分店', partyB: '公司总部', status: '待处理' }, { conflictId: 'CONF004', type: '骑手门店', title: '头盔丢失', content: '骑手归还车辆时遗失头盔一个', partyA: '骑手赵某', partyB: '东城区三分店', status: '处理中', handler: '赵店长' } ]); console.log('✅ 骑手/门店冲突: 4 条'); // 打款/财务数据 (使用正确的枚举值) await Payment.insertMany([ { paymentId: 'PAY006', type: '支出', party: '门店A', amount: 12000, method: '银行卡', category: '房租', remark: '3月房租', operator: '财务' }, { paymentId: 'PAY007', type: '支出', party: '物业', amount: 1500, method: '银行卡', category: '水电', remark: '2月水电费', operator: '行政' }, { paymentId: 'PAY008', type: '支出', party: '维修店', amount: 800, method: '微信', category: '维修', remark: '车辆维修', operator: '王店长' }, { paymentId: 'PAY009', type: '收入', party: '骑手张某', amount: 500, method: '微信', category: '租金收入', remark: '骑手租金', operator: '系统' }, { paymentId: 'PAY010', type: '支出', party: '员工B', amount: 4500, method: '银行卡', category: '工资', remark: '2月工资', operator: '财务' }, { paymentId: 'PAY011', type: '收入', party: '骑手李某', amount: 300, method: '支付宝', category: '租金收入', remark: '骑手租金', operator: '系统' }, { paymentId: 'PAY012', type: '支出', party: '供应商', amount: 3500, method: '银行卡', category: '其他', remark: '采购电池', operator: '采购' } ]); console.log('✅ 打款/财务记录: 7 条'); console.log('\n🎉 纠纷协调和打款数据创建完成!'); console.log('📊 数据汇总:'); console.log(' - 门店纠纷: 3 条'); console.log(' - 骑手/门店冲突: 4 条'); console.log(' - 打款记录: 7 条'); mongoose.disconnect(); process.exit(0); }) .catch(err => console.error('❌ 错误:', err));