改项目状态 联动改岗位状态的问题解决

问题描述:

我写的两个接口,改项目状态值,仅是改了项目状态值,岗位状态不会联动更改(比如项目状态改3关闭,岗位不会跟着关闭)

但是原来的修改接口,把项目状态改为3时,岗位状态就跟着关闭了。

我写的接口如下:

service层 调用 数据层mapper updateById 修改项目


分析原来默认修改项目接口的业务逻辑:

1、update接口 再公共的updatecontroller中被调用


2、在projectController中 重写了 公共方法中的 handlerUpdate


3、查看ProjectController 是继承的SuperController


4、这里修改update默认的方法就叫做 handlerUpdate


5、SuperController继承自 SuperService


6、对照service层的接口 项目服务接口 继承自SuperServiceImpl


7、SuperServiceImpl是SuperService的实现,SuperService又是IService的实现,IService中定义了很多默认方法,包括updateById




8、结论再控制层重写的handlerUpdate 对应 service层的updateById方法


9、对比项目的服务接口,update是自定义的,updateById是默认自带的可以根据业务逻辑重写



分析代码经验记录:

1、怎么找到控制层 handlerUpdate 和服务层updateById 的对应关系的

1)调用原来的修改接口,在console中 看到 因项目状态修改 改变岗位状态的 sql语句

debug代码,进入到很多框架的类中,找到最终触发这个触发sql语句的位置打上断点。

2)但一步步往下找也没看到改岗位状态的逻辑代码,往上退debug返回代码时,进入到了ProjectServiceImpl这个类中

的updateById的方法中,这里有通过项目状态3,改岗位状态的逻辑。


3)在ProjectServiceImpl中的 update方法和updateById分别打上断点,调用我写的改状态接口和原来的修改接口 发现分别进入的是不同的方法,对比分析发现了两个不同的执行路径,


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。