新增动态记录的同时新增审核记录,审核通过动态才能新增成功 业务实现举例
时间: 2024-03-17 07:46:53 浏览: 37
好的,下面我来举一个简单的业务实现例子。
假设我们有一个社交网站,用户可以在上面发布动态。我们需要实现的功能是:当用户发布动态时,系统会自动创建一条审核记录,并将审核状态设置为待审核。只有在审核通过后,该动态才会被公开显示。
1. 创建数据库表
我们需要创建两个数据库表:`t_dynamic`和`t_audit`。
`t_dynamic`表用于存储动态记录,包含以下字段:
- `id`:动态记录ID
- `content`:动态内容
- `audit_status`:审核状态,取值范围为:待审核、已审核、审核未通过
`t_audit`表用于存储审核记录,包含以下字段:
- `id`:审核记录ID
- `dynamic_id`:动态记录ID
- `status`:审核状态,取值范围为:待审核、已审核、审核未通过
2. 动态记录提交处理
当用户提交动态记录时,系统会自动创建一条审核记录,并将审核状态设置为待审核。
在业务层面,我们可以使用以下伪代码来实现:
```
// 获取用户提交的动态内容
content = request.get('content')
// 创建动态记录
dynamic = new Dynamic(content=content, audit_status='待审核')
dynamic.save()
// 创建审核记录
audit = new Audit(dynamic_id=dynamic.id, status='待审核')
audit.save()
```
在上面的代码中,我们先创建了一个动态记录对象 `dynamic`,并将其状态设置为待审核。接着,我们创建了一个审核记录对象 `audit`,并将其与动态记录对象关联起来。最后,我们将审核记录保存到数据库中。
3. 审核处理
审核人员会对待审核的动态记录进行审核。如果审核通过,则会将审核状态设置为已审核,并将该记录公开显示;如果审核被拒绝,则会将该动态记录删除。
在业务层面,我们可以使用以下伪代码来实现:
```
// 获取审核记录ID
audit_id = request.get('audit_id')
// 获取审核结果,通过或拒绝
result = request.get('result')
// 根据审核记录ID获取审核记录对象
audit = Audit.objects.get(id=audit_id)
// 如果审核通过
if result == '通过':
// 将审核状态设置为已审核
audit.status = '已审核'
audit.save()
// 获取关联的动态记录对象
dynamic = Dynamic.objects.get(id=audit.dynamic_id)
// 将动态记录状态设置为已审核
dynamic.audit_status = '已审核'
dynamic.save()
// 如果审核拒绝
else:
// 删除审核记录
audit.delete()
// 获取关联的动态记录对象
dynamic = Dynamic.objects.get(id=audit.dynamic_id)
// 删除动态记录
dynamic.delete()
```
在上面的代码中,我们首先获取审核记录ID和审核结果。接着,我们根据审核记录ID获取审核记录对象 `audit`。如果审核通过,我们将审核状态设置为已审核,并将其保存到数据库中。接着,我们获取关联的动态记录对象 `dynamic`,将其状态设置为已审核,并将其保存到数据库中。如果审核被拒绝,我们删除审核记录和关联的动态记录。
这样,就可以实现在新增动态记录的同时新增审核记录,审核通过动态才能新增成功的功能了。
阅读全文