java 開發中關於會員充值的問題

近期負責的項目中有關於開通會員的功能,特做一個會員充值流程小結,高手可以忽略,不喜勿噴。。。我們知道關於這種購買VIP類似的操作中,首先我們會有一張訂單表來記錄訂單的信息,在調用第三方接口支付時修改表的狀態(此處不做詳細闡述)。購買VIP成功後我們需要記錄相關的信息,具體要看項目中的要求,我記錄了會員開始時間,截止時間等,在用戶表中只記錄了該用戶是否爲會員的一個狀態。

在購買VIP成功後,要判斷該用戶當前是否爲會員:

    如果用戶之前沒有充值過會員,就根據現在的系統時間,往後加相應的時長。

    如果用戶已經是會員,需要獲取之前的截止日期,再加上對應的月數作爲最終的截止日期。

我在用戶表中記錄了用戶是否爲會員的狀態,在會員過期時會做出相應的狀態修改。而會員開始時間,截止時間要在開通時進行修改重新設置。

針對員開始時間,截止時間計算的方法如下:

/**
	 * 
	 * @param beginDate  會員開始的時間
	 * @param time   用戶充值的月數
	 * @return map
	 */
	public static synchronized HashMap<String,Object> getVipTime2(Date beginDate,int time){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Calendar calendar = new GregorianCalendar();
		calendar.setTime(beginDate);
        calendar.add(Calendar.MONTH, time);//time,是用戶充值的月數
        Date date = calendar.getTime();
        String startDate=sdf.format(beginDate);
        String endDate=sdf.format(date);
        System.out.println("startDate: "+startDate+"   ,"+"購買的會員月份爲: "+time+"   ,"+"endDate: "+endDate);
        HashMap<String, Object> map = new  HashMap<String,Object>();
        map.put("startTime", beginDate);
        map.put("endTime", date);
        return map;
	}

   在邏輯判斷後進行調用即可。目前是這麼處理會員充值問題的,這中間或許也存在着不足。希望可以得到大家的知道和建議。望不吝賜教!!!

另外關於會員到期提醒可以參考原創博客:https://blog.csdn.net/xiaoshuxgh/article/details/88049282

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章