Files
nxxmdata/bank-backend/scripts/seed-completed-supervisions.js

208 lines
6.5 KiB
JavaScript
Raw Normal View History

2025-09-24 17:49:32 +08:00
const { CompletedSupervision, User } = require('../models')
async function seedCompletedSupervisions() {
try {
console.log('开始创建监管任务已结项测试数据...')
// 获取第一个用户作为创建者
const user = await User.findOne()
if (!user) {
console.error('未找到用户,请先创建用户')
return
}
const completedSupervisions = [
{
applicationNumber: 'APP2024001',
contractNumber: 'LOAN2024001',
productName: '生猪养殖贷',
customerName: '张三',
idType: 'ID_CARD',
idNumber: '4401XXXXXXXXXXXXXX',
assetType: '生猪',
assetQuantity: 500,
totalRepaymentPeriods: 12,
settlementStatus: 'settled',
settlementDate: '2024-01-15',
importTime: new Date('2024-01-15 10:30:00'),
settlementAmount: 500000.00,
remainingAmount: 0.00,
settlementNotes: '贷款已全部结清',
createdBy: user.id
},
{
applicationNumber: 'APP2024002',
contractNumber: 'LOAN2024002',
productName: '肉牛养殖贷',
customerName: '李四',
idType: 'ID_CARD',
idNumber: '4402XXXXXXXXXXXXXX',
assetType: '肉牛',
assetQuantity: 150,
totalRepaymentPeriods: 24,
settlementStatus: 'partial',
settlementDate: '2024-01-20',
importTime: new Date('2024-01-20 14:20:00'),
settlementAmount: 300000.00,
remainingAmount: 200000.00,
settlementNotes: '部分结清剩余20万待还',
createdBy: user.id
},
{
applicationNumber: 'APP2024003',
contractNumber: 'LOAN2024003',
productName: '蛋鸡养殖贷',
customerName: '王五',
idType: 'ID_CARD',
idNumber: '4403XXXXXXXXXXXXXX',
assetType: '蛋鸡',
assetQuantity: 10000,
totalRepaymentPeriods: 18,
settlementStatus: 'unsettled',
settlementDate: null,
importTime: new Date('2024-01-10 09:15:00'),
settlementAmount: null,
remainingAmount: 800000.00,
settlementNotes: '尚未结清',
createdBy: user.id
},
{
applicationNumber: 'APP2024004',
contractNumber: 'LOAN2024004',
productName: '肉羊养殖贷',
customerName: '赵六',
idType: 'ID_CARD',
idNumber: '4404XXXXXXXXXXXXXX',
assetType: '肉羊',
assetQuantity: 300,
totalRepaymentPeriods: 15,
settlementStatus: 'settled',
settlementDate: '2024-01-25',
importTime: new Date('2024-01-25 16:45:00'),
settlementAmount: 300000.00,
remainingAmount: 0.00,
settlementNotes: '贷款已全部结清',
createdBy: user.id
},
{
applicationNumber: 'APP2024005',
contractNumber: 'LOAN2024005',
productName: '奶牛养殖贷',
customerName: '孙七',
idType: 'ID_CARD',
idNumber: '4405XXXXXXXXXXXXXX',
assetType: '奶牛',
assetQuantity: 100,
totalRepaymentPeriods: 36,
settlementStatus: 'partial',
settlementDate: '2024-01-30',
importTime: new Date('2024-01-30 11:20:00'),
settlementAmount: 200000.00,
remainingAmount: 400000.00,
settlementNotes: '部分结清剩余40万待还',
createdBy: user.id
},
{
applicationNumber: 'APP2024006',
contractNumber: 'LOAN2024006',
productName: '肉鸭养殖贷',
customerName: '周八',
idType: 'ID_CARD',
idNumber: '4406XXXXXXXXXXXXXX',
assetType: '肉鸭',
assetQuantity: 5000,
totalRepaymentPeriods: 12,
settlementStatus: 'unsettled',
settlementDate: null,
importTime: new Date('2024-02-01 08:30:00'),
settlementAmount: null,
remainingAmount: 600000.00,
settlementNotes: '尚未结清',
createdBy: user.id
},
{
applicationNumber: 'APP2024007',
contractNumber: 'LOAN2024007',
productName: '肉鸡养殖贷',
customerName: '吴九',
idType: 'ID_CARD',
idNumber: '4407XXXXXXXXXXXXXX',
assetType: '肉鸡',
assetQuantity: 15000,
totalRepaymentPeriods: 9,
settlementStatus: 'settled',
settlementDate: '2024-02-05',
importTime: new Date('2024-02-05 14:15:00'),
settlementAmount: 400000.00,
remainingAmount: 0.00,
settlementNotes: '贷款已全部结清',
createdBy: user.id
},
{
applicationNumber: 'APP2024008',
contractNumber: 'LOAN2024008',
productName: '肉猪养殖贷',
customerName: '郑十',
idType: 'ID_CARD',
idNumber: '4408XXXXXXXXXXXXXX',
assetType: '肉猪',
assetQuantity: 800,
totalRepaymentPeriods: 18,
settlementStatus: 'partial',
settlementDate: '2024-02-10',
importTime: new Date('2024-02-10 10:00:00'),
settlementAmount: 250000.00,
remainingAmount: 350000.00,
settlementNotes: '部分结清剩余35万待还',
createdBy: user.id
}
]
// 检查是否已存在数据
const existingCount = await CompletedSupervision.count()
if (existingCount > 0) {
console.log(`监管任务已结项表已有 ${existingCount} 条数据,跳过创建`)
return
}
// 批量创建监管任务已结项
await CompletedSupervision.bulkCreate(completedSupervisions)
console.log(`✅ 成功创建 ${completedSupervisions.length} 条监管任务已结项测试数据`)
// 显示创建的数据
const createdTasks = await CompletedSupervision.findAll({
include: [
{
model: User,
as: 'creator',
attributes: ['id', 'username', 'real_name']
}
]
})
console.log('创建的监管任务已结项数据:')
createdTasks.forEach((task, index) => {
console.log(`${index + 1}. ${task.applicationNumber} - ${task.customerName} - ${task.settlementStatus}`)
})
} catch (error) {
console.error('创建监管任务已结项测试数据失败:', error)
}
}
// 如果直接运行此脚本
if (require.main === module) {
seedCompletedSupervisions()
.then(() => {
console.log('监管任务已结项测试数据创建完成')
process.exit(0)
})
.catch((error) => {
console.error('脚本执行失败:', error)
process.exit(1)
})
}
module.exports = seedCompletedSupervisions