Java开发会员功能判断用户是否为VIP,使用时间相减法。

2022年6月17日 101点热度 0人点赞 0条评论

使用Java开发一个简单的会员功能,当用户请求过来时候,

  1. 检查用户之前是否为会员,如果是,则在原有的会员截至日期加上一年(假设用户选择开通年费会员)
  2. 如果不是会员,则从今天的日期,开始添加为期一年的会员

判断用户之前是否为会员,使用时间相减法,代码如下:

    /**
     * 判断之前是否是VIP用户
     * @param user
     * @return
     */
    @Override
    public Boolean isVipUser(User user) {
        long m = 0;
        LambdaQueryWrapper<VipUser> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(VipUser::getUserId,user.getId());
        VipUser vipUser = vipUserMapper.selectOne(queryWrapper);
        if(vipUser==null){
            return false;
        }
        String end = vipUser.getExpiredTime();
        String now = new DateTime(new Date()).toLocalDate().toString();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            m = sdf.parse(end).getTime() - sdf.parse(now).getTime();
        } catch (ParseException e) {
            System.out.println("判断断之前是否是VIP用户 类型转换异常");
            e.printStackTrace();
        }
        if(m>0){
            //正数或者0,表明过期时间大于今天的时间
            return true;
        }else {
            return false;
        }
    }

小小调酒师

此刻打盹,你将做梦; 此刻学习,你将圆梦。 个人邮箱:shellways@foxmail.com

文章评论