CRM项目06

2020-05-23  本文已影响0人  建国同学

复习

  1. 首先检查自己的mapper.xml文件中是否存在注释?xml文件中的注释不能是 /**/,要不然就会报出上面的错误信息,只能以<!开头,和 > 结尾
  2. 其次就是检查自己的sql语句是否写的有问题或者映射的实体类属性是否与sql查询的字段一致

一、客户管理需求

潜在客户页面

人员关系

客户状态status

1.吸纳:其实就是自行领取,如果你觉得你有能力跟进该客户,可吸纳到自己名下,变公有为私有,领取的客户将会出现在自己的客户列表里面,客户池里不会再显示这条数据
2.移交:其实就是分配功能,是管理员或者经理才能使用的功能,可直接安排分配给指定人员进行跟进,效果和吸纳一样


1. 潜在客户页面只查询状态为潜在客户的数据

设置查询条件为潜在客户:
qo.setStatus(Customer.STATUS_COMMON);

2. 潜在客户页面按照录入时间倒序排序

PageHelper分页插件传入orderBy参数:
PageHelper.startPage(qo.getCurrentPage(),qo.getPageSize(),"input_time desc"); //对下一句sql进行自动分页

3. 普通销售员登录进来只能看到自己的客户,看不到别人的客户,管理员或者市场经理才可以看所有

        // 角色判断,普通销售员登录进来只能看到自己的客户,看不到别人的客户,管理员或者市场经理才可以看
        Subject subject = SecurityUtils.getSubject();
        // 排除管理员和市场经理
        if(!(subject.hasRole("ADMIN") || subject.hasRole("Market_Manager"))) {
            // 获取到当前用户
            Employee employee = (Employee) subject.getPrincipal();
            // 根据当前员工id查询所有跟进的客户
            qo.setSellerId(employee.getId());
        }

4. 销售人员下拉框,只有管理员或者市场经理才可以使用

                    <#-- 销售人员下拉框,只有管理员或者市场经理才可以使用 -->
                    <@shiro.hasAnyRoles name="ADMIN,Market_Manager">
                        ...
                    </@shiro.hasAnyRoles>

5. 销售人员下拉框,只查询带有市场专员和市场经理角色的员工

// 3.销售人员下拉框,根据角色编码查询拥有该角色的员工 "Market_Manager", "Market"
List<Employee> sellers = employeeService.selectByRoleSn("Market", "Market_Manager");
model.addAttribute("sellers", sellers);

其他注意事项

以下4个字段,由后台自动去设置,不在模态框中操作,添加时需自动设置,编辑时注解丢失问题
添加一一个客户,销售人员,录入人就是当前登录用户,录入时间,设置为当前时间new Date ( )

销售人员private Employee seller;
录入人private Employee inputUser ;
录入时间private Date inputTime;
状态private Integer status = STATUS_ COMMON;
上一篇下一篇

猜你喜欢

热点阅读