|
@@ -82,6 +82,11 @@ public class GuestCoinManager {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 유효기한 지난 코인 삭제
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
public int expireCoin() {
|
|
public int expireCoin() {
|
|
|
// 7일 이후 코인 삭제
|
|
// 7일 이후 코인 삭제
|
|
|
List<CoinInfoBean> list = coinInfoResultBean.getData();
|
|
List<CoinInfoBean> list = coinInfoResultBean.getData();
|
|
@@ -89,14 +94,17 @@ public class GuestCoinManager {
|
|
|
int len = list.size();
|
|
int len = list.size();
|
|
|
int isRemoved = 0;
|
|
int isRemoved = 0;
|
|
|
CoinInfoBean coinInfoBean;
|
|
CoinInfoBean coinInfoBean;
|
|
|
- long todayMillis = Calendar.getInstance().getTimeInMillis();
|
|
|
|
|
|
|
+ // 당일 +휴효 날짜 비교하면 적립 시각(18:00) 만큼 코인의 유효기한이 짧아지므로(1일짜리 코인이라면 24-18=6시간) 유효날짜 +1일로 비교
|
|
|
|
|
+ Calendar toDay = Calendar.getInstance();
|
|
|
|
|
+ long todayMillis = toDay.getTimeInMillis();
|
|
|
Log.e("APP# GuestCoinManager | expireCoin", "|" + "today --------> " + Formatter.format(todayMillis, CoinInfoBean.DATE_PATTERN));
|
|
Log.e("APP# GuestCoinManager | expireCoin", "|" + "today --------> " + Formatter.format(todayMillis, CoinInfoBean.DATE_PATTERN));
|
|
|
for (int i = len - 1; i >= 0; --i) {
|
|
for (int i = len - 1; i >= 0; --i) {
|
|
|
coinInfoBean = list.get(i);
|
|
coinInfoBean = list.get(i);
|
|
|
long coinDayMillis = Formatter.dateStringToMillis(CoinInfoBean.DATE_PATTERN, coinInfoBean.getDate());
|
|
long coinDayMillis = Formatter.dateStringToMillis(CoinInfoBean.DATE_PATTERN, coinInfoBean.getDate());
|
|
|
- long sevenDayMillis = TimeUnit.DAYS.toMillis(coinInfoBean.getLimitDays());
|
|
|
|
|
|
|
+ long limitDayMillis = TimeUnit.DAYS.toMillis(coinInfoBean.getLimitDays() + 1);
|
|
|
|
|
+ long targetDayMillis = coinDayMillis + limitDayMillis;
|
|
|
|
|
|
|
|
- if ((coinDayMillis + sevenDayMillis) < todayMillis || coinDayMillis > todayMillis) {
|
|
|
|
|
|
|
+ if (targetDayMillis < todayMillis || coinDayMillis > todayMillis) {
|
|
|
// 7일이 지났음. // 미래의 데이터 제거
|
|
// 7일이 지났음. // 미래의 데이터 제거
|
|
|
coinInfoBean = list.remove(i);
|
|
coinInfoBean = list.remove(i);
|
|
|
modifyCoin(coinInfoBean.getGoodsAmount(), true);
|
|
modifyCoin(coinInfoBean.getGoodsAmount(), true);
|
|
@@ -112,7 +120,7 @@ public class GuestCoinManager {
|
|
|
* Guest api result
|
|
* Guest api result
|
|
|
***********************************/
|
|
***********************************/
|
|
|
|
|
|
|
|
- private static CoinInfoResultBean getCoinInfoResult() {
|
|
|
|
|
|
|
+ public static CoinInfoResultBean getSavedCoinInfoResult() {
|
|
|
CoinInfoResultBean coinInfoResultBean = new Gson().fromJson(SuperModel.getInstance().getPreferences().getGuestCoinList(), CoinInfoResultBean.class);
|
|
CoinInfoResultBean coinInfoResultBean = new Gson().fromJson(SuperModel.getInstance().getPreferences().getGuestCoinList(), CoinInfoResultBean.class);
|
|
|
if (null == coinInfoResultBean) {
|
|
if (null == coinInfoResultBean) {
|
|
|
coinInfoResultBean = new CoinInfoResultBean();
|
|
coinInfoResultBean = new CoinInfoResultBean();
|
|
@@ -124,13 +132,13 @@ public class GuestCoinManager {
|
|
|
return coinInfoResultBean;
|
|
return coinInfoResultBean;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private static void saveCoinInfoResultBean(CoinInfoResultBean coinInfoResultBean) {
|
|
|
|
|
|
|
+ public static void saveCoinInfoResultBean(CoinInfoResultBean coinInfoResultBean) {
|
|
|
Log.e("APP# GuestCoinManager | saveCoinInfoResultBean", "|" + " save ---> " + coinInfoResultBean.toJson());
|
|
Log.e("APP# GuestCoinManager | saveCoinInfoResultBean", "|" + " save ---> " + coinInfoResultBean.toJson());
|
|
|
SuperModel.getInstance().getPreferences().setGuestCoinList(coinInfoResultBean.toJson());
|
|
SuperModel.getInstance().getPreferences().setGuestCoinList(coinInfoResultBean.toJson());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public static CoinInfoResultBean getCoinInfo() {
|
|
|
|
|
- GuestCoinManager manager = new GuestCoinManager(getCoinInfoResult());
|
|
|
|
|
|
|
+ public static CoinInfoResultBean getCoinInfo(CoinInfoResultBean coinInfoResultBean) {
|
|
|
|
|
+ GuestCoinManager manager = new GuestCoinManager(coinInfoResultBean);
|
|
|
if (manager.expireCoin() > 0) {
|
|
if (manager.expireCoin() > 0) {
|
|
|
// 삭제 데이터가 있다면 저장
|
|
// 삭제 데이터가 있다면 저장
|
|
|
saveCoinInfoResultBean(manager.getCoinInfoResultBean());
|
|
saveCoinInfoResultBean(manager.getCoinInfoResultBean());
|
|
@@ -141,9 +149,19 @@ public class GuestCoinManager {
|
|
|
return manager.getCoinInfoResultBean();
|
|
return manager.getCoinInfoResultBean();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public static ShareCoinResultBean getSharePoint(ShareCoinRequestBean bean) {
|
|
|
|
|
- int coin = 1;
|
|
|
|
|
- GuestCoinManager manager = new GuestCoinManager(getCoinInfoResult());
|
|
|
|
|
|
|
+ public static ShareCoinResultBean getSharePoint(CoinInfoResultBean coinInfoResultBean, ShareCoinRequestBean bean) {
|
|
|
|
|
+ CoinInfoBean infoBean = new CoinInfoBean(GUEST_COIN_LIMIT_DAYS);
|
|
|
|
|
+ infoBean.setDate(Formatter.format(Calendar.getInstance().getTimeInMillis(), CoinInfoBean.DATE_PATTERN));
|
|
|
|
|
+ infoBean.setGoodsAmount(String.valueOf(1));
|
|
|
|
|
+ infoBean.setDecreasing(LifeplusData.FALSE);
|
|
|
|
|
+ infoBean.setGoodsName(ResourceUtil.getString(R.string.coin_share_contents));
|
|
|
|
|
+ return getSharePoint(coinInfoResultBean, infoBean, bean, 10);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public static ShareCoinResultBean getSharePoint(CoinInfoResultBean coinInfoResultBean, CoinInfoBean infoBean, ShareCoinRequestBean bean, int dayMax) {
|
|
|
|
|
+
|
|
|
|
|
+ int coin = Integer.parseInt(infoBean.getGoodsAmount());
|
|
|
|
|
+ GuestCoinManager manager = new GuestCoinManager(coinInfoResultBean);
|
|
|
|
|
|
|
|
// 1코인 추가
|
|
// 1코인 추가
|
|
|
// 하루 10회 제한
|
|
// 하루 10회 제한
|
|
@@ -165,13 +183,8 @@ public class GuestCoinManager {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (count < 10) {
|
|
|
|
|
|
|
+ if (count < dayMax) {
|
|
|
// 적립 가능
|
|
// 적립 가능
|
|
|
- CoinInfoBean infoBean = new CoinInfoBean(GUEST_COIN_LIMIT_DAYS);
|
|
|
|
|
- infoBean.setDate(todayDate);
|
|
|
|
|
- infoBean.setGoodsAmount(String.valueOf(coin));
|
|
|
|
|
- infoBean.setDecreasing(LifeplusData.FALSE);
|
|
|
|
|
- infoBean.setGoodsName(ResourceUtil.getString(R.string.coin_share_contents));
|
|
|
|
|
manager.addCoinInfo(infoBean);
|
|
manager.addCoinInfo(infoBean);
|
|
|
}
|
|
}
|
|
|
else {
|
|
else {
|