本节课我们要搞定需求优化的后端函数:begin_set
这里需要注意的是:该步骤耗费资源(接口成本和时间)较大,所以设计的时候我就是采用了可绕过。也就是用户可以不点击需求优化按钮,直接就用需求分解后的多个功能点(小需求)保存后 直接生成用例。
当然,不差钱的主可以走需求优化这一步骤,效果肯定是要优于原本的。
也就是说:
原始需求直接生成用例 < 原始需求分解后生成用例 < 原始需求分解后再优化后生成用例。
市面上的AI生成用例,基本都是第一阶段,直接让AI分析原始需求生产用例。这也是综合了成本后的性价比选择。
所以我做的这个用例生成平台,就是要这三种都可以用,给用户一个自主选择的机会。
该函数思路如下:
就是先从前端获取到原始需求old_srs和分解后需求new_srs和项目id。根据项目id从数据库提取出srs_case_set,并把其中的内容经过整理后通过并发的方式发给AI接口,并把获取到的内容整理后展示到前端,前端用户在确认没问题或手动修改后点击保存。
所以,前端的begin_set函数,需要改成这样:(get改post,新增old_srs和new_srs)
def begin_set(request): # 从前端和数据库获取必要数据 body = json.loads(request.body) old_srs = body['old_srs'] new_srs = body['new_srs'] project_id = int(request.GET['project_id']) srs_case_set = eval(DB_project.objects.filter(id=project_id)[0].srs_case_set) # 调用AI接口获得返回结果 new_srs_end = AIsend_begin_set(old_srs,new_srs,srs_case_set) # 整理结果后返回给前端 return HttpResponse(json.dumps(new_srs_end),content_type='application/json')
然后再看后端views.py:

如上图,上面的几句,都是从前端获取数据,和去数据库拿数据的代码。也就是完成了我们的第一步。
接下来,调用AI接口,和整理这些话术的功能。我们交给一个全新的函数去做:
AIsend_begin_set这样的设计,其实就很正式了,views.py中的begin_set作为视图逻辑层,专门负责跟前端交互数据用,真正处理业务的独立出一个业务层函数AIsend_begin_set来处理。
所以其他部分写这样:

关于这个复杂并发的AIsend_begin_set函数如何实现,欢迎收看下一节吧~