一、 使用city-picker插件实现省市区三级联动
思路:
引入资源文件并通过HTML或JS方式实现三级联动
操作步骤:
- 在引入city-picker插件的js脚本之前先引入jQuery的js脚本
- 在页面中引入city-picker插件的js脚本与样式
- 在页面中定义一个div,在div中定义一个input文本输入框并给定ID值
- 使用HTML或JS方式来配置city-picker插件
- HTML方式需要给input文本输入框指定属性名为data-toggle的值为city-picker
- JS方式需要使用ID选择器找到input文本输入框并调用citypicker函数即可
二、 基于百度地图API实现输入地址的下拉列表自动补全效果
思路:
引入百度地图的JS资源并指定密钥,随后再通过百度地图的自动补全API配置输入框
操作步骤:
- 在页面中引入百度地图的JS资源并指定密钥
- 在页面中定义一个input文本输入框,并给定ID值
- 在JS代码块中创建百度地图的自动补全对象并指定输入框的ID值即可
三、 完成客户下单后前台系统的数据处理并调用后台系统服务处理业务
思路:
页面提交表单后,在Action类中将页面提交的参数进行组装,随后通过使用Webservice技术来远程调用后台系统的业务接口服务来进行订单的保存操作
操作步骤:
- 在前台系统的Action类中通过使用属性封装与模型驱动的方式来完整接收页面提交参数
- 将页面提交的省市区字符串分割并组装成收/发区域对象
- 将组装好的收/发区域对象设置到订单对象的收/发区域属性中
- 判断客户是否登录,如果登录了就将客户ID值设置到订单的客户ID属性中
- 在后台系统中定义Webservice服务接口与实现类,并在spring中配置服务
- 在后台系统的web.xml中更改Struts2过滤器的匹配路径并配置CXF框架的Servlet
- 通过使用JDK提供的wsimport工具来根据后台系统服务的wsdl说明书生成客户端
- 在前台系统的Spring配置文件中配置客户端并指定服务地址
- 将客户端注入到Action类中进行调用即可
四、 完成基于CRM地址完全匹配的自动分单业务逻辑
思路:
后台系统的业务接口服务处理接收到的数据并使用Webservice技术来远程调用CRM系统的业务接口服务来进行定区的查询操作,随后从该定区中匹配一个快递员来分配工单并发送短信通知取件
操作步骤:
- 在后台系统的业务接口服务方法中获取订单参对象中的客户ID属性值
- 如果不为空则通过使用CRM系统的客户端来根据客户ID查询客户记录中的定区ID
- 否则就根据寄件人详细地址来查询CRM系统中的客户记录中的定区ID
- 在CRM系统的服务接口中提供了新的方法后得给后台系统重新生成客户端
- 根据定区ID查询出定区对象,并获取该定区下所有快递员
- 简化处理:获取一个快递员,将该快递员与订单关联并给订单生成编号与订单生成时间,设置订单类型为自动分单
- 根据订单对象的收/发区域属性对象的省市区属性查询区域对象并设置到订单中
- 保存订单并生成工单,工单类型为新单,取件状态为新单,设置工单生成时间,设置追加次数,关联订单与工单,关联快递员与工单,保存工单
- 调用发送短信工具类调用短信平台给快递员发送短信,短信内容需要指定客户详细地址和客户电话
五、 完成基于分区关键字匹配的自动分单业务逻辑
思路:
后台系统在调用CRM系统无法获取到定区信息的情况下需要根据寄件人省市区信息下的所有分区中的分区关键字和辅助关键字的分区来匹配寄件人详细地址,通过匹配到的分区找到定区并匹配快递员,然后再分配工单发送短信通知快递员取件
操作步骤:
- 获取订单对象中的寄件人省市区信息下的所有分区
- 循环匹配所有分区中的分区关键字或辅助关键字在寄件人详细地址中出现的分区
- 通过该分区获取到对应的定区并匹配一个快递员分配工单等
六、 完成根据自动分单结果来决定进行的相关业务处理
思路:
如果自动分单成功那就生成工单并发送短信让快递员进行取件,如果自动分单失败则转入调度业务模块由人工进行分单处理
操作步骤:
- 如果无法基于CRM地址和分区关键字来进行自动分单操作
- 将订单类型设置为人工分单,该订单将走调度模块由人工进行分单处理