点击空白处退出提示
作品详情
● investment-service
● investment-account-service
● product-service
● wm-ops-service(前端,定时任务等必须调用该服务与其他服务进行交互)
● fx-service
● t24-service
使用postsql数据库,redis,操作数据库使用jpa(jpql,原生查询语句)
,本人所开发的是客户购买基金进行投资获取收益的功能,具体描述如下:
客户登录app后,在wealth一栏,可以进行下单购买基金,下单购买基金时选取相应的产品,目前只提供6个产品,该产品来自于(安联基金提供,调用的第三方提供的fnz-service),选好之后,下一步,就要设置月供资金数额,及设置目标值,目标值是设置最终想要达成的资金收益,然后进行确认买入(购买买入时investment-service服务里做的处理是需要该基金的portfolio_code通过product-service获取到对应的产品编号,通过fnz-service服务获取对应的产品此时的价格,此时使用客户customerId传到investment-account-service服务,该服务会调用t24服务获取客户账号的余额,由于该客户的资金是美元,需要将其进行兑换为港币,调用fx-service进行货币兑换,fx-service服务其实是去通过渣打银行提供的scb接口进行货币兑换,若是在工作日则进行兑换并返回相应港币,若不是工作日,则返回下一个工作日给该基金单进行标识,通过定时任务去执行),此时该基金单状态为placed状态;买入后,客户还需要在另一端portal,即web端上传基金文件,上传后会有审核员进行审核,审核通过后,该客户购买的基金状态就为on_track状态,等到本月底最后一天晚上(香港时间)9点进行定时任务更新所有的基金单状态,基金单状态分别有以下状态:
● placed
● on_track
● off_track
● completed
● achieved
,当定时任务(定时任务是airflow执行)执行时,会通过wm-ops-service,去调用investment-service服务获取on_track,off_track,achieved状态的单做以下处理,若在目标时间内达成客户所设立目标值,则更新为achieved状态;若在目标时间内未达成目标值,则为completed状态;若通过fnz-servie服务获取到的success_rate小于50,则为off_track,大于50则为on_track;
上述是买入操作,还有卖出操作:
当客户买入成功后,可以编辑该单做卖出处理或改变月供,目标值等处理,这里描述下卖出操作:
当客户选择卖出操作时,可以选择全卖还是部分卖出,若全卖,则后台通过该单的portfolio_code给product-service服务获取到此时的对应的产品价格,与买入的操作相同,若部分卖出,则跟此也基本相似;
客户还会有取消操作:
当客户取消该单时,也会通过每天的定时任务来批量处理这些单,通过消息队列进行处理,处理完成后,该订单状态更新为off_track。
这里的消息队列使用的是solace平台,这些服务部署在k8s上,使用Rauther可视化进行查看每个服务的pod情况。
预期效果满足客户购买基金,卖出基金的操作处理
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论