什么网站容易做,wordpress收件邮箱怎么设置,在线海报生成,网站建设制作设计平台文末获取源码#xff0c;项目编号#xff1a; S 067 。 \color{red}{文末获取源码#xff0c;项目编号#xff1a;S067。} 文末获取源码#xff0c;项目编号#xff1a;S067。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、… 文末获取源码项目编号 S 067 。 \color{red}{文末获取源码项目编号S067。} 文末获取源码项目编号S067。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、系统展示四、核心代码4.1 查询客户4.2 新增客户跟进情况4.3 查询客户历史4.4 新增服务派单4.5 新增客户服务费 五、免责说明 一、摘要
1.1 项目介绍
基于JAVAVueSpringBootMySQL的河南软件客服系统包含了客户信息维护模块、客户跟进记录模块、客户服务费模块、售后服务单模块、客服统计分析模块还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块河南软件客服系统基于角色的访问控制给客服主管、普通客服使用可将权限精确到按钮级别您可以自定义角色并分配权限系统适合设计精确的权限约束需求。
1.2 项目录屏 源码下载 二、功能模块
2.1 系统管理人员
包括系统维护基础资料维护、统计分析/报表导出、系统登录、企业资源导入等功能;主要体现在系统的运行保障上面;数据统计导出相关报表可让领导即时了解客户跟进情况,提取有用的信息转化成商机销售软件、升级、加站等﹐直接或者间接提升公司效益。
系统维护:用户管理系统管理员、客服入员、资源分派员、技术服务等;包含基本信息、所属部门、角色、联系方式等﹐数据字典维护系统日志审计等。基础资料维护:客户资料维护包含企业名称、详细地址、企业社会信用码、注册日期、区域、法人、法人电话、财务、财务电话、出纳、出纳电话、所属行业、运营状态、跟进状态等)、部门、角色等。客户资料可手工录入亦可使用 Excel 根据制定的模板批量导入(通过一些渠道获取的大批量企业信息;统计分析/报表导出:生成跟进汇总统计报表可按日期时间段、客服人员、跟进进度等进行统计可统计服务费收取情况、服务费到期情况、技术服务派单情况、商机转化情况可导出Excel、PDF文件留档;系统登录:系统管理员和业务员登录认证功能:根据登录用户的角色不同所拥有的权限不同显示不同的页面内容。客户资源分派维护:客户资料可依据多种条件进行筛选基本资料各个字段皆可作为条件任意组合进行正向或反向筛选,还需要根据分派情况正向或反向筛选然后给客服人员进行分派;跟进不理想的资源可收回重新分派。服务费审核:生成服务费流水账表由财务人员进行对账审核;审核过之后才能计入对应客服的业绩。
2.2 业务操作人员
主要包括客户信息维护、服务费收取、客户跟进维护、售后服务、服务派单、客户评价等;成交客户反馈问题后由客服人员录入系统客服经理收到信息提示然后进行服务派单完成后由技术人员录入解决情况汇总到该客户档案中;资源池中客户被分派给跟进人进行电话跟进根据情况转化成商机。
客户信息维护:客服人员收集到一些客户信息录入系统有些信息可能有误或者企业信息变更在跟进过程中可以进行修改调整修改过程历史记录保留可进行回查复核。添加企业联系人和电话定期计算联系电话任职于几个企业可查询相关联的企业信息。客户跟进维护:客服人员定期主动电话联系客户沟通信息化需求或者使用过程中的问题记录跟进情况和维护跟进进度跟进进度:启新老客户、已用金蝶、已用用友、已用其他软件、意向客户、长期跟进、暂无需求、其他。历史记录保留可查每次跟进人、跟进情况、跟进时间等。服务费收取:成交客户可查看成交记录和服务费收取记录以及服务费到期时间服务费即将到期的客户要有消息提醒和一键查询功能服务费逾期客户红色标注,收取服务费后录入系统,提示后台进行服务费审核对账。售后服务:客服接到成交客户的咨询或者问题反馈后可快速查询定位到客户调出客户档案和跟进历史记录将客户多描述情况汇总录入系统提交给客服经理客户经理收到问题反馈初步评估之后分派给技术服务人员跟进解决亦可客服经理亲自解决,技术人员解决后将解决情况录入系统,该问题关闭。回访评价:客户的问题解决后由客服人员进行回访根据客户反馈的情况对技术人员的服务态度、技术能力、回应速度等进行客观评价很满意、满意、一般、有待改善。 三、系统展示 四、核心代码
4.1 查询客户
RequestMapping(value /getByPage, method RequestMethod.GET)
ApiOperation(value 查询客户)
public ResultIPageCustomer getByPage(ModelAttribute Customer customer ,ModelAttribute PageVo page){QueryWrapperCustomer qw new QueryWrapper();if(!ZwzNullUtils.isNull(customer.getCompanyName())) {qw.like(company_name,customer.getCompanyName());}if(!ZwzNullUtils.isNull(customer.getTrade())) {qw.like(trade,customer.getTrade());}if(!ZwzNullUtils.isNull(customer.getStatus2())) {qw.eq(status2,customer.getStatus2());}if(!ZwzNullUtils.isNull(customer.getMobile1())) {qw.and(wrapper - wrapper.eq(mobile1, customer.getMobile1()).or().eq(mobile1,customer.getMobile1()).or().eq(mobile3,customer.getMobile1()));}IPageCustomer data iCustomerService.page(PageUtil.initMpPage(page),qw);return new ResultUtilIPageCustomer().setData(data);
}4.2 新增客户跟进情况
RequestMapping(value /addOne, method RequestMethod.GET)
ApiOperation(value 新增单条客户跟进)
public ResultObject addOne(RequestParam String id,RequestParam String level,RequestParam String content){Customer customer iCustomerService.getById(id);if(customer null) {return ResultUtil.error(客户不存在);}CustomerItem customerItem new CustomerItem();customerItem.setCustomerId(customer.getId());customerItem.setCustomerName(customer.getCompanyName());customerItem.setLevel(level);customerItem.setContent(content);User currUser securityUtil.getCurrUser();customerItem.setUserId(currUser.getId());customerItem.setUserName(currUser.getNickname());customerItem.setTime(DateUtil.now());iCustomerItemService.saveOrUpdate(customerItem);return ResultUtil.success();
}4.3 查询客户历史
RequestMapping(value /getByPage, method RequestMethod.GET)
ApiOperation(value 查询客户历史)
public ResultIPageCustomerHistory getByPage(ModelAttribute CustomerHistory customerHistory ,ModelAttribute PageVo page){QueryWrapperCustomerHistory qw new QueryWrapper();if(!ZwzNullUtils.isNull(customerHistory.getCompanyName())) {qw.like(company_name,customerHistory.getCompanyName());}IPageCustomerHistory data iCustomerHistoryService.page(PageUtil.initMpPage(page),qw);return new ResultUtilIPageCustomerHistory().setData(data);
}4.4 新增服务派单
RequestMapping(value /addOne, method RequestMethod.GET)
ApiOperation(value 新增单条服务派单)
public ResultObject addOne(RequestParam String id,RequestParam String content){Customer customer iCustomerService.getById(id);if(customer null) {return ResultUtil.error(客户不存在);}ServiceOrder serviceOrder new ServiceOrder();serviceOrder.setCustomerId(customer.getId());serviceOrder.setCustomerName(customer.getCompanyName());serviceOrder.setContent(content);User currUser securityUtil.getCurrUser();serviceOrder.setStatus(未派单);serviceOrder.setUserId(currUser.getId());serviceOrder.setUserName(currUser.getNickname());serviceOrder.setWorkId();serviceOrder.setWorkName();serviceOrder.setReplyContent();serviceOrder.setAppraiseLevel();serviceOrder.setAppraiseContent();iServiceOrderService.saveOrUpdate(serviceOrder);return ResultUtil.success();
}4.5 新增客户服务费
RequestMapping(value /addOne, method RequestMethod.GET)
ApiOperation(value 新增客户服务费)
public ResultObject addOne(RequestParam String id,RequestParam String startDate,RequestParam String endDate,RequestParam BigDecimal price){Customer customer iCustomerService.getById(id);if(customer null) {return ResultUtil.error(客户不存在);}User currUser securityUtil.getCurrUser();ServicePrice servicePrice new ServicePrice();servicePrice.setCustomerId(customer.getId());servicePrice.setCustomerName(customer.getCompanyName());servicePrice.setStartDate(startDate);servicePrice.setEndDate(endDate);servicePrice.setPrice(price);servicePrice.setStatus(未审核);servicePrice.setUserId(currUser.getId());servicePrice.setUserName(currUser.getNickname());servicePrice.setTime(DateUtil.now());iServicePriceService.saveOrUpdate(servicePrice);return ResultUtil.success();
}五、免责说明
本项目仅供个人学习使用商用授权请联系博主否则后果自负。博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权拥有最终解释权。如有问题欢迎在仓库 Issue 留言看到后会第一时间回复相关意见会酌情考虑但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户必须同意以下内容否则请勿下载
出于自愿而使用/开发本软件了解使用本软件的风险且同意自己承担使用本软件的风险。利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关博主对此不承担任何责任。在任何情况下对于因使用或无法使用本软件而导致的任何难以合理预估的损失包括但不仅限于商业利润损失、业务中断与业务信息丢失博主概不承担任何责任。必须了解使用本软件的风险博主不承诺提供一对一的技术支持、使用担保也不承担任何因本软件而产生的难以预料的问题的相关责任。