From dd2562d8dc2b01bcdfca3152f82f09efbbd09259 Mon Sep 17 00:00:00 2001 From: zuoxiao <lf_zuo@163.com> Date: 星期三, 25 六月 2025 19:49:48 +0800 Subject: [PATCH] fix(generallibrary): 优化卡片处理和支付方式获取逻辑- 修复地区卡处理逻辑,增加对"00"类型卡的特殊处理 - 优化用户卡数据解析和显示逻辑,提高容错性 - 改进支付方式获取方法,增加错误处理和日志记录 -调整充值接口调用参数,确保正确传递当前余额等信息- 修复 AreaCard 中 areaNumber 类型,改为字符串处理 --- baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java | 63 +++++++++++++++++++++++++++++++ 1 files changed, 63 insertions(+), 0 deletions(-) diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java b/baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java index f19ab18..e2381cb 100644 --- a/baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java +++ b/baselibrary/src/main/java/com/dayu/baselibrary/utils/MornyUtil.java @@ -1,6 +1,10 @@ package com.dayu.baselibrary.utils; +import android.text.TextUtils; + import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.DecimalFormat; /** * Copyright (C), 2022, @@ -15,9 +19,24 @@ * @return */ public static int changeY2F(String amount) { + if (TextUtils.isEmpty(amount)){ + return 0; + } BigDecimal bigDecimal = new BigDecimal(amount).setScale(2); return bigDecimal.multiply(new BigDecimal(100)).intValue(); } + + + /** + * 鍏冭浆鍘橈紝纭繚price淇濈暀涓や綅鏈夋晥鏁板瓧 + * + * @return + */ + public static int changeY2L(String amount) { + BigDecimal bigDecimal = new BigDecimal(amount).setScale(3); + return bigDecimal.multiply(new BigDecimal(1000)).intValue(); + } + /** * 鍒嗚浆鍏冿紝杞崲涓篵igDecimal鍦╰oString @@ -28,4 +47,48 @@ return BigDecimal.valueOf(Long.valueOf(price)).divide(new BigDecimal(100)).toString(); } + + /** + * 绮剧‘闄ゆ硶锛屼繚鐣欎袱浣嶅皬鏁� + * + * @param dividend + * @param divisor + * @return + */ + public static String intDiv(int dividend, int divisor) { + double result = (double) dividend / divisor; + // 浣跨敤 DecimalFormat 鏍煎紡鍖栫粨鏋滐紝淇濈暀涓や綅灏忔暟 + DecimalFormat df = new DecimalFormat("#.##"); + return df.format(result); + } + + + /** + * 绯绘暟鍜屾按浠风浉涔樿幏寰楃數浠蜂繚鐣欎笁浣嶅皬鏁� + * @param num1 + * @param num2 + * @return + */ + public static String multiplyPrice(float num1, float num2) { + BigDecimal bd1 = BigDecimal.valueOf(num1); + BigDecimal bd2 = BigDecimal.valueOf(num2); + BigDecimal result = bd1.multiply(bd2); + return result.setScale(3, RoundingMode.HALF_UP).toString(); + } + + + /** + * + * @param num1 + * @param num2 + * @return + */ + public static String sumPrice(float num1, float num2) { + BigDecimal bd1 = BigDecimal.valueOf(num1); + BigDecimal bd2 = BigDecimal.valueOf(num2); + BigDecimal result = bd1.add(bd2); + return result.setScale(2, RoundingMode.HALF_UP).toString(); + } + + } -- Gitblit v1.8.0