APP下载

物流客服系统设计与实现

2017-02-06王仁丽王颖王倩

软件 2016年6期

王仁丽+王颖+王倩

摘要:本系统基于java语言和Spring MVC框架,主要为物流管理系统客服管理人员开发,综合现有的物流交互平台和主流客户群体的需求,客服人员可通过已有的系统功能解决企业管理过程中的用户需求问题。包括从处理客户订单,到管理客户数据。结果表明本系统能够根据客户需求,为个人和企业提供多功能、全方位的物流服务,从而为顾客创造更多的价值,提高顾客满意度。

关键词:SpringMVC框架;物流客服管理;Java

引言

随着国内电子商务的飞速发展和不断壮大,物流行业的货品流量的扩大也逐渐呈几何倍数的趋势在增长。急、轻、小类货品的运输及售点普及问题随着众多快递公司的诞生而得以解决,各种物流服务平台也应运而生。但大件货品的最后一公里运输问题一直困扰着很多物流公司。为此,本系统突破了运输服务、仓储服务等传统物流服务方式的局限性。根据客户需求,实现随叫随到,随时用车的功能需求,以此来提升市场运输效率,降低运输成本。

1系统设计

本物流客服系统是一个典型的以B/S架构模式设计的一个系统。客服系统使用Spring MVC+MyBatis为基础框架进行开发。开发工具使用Eclipse;语言为开源的JAVA语言;数据库设计及管理软件使用MySql数据库及Navicat管理工具;Web服务器为Jetty服务器;客户端浏览器支持IE8及以上、Google以及Firefox等主流浏览器。客服系统要求具有以下功能模块:客服管理员的注册及登录,权限管理,客服工单,客服下单,认证管理,客户管理,订单管理,优惠券管理,其他工具等。系统主要功能模块如图1所示。

1.1系统设计思想

系统结构设计中,将表现层、业务逻辑层和数据访问层分离开来,用户通过对前端页面(表现层)的控件操作,将用户请求的表单数据发送给controller(业务逻辑层),业务逻辑层通过接口层(service)相应的操作实现类调用DAO接口,DA0通过相应的业务数据处理进行持久化操作调用model层,model层将相应的实体对象映射到数据库里面,再通过映射配置文件进行对数据库的增删改查操作。这样分层降低了各层之间的关联性,实现了高内聚、低耦合的编程思想。

1.2系统页面设计

整个系统的页面设计采用图形用户界面的设计方式,使用了图形的方式借助菜单、按钮等标准界面元素和鼠标的操作,来帮助用户方便的向系统发出操作命令,并将系统的运行结果同样以图形的方式简洁直观地展现给用户。

系统各功能页面主要通过iQuery+EasyUI结合isp来进行页面框架的具体设计,部分功能模块的页面布局采用了div+css的布局方法来进行界面的优化设计。

2主要功能设计与实现

2.1注册新客户功能

管理员根据客户手机号代客户注册,注册时的客户类型分为个人客户和企业客户,不同的客户类型需要填写的客户注册信息不同。注册新客户功能模块图如图2所示。

实现过程:声明一个CustomerCoordinate类并对其进行初始化,在Customer Coordinate Map—per.xml文件中的将该类中的所有Java对象都映射成数据库中的记录并编写sql语句。

2.2客户管理功能

根据多种注册条件查询客户基本信息,并在客户详情页对客户的注册信息进行修改。也可通过注册新客户、代下单、订单、优惠券明细等入口跳转到相应的页面。客户管理功能模块图如图3所示:

实现过程:声明一个Customerlnfo.iava类并对其进行初始化,在list.jsp页面中配置好相应的url,在Customer InfoController.iava中编写fmdBVParam方法,根据service层需要返回的结果数据在customerCoordinate Mapper.xml文件中的将该类中的所有Java对象都映射成数据库中的记录并编写sql语句。

2.3企业客户认证管理功能

该功能主要针对货主PC端、货主Android和iOS端注册的企业用户来开发,非客服端注册的企业用户需要在客服端完善用户信息之后方可下单。页面功能包括根据多种查询条件查询客户的基本认证信息,点击【详情】按钮后页面弹出企业客户认证详情窗口,客服可对待认证的客户进行允许或拒绝操作,对已认证的企业用户只能查看。企业客户认证管理功能模块图如图4所示。

实现过程:通过jquery将条件表单转换成json字符格式串,将查询结果存入customer info list表单,通过用户已选择的条件作为查询条件,点击查询后调用findAllCustomerInfoVOs方法,根据该方法返回的结果,对应到service,根据service层需要返回的结果数据,在mapper.xml编写对应的sql语句。

2.4客服下单功能

客服管理员从下拉列表中选择下单客户的手机号后,系统自动带出关于该账号的其他基本信息,包括客户名称、客户类型、注册省市区以及注册地的产品包,客服可根据客户的要求来选择发收货地址,此处的地址检索调用高德地图的API,可模糊检索出相关地址的poi,具体可以精确到门牌号(楼号)。填写发收货地址信息之后,客服需要填写货物描述(必填项)选择付款方式(目前正式环境支持的线上付款方式包括支付宝、快捷通以及微信支付),也可根据实际情况选择增值服务和优惠券使用情况。填写所有必填项信息之后,确认订单信息无误即可提交。

2.5订单浏览功能

页面下单时间默认填充当天日期,客服管理员进人该功能页面时,系统自动查询当天的订单记录。客服可根据多种查询条件进行目标订单的信息查询,订单可操作功能根据订单的当前状态来判断显示,包括【改派】、【取消】、【监控】及【异常处理】的功能。

实现过程:逻辑与客户管理模块的原理相同,在order Browse.isp页面中配置好相应的url,在OrderBrowse Controller.iava中编写对应的查询方法,根据service层需要返回的结果数据在xml文件中的将该类中的所有Java对象都映射成数据库中的记录并编写sql语句。

3总结

本物流客服系统使用Java开发语言,以SpringMVC+MyBatis作为基础框架,结合了Mysql数据库,oracle数据库,多种数据库管理工具如navicat forMySQL,navicat for oracle以及HTML、CSS、JavaScript、iQuery等相关技术进行系统的开发。系统主要实现了注册新客户功能,客户管理功能,客户认证功能,客服下单功能以及订单管理功能。表单数据查询结果通过datagrid显示,运用Java的开源优势,部分功能参照开放的API文档实现,如下单地址的poi检索、订单监控的地图展示都是调用高德地图的API接口来实现。

系统大部分功能采用开源的Java组件来实现,部分功能通过数据库中设定的定时任务来实现,如客户注册自动发放注册优惠券,生成邀请码,订单提交30分钟无司机接单后自动进人CDK等功能。小部分的页面效果展示通过JavaScript实现;数据库的结构设计方面实现了对客户基本信息表、城市表、产品包表以及订单详细信息表的设计,在设计过程中对各个表的字段都设置了数据类型和主键/非主键限制。

综上所述,该系统的大部分功能已经实现。但由于系统功能点复杂,数据处理量庞大,在系统的业务功能完善、用户体验、数据库的优化以及系统界面的美观性等方面还存在一些需要改进的地方。