From cfc5730fe2d4e89cfd862028c5dc7c69ff0fd182 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 17 一月 2025 16:45:46 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java | 4 + ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 20 +++++++-- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java | 2 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java | 78 ++++++++++++++++++++------------------- 4 files changed, 59 insertions(+), 45 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java index 3e49f28..947c989 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java @@ -92,46 +92,48 @@ byId.setStatus(status); byId.setRemark(remark); agentApplicationService.updateById(byId); - AppUser byId1 = appUserService.getById(byId.getAppUserId()); - //插入等级变化数据 - UserChangeLog userChangeLog = new UserChangeLog(); - userChangeLog.setCreateTime(LocalDateTime.now()); - userChangeLog.setAppUserId(byId.getAppUserId()); - userChangeLog.setBeforeVipId(byId1.getVipId()); - userChangeLog.setAfterVipId(byId.getApplicationVipId()); - if (userChangeLog.getBeforeVipId()>userChangeLog.getAfterVipId()) { - userChangeLog.setChangeType(0); - }else { - userChangeLog.setChangeType(1); - } - userChangeLogService.save(userChangeLog); - //变更会员等级 - byId1.setVipId(byId.getApplicationVipId()); - - // 当用户为合伙人时,计算合伙人积分和培育积分 - Integer vipId = byId1.getVipId(); - if (vipId == 7){ - R<BaseSetting> baseSetting = baseSettingClient.getBaseSetting(1); - BaseSetting data = baseSetting.getData(); - int basePoint = Integer.parseInt(data.getContent()); - // 当前用户计算合伙人积分 - R<VipSetting> vipSetting = vipSettingClient.getVipSetting(vipId); - Integer point = getPoint(vipSetting, byId1, basePoint); - byId1.setPartPoint(point); - // 上级计算培育积分 - R<BaseSetting> baseSetting2 = baseSettingClient.getBaseSetting(2); - BaseSetting data2 = baseSetting2.getData(); - int basePoint2 = Integer.parseInt(data2.getContent()); - Long inviteUserId = byId1.getInviteUserId(); - AppUser byId2 = appUserService.getById(inviteUserId); - if (byId2 != null){ - Integer point1 = getPoint(vipSetting, byId2, basePoint2); - byId2.setPartGrowPoint(point1); - appUserService.updateById(byId2); + if(2 == status){ + AppUser byId1 = appUserService.getById(byId.getAppUserId()); + //插入等级变化数据 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(byId.getAppUserId()); + userChangeLog.setBeforeVipId(byId1.getVipId()); + userChangeLog.setAfterVipId(byId.getApplicationVipId()); + if (userChangeLog.getBeforeVipId()>userChangeLog.getAfterVipId()) { + userChangeLog.setChangeType(0); + }else { + userChangeLog.setChangeType(1); } + userChangeLogService.save(userChangeLog); + //变更会员等级 + byId1.setVipId(byId.getApplicationVipId()); + + // 当用户为合伙人时,计算合伙人积分和培育积分 + Integer vipId = byId1.getVipId(); + if (vipId == 7){ + R<BaseSetting> baseSetting = baseSettingClient.getBaseSetting(1); + BaseSetting data = baseSetting.getData(); + int basePoint = Integer.parseInt(data.getContent()); + // 当前用户计算合伙人积分 + R<VipSetting> vipSetting = vipSettingClient.getVipSetting(vipId); + Integer point = getPoint(vipSetting, byId1, basePoint); + byId1.setPartPoint(point); + // 上级计算培育积分 + R<BaseSetting> baseSetting2 = baseSettingClient.getBaseSetting(2); + BaseSetting data2 = baseSetting2.getData(); + int basePoint2 = Integer.parseInt(data2.getContent()); + Long inviteUserId = byId1.getInviteUserId(); + AppUser byId2 = appUserService.getById(inviteUserId); + if (byId2 != null){ + Integer point1 = getPoint(vipSetting, byId2, basePoint2); + byId2.setPartGrowPoint(point1); + appUserService.updateById(byId2); + } + } + + appUserService.updateById(byId1); } - - appUserService.updateById(byId1); return R.ok(byId); } 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 9c336ce..28cf0bf 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 @@ -898,13 +898,20 @@ Long userid = tokenService.getLoginUserApplet().getUserid(); Object cacheObject = redisService.getCacheObject("ONLINE_" + userid); if(null == cacheObject){ - redisService.setCacheObject("ONLINE_" + userid, System.currentTimeMillis(), 1L, TimeUnit.HOURS); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("time", System.currentTimeMillis()); + jsonObject.put("online", 0); + redisService.setCacheObject("ONLINE_" + userid, jsonObject, 1L, TimeUnit.HOURS); }else{ - Long duration = (Long) cacheObject; - long time = (System.currentTimeMillis() - duration) / 3600000; + JSONObject jsonObject = (JSONObject) cacheObject; + long time = System.currentTimeMillis() - jsonObject.getInteger("time"); + Integer online = jsonObject.getInteger("online"); + online += 10; //满足一个小时,开始发放积分,计时归0 - if(1 >= time){ - redisService.setCacheObject("ONLINE_" + userid, System.currentTimeMillis(), 1L, TimeUnit.HOURS); + if(time >= 3600000L && 60 <= online){ + jsonObject.put("time", System.currentTimeMillis()); + jsonObject.put("online", 0); + redisService.setCacheObject("ONLINE_" + userid, jsonObject, 1L, TimeUnit.HOURS); AppUser appUser = this.getById(userid); PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); if(null != pointSetting){ @@ -937,6 +944,9 @@ //变更等级 vipUpgrade(appUser.getId()); } + }else{ + jsonObject.put("online", online); + redisService.setCacheObject("ONLINE_" + userid, jsonObject, 1L, TimeUnit.HOURS); } } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java index f75ff29..0060cb9 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java @@ -138,9 +138,11 @@ .between(OrderActivityInfo::getEndTime, orderActivityInfo.getStartTime(), orderActivityInfo.getEndTime()) .list(); // 遍历集合 通过startTime和endTime 判断是否与当前活动时间重叠 - if (!list.isEmpty()){ for (OrderActivityInfo activityInfo : list) { + if(activityInfo.getId().equals(orderActivityInfo.getId())){ + continue; + } List<String> vips = Arrays.asList(activityInfo.getVipIds().split(",")); if (!vipIds.isEmpty()){ StringBuilder message = new StringBuilder(); diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java index 0a420ae..01c61f1 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java @@ -227,7 +227,7 @@ LocalDateTime endTime = seckillActivityInfo.getEndTime(); long count = this.count(new LambdaQueryWrapper<SeckillActivityInfo>().eq(SeckillActivityInfo::getGoodId, goodId).eq(SeckillActivityInfo::getDelFlag, 0) .eq(SeckillActivityInfo::getIsShelves, 1).last(" and (" + startTime + " between start_time and end_time or " + endTime + " between start_time and end_time)")); - if(0 < count){ + if(1 < count){ throw new RuntimeException("该秒杀商品已在其他秒杀活动中存在"); } this.baseMapper.updateById(seckillActivityInfo); -- Gitblit v1.7.1