CRM系统管理Day02-牛刀小试 Bug分析

一.Bug分析

1.现象

线索管理-线索池-线索捞取-提示信息异常:捞取失败!最大保有量(30),剩余可以捞取-209条线索" (剩余线索数为负数)

注:使用zhangsan的权限登录

 2 定位接口

通过浏览器的开发者模式的Network选项卡,观察发送的请求和返回的响应

 

 

由上述图可解析到 

请求路径: /clues/clue/gain

请求方式: PUT方式

请求参数:ids ,userId

3.查看接口代码

返回到idea中 双击shift 输入路径进入到该controller

 

 进入三层调用

4.确定bug位置

 

 5 修改bug

这是一个显示bug,规则保存在规则表里,规则表里定义了每个人拥有的线索的上限,当我们批量导入线索的时候是可以超过最大上限的,这是允许的情况,这里我们在捞取的时候,如果超过了上限,不用相减,直接返回0即可

 二.Bug加特林

1 用户搜索

系统管理-权限管理-用户管理-高级搜索-手机号搜索不可用,需要修改为可以根据手机号模糊搜索

注: 使用admin账户登录

 如上述所述,发现现象,定位接口

 

请求路径: /clues/clue/list

请求方式: GET方式

通过三层查看代码出现在sql层 没有phonenumber的模糊查询语句

在sql中添加即可

2.公海池搜索

创建时间搜索,没有效果

同上述1 的方法进行定位判断,可得知

同过三层判断后得知是sql中没有根据创建时间进行搜索

3.活动信息

线索管理-添加线索-活动信息-应该只展示 正在活动时间内的活动

定位接口

首先修改controller层,在构建活动类的时候初始化一个当前时间

在sql查询中添加一条

<if test="params.now != null and params.now != ''"><!-- 处理当前时间 -->
    and #{params.now} between begin_time and end_time
</if>

5.任务分配

当线索转商机时,我们希望使用规则进行任务的分配,具体规则如下:

  • 意向学科是java的分配给lisi商机专员

  • 意向学科是前端的分配给lisi1商机专员

  • 其他意向的等待主管来进行手动分配

  •  点击转商机

  •  现象:我们使用lifeng即主管来进行登录,发现数据并没有被分配给lisi

通过f12可得知对应的接口名

如上述相同的操作去定位后端代码 

 

在这里我们看到了我们首先往商机表里添加了一条数据,并且设置了对应的状态是待跟进状态

接下来调用rule.transforBusiness(tbBusiness)方法将此商机分配给具体的员工去跟进,那么他是按照什么样的规则来进行分配的呢?

这个端逻辑就应该定义在rule的transforBusiness方法中,进一步跟代码发现rule是一个接口,而且有两个实现类

 

 

这两个实现类一个是AdminStrategy另一个是RuleStrategy

这两个实现类都实现了这个接口,而我们是注入的这个接口,具体我们是使用哪个类作为我们的实现类呢?

 

观察下这两个实现类我们发现每个实现类上都有一个@ConditionalOnProperty注解

该注解的主要意义是,读取配置文件application.yml文件中的rule.transfor字段,判断字段的内容与havingValue里的内容进行对比,

如果配置的内容与havingValue里的内容相同,则springboot会基于配置的内容,选择对应类作为接口的实现类

通过观察配置文件中的配置项,我们可以确定,当前项目使用的是RuleStrategy实现类定义的逻辑来处理业务的

 可得知是从中出现了问题 接下来我们进入RuleStrategy去查看代码原由

mapper无法注入

静态成员属于类的,当类加载器加载静态变量时,Spring上下文尚未加载。所以类加载器不会在bean中正确注入静态类,并且会失败,@Autowired 不能给静态变量依赖注入

我们得知原由后,进行搜索得知可以用预加载数据的方法进行修改

@postConstruct修饰一个方法

 将注入的static方法去掉改为预加载处理

 注意这里还有一个小bug,就是在匹配学科字段的时候

  1. 我们比较的顺序应该调换一下,因为tbBusiness有可能为空 null.equals(xxx)会报错

比较的内容也有问题:tbBusiness.getSubject()得到的是dict_value,所以应该与字典表中的dict_value字段比较,而不是dict_label字段

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值