Files
nxxmdata/bank-backend/scripts/seed-completed-supervisions.js
2025-09-24 17:49:32 +08:00

208 lines
6.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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