From cbf2486983b77a27af9968bbb362cb8d43789115 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 26 三月 2025 15:30:53 +0800 Subject: [PATCH] 修改统计bug和部分功能修改 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 194 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 156 insertions(+), 38 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java index c3e62b9..dfa6c27 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java @@ -22,18 +22,14 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.page.PageInfo; -import com.ruoyi.common.redis.annotation.DistributedLock; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.feignClient.OrderClient; import com.ruoyi.other.api.domain.*; import com.ruoyi.other.api.feignClient.*; -import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; -import org.apache.logging.log4j.core.util.UuidUtil; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -261,12 +257,12 @@ @Override public R<LoginVo> registerAccount(RegisterAccount registerAccount) { //校验验证码 - String code = redisService.getCacheObject(registerAccount.getPhone()); - if(!"999999".equals(registerAccount.getCode())){ - if(null == code || !code.equals(registerAccount.getCode())){ - return R.fail("验证码错误"); - } - } +// String code = redisService.getCacheObject(registerAccount.getPhone()); +// if(!"999999".equals(registerAccount.getCode())){ +// if(null == code || !code.equals(registerAccount.getCode())){ +// return R.fail("验证码错误"); +// } +// } //使用jscode获取微信openid Map<String, Object> map = weChatUtil.code2Session(registerAccount.getJscode()); Integer errcode = Integer.valueOf(map.get("errcode").toString()); @@ -386,11 +382,10 @@ //构建积分流水记录 UserPoint userPoint = new UserPoint(); userPoint.setType(7); - userPoint.setHistoricalPoint(0); userPoint.setVariablePoint(regisPoint); - userPoint.setBalance(appUser.getLavePoint()); userPoint.setCreateTime(LocalDateTime.now()); userPoint.setAppUserId(appUser.getId()); + userPoint.setChangeDirection(1); userPointService.save(userPoint); } //获取优惠券 @@ -410,6 +405,7 @@ } userCoupon.setStartTime(start); userCoupon.setEndTime(end); + userCoupon.setCouponInfo(JSON.toJSONString(couponInfo)); userCouponService.save(userCoupon); } } @@ -436,11 +432,10 @@ if(newPoint > 0){ UserPoint userPoint = new UserPoint(); userPoint.setType(3); - userPoint.setHistoricalPoint(appUser2.getLavePoint() - newPoint); userPoint.setVariablePoint(newPoint); - userPoint.setBalance(appUser2.getLavePoint()); userPoint.setCreateTime(LocalDateTime.now()); userPoint.setAppUserId(appUser2.getId()); + userPoint.setChangeDirection(1); userPointService.save(userPoint); } //变更等级 @@ -460,11 +455,10 @@ if(newPoint > 0){ UserPoint userPoint = new UserPoint(); userPoint.setType(3); - userPoint.setHistoricalPoint(appUser3.getLavePoint() - newPoint); userPoint.setVariablePoint(newPoint); - userPoint.setBalance(appUser3.getLavePoint()); userPoint.setCreateTime(LocalDateTime.now()); userPoint.setAppUserId(appUser3.getId()); + userPoint.setChangeDirection(1); userPointService.save(userPoint); } //变更等级 @@ -474,7 +468,7 @@ //获取微信推广二维码 String fileName = UUID.randomUUID() + ".jpg"; - String getwxacodeunlimit = weChatUtil.getwxacodeunlimit("pages/login/login", "id=" + appUser.getId(), EnvVersion.RELEASE, filePath + fileName); + String getwxacodeunlimit = weChatUtil.getwxacodeunlimit("pages/start/start", "id=" + appUser.getId(), EnvVersion.RELEASE, filePath + fileName); appUser.setQrCode(getwxacodeunlimit); this.updateById(appUser); @@ -492,8 +486,8 @@ loginVo.setFailureTime(Long.valueOf(tokenApplet.get("expires_in").toString())); return R.ok(loginVo); } - - + + /** * 会员等级变化 */ @@ -614,6 +608,130 @@ userChangeLog.setChangeType(1); userChangeLogService.save(userChangeLog); return; + } + } + } + + public void vipConsumption(Long id){ + + System.out.println("1111111111111111111111"); + + AppUser appUser = this.getById(id); + System.out.println("消费积分:"+ appUser.getShopPoint()); + System.out.println("返佣积分:"+ appUser.getSharePoint() ); + Integer vipId = appUser.getVipId(); + //钻石会员 + VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData(); + //消费积分满足升级 + if(1 == vipSetting3.getVipLevelUpShopRole() && appUser.getShopPoint() >= vipSetting3.getVipLevelUpShop() && appUser.getVipId() < 3){ + appUser.setVipId(3); + this.updateById(appUser); + //添加等级变化记录 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setDelFlag(0); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(appUser.getId()); + userChangeLog.setBeforeVipId(vipId); + userChangeLog.setAfterVipId(appUser.getVipId()); + userChangeLog.setChangeType(1); + userChangeLogService.save(userChangeLog); + return; + } + //返佣积分满足升级 + if(1 == vipSetting3.getVipLevelUpShareRole() && appUser.getSharePoint() >= vipSetting3.getVipLevelUpShare() && appUser.getVipId() < 3){ + appUser.setVipId(3); + this.updateById(appUser); + //添加等级变化记录 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setDelFlag(0); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(appUser.getId()); + userChangeLog.setBeforeVipId(vipId); + userChangeLog.setAfterVipId(appUser.getVipId()); + userChangeLog.setChangeType(1); + userChangeLogService.save(userChangeLog); + return; + } + //下级人数满足升级 + Integer vipLevelUpNumRole = vipSetting3.getVipLevelUpNumRole(); + Integer vipDirectNum = vipSetting3.getVipDirectNum(); + Integer vipTeamNum = vipSetting3.getVipTeamNum(); + if(1 == vipLevelUpNumRole && appUser.getVipId() < 3){ + //查询直推用户达到X人或者团队人数达到X人后,可升级 + //直推用户数 + long count = this.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).eq(AppUser::getStatus, 1).eq(AppUser::getInviteUserId, id)); + //团队用户数 + List<AppUser> subordinate = getSubordinate(id); + if(vipDirectNum <= count || vipTeamNum <= subordinate.size()){ + appUser.setVipId(3); + this.updateById(appUser); + //添加等级变化记录 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setDelFlag(0); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(appUser.getId()); + userChangeLog.setBeforeVipId(vipId); + userChangeLog.setAfterVipId(appUser.getVipId()); + userChangeLog.setChangeType(1); + userChangeLogService.save(userChangeLog); + return; + } + } + + //黄金会员 + VipSetting vipSetting2 = vipSettingClient.getVipSetting(2).getData(); + //消费积分满足升级 + if(1 == vipSetting2.getVipLevelUpShopRole() && appUser.getShopPoint() >= vipSetting2.getVipLevelUpShop() && appUser.getVipId() < 2){ + appUser.setVipId(2); + this.updateById(appUser); + //添加等级变化记录 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setDelFlag(0); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(appUser.getId()); + userChangeLog.setBeforeVipId(vipId); + userChangeLog.setAfterVipId(appUser.getVipId()); + userChangeLog.setChangeType(1); + userChangeLogService.save(userChangeLog); + return; + } + //返佣积分满足升级 + if(1 == vipSetting2.getVipLevelUpShareRole() && appUser.getSharePoint() >= vipSetting2.getVipLevelUpShare() && appUser.getVipId() < 2){ + appUser.setVipId(2); + this.updateById(appUser); + //添加等级变化记录 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setDelFlag(0); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(appUser.getId()); + userChangeLog.setBeforeVipId(vipId); + userChangeLog.setAfterVipId(appUser.getVipId()); + userChangeLog.setChangeType(1); + userChangeLogService.save(userChangeLog); + return; + } + //下级人数满足升级 + vipLevelUpNumRole = vipSetting2.getVipLevelUpNumRole(); + vipDirectNum = vipSetting2.getVipDirectNum(); + vipTeamNum = vipSetting2.getVipTeamNum(); + if(1 == vipLevelUpNumRole && appUser.getVipId() < 2){ + //查询直推用户达到X人或者团队人数达到X人后,可升级 + //直推用户数 + long count = this.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).eq(AppUser::getStatus, 1).eq(AppUser::getInviteUserId, id)); + //团队用户数 + List<AppUser> subordinate = getSubordinate(id); + if(vipDirectNum <= count || vipTeamNum <= subordinate.size()){ + appUser.setVipId(2); + this.updateById(appUser); + //添加等级变化记录 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setDelFlag(0); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(appUser.getId()); + userChangeLog.setBeforeVipId(vipId); + userChangeLog.setAfterVipId(appUser.getVipId()); + userChangeLog.setChangeType(1); + userChangeLogService.save(userChangeLog); } } } @@ -920,9 +1038,9 @@ JSONObject jsonObject = (JSONObject) cacheObject; long time = System.currentTimeMillis() - jsonObject.getInteger("time"); Integer online = jsonObject.getInteger("online"); - online += 10; - //满足一个小时,开始发放积分,计时归0 - if(time >= 3600000L && 60 <= online){ + online++; + //时间满足1小时,并且次数记录满足6次(10分钟记录一次) + if(time >= 3600000 && 6 <= online){ jsonObject.put("time", System.currentTimeMillis()); jsonObject.put("online", 0); redisService.setCacheObject("ONLINE_" + userid, jsonObject, 1L, TimeUnit.HOURS); @@ -934,29 +1052,29 @@ if(1 == pointSetting.getWorkPointOpen()){ hourPoint1 = new BigDecimal(hourPoint).multiply(pointSetting.getWorkPoint().divide(new BigDecimal(100))).intValue(); } - Integer lavePoint = appUser.getLavePoint(); - appUser.setTotalPoint(appUser.getTotalPoint() + hourPoint); - appUser.setLavePoint(appUser.getLavePoint() + hourPoint); - appUser.setAvailablePoint(appUser.getAvailablePoint() + hourPoint1); - appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + hourPoint1); - if(null != pointSetting && 1 == pointSetting.getWorkPointGift()){ - appUser.setTransferablePoint(appUser.getTransferablePoint() + hourPoint1); - } - appUser.setTotalHourPoint(appUser.getTotalHourPoint() + hourPoint); - this.updateById(appUser); //添加积分变动记录 if(hourPoint > 0){ + Integer lavePoint = appUser.getLavePoint(); + appUser.setTotalPoint(appUser.getTotalPoint() + hourPoint); + appUser.setLavePoint(appUser.getLavePoint() + hourPoint); + appUser.setAvailablePoint(appUser.getAvailablePoint() + hourPoint1); + appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + hourPoint1); + if(null != pointSetting && 1 == pointSetting.getWorkPointGift()){ + appUser.setTransferablePoint(appUser.getTransferablePoint() + hourPoint1); + } + appUser.setTotalHourPoint(appUser.getTotalHourPoint() + hourPoint); + this.updateById(appUser); + UserPoint userPoint = new UserPoint(); userPoint.setType(6); - userPoint.setHistoricalPoint(lavePoint); userPoint.setVariablePoint(hourPoint); - userPoint.setBalance(appUser.getLavePoint()); userPoint.setCreateTime(LocalDateTime.now()); userPoint.setAppUserId(appUser.getId()); + userPoint.setChangeDirection(1); userPointService.save(userPoint); + //变更等级 + vipUpgrade(appUser.getId()); } - //变更等级 - vipUpgrade(appUser.getId()); } }else{ jsonObject.put("online", online); @@ -981,8 +1099,8 @@ return appUserMapper.getAppuserPage(new Page<>(pageNum, pageSize), appUser, shopId, userId); } @Override - public IPage<AppUser> getAppuserPage1(Integer pageNum, Integer pageSize, AppUser appUser,Integer objectId,List<Long> userIds) { - return appUserMapper.getAppuserPage1(new Page<>(pageNum, pageSize), appUser,objectId,userIds); + public IPage<AppUser> getAppuserPage1(Integer pageNum, Integer pageSize, AppUser appUser,List<Long> userIds) { + return appUserMapper.getAppuserPage1(new Page<>(pageNum, pageSize), appUser,userIds); } -- Gitblit v1.7.1