首页 > 其他分享 >国内项目国际化后金额处理方案

国内项目国际化后金额处理方案

时间:2023-12-08 11:34:28浏览次数:24  
标签:方案 拦截器 处理 前端 金额 国际化 精度 统一

 

目标现状及问题

目标: 已有的国内项目,需要部署国际化。需要考虑币种、金额货币精度、多语言、汇率、税等一系列问题。这里主要说的就是其中金额精度的处理。 现状: 日常国内项目里,界面输入的金额是元,然后数据库存储以及与其他系统交互都是用的分,也是就固定的货币精度系数100。 问题: 那么国际化项目后,存在不同地方存金额精度不一致问题,同时根据不同币种存储和展示精度系数不一致问题。需提供一个整体解决方案。比如KHR 瑞尔 有的规定最小就是精度为0,那么页面填写100,数据库存储也是100。

前置

币种的精度系数有专门的配置系统里配置好的,直接读配置获取系数即可

解决方案

根据以上问题,目前发现三个解决方案
方案名 描述 优缺点 改动点
全量修改
  • 提供金额处理方法
  • 所有涉及到金额录入地方,前端入参后都调统一方法处理
  • 所有涉及到金额展示地方,后端返回前端前都调统一方法处理
 
优点:需要处理的金额则直接处理,精细度高。 缺点:
  1. 前端后端目前涉及金额的地方包括业务逻辑处都需处理,改动量大。
 
拦截器统一处理  
  • 去掉前后端所有金额处理地方,统一在垂直网关里,处理入参和出参。
 
优点:统一处理 缺点:
  1. 需罗列出哪些金额需要处理,哪些不需要处理,并支持配置
  • 增加拦截器
  • 增加精度接口查询以及出入参金额处理
  • 增加金额字段可配置
  • 增加实体金额展示字段,或者拦截器增加https://www.cnblogs.com/JaxYoun/p/13923703.html
  • 去掉前端后端所有处理金额的地方,并修改前端展示金额字段
前端修改
  • 前端增加处理金额统一方法
  • 前端提交和展示对应的方法的请求前后,统一处理方法
   

选定方案

经过考虑,使用拦截器统一处理的方案,首先哪个方案都需要梳理哪些地方涉及改动,但是拦截器的方案,后面有优化只需要修改一个地方即可。  

方案图例

 

拦截器统一处理 暂时无法在文档外展示此内容

具体实现

  1. 新增一个通用的金额处理方法,根据金额和精度得到最后的数据
伪代码--仅仅提供思路  

注意

  1. BigDecimal 除以后需要四舍五入或者四舍六入五成双
  2. 入参里若是有MultipartFile 等特殊类型需要提前过滤
  3. 出参统一类返回更好,不然需要多处理一些

后记

其实说白了就是利用aop的切面,增加项目中日志、鉴权等功能

标签:方案,拦截器,处理,前端,金额,国际化,精度,统一
From: https://www.cnblogs.com/minzhousblogs/p/17884808.html

相关文章

  • 血糖仪_智能血糖检测仪定制_基于联发科MT8788血糖仪方案
    糖尿病早期并没有任何症状,往往不经过检查很难发现自己已经到达高血糖状态。对于父母而言,频繁去医院做检查既耗费时间又花费高昂,因此他们可能无法经常前往医院。然而,随着便携式血糖仪的出现,糖尿病患者现在可以实现简单方便的血糖监测,而无需离开家门。这种血糖检测仪器不仅可......
  • 前端大屏适配几种方案
    一、方案一:rem+font-size动态设置HTML根字体大小和body字体大小,会使用到lib-flexible.js插件(functionflexible(window,document){vardocEl=document.documentElementvardpr=window.devicePixelRatio||1//adjustbodyfontsizefunctionsetBodyFontSize(......
  • 视频监控管理平台/智能监测/检测系统EasyCVR智能地铁监控方案,助力地铁高效运营
    近日,关于全国44座城市开通地铁,却只有5座城市赚钱的新闻冲上热搜。地铁作为城市交通的重要枢纽,是人们出行必不可少的一种方式,但随着此篇新闻的爆出,大家也逐渐了解到城市运营的不易,那么,如何做到地铁的降本增效,减少地铁运营成本呢?人工智能给出了答案。一、方案概述在地铁的各个出入口......
  • 可视化监控/安防视频云平台公共区域人员行为安全监控方案
    大家在浏览新闻时,经常会看到某某地区有人员摔倒,长时间无人发现或人员闯入某危险区域管理人员未及时劝离,导致发生了意外事故的新闻。由于人力资源和人为巡检能力有限,在很多公共区域无法及时检测人员行为从而导致危险发生。为确保公共区域人员行为的安全,旭帆科技基于AI视频视频技术的......
  • 银行营销定制方案:大模型赋能,提升存量客户业务效益近30倍
    随着科技的进步和数字化趋势的加速,作为典型知识密集型行业的银行业正面临着前所未有的挑战和机遇。在这个过程中,大模型因为相较传统机器学习有着更强的长文本处理能力,通过海量训练可以形成知识洞察和智能涌现能力,这种独有的能力正在发挥着越来越重要的作用。特别是在存量客户营销方......
  • 分布式事务-Seata解决方案
    一、定义   Seata解决方案是分布式事务解决方案之一。常用的分布式事务解决方案有:2PC,3PC,TCC,SAGA(seata)、本地消息表、MQ消息事务、最大努力通知。   Seata是一款分布式解决方案,致力于提供高性能和简单易用的分布式事务服务。提供事务模式有:AT,TCC,SAGA,XA。其中......
  • 100G大表Alter更改表结构技术方案探讨
    JAVA研发需求:需要对A表的XXX字段扩容至varchar(500)目前的现状:线上A表有100G+的数据,如果直接modifyXXXvarchar(500),会锁全表,即使用pt-osc工具凌晨搞,预估一宿加不完,并且从库会出现大面积延迟,读取的数据将不准确。https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl-opera......
  • 元宇宙解决方案——云端GPU在元宇宙中的作用
    GPU算力可以说是我们现在信息化时代的基础设施,在某种程度上说我们已经进入了算力时代,手机、电脑、车载等算力已经渗透到各行各业了。当然算力对元宇宙也很重要,尤其是在可视化方面,元宇宙需要很逼真的渲染,同时它的物理动作也要符合物理定律,人才能沉浸其中,所以要很强的图形渲染、物......
  • 可视化监管云平台EasyCVR宠物粮食食品厂智能视频监控方案
    由于我国养宠物群体的不断膨胀,宠物市场也占据了经济的很大一部分,宠物做为人类的好朋友,可以给人们带来极高的精神抚慰,作为“毛孩子”家长,爱宠人士自然不会亏待自家宠物,都会选择最好的口粮以供宠物食用。此前,大家都会选择知名度较高、价格较为昂贵的进口口粮,不过随着国产口粮的普及,越......
  • 金义中央大道通车│三思智慧综合杆&道路照明系统方案点亮23公里智慧公路
    金义中央大道工程建设率先引入“数字孪生”理念,通过“1+1+5+X”架构,探索数字化运营,重点解决疏通道路拥堵、保障安全通行、提高养护效率以及优化出行服务等一系列问题,全力打造一条“要素感知全覆盖、安全保障全天候、出行服务全方位、业务管理全数智”的智慧公路。11月28日上午11时,......