快捷搜索: 王者荣耀 脱发

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;
	}

在逻辑判断后进行调用即可。目前是这么处理会员充值问题的,这中间或许也存在着不足。希望可以得到大家的知道和建议。望不吝赐教!!!

经验分享 程序员 微信小程序 职场和发展