运维.售后
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
博客
Blog
ToB门户
了解全球最新的ToB事件
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
国内项目国际化后金额处理方案
国内项目国际化后金额处理方案
用多少眼泪才能让你相信
金牌会员
|
2024-2-9 08:38:36
|
显示全部楼层
|
阅读模式
楼主
主题
877
|
帖子
877
|
积分
2633
目标现状及问题
目标
:已有的国内项目,需要部署国际化。需要考虑币种、金额货币精度、多语言、汇率、税等一系列问题。这里主要说的就是其中金额精度的处理。
现状
:日常国内项目里,界面输入的金额是元,然后数据库存储以及与其他系统交互都是用的分,也是就固定的货币精度系数100。
问题
:那么国际化项目后,存在不同地方存金额精度不一致问题,同时根据不同币种存储和展示精度系数不一致问题。需提供一个整体解决方案。比如KHR 瑞尔 有的规定最小就是精度为0,那么页面填写100,数据库存储也是100。
前置
币种的精度系数有专门的配置系统里配置好的,直接读配置获取系数即可
解决方案
根据以上问题,目前发现三个解决方案
方案名
描述
优缺点
改动点
全量修改
提供金额处理方法
所有涉及到金额录入地方,前端入参后都调统一方法处理
所有涉及到金额展示地方,后端返回前端前都调统一方法处理
优点:需要处理的金额则直接处理,精细度高。缺点:
前端后端目前涉及金额的地方包括业务逻辑处都需处理,改动量大。
拦截器统一处理
去掉前后端所有金额处理地方,统一在垂直网关里,处理入参和出参。
优点:统一处理缺点:
需罗列出哪些金额需要处理,哪些不需要处理,并支持配置
增加拦截器
增加精度接口查询以及出入参金额处理
增加金额字段可配置
增加实体金额展示字段,或者拦截器增加https://www.cnblogs.com/JaxYoun/p/13923703.html
去掉前端后端所有处理金额的地方,并修改前端展示金额字段
前端修改
前端增加处理金额统一方法
前端提交和展示对应的方法的请求前后,统一处理方法
选定方案
经过考虑,使用拦截器统一处理的方案,首先哪个方案都需要梳理哪些地方涉及改动,但是拦截器的方案,后面有优化只需要修改一个地方即可。
方案图例
拦截器统一处理暂时无法在文档外展示此内容
具体实现
新增一个通用的金额处理方法,根据金额和精度得到最后的数据
伪代码--仅仅提供思路
注意
BigDecimal 除以后需要四舍五入或者四舍六入五成双
入参里若是有MultipartFile 等特殊类型需要提前过滤
出参统一类返回更好,不然需要多处理一些
后记
其实说白了就是利用aop的切面,增加项目中日志、鉴权等功能
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
用多少眼泪才能让你相信
金牌会员
这个人很懒什么都没写!
楼主热帖
iNeuOS工业互联网操作系统,增加搜索应 ...
安卓期末大作业——单词本APP(源码+任 ...
【Java开源数据库语言】基于SPL如何提 ...
vue3+Element采用递归调用封装导航栏 ...
杭州联合银行 x 袋鼠云:打造智能标签 ...
真正在大厂干了几年,我学会了反内卷[ ...
个人博客系统(附源码)
内网安全 - 简单域环境搭建
攻防世界 new_easypwn 题解
ssrf实战
标签云
存储
服务器
快速回复
返回顶部
返回列表