From 185f5dc7c3c49f565da51cd9c2f7750f30990d4a Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 11 十一月 2024 13:28:29 +0800 Subject: [PATCH] 代码提交 --- xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java | 342 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 185 insertions(+), 157 deletions(-) diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java index 3a32442..7d0f5c2 100644 --- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java +++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java @@ -1,6 +1,7 @@ package com.xinquan.user.controller.client; +import cn.afterturn.easypoi.cache.manager.IFileLoader; import cn.hutool.core.util.RandomUtil; import com.alibaba.fastjson2.util.UUIDUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -111,176 +112,194 @@ @PostMapping("/getUserTree") @ApiOperation(value = "获取用户树苗",tags = "树苗打卡站") public R<AppUserTree> getUserTree() { + LoginUser loginUser = tokenService.getLoginUser(); - if (loginUser==null){ - return R.tokenError("登录失效"); - } - Long userId = loginUser.getUserid(); - AppUser byId = appUserService.getById(userId); - byId.setIsFirst(2); - appUserService.updateById(byId); - // 查询用户今日观看疗愈多少秒 - LocalDateTime now = LocalDateTime.now(); - LocalDateTime startOfDay = now.toLocalDate().atStartOfDay(); - LocalDateTime endOfDay = now.toLocalDate().atTime(LocalTime.MAX); - List<AppUserViewingHistory> list = appUserViewingHistoryService - .lambdaQuery().eq(AppUserViewingHistory::getAppUserId, userId) - .eq(AppUserViewingHistory::getViewingType, 1) - .eq(BaseModel::getDelFlag,0) - .between(AppUserViewingHistory::getCreateTime, startOfDay,endOfDay).list(); - int temp = 0; - for (AppUserViewingHistory appUserViewingHistory : list) { - temp += appUserViewingHistory.getTimeLook(); - } - AppUserTree one = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, userId) - .eq(AppUserTree::getSowAgain,2).one(); - if (one == null){ - AppUserTree appUserTree = new AppUserTree(); - appUserTree.setTime(LocalDateTime.now()); - appUserTree.setAppUserId(userId); - appUserTree.setTreeLevelType(1); - appUserTree.setGrowthValue(0); - appUserTree.setSowAgain(2); - appUserTree.setCreateTime(LocalDateTime.now()); - // 如果用户的签到时间是今天 那么修改为已签到 - if (byId.getSignTime()!=null && byId.getSignTime().toLocalDate().equals(LocalDateTime.now().toLocalDate())){ - appUserTree.setIsSign(1); - }else{ - appUserTree.setIsSign(2); + if (loginUser!=null) { + Long userId = loginUser.getUserid(); + AppUser byId = appUserService.getById(userId); + byId.setIsFirst(2); + appUserService.updateById(byId); + // 查询用户今日观看疗愈多少秒 + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startOfDay = now.toLocalDate().atStartOfDay(); + LocalDateTime endOfDay = now.toLocalDate().atTime(LocalTime.MAX); + List<AppUserViewingHistory> list = appUserViewingHistoryService + .lambdaQuery().eq(AppUserViewingHistory::getAppUserId, userId) + .eq(AppUserViewingHistory::getViewingType, 1) + .eq(BaseModel::getDelFlag, 0) + .between(AppUserViewingHistory::getCreateTime, startOfDay, endOfDay).list(); + int temp = 0; + for (AppUserViewingHistory appUserViewingHistory : list) { + temp += appUserViewingHistory.getTimeLook(); } - if (temp>=120){ - if (appUserTree.getTaskOne()==2){ - AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); - appUserEnergyRecord.setAppUserId(userId); - appUserEnergyRecord.setChangeType(1); - appUserEnergyRecord.setEnergyValue(10); - appUserEnergyRecord.setReason("完成【每日疗愈30分钟】任务"); - appUserEnergyRecordService.save(appUserEnergyRecord); - byId.setTotalEnergyValue(byId.getTotalEnergyValue()+10); + AppUserTree one = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, userId) + .eq(AppUserTree::getSowAgain, 2).one(); + if (one == null) { + AppUserTree appUserTree = new AppUserTree(); + appUserTree.setTime(LocalDateTime.now()); + appUserTree.setAppUserId(userId); + appUserTree.setTreeLevelType(1); + appUserTree.setGrowthValue(0); + appUserTree.setSowAgain(2); + appUserTree.setCreateTime(LocalDateTime.now()); + // 如果用户的签到时间是今天 那么修改为已签到 + if (byId.getSignTime() != null && byId.getSignTime().toLocalDate().equals(LocalDateTime.now().toLocalDate())) { + appUserTree.setIsSign(1); + } else { + appUserTree.setIsSign(2); } - if (appUserTree.getTaskTwo()==2){ - AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); - appUserEnergyRecord.setAppUserId(userId); - appUserEnergyRecord.setChangeType(1); - appUserEnergyRecord.setEnergyValue(20); - appUserEnergyRecord.setReason("完成【每日疗愈60分钟】任务"); - appUserEnergyRecordService.save(appUserEnergyRecord); - byId.setTotalEnergyValue(byId.getTotalEnergyValue()+20); + if (temp >= 120) { + if (appUserTree.getTaskOne() == 2) { + AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); + appUserEnergyRecord.setAppUserId(userId); + appUserEnergyRecord.setChangeType(1); + appUserEnergyRecord.setEnergyValue(10); + appUserEnergyRecord.setReason("完成【每日疗愈30分钟】任务"); + appUserEnergyRecordService.save(appUserEnergyRecord); + byId.setTotalEnergyValue(byId.getTotalEnergyValue() + 10); + } + if (appUserTree.getTaskTwo() == 2) { + AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); + appUserEnergyRecord.setAppUserId(userId); + appUserEnergyRecord.setChangeType(1); + appUserEnergyRecord.setEnergyValue(20); + appUserEnergyRecord.setReason("完成【每日疗愈60分钟】任务"); + appUserEnergyRecordService.save(appUserEnergyRecord); + byId.setTotalEnergyValue(byId.getTotalEnergyValue() + 20); + } + appUserTree.setTaskOne(1); + appUserTree.setTaskTwo(1); + } else if (temp >= 60) { + if (appUserTree.getTaskOne() == 2) { + AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); + appUserEnergyRecord.setAppUserId(userId); + appUserEnergyRecord.setChangeType(1); + appUserEnergyRecord.setEnergyValue(10); + appUserEnergyRecord.setReason("完成【每日疗愈30分钟】任务"); + appUserEnergyRecordService.save(appUserEnergyRecord); + byId.setTotalEnergyValue(byId.getTotalEnergyValue() + 10); + } + appUserTree.setTaskOne(1); + appUserTree.setTaskTwo(2); + } else { + appUserTree.setTaskOne(2); + appUserTree.setTaskTwo(2); } - appUserTree.setTaskOne(1); - appUserTree.setTaskTwo(1); - } - else if (temp>=60){ - if (appUserTree.getTaskOne()==2){ - AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); - appUserEnergyRecord.setAppUserId(userId); - appUserEnergyRecord.setChangeType(1); - appUserEnergyRecord.setEnergyValue(10); - appUserEnergyRecord.setReason("完成【每日疗愈30分钟】任务"); - appUserEnergyRecordService.save(appUserEnergyRecord); - byId.setTotalEnergyValue(byId.getTotalEnergyValue()+10); - } - appUserTree.setTaskOne(1); - appUserTree.setTaskTwo(2); - }else{ - appUserTree.setTaskOne(2); - appUserTree.setTaskTwo(2); - } - appUserTree.setEnergyValue(byId.getEnergyValue()); - appUserTree.setNextLevel(1000); - appUserTreeService.save(appUserTree); - appUserTree.setTotalEnergyValue(byId.getTotalEnergyValue()); - return R.ok(appUserTree); - }else{ - if (temp>=120){ - if (one.getTaskOne()==2){ - AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); - appUserEnergyRecord.setAppUserId(userId); - appUserEnergyRecord.setChangeType(1); - appUserEnergyRecord.setEnergyValue(10); - appUserEnergyRecord.setReason("完成【每日疗愈30分钟】任务"); - appUserEnergyRecordService.save(appUserEnergyRecord); - byId.setTotalEnergyValue(byId.getTotalEnergyValue()+10); - } - if (one.getTaskTwo()==2){ - AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); - appUserEnergyRecord.setAppUserId(userId); - appUserEnergyRecord.setChangeType(1); - appUserEnergyRecord.setEnergyValue(20); - appUserEnergyRecord.setReason("完成【每日疗愈60分钟】任务"); - appUserEnergyRecordService.save(appUserEnergyRecord); - byId.setTotalEnergyValue(byId.getTotalEnergyValue()+20); + appUserTree.setEnergyValue(byId.getEnergyValue()); + appUserTree.setNextLevel(1000); + appUserTreeService.save(appUserTree); + appUserTree.setTotalEnergyValue(byId.getTotalEnergyValue()); + return R.ok(appUserTree); + } else { + if (temp >= 120) { + if (one.getTaskOne() == 2) { + AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); + appUserEnergyRecord.setAppUserId(userId); + appUserEnergyRecord.setChangeType(1); + appUserEnergyRecord.setEnergyValue(10); + appUserEnergyRecord.setReason("完成【每日疗愈30分钟】任务"); + appUserEnergyRecordService.save(appUserEnergyRecord); + byId.setTotalEnergyValue(byId.getTotalEnergyValue() + 10); + } + if (one.getTaskTwo() == 2) { + AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); + appUserEnergyRecord.setAppUserId(userId); + appUserEnergyRecord.setChangeType(1); + appUserEnergyRecord.setEnergyValue(20); + appUserEnergyRecord.setReason("完成【每日疗愈60分钟】任务"); + appUserEnergyRecordService.save(appUserEnergyRecord); + byId.setTotalEnergyValue(byId.getTotalEnergyValue() + 20); + } + one.setTaskOne(1); + one.setTaskTwo(1); + } else if (temp >= 60) { + if (one.getTaskOne() == 2) { + AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); + appUserEnergyRecord.setAppUserId(userId); + appUserEnergyRecord.setChangeType(1); + appUserEnergyRecord.setEnergyValue(10); + appUserEnergyRecord.setReason("完成【每日疗愈30分钟】任务"); + appUserEnergyRecordService.save(appUserEnergyRecord); + byId.setTotalEnergyValue(byId.getTotalEnergyValue() + 10); + } + one.setTaskOne(1); + one.setTaskTwo(2); + } else { + one.setTaskOne(2); + one.setTaskTwo(2); } - one.setTaskOne(1); - one.setTaskTwo(1); - } - else if (temp>=60){ - if (one.getTaskOne()==2){ - AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord(); - appUserEnergyRecord.setAppUserId(userId); - appUserEnergyRecord.setChangeType(1); - appUserEnergyRecord.setEnergyValue(10); - appUserEnergyRecord.setReason("完成【每日疗愈30分钟】任务"); - appUserEnergyRecordService.save(appUserEnergyRecord); - byId.setTotalEnergyValue(byId.getTotalEnergyValue()+10); + // 如果用户的签到时间是今天 那么修改为已签到 + if (byId.getSignTime() != null && byId.getSignTime().toLocalDate().equals(LocalDateTime.now().toLocalDate())) { + one.setIsSign(1); + } else { + one.setIsSign(2); } - one.setTaskOne(1); - one.setTaskTwo(2); - }else{ - one.setTaskOne(2); - one.setTaskTwo(2); - } - // 如果用户的签到时间是今天 那么修改为已签到 - if (byId.getSignTime()!=null&&byId.getSignTime().toLocalDate().equals(LocalDateTime.now().toLocalDate())){ - one.setIsSign(1); - }else{ - one.setIsSign(2); - } - List<TreeLevelSetting> data = sysUserClient.getTreeGroup().getData(); + List<TreeLevelSetting> data = sysUserClient.getTreeGroup().getData(); - Integer total1 = one.getTotal(); - // 根据总能量值 确定他在哪一等级 - int x = 1; - int tem = 0; - for (TreeLevelSetting datum : data) { - if (total1 == 0){ - Integer growthValue = data.get(1).getGrowthValue(); - tem = growthValue; - break; - }else if (total1>=datum.getGrowthValue()){ - x = datum.getTreeLevelType(); - } - } - if (x == 10){ - // 如果等级为10那么成长阈值是10级减去9级 - int ten=0; - int nine = 0; + Integer total1 = one.getTotal(); + // 根据总能量值 确定他在哪一等级 + int x = 1; + int tem = 0; for (TreeLevelSetting datum : data) { - if (datum.getTreeLevelType()==10){ - ten = datum.getGrowthValue(); - } - if (datum.getTreeLevelType()==9){ - nine = datum.getGrowthValue(); + if (total1 == 0) { + Integer growthValue = data.get(1).getGrowthValue(); + tem = growthValue; + break; + } else if (total1 >= datum.getGrowthValue()) { + x = datum.getTreeLevelType(); } } - tem = ten-nine; - total1 = tem; - }else{ - // 根据当前所在等级查询成长值 - int a = data.get(x).getGrowthValue()-data.get(x-1).getGrowthValue(); - tem = a; - total1 = Math.abs(total1-data.get(x-1).getGrowthValue()); + if (x == 10) { + // 如果等级为10那么成长阈值是10级减去9级 + int ten = 0; + int nine = 0; + for (TreeLevelSetting datum : data) { + if (datum.getTreeLevelType() == 10) { + ten = datum.getGrowthValue(); + } + if (datum.getTreeLevelType() == 9) { + nine = datum.getGrowthValue(); + } + } + tem = ten - nine; + total1 = tem; + } else { + // 根据当前所在等级查询成长值 + int a = data.get(x).getGrowthValue() - data.get(x - 1).getGrowthValue(); + tem = a; + total1 = Math.abs(total1 - data.get(x - 1).getGrowthValue()); + } + one.setNextLevel(tem); + one.setTreeLevelType(x); + // 将当前成长值更新 + one.setGrowthValue(total1); + one.setEnergyValue(byId.getEnergyValue()); + appUserTreeService.updateById(one); + one.setTotalEnergyValue(byId.getTotalEnergyValue()); + return R.ok(one); } - one.setNextLevel(tem); - one.setTreeLevelType(x); - // 将当前成长值更新 - one.setGrowthValue(total1); - one.setEnergyValue(byId.getEnergyValue()); - appUserTreeService.updateById(one); - one.setTotalEnergyValue(byId.getTotalEnergyValue()); - return R.ok(one); + }else{ + List<TreeLevelSetting> data = sysUserClient.getTreeGroup().getData(); + + AppUserTree appUserTree = new AppUserTree(); + appUserTree.setTreeLevelType(1); + appUserTree.setTotal(0); + appUserTree.setGrowthValue(0); + for (TreeLevelSetting datum : data) { + if (datum.getTreeLevelType()==2){ + appUserTree.setNextLevel(datum.getGrowthValue()); + } + } + appUserTree.setSowAgain(2); + appUserTree.setStatus(2); + appUserTree.setTaskOne(2); + appUserTree.setEnergyValue(0); + appUserTree.setTaskTwo(2); + appUserTree.setIsSign(2); + appUserTree.setTotalEnergyValue(0); + return R.ok(appUserTree); } } @Autowired @@ -308,6 +327,8 @@ return R.ok(); } + @Resource + private NoticeRecordService noticeRecordService; @PostMapping("/watering") @ApiOperation(value = "浇水 返回值true证明升级了 false没升级",tags = "树苗打卡站") public R<WateringVO> watering() { @@ -380,6 +401,13 @@ wateringVO.setGrowthValue(total1); if (x>y){ wateringVO.setIsNext(true); + NoticeRecord noticeRecord = new NoticeRecord(); + noticeRecord.setAppUserId(userId); + noticeRecord.setReadStatus(1); + noticeRecord.setNoticeType(1); + noticeRecord.setTitle("树苗升级通知"); + noticeRecord.setContent("恭喜,您的树苗已升至"+y+"级,"+"继续加油哦"); + noticeRecordService.save(noticeRecord); } return R.ok(wateringVO); } -- Gitblit v1.7.1