0.0.8.5
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
/**
|
||||
* 在虞氏家族中创建一个真实的更新操作
|
||||
* 用于在前端查看详细的变更信息
|
||||
*/
|
||||
|
||||
import { prisma } from '../lib/prisma'
|
||||
import { recordMemberHistory } from '../lib/member-history'
|
||||
|
||||
async function createRealUpdate() {
|
||||
console.log('🧪 在虞氏家族创建更新操作...\n')
|
||||
|
||||
try {
|
||||
// 1. 查找虞氏家族
|
||||
const tree = await prisma.familyTree.findFirst({
|
||||
where: {
|
||||
name: {
|
||||
contains: '虞'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if (!tree) {
|
||||
console.error('❌ 未找到虞氏家族')
|
||||
return
|
||||
}
|
||||
|
||||
console.log('✅ 找到家族树:', tree.name)
|
||||
|
||||
// 2. 查找虞国华
|
||||
const member = await prisma.familyMember.findFirst({
|
||||
where: {
|
||||
treeId: tree.id,
|
||||
fullName: {
|
||||
contains: '虞国华'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if (!member) {
|
||||
console.error('❌ 未找到虞国华')
|
||||
return
|
||||
}
|
||||
|
||||
console.log('✅ 找到成员:', member.fullName)
|
||||
console.log()
|
||||
|
||||
// 3. 保存旧数据
|
||||
const oldData = { ...member }
|
||||
|
||||
// 4. 更新成员(做一些明显的修改)
|
||||
console.log('📝 更新成员信息...')
|
||||
const updatedMember = await prisma.familyMember.update({
|
||||
where: { id: member.id },
|
||||
data: {
|
||||
phone: '13912345678',
|
||||
email: 'yuguohua@example.com',
|
||||
address: '浙江省杭州市西湖区',
|
||||
bio: (member.bio || '虞国华先生') + '\n\n【更新】添加了联系方式和地址信息。',
|
||||
}
|
||||
})
|
||||
console.log('✅ 成员已更新')
|
||||
|
||||
// 5. 记录历史
|
||||
const historyRecord = await recordMemberHistory({
|
||||
memberId: member.id,
|
||||
treeId: tree.id,
|
||||
changedBy: tree.ownerId,
|
||||
changeType: 'UPDATE',
|
||||
oldData: oldData,
|
||||
newData: updatedMember
|
||||
})
|
||||
console.log('✅ 历史记录已创建')
|
||||
|
||||
// 6. 创建操作日志
|
||||
await prisma.activityLog.create({
|
||||
data: {
|
||||
treeId: tree.id,
|
||||
userId: tree.ownerId,
|
||||
action: 'UPDATE',
|
||||
entityType: 'MEMBER',
|
||||
entityId: member.id,
|
||||
entityName: updatedMember.fullName,
|
||||
changes: historyRecord?.changes || {},
|
||||
}
|
||||
})
|
||||
console.log('✅ 操作日志已创建')
|
||||
console.log()
|
||||
|
||||
console.log('✅ 更新操作创建成功!')
|
||||
console.log()
|
||||
console.log('📋 变更内容:')
|
||||
if (historyRecord?.changes) {
|
||||
const changes = historyRecord.changes as Record<string, { old: any, new: any }>
|
||||
for (const [field, change] of Object.entries(changes)) {
|
||||
console.log(` • ${field}: "${change.old}" → "${change.new}"`)
|
||||
}
|
||||
}
|
||||
console.log()
|
||||
console.log('💡 现在可以在前端查看:')
|
||||
console.log(' 1. 访问 /settings 页面')
|
||||
console.log(' 2. 选择"虞氏家族"')
|
||||
console.log(' 3. 查看最新的"更新成员虞国华"记录')
|
||||
console.log(' 4. 应该能看到详细的变更对比信息')
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 创建更新失败:', error)
|
||||
throw error
|
||||
} finally {
|
||||
await prisma.$disconnect()
|
||||
}
|
||||
}
|
||||
|
||||
// 运行
|
||||
createRealUpdate()
|
||||
.catch((error) => {
|
||||
console.error('执行失败:', error)
|
||||
process.exit(1)
|
||||
})
|
||||
Reference in New Issue
Block a user