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 | 513 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 313 insertions(+), 200 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 19788bc..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;
@@ -25,6 +26,7 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -32,6 +34,7 @@
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.LocalTime;
+import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;
@@ -63,112 +66,240 @@
@Resource
private SysUserClient sysUserClient;
+ @PostMapping("/testDelete")
+ @ApiOperation(value = "手动扣除成长值",tags = "手动扣除成长值")
+ public R testDelete() {
+ try {
+ LocalDateTime now = LocalDateTime.now();
+ List<AppUserTree> list1 = appUserTreeService.lambdaQuery().eq(AppUserTree::getSowAgain, 2)
+ .list();
+ for (AppUserTree appUserTree : list1) {
+ LocalDateTime time = appUserTree.getTime();
+ // 计算两个now和time的天数差
+ long between = ChronoUnit.DAYS.between(time, now);
+ if (between>7){
+ double v = appUserTree.getTotal() * 0.02;
+ long roundedValue = Math.round(v);
+ if ((appUserTree.getTotal() - (int) roundedValue)>0){
+ appUserTree.setTotal(appUserTree.getTotal() - (int) roundedValue);
+ }else{
+ appUserTree.setTotal(0);
+ }
+ appUserTree.setStatus(1);
+ }else if (between>=1){
+ // 计算两个now和time的小时差
+ long betweenHours = ChronoUnit.HOURS.between(time, now);
+ if (betweenHours>=24){
+ double v = appUserTree.getTotal() * 0.01;
+ long roundedValue = Math.round(v);
+ if ((appUserTree.getTotal() - (int) roundedValue)>0){
+ if (appUserTree.getId().equals(1854054871051481089L)){
+ System.err.println(appUserTree.getTotal() - (int) roundedValue);
+ }
+ appUserTree.setTotal(appUserTree.getTotal() - (int) roundedValue);
+ }else{
+ appUserTree.setTotal(0);
+ }
+ }
+ }
+ appUserTreeService.updateById(appUserTree);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return R.ok();
+ }
@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.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>=60){
- appUserTree.setTaskOne(1);
- appUserTree.setTaskTwo(1);
+ 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 (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.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);
+ }
+ // 如果用户的签到时间是今天 那么修改为已签到
+ if (byId.getSignTime() != null && byId.getSignTime().toLocalDate().equals(LocalDateTime.now().toLocalDate())) {
+ one.setIsSign(1);
+ } else {
+ one.setIsSign(2);
+ }
+ 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;
+ 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);
}
- else if (temp>=30){
- appUserTree.setTaskOne(1);
- appUserTree.setTaskTwo(2);
- }else{
- appUserTree.setTaskOne(2);
- appUserTree.setTaskTwo(2);
- }
- appUserTree.setEnergyValue(byId.getEnergyValue());
- appUserTree.setNextLevel(1000);
- appUserTreeService.save(appUserTree);
- return R.ok(appUserTree);
}else{
- if (temp>=60){
- one.setTaskOne(1);
- one.setTaskTwo(1);
+ 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());
+ }
}
- else if (temp>=30){
- 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);
- }
- switch (one.getTreeLevelType()){
- case 1:
- one.setNextLevel(1000);
- break;
- case 2:
- one.setNextLevel(1000);
- break;
- case 3:
- one.setNextLevel(1000);
- break;
- case 4:
- one.setNextLevel(1000);
- break;
- case 5:
- one.setNextLevel(2000);
- break;
- case 6:
- one.setNextLevel(2000);
- break;
- case 7:
- one.setNextLevel(2000);
- break;
- case 8:
- one.setNextLevel(2000);
- break;
- case 9:
- one.setNextLevel(2400);
- break;
- case 10:
- one.setNextLevel(2400);
- break;
- }
- one.setEnergyValue(byId.getEnergyValue());
- return R.ok(one);
+ 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
@@ -196,10 +327,13 @@
return R.ok();
}
+ @Resource
+ private NoticeRecordService noticeRecordService;
@PostMapping("/watering")
@ApiOperation(value = "浇水 返回值true证明升级了 false没升级",tags = "树苗打卡站")
public R<WateringVO> watering() {
- WateringVO wateringVO = new WateringVO();
+
+
LoginUser loginUser = tokenService.getLoginUser();
if (loginUser==null){
@@ -211,112 +345,70 @@
return R.energyValueError("能量值不足");
}
+ WateringVO wateringVO = new WateringVO();
+
AppUserTree one = appUserTreeService.lambdaQuery().eq(AppUserTree::getAppUserId, userId)
.eq(AppUserTree::getSowAgain,2).one();
- Integer currentEnergyValue = byId.getEnergyValue();
+ one.setStatus(2);
+ one.setTotal(one.getTotal()+byId.getEnergyValue());
+ one.setTime(LocalDateTime.now());
+ appUserTreeService.updateById(one);
byId.setEnergyValue(0);
- byId.setTotalEnergyValue(byId.getTotalEnergyValue()+currentEnergyValue);
appUserService.updateById(byId);
List<TreeLevelSetting> data = sysUserClient.getTreeGroup().getData();
- // 判断能否升级
- int temp = 0;
+ int y = one.getTreeLevelType();
+ Integer total1 = one.getTotal();
+ // 根据总能量值 确定他在哪一等级
+ int x = 1;
+ int tem = 0;
for (TreeLevelSetting datum : data) {
- switch (datum.getTreeLevelType()){
- case 1:
- temp=datum.getGrowthValue();
- break;
- case 2:
- temp=datum.getGrowthValue();
- break;
- case 3:
- temp=datum.getGrowthValue();
- break;
- case 4:
- temp=datum.getGrowthValue();
- break;
- case 5:
- temp=datum.getGrowthValue();
- break;
- case 6:
- temp=datum.getGrowthValue();
- break;
- case 7:
- temp=datum.getGrowthValue();
- break;
- case 8:
- temp=datum.getGrowthValue();
- break;
- case 9:
- temp=datum.getGrowthValue();
- break;
- case 10:
- temp=datum.getGrowthValue();
- break;
+ if (total1 == 0){
+ Integer growthValue = data.get(1).getGrowthValue();
+ tem = growthValue;
+ break;
+ }else if (total1>=datum.getGrowthValue()){
+ x = datum.getTreeLevelType();
}
}
-
- wateringVO.setNextLevel(temp);
- // 升级阈值
- if (one.getGrowthValue()+currentEnergyValue>=temp){
- // 升级咯 如果当前等级已经为10级
- if (one.getTreeLevelType()==10){
- one.setGrowthValue(one.getGrowthValue()+currentEnergyValue);
- wateringVO.setIsNext(false);
- int a= 0;
- for (TreeLevelSetting datum : data) {
- if (datum.getTreeLevelType()==10){
- a = datum.getGrowthValue();
- }
+ if (x == 10){
+ // 如果等级为10那么成长阈值是10级减去9级
+ int ten=0;
+ int nine = 0;
+ for (TreeLevelSetting datum : data) {
+ if (datum.getTreeLevelType()==10){
+ ten = datum.getGrowthValue();
}
- wateringVO.setNextLevel(a);
- }else{
-
- // 将当前成长值更新
- one.setGrowthValue(one.getGrowthValue()+currentEnergyValue-temp);
- // 升级
- one.setTreeLevelType(one.getTreeLevelType()+1);
- switch (one.getTreeLevelType()+1){
- case 2:
- temp=1000;
- break;
- case 3:
- temp=1000;
- break;
- case 4:
- temp=1000;
- break;
- case 5:
- temp=2000;
- break;
- case 6:
- temp=2000;
- break;
- case 7:
- temp=2000;
- break;
- case 8:
- temp=2000;
- break;
- case 9:
- temp=2400;
- break;
- case 10:
- temp=2400;
- break;
+ if (datum.getTreeLevelType()==9){
+ nine = datum.getGrowthValue();
}
- wateringVO.setNextLevel(temp);
- wateringVO.setIsNext(true);
- // 升级了 使用浇水后的能量值减去升级阈值
- wateringVO.setGrowthValue(one.getGrowthValue());
}
+ tem = ten-nine;
+ total1 = tem;
}else{
- wateringVO.setIsNext(false);
- wateringVO.setGrowthValue(one.getGrowthValue()+currentEnergyValue);
- // 不能升级
- one.setGrowthValue(one.getGrowthValue()+currentEnergyValue);
- appUserTreeService.updateById(one);
+ // 根据当前所在等级查询成长值
+ 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);
+ wateringVO.setNextLevel(tem);
+ wateringVO.setTreeLevelType(x);
+ 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);
}
@PostMapping("/sign")
@@ -329,10 +421,17 @@
Long userId = loginUser.getUserid();
// 给用户加10能量
AppUser byId = appUserService.getById(userId);
- byId.setTotalEnergyValue(byId.getTotalEnergyValue()+10);
byId.setEnergyValue(byId.getEnergyValue()+10);
byId.setSignTime(LocalDateTime.now());
+ byId.setTotalEnergyValue(byId.getTotalEnergyValue()+10);
appUserService.updateById(byId);
+ AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord();
+ appUserEnergyRecord.setAppUserId(userId);
+
+ appUserEnergyRecord.setChangeType(1);
+ appUserEnergyRecord.setEnergyValue(10);
+ appUserEnergyRecord.setReason("签到");
+ appUserEnergyRecordService.save(appUserEnergyRecord);
return R.ok();
}
@@ -346,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);
@@ -355,21 +455,21 @@
}
}
@PostMapping("/userEnergyDetail")
- @ApiOperation(value = "用户详情-能量值明细 ",tags = "管理后台-用户管理")
+ @ApiOperation(tags = "管理后台-用户管理",value = "用户详情-能量值明细 ")
public R<PageDTO<AppUserEnergyRecordVO>> userEnergyDetail(@RequestBody UserEnergyDTO dto) {
String startTime = null;
String endTime = null;
if (org.springframework.util.StringUtils.hasLength(dto.getTime())){
String[] split = dto.getTime().split(" - ");
- startTime = split[0]+"00:00:00";
- endTime = split[1]+"23:59:59";
+ startTime = split[0]+" 00:00:00";
+ endTime = split[1]+" 23:59:59";
}
String userId = dto.getUid();
EnergyVO energyVO = new EnergyVO();
energyVO.setEnergyTotal(appUserService.getById(userId).getTotalEnergyValue());
LambdaQueryWrapper<AppUserEnergyRecord> lambdaQueryWrapper = new LambdaQueryWrapper<>();
- if (dto.getState()!=null){
- switch (dto.getState()){
+ if (dto.getChangeType()!=null){
+ switch (dto.getChangeType()){
case 1:
lambdaQueryWrapper.eq(AppUserEnergyRecord::getChangeType, 1);
break;
@@ -378,7 +478,7 @@
break;
}
}
- lambdaQueryWrapper.like(StringUtils.hasLength(dto.getContent()),AppUserEnergyRecord::getReason,dto.getContent());
+ lambdaQueryWrapper.like(StringUtils.hasLength(dto.getReason()),AppUserEnergyRecord::getReason,dto.getReason());
lambdaQueryWrapper.between(startTime!=null,BaseModel::getCreateTime,startTime,endTime);
lambdaQueryWrapper.eq(AppUserEnergyRecord::getAppUserId, userId).orderByDesc(BaseModel::getCreateTime);
Page<AppUserEnergyRecord> page = appUserEnergyRecordService.page(new Page<>(dto.getPageCurr(), dto.getPageSize()), lambdaQueryWrapper);
@@ -417,7 +517,7 @@
PageDTO<ExchangeRecordVO> res = PageDTO.of(page, ExchangeRecordVO.class);
for (ExchangeRecordVO record : res.getList()) {
Prize temp = prizeService.lambdaQuery()
- .eq(Prize::getId, record.getId()).one();
+ .eq(Prize::getId, record.getPrizeId()).one();
if (temp != null){
record.setName(temp.getName());
record.setCoverUrl(temp.getCoverUrl());
@@ -510,7 +610,7 @@
Long userId = loginUser.getUserid();
AppUser byId1 = appUserService.getById(userId);
Prize byId = prizeService.getById(prizeId);
- if (byId1.getTotalEnergyValue()<=byId.getEnergyValue()){
+ if (byId1.getTotalEnergyValue()<byId.getEnergyValue()){
return R.fail("能量值不足");
}
PrizeRedemptionRecord one = prizeRedemptionRecordService.lambdaQuery()
@@ -519,6 +619,18 @@
if (one!=null){
return R.fail("奖品已兑换");
}
+ // 扣去能量值
+ Integer totalEnergyValue = byId1.getTotalEnergyValue();
+ byId1.setTotalEnergyValue(totalEnergyValue-byId.getEnergyValue());
+ appUserService.updateById(byId1);
+ // 增加记录
+ AppUserEnergyRecord appUserEnergyRecord = new AppUserEnergyRecord();
+ appUserEnergyRecord.setAppUserId(userId);
+ appUserEnergyRecord.setChangeType(2);
+ appUserEnergyRecord.setEnergyValue(byId.getEnergyValue());
+ appUserEnergyRecord.setReason("兑换礼品");
+ appUserEnergyRecordService.save(appUserEnergyRecord);
+
PrizeRedemptionRecord prizeRedemptionRecord = new PrizeRedemptionRecord();
prizeRedemptionRecord.setStatus(1);
prizeRedemptionRecord.setEnergyValue(byId.getEnergyValue());
@@ -529,6 +641,7 @@
prizeRedemptionRecord.setCode(code);
prizeRedemptionRecordService.save(prizeRedemptionRecord);
// 随机生成6位纯数字验证码
+
return R.ok(code);
}
@PostMapping("/exchangeRecordList")
--
Gitblit v1.7.1