由于业务的需求变更,我有遇到了新的难点,为了解决这个难点,又进行进一步的优化
业务是这样的
对于这种情况我相信,很多小伙伴会被难住了,现有的框架,不管是哪一个框架都无法做到这种条件的处理
而我却仅仅使用了10几行代码就搞定了
,是不是很想了解我是怎么处理的呢?
上面的标注的代码是框架工具处理的内容,对于必填字段又校验空处理。
另外对于那种不同单位,并且单位纵向填充。
在上一个版本种我通过自己写的注解@ExcelBindTitle
中的size来实现统一的单位转换
这里我巧妙的利用新增字段,多收集一份数据,并且进行字段转换,
然后利用后面的3个if
进行单位换算。实际上这3个if
也可以在框架内部完成
同时上面还支持JSR303校验。
底层的原理实际上很简单,
例如这里的单位 亩、公顷、平方公里、平方米
。我们多收集一份数据
并且通过字段转换将亩、公顷、平方米、平方公里
转换为字符串666.666667
(亩换算成平方米)、同理公顷,平方公里也是一样的。
故也就出现了上面的3个BigDecimal的mitiply()
如果想要更多的信息,可以找到上一篇文章,找我github源码,同时附上了测试案例