透传与字段不匹配问题

一、透传交易做法

Process:前置–>Channel Integration–>ESB–>互联网金融平台–>DataBase库
遵循小驼峰命名法则,书写交易时注意赋值字段的输入与输出(接口透传)
Table:INITMSGMAP—INTERFACECOLMAP(codeTran–seqNo)
Document/SYS_HEAD/x----AppBody/ARRAY/x

二、字段不匹配

拆字段多余报错
若实际测试中遇到问题:进入交易查询无数据,直接错误提示。
这类问题在写的时候不容易发现,需要针对数据的字段一一对照,并且确定数据列与条件列变量个数!(平台–DBx)
注:字段顺序保持一致
多余channeldate字段

1.HTTP请求与响应报文:Request&Response
2.数据同步方式:增量与全量

增量的基础是全量,就是你要使用某种方式先把全量数据拷贝过来,然后再采用增量方式同步更新。(增量同步-httpurl)

3.Key-Value 复杂的集合对象转Map

多个对象集合转换为一个Map:将list转换为Map<key,list> 即:将对象集合转换为包含所有key的一个map,value为所有对象的数据集合,如:[{‘name’:‘罗翔’,‘ID’:6},{‘name’:‘张三’,‘ID’:15}] => {‘name’:[‘罗翔’,‘张三’],‘ID’:[6,15]}
List --> List<Map<String, Object>>, List --> Map<String, List>

基于反射,将obj转为map
法一:
将集合对象List<Product>转换为Map
  key = Product对象的sku
  value =Product对象
1 List<Product> products = productService.queryProductList(productQuery, null);
2 Map<String, Product> productMap = products.stream()
3         .collect(Collectors.toMap(Product::getProductSku, Function.identity(), (key1, key2) -> key2));
法二:
    Map<String,Integer> map1 = new HashMap<String,Integer>();
    map1.put("a",2);
    Map<String,Integer> map2 = new HashMap<String,Integer>();
    Set<Map.Entry<String,Integer>> set = map1.entrySet();
    for(Iterator<Map.Entry<String,Integer>> it = set.iterator(); it.hasNext();)
    {
        Map.Entry<String,Integer> entry = it.next();
        map2.put(entry.getKey(), entry.getValue());
    }
4.非空且字符串不为空

[“getresults”] != null && !“”.equals([“getresults”].toString())

5.时间秒的范围:2小时内

time to second(TIMEDIFF(EN_QUEUE_TIME,START_SERV_TIME)) <= 2*(60*60)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值