A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 谷粒姐姐 于 2018-3-29 14:07 编辑

四、 客户下单服务器代码实现  1 自动分单逻辑分析   图片1.png
自动分单逻辑:
1、 在基础数据模块,实现 定区关联客户 ,客户【地址】已经与定区【快递员】进行过关联 , 当下单地址与客户地址完全一致时,找到下单客户信息,找到匹配定区,找到快递员 ,自动分单成功  
2、 如果下单地址没有与 CRM 客户地址完全一致,从下单信息中 省、市、区 匹配区域信息,分区属于区域 ,获取区域中所有分区信息 ,获取分区关键字、辅助关键字,下单地址匹配分区关键字/辅助关键字,找到分区,通过分区找到定区,找到匹配快递员, 自动分单成功  
3、 上面业务逻辑都没有实现, 则进入人工调度  
当订单匹配快递员成功后,系统都将自动生成工单信息【快递员取件任务】,将短信方式,通知快递员,进行取件  
2 实现后台系统自动分单 2.1 前端表单提交,基于 WebService 将数据传递后台系统 图片2.png

自动解析封装  
1、 在 bos_fore 系统,添加 OrderAction 封装订单数据  

图片3.png

图片4.png

2、 修改 bos_domain 工程 @RootXmlElement 注解  
图片5.png

别忘了 maven install  
3、 在 bos_manangement 中添加 OrderService 发布 WebService   
图片6.png
图片7.png

配置 applicationContext-webService.xml  
图片8.png
4、 完善 bos_fore 的 OrderAction 代码,调用 WebService  
图片9.png
2.2 自动分单逻辑 -- 基于 CRM 地址完全匹配自动分单
将寄件人下单地址 ,以 webService 方式,发送 CRM 地址库获取 对应客户关联 定区
图片10.png   
1、 在 crm_management 中 CustomerService 添加根据地址 获取定区编码方法  
图片11.png

DAO 实现
图片12.png
2、 修改 bos_management 的 OrderService  
图片13.png
订单 DAO 编写
图片14.png
2.3 自动分单逻辑 -- 基于分区关键字匹配自动分单
基于省市区 查询 区域对象
图片15.png
修改业务层代码  
图片16.png

2.4 自动分单成功,生成工单发送短信,否则进入人工分单  
自动分单成功,生成工单,发送短信  
工单 DAO  
图片17.png
发送短信 ,将 bos_fore 的 applicationContext-mq.xml 复制 bos_management  在 applicationContext.xml 引入 mq
图片18.png

自动分单失败,进入人工调度  
图片19.png

3 客户下单,自动分单,生成工单 发送短信 演示  
1、 启动相关系统  客户下单 bos_fore 前端系统  
将订单数据发送到服务器 bos_management  
自动分单,CRM 地址库完全匹配 crm_management  
生成工单,发送短信 activeMQ , 短信平台获取消息发送短信 bos_sms  
2、 CRM 地址库完全匹配 准备数据 crm 表  
图片20.png
匹配 CRM 完成地址,找到定区编号,找到快递员  
3、 分区关键字 自动分单匹配  准备 area 表完整省市区数据  area.xls (先删除之前的区域数据 )
图片21.png
分区数据  
图片22.png
错误: 19:09:41,485  WARN JAXRSUtils:522 - No operation matching request path
"/crm_management/services/customerService/findFixedAreaIdByAddress" is found, Relative Path:
/findFixedAreaIdByAddress, HTTP Method: GET, ContentType: */*, Accept: application/json,.
Please enable FINE/TRACE log level for more details.
19:09:41,564  WARN WebApplicationExceptionMapper:73 - javax.ws.rs.ClientErrorException: HTTP 404 Not Found
BOS 系统访问 CRM 路径错误  解决:
修改 OrderServiceImpl
图片23.png
错误:Caused by: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing :  
cn.itcast.bos.domain.take_delivery.Order.recArea -> cn.itcast.bos.domain.base.Area
解决:
图片24.png
错误:
Caused by: java.util.NoSuchElementException
         at java.util.HashMap$HashIterator.nextNode(HashMap.java:1439)          at java.util.HashMap$KeyIterator.next(HashMap.java:1461)
解决:
图片25.png


3 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
播妞 来自手机 程序媛 2018-4-1 09:49:48
板凳
加油加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马