自学内容网 自学内容网

需求1:修改字段

这两天放完中秋节的假期回来,就接到了一个需求。

这个需求要求改一个字段,这个字段的功能是版本记录,也就是说每次修改,版本号都要+1。

其实往往最重要的就是清楚的了解这个需求想要完成什么样的效果,基本上如果你了解了这个需求最终想得到一个什么样的功能的时候,就已经完成了起码30%了。我一开始上手写代码的时候,因为我对这个系统不了解,所以不知道这个需求想要完成一个什么样的效果,所以写代码写的很吃力。

言归正传。了解完需求后,下一步就是对这个需求有一个基本的思路。睿哥之前跟我讲过,写代码其实和写作文差不多的,你写作文也不是想到什么写什么,肯定要有一个大纲思路,第一段写什么,第二段写什么,第三段写什么,最后一段写什么。

同理,就以这个需求为例子,第一步干什么?是不是应该是找到这个字段所在的数据库表,然后把这个字段给改成int型,然后这个字段的所有值设置为1。

第二步,是不是应该找到这个张表对应的实体类(一般是entity),然后在实体类中也把这个字段改成int型。

第三步,找到编辑作业标准的接口:

看到这个接口之后,你应该知道,肯定是要对这个接口进行修改了。这是毫无疑问的。这个接口总共有3层:controller层、service层、mapper层。

controller层的作用就三个:参数传入、结果返回、进入service层的通道。

参数传入的地方需要修改吗?需要!因为之前传入的参数中,sop_version是string类型的,现在要改成int类型。结果返回不需要改,进入service层的通道也不需要改。这样一来,controller层就改完了。

接下来进入到service层。service层肯定要改了。因为我们希望这个版本号每次修改的时候就加一,所以实现这个业务需求的代码要写在service层。怎么写?

我暂时有3种方法。第一种方法是自己写。只要我足够强,我就可以自己手写把代码写出来。但是我不够强怎么办?第二种方法就是问GPT,不过如果问GPT的话,我自己要对整个业务需求十分的清晰,而且你要清楚的像他描述要让GPT写什么,这样GPT才能写出来,否则的话他写出来的代码可能你用不上。第三种方法就是问光哥或者问睿哥,如果要问睿哥的话最好是等到他下班的时候问一下,如果在他上班的时候问他,他肯定会喷我。

希望这个版本号每次修改的时候就加1的代码实现如图:

这个代码的意思是说,从task_config_sop中拿出SopVersion字段的值,把这个值+1后放回SopVersion中。这个代码是完全没问题的,因为你每次修改完作业标准,点击提交后,你都要调用这个接口,你一调用这个接口,这个代码就会被执行。

关于编辑作业标准这个接口,其实已经修改完了。

接下来修改前端。

前端的话我们希望改成这个样子:

也就是这个输入框不可以被编辑的。这个太简单了,执行区域已经有了一个模版了,记录版本号按照上面的来改就行。

这样前端就完成了。

我以为这个需求就这样完成了,结果我在测试这个功能的时候,发现在新增的时候,这个版本号显示为空。

为什么会显示不出来呢?我调试了一下,发现传入参数里面的sopVersion==null,所以新增作业标准的时候显示不出来。怎么办?

在service层手动加一行:

传入参数里面的sopVersion因为为null,所以我就自己手动设置,给它赋值为1,那就解决了。最终问题也解决了。


原文地址:https://blog.csdn.net/qq_54432917/article/details/142363132

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!