From c5857a50d688d0c42b3893854e6f30dc45e61ca9 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 11 十一月 2024 22:32:12 +0800
Subject: [PATCH] 代码提交
---
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserTreeController.java | 343 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 186 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..7026766 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);
}
@@ -417,6 +445,7 @@
Long userId = loginUser.getUserid();
if(userId ==null || userId == 0)return R.tokenError("登录失效");
AppUser byId = appUserService.getById(userId);
+ System.err.println("调用是否弹窗"+byId.getIsFirst());
if (byId.getIsFirst() == 1){
byId.setIsFirst(2);
appUserService.updateById(byId);
--
Gitblit v1.7.1