1. 产品开发好后,如按照正常的情况,是能够拿到保单号,去到数据库搜出具体的保单的,
链接在短信里,按道理也是不会有人拿出来,改链接保单号再试的,但写程序不能假设这个成立。
否则,页面会突然404,让人莫名其妙,以为服务器挂了。要有try catch,让别人知道只是该保单有问题。
不是系统有问题。
原代码
List<GT01CHR> policys=policy4As400Service.getGiftPolicyByChdrnum(chdrnum);
String cso = policys.get(0).getCHDRCOY()+policys.get(0).getBRANCH()+"";
GeSaleArea salearea = saleareaservice.getGeSaleAreaByCSO(cso);
String channel = policys.get(0).getSRCEBUS()+"";
GeAgentCfg agentcfg = agentcfgservice.getAgentCsoAndChannel(cso, channel);
String agentnum = policys.get(0).getAGNTNUM()+"";
新代码:
try {
policys=policy4As400Service.getGiftPolicyByChdrnum(chdrnum); //所有入参,数据库 ,配置的都要检查
cso = policys.get(0).getCHDRCOY()+policys.get(0).getBRANCH()+"";
salearea = saleareaservice.getGeSaleAreaByCSO(cso);
channel = policys.get(0).getSRCEBUS()+"";
agentcfg = agentcfgservice.getAgentCsoAndChannel(cso, channel);
agentnum = policys.get(0).getAGNTNUM()+"";
}catch(Exception e) {
e.printStackTrace();
logger.info("无法获取保单或渠道信息!");
request.setAttribute("errorTip", "无法获取保单或渠道信息!");
return "/common/page/500";
}
if(StringUtils.isNotBlank(cso) && StringUtils.isNotBlank(channel) && (agentcfg!=null)
&& (salearea!=null) && StringUtils.isNotBlank(agentnum)){
XXXXXXXXXXX
}
要对:入参判断是否传空;
访问数据库要 try catch;
访问配置要 try catch;
2. 原提示语为“该保单的渠道信息不全!”现改为“该保单非活动受邀保单!”
错误提示语不能太“程序员";