1、解析json字符串要考虑格式不正确,空值情况
2、解析时间字符串要考虎格式和空值
3、使用mybatis的foreach的时候要考虑拼接sql的耗时,尤其是超过10条数据
4、表字段长度,在接口层校验字段长度, 调用三方系统的报错要截取报错的信息长度,避免登记表字段长度不足。
5、调用三方系统要打印耗时
6、如遇奇怪的参数丢失,请仔细检查原始json,常见错误包括(1)字段重复,同一个字段写多次。(2)字段缺失。(3)字段格式错误。
7、如遇加解密错误请仔细核对公私钥是否配对,其次检查内容格式拼接的规则。
8、批次处理表数据,要在try中占用批次,占用完成后要重新select批次数据,以避被其他线程占用数据。批次处理完成后要在finally中释放批次数据,即把执行批次(exe_batch_no)字段给清空。
try{
update order set exe_batch_no = ‘EBO1000000’ where (exe_batch_no is null or exe_batch_no = ‘’) and order_stat =1 ;
// 获取最终的批次数据
select * from order where exe_batch_no = ‘EBO1000000’ ;
}finally{
// 释放批次数据
update order set exe_batch_no = null where exe_batch_no = ‘EBO1000000’;
}
在 MySQL 查询语句中,条件 (exe_batch_no IS NULL OR exe_batch_no = '')
确实可以作为一个独立的单元来处理。它通过 OR
运算符将两个条件结合在一起,然后与 order_stat = 1
通过 AND
运算符组合成最终的 WHERE
子句。