发表于: 2022-08-09 22:10:49

2 560


一,今天完成的事情

复盘项目

后台中有一个债权管理功能。

按照债权列表的原型图,设计表格。展示的时候,债权是需要被排序的。按照新建时间排序。每个条目都需要有id,可以在id加索引排序;第二,也可以在数据库取出所有项目后,进行排序。第二种方式,项目也可能更新的频率不需要太高,10-30分钟更新查看一次,匹配也是10-30分钟匹配一次,可能加缓存。

设计表格。

债权,是权利。

建立库finance。表格creditor_right。


债权匹配要求是

匹配原则

 

日期:优先匹配期限相近的,其次匹配到期日接近的。

 

金额:优先匹配金额接近的,大金额优先匹配。

 

1、若有提前到期的投资,则额外匹配新投资日 等于现到期日 的新投资,以新到期日 等于或晚于债权到期日 为优

 

2、晚于债权到期日 的投资则以债权到期日 为界线拆分为两笔投资——不参与当前债权匹配的部分以债权到期日 新投资日 ,参与其他债权的匹配,此处更换的新投资日 与算息无关

 

3、匹配债权金额可由多笔投资合并

 

4、同一用户相同债权仅匹配一次(包括不同产品)

 

5、投资额不得大于债权 


办法

1-1,,优先匹配期限相近的,所以现有借款需要排序,Java中用comparator中再排序期限长短。我没看到test cases,这里应该按照期限长度排序。因为是“相近”,没办法保证有相等的,所以排序是简单做法

1-2,到期日接近,Java中用comparator中再排序到期日,不刺激数据库。找最接近的就找日期转化成毫秒,我也同意这个方案在Java中好处理。

2,拆分钱,以日期拆分。如果有投资没有在当时匹配到需要记录,推荐能永久性存储的记录,还是关系型数据库存储。

3,可以合并,有表记录好哪些投资合并成即可。投资有id,从投资可查看匹配的债权。多笔投资用List记录即可

4,需要记录用户匹配过的债权,又是需要永久记录,也是记录成能转化成List的较好

5,所以在这个逻辑中,债权对投资额是1对多的关系。投资要找>=自己的债权。



二,今天的问题

金融可能出很多问题。这个项目也算是时代的一种印记。


三,今天的收获

试学最后一天


四,明天的计划

未来继续复盘。部署项目另议。



返回列表 返回列表
评论

    分享到