美文网首页
CRM项目06

CRM项目06

作者: 建国同学 | 来源:发表于2020-05-23 10:47 被阅读0次

复习

  • List<Employee> selectByRoleSn(String... sn); 可变参数,可以直接传多个字符串,不用new出一个数组

  • @DataFormatTime注解:
    不能直接取日期对象,需要设置格式化提交请求,传的参数带有日期类型的参数,需要在后台贴DataFormatTime注解,贴在controller接收日期的形参上

  • 回显表单name为对象.字段的,选择器选择需要加引号


  • mapper报错注释问题(如mapper文件中没有写入参数类型parameterType):

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

一、客户管理需求

潜在客户页面

人员关系

客户状态status

  • 潜在客户0(还没购买产品) 添加客户时,默认设置为潜在客户的状态
  • 正式客户1(已经购买产品)
  • 开发失败客户2(已经没有意向购买的客户)
  • 流失客户3(已经购买产品,但是需要退货退款)
  • 客户池状态4
    对于处理客户池的客户有两种方法

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;

相关文章

  • CRM项目06

    复习 List selectByRoleSn(String... sn); 可变参数,可以直接传多个字符串,...

  • MediaV人群数据接收—XML文件开发规范v1.0

    版本:V1.0修订日期:2016-09-06 说明 该文档说明伊利大数据平台项目中,云商生成CRM会员标签数据时,...

  • crm项目

    项目目的:能一目了然看到项目进展情况、客户进展情况 数据包含:服务行销数据、项目进展相关数据 目前仅能做到服务行销...

  • 如何正确评估CRM项目实施风险?(三)

    越来越多的企业面临着企业数据化建设时,首选建立CRM数据库,实施CRM项目首先要对项目进行评估,如何评估CRM实施...

  • 八骏:CRM调研,企业需要做什么呢?

    CRM调研阶段是CRM实施的第一步,一般都是具有个性化配置需求的CRM项目需要调研。企业在确定CRM厂商之后就会进...

  • CRM实施流程环节_八骏CRM

    CRM客户管理系统的实施流程很重要,成熟的实施流程能大大降低CRM项目失败的风险。八骏CRM客户管理系统的实施流程...

  • CRM项目08

    复习 mybatis里排序用${},是把 ${ } 替换成变量的值,完成的是简单的字符串拼接。参数用#{},预编译...

  • CRM项目02

    一、Bootstrap-Validator验证插件 下载:http://bootstrapvalidator.vo...

  • CRM项目01

    一、Freemarker FreeMarker 是一款免费的模板引擎 对比 JSP 而言,FreeMarker 性...

  • CRM项目05

    一、 导入导出功能 Apache POI Apache POI 是 Apache 软件基金会的开放源码函式库,PO...

网友评论

      本文标题:CRM项目06

      本文链接:https://www.haomeiwen.com/subject/oqmfahtx.html