随笔记录
代码容错性和友好性提示很重要
2017-3-21 diaba


    最近一直在做保险系统,也遇到过各种问题,此问题遇到不知此,在此记录,以备后续查阅。







    保险产品的销售不同一般商品的销售,直接维护自己系统的库存等即可,她受到保监会的严格监管,保险产品的销售,等价于保险公司和投保人签订一份合同,签订完如果被保险人或者标的出险后,要按照保险合同(保单)的条款进行理赔。







    所以出单过程需要和保险公司系统进行对接,对接过很多保险公司系统,期间遇到各种问题都会出现,可能好多是意想不到的,只有经过后,你的代码才能够健壮,够稳定。







    好了,废话不多说,以下记录下这次的问题:







    一直很正常的接口,突然报异常了,所有接口都同样的错误:







    测试接口请求报文






<?xml version="1.0" encoding="utf-8"?>
<INSUREQ>
<HEAD>
<USER_NAME>ECUser</USER_NAME>
<USER_PSW>EC100</USER_PSW>
<BUSINESS_CODE>13</BUSINESS_CODE>
</HEAD>
<MAIN>
<TRANSRNO>1030</TRANSRNO>
<SERIALDECIMAL>0.6389028234395594</SERIALDECIMAL>
<TRANSRDATE>2017-03-21 11:08:48</TRANSRDATE>
<CHANNELCODE>009701</CHANNELCODE>
</MAIN>
<BASE>
<C_LCN_NO>*-*</C_LCN_NO>
<C_NEW_VHL>1</C_NEW_VHL>
</BASE>
</INSUREQ>

后台的异常信息













    先检查了自己内部的交易系统,没有发现什么问题,从接口返回看来应该是保险公司系统发生异常,没有合理的提示造成的,所以找到保险公司的开发同事帮忙查看原因,结果告知,必填字段没有填写:









    检查发现此字段在参数层面已经存在,因为不同保险公司的编码不同,所以有个映射关系需要维护,每个保险公司都有不同的映射关系表需要维护,有同事在做测试时把映射关系删除了,添加上映射关系,接口正常。







以上问题,相关优化点有:



    1.保险公司检查不合法请求时,应该给予人能读懂的异常提示;



    2.请求保险公司做地址映射的地方,如果映射结果为空,或是提示请求方,或是使用原参数进行请求;



    3.基础数据进行更改做测试时,最好注意不能影响他人的使用。







如果以上三点做到,不至于以上问题的不知所措。





发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容