image.png查询 请求:[https://monitortest.chintanneng.com/monitorserver/crm-center/AutoDisPatch/queryPage](https://monitortest.chintanneng.com/monitorserver/crm-center/AutoDisPatch/queryPage)
方法名: src/main/java/com/scm/crm/controller/AutoDisPatchController.queryPage(AutoDispatchSearch search)
请求参数:AutoDispatchSearch
image.png
返回值:Page<AutoDispatchModelEx>image.png
数据库表:
oam_autodispatch:联系表,这张表中有其他表的id
image.png
方法体:
首先是查一下userInfo,然后设置一下。
LoginAppUser userInfo = redisRepository.getExpireUser(request);<br /> autoDispatchSearch.setCurrentUserInfo(userInfo);
看一下getExpireUser方法:
用户登录之后,下次请求时,会带一个utoken放在请求头中,这里传入getExpireUser方法的就是这个token
image.png
image.png
具体获取登录用户信息的方法,可以看到key是:auth:D37FF4F1DA2CD88AA37CCCC3FED8E394。他用的是RedisTemplate,当取数据的时候,用的是excute。泰极的是StringRedisTemplate.opsForValues…,相比而言,我觉得用StringRedisTemplate更简单,毕竟对于对象,也可以用json存。
image.png
这个系统中所有的bean应该都继承自BaseModel,这个类中有
LoginAppUser:当前登录用户
SearchModel:分页类
orderby:排序
以及一些前端需要的控件字段。
这样有一个好处就是,在前端页面可以随时拿到当前登录的用户。
之后就是查询主表oamautodispatch,会返回一个itemsList,即所有的id,在根据这些id,拼接出来一个model返回给前端。
这里拼接的就是省市区,运维商以及运维人员的信息。具体的拼接方法就是根据所有的id,通过feign调用BaseCenter里面的方法,拿到具体的值,然后进行拼接。最后返回。
他有一些基础表,基本上是以sys
开头的表,维护了一些系统的静态数据。它还有一些表是base_开头的表,目前看也是一些基础信息的表。
sql:
image.png
image.png
image.png
小结:
当进入到 运维人员设置这个界面时,这4个请求就能说通了。
主查询方法就是queryPage,下面4个queryProvinceList,是属于base-center里面的,这里是feign调用,所以也会显示出来,4个查询是因为进行了4次拼接。
image.png

新增

这里选择一级,就会查询下一级。
image.png
查询运维商的方法:
src/main/java/com/scm/crm/controller/AutoDisPatchController.getOrgMap(AutoDispatchSearch search)
参数:areaid
表:
image.png
sql:
image.png

删除

方法:
com.scm.crm.controller.AutoDisPatchController.deleteAreaSettings()
传参:
image.png
sql:
image.png
可以看到删除的是oam_autodispatch的数据
删除会创建日志,通过
com.scm.base.controller.LogrecordYwController.saveList(loglist)方法
日志表:base_logrecord_yw

运维区域设置

image.png
请求参数:
image.png
请求方法:
com.scm.supplychain.controller.MerchantOperationController.queryPage(OrganizationinfoSearch)
注释是:二级运维商列表并分页
这个最后会调用
com.scm.base.controller.OrganizationinfoController.queryPage()
后面的信用额度和已占信用是拼接的
sql:
image.png

详情

明细