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