代码容错性和友好性提示很重要

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.基础数据进行更改做测试时,最好注意不能影响他人的使用。


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


标签: 代码优化

发表评论:

Powered by emlog 京ICP备15045175号-1 Copyright © 2022