香港银行项目主要用于香港经管局的区块链商城项目,涉及货物的订购,开发票,物流的配送,银行接入端的白名单等。目前项目已经基本交付完成,进行过测试环境、UAT、CI环境的测试人员测试。
香港银行项目主要分为订单、发票、融资、白名单、报表、机构六大模块。本人负责订单、发票两个模块的后端全部代码编写,项目采用restful风格,用的mysql数据库存储。本项目使用Spring、SpringMVC、Mybatis,项目后期使用了springBoot简化了开发。
本人在项目后期对代码进行了优化,学习了java8,使用jdk1.8编码,简洁了代码,对接口进行了拆分。
1.负责订单的生成,更新,文件批量上传,订单状态的确认;
2.订单的双人文件上传;
3.买卖双方maker、check的四个审核流程,以及审核拒绝状态下的历史数据回退;
4.订单的全网唯一的seqNo的生成,以及与发票形成一对多的拆单等功能实现;
5.发票的生成,更新,与订单进行匹配的匹配报告,更新图片的网址等;
6.发票文件上传和文件更新修改的校验逻辑,如四要素确定一笔订单或者发票,机构的校验,文件上传时修改订单的indexNo号的校验等;
生成匹配报告时使用的反射进行了处理,对带容忍值的价格数量的进行了计算匹配。