Java 开通会员增加会员天数(LocalDateTime)

提示:此文章仅用于记录工作上遇到的问题,见证一个菜鸡程序员的成长

文章目录


前言

最近在工作中遇到了会员充值的功能,用户充值会员会添加对应的会员天数,其中用到了Date的LocalDateTime方法


具体操作

    public AjaxResult rechargeVip(String userId, Double totalAmount, int vip) {
        UserVip userVip = new UserVip();

        iPayService.pay(userId, totalAmount);

        //查出要充值vip用户的基本信息
        QueryWrapper<UserVip> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("user_id", userId);
        UserVip vip1 = userVipMapper.selectOne(queryWrapper);

        //如果用户没有vip  从当前时间加时长
        if (vip1.getRank() == null) {
            if (vip == 1) {
                userVip.setUserId(userId);
                userVip.setEndTime(new Date(LocalDateTime.now().plusDays(30).toInstant(ZoneOffset.UTC).toEpochMilli()));
                userVipMapper.insert(userVip);

            } else if (vip == 2) {
                //如果充值是年卡
                userVipMapper.updateTime(userId);
                //更新之后时间就是充值时间
                //然后用sql语句 设置结束时间是当前充值时间往后推一年时间

            } else if (vip == 3) {
                userVip.setUserId(userId);
                userVip.setRank(3);
                userVipMapper.insert(userVip);
            }
        }

        //如果用户要续费vip  从vip到期时间加时长
        if (vip == 1) {
            long time = vip1.getEndTime().getTime();
            time = time + (1000L * 60 * 60 * 24 * 30);
            userVip.setEndTime(new Date(time));
            userVip.setRank(1);
            userVipMapper.insert(userVip);
        }else if(vip==2){
            long time = vip1.getEndTime().getTime();
            time=time+(1000L*60*60*24*365);
            userVip.setEndTime(new Date(time));
            userVip.setRank(2);
            userVipMapper.insert(userVip);
        } else if (vip == 3) {
            userVip.setUserId(userId);
            userVip.setRank(3);
            userVipMapper.insert(userVip);
        }

        return AjaxResult.success();

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值