浏览代码

[공통][New] 코인 Gson 관련 정리
- int 는 "" 일때 파싱 에러가 발생하여 String 으로 처리해준다.
- Gson type adapter 를 등록하여 처리하려했지만 잘 안됐음.

hyodong.min 7 年之前
父节点
当前提交
02893c20ba

+ 17 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/CoinInfoResultBean.java

@@ -5,6 +5,8 @@ package kr.co.zumo.app.lifeplus.bean.api;
 
 import com.google.gson.annotations.SerializedName;
 
+import kr.co.zumo.app.lifeplus.util.StringUtil;
+
 /**
  * CoinInfoResultBean
  * <pre>
@@ -30,6 +32,21 @@ public class CoinInfoResultBean extends LifeplusAPIResultListBean<CoinInfoBean>
     this.coin = coin;
   }
 
+  public int getIntCoin() {
+    if (StringUtil.isFull(coin)) {
+      try {
+        return Integer.parseInt(coin);
+      } catch (Exception e) {
+        return 0;
+      }
+    }
+    return 0;
+  }
+
+  public void setIntCoin(int coin) {
+    this.coin = String.valueOf(coin);
+  }
+
   public String getExpiringCoin() {
     return expiringCoin;
   }

+ 13 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/CoinValueBean.java

@@ -22,22 +22,26 @@ public class CoinValueBean extends JsonBeanBase {
 
   @SerializedName("coin") // 추가된 코인 값
   private String coin;
-  
-//  public String getCoin() {
-//    return coin;
-//  }
 
-  public int getIntCoin() {
-    if (StringUtil.isFull(coin)) {
-      return Integer.parseInt(coin);
-    }
-    return 0;
+  public String getCoin() {
+    return coin;
   }
 
   public void setCoin(String coin) {
     this.coin = coin;
   }
 
+  public int getIntCoin() {
+    if (StringUtil.isFull(coin)) {
+      try {
+        return Integer.parseInt(coin);
+      } catch (Exception e) {
+        return 0;
+      }
+    }
+    return 0;
+  }
+
   public void setIntCoin(int coin) {
     this.coin = String.valueOf(coin);
   }

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/GuestCoinManager.java

@@ -75,10 +75,10 @@ public class GuestCoinManager {
 
   private void modifyCoin(String coin, boolean isMinus) {
     if (isMinus) {
-      coinInfoResultBean.setCoin(String.valueOf(Integer.parseInt(coinInfoResultBean.getCoin()) - Integer.parseInt(coin)));
+      coinInfoResultBean.setIntCoin(coinInfoResultBean.getIntCoin() - Integer.parseInt(coin));
     }
     else {
-      coinInfoResultBean.setCoin(String.valueOf(Integer.parseInt(coinInfoResultBean.getCoin()) + Integer.parseInt(coin)));
+      coinInfoResultBean.setIntCoin(coinInfoResultBean.getIntCoin() + Integer.parseInt(coin));
     }
   }
 

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/code/SettingCodeModel.java

@@ -249,7 +249,7 @@ public class SettingCodeModel extends Model {
         if (null != codeBean) {
           SettingModelHelper.getInstance().setRecommendName(codeBean.getRecommendName());
           SettingModelHelper.getInstance().setSpecialCodeType(codeBean.getSpecialCodeType());
-          SettingModelHelper.getInstance().setIncreasedCoin(codeBean.getCoin());
+          SettingModelHelper.getInstance().setIncreasedCoin(codeBean.getIntCoin());
         }
 
         if (Verifier.isOk(verifySpecialCodeInternal(specialCode))) {