This commit is contained in:
张良(004796)
2024-01-26 14:54:41 +08:00
parent 2aafd663ef
commit 747bc38a28
6 changed files with 64 additions and 3 deletions

View File

@@ -18,7 +18,7 @@ public class IncomeStatisticsJob {
try {
dayIncomeStatisticsService.refreshByDate(LocalDate.now());
}catch (Exception e){
log.error("保存昨日收益统计失败!",e);
log.error("更新每日收益统计失败!",e);
}
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.job;
import com.ruoyi.cai.service.DayIncomeStatisticsService;
import com.ruoyi.cai.service.RankService;
import com.ruoyi.cai.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@@ -63,9 +64,17 @@ public class RankJob {
try {
dayIncomeStatisticsService.refreshByDate(date);
}catch (Exception e){
log.error("保存昨日收益统计失败!",e);
log.error("更新昨日收益统计失败!",e);
}
try {
userService.refreshByAge();
}catch (Exception e){
log.error("刷新用户年龄失败!",e);
}
}
@Autowired
private UserService userService;
}

View File

@@ -17,6 +17,7 @@ import com.ruoyi.cai.dto.app.vo.user.UserCountVo;
import com.ruoyi.cai.enums.GenderEnum;
import com.ruoyi.cai.executor.ExecutorConstant;
import com.ruoyi.cai.service.*;
import com.ruoyi.cai.util.UserUtil;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.BeanConvertUtil;
@@ -140,10 +141,10 @@ public class CurrentUserManager {
if(res.getInviteId() != null && user.getInviteId() != null){
update.set(User::getInviteId,res.getInviteId());
user.setInviteId(res.getInviteId());
ExecutorConstant.COMMON_EXECUTOR.execute(() -> loginManager.dealInviteId(user));
}
if(res.getBirthday() != null){
update.set(User::getBirthday,res.getBirthday());
update.set(User::getAge, UserUtil.getAge(res.getBirthday()));
uinfoReq.setBirth(res.getBirthday().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
updateFlag=true;
updateYunxin=true;
@@ -184,6 +185,10 @@ public class CurrentUserManager {
}
}
}
if(res.getInviteId() != null && user.getInviteId() != null){
ExecutorConstant.COMMON_EXECUTOR.execute(() -> loginManager.dealInviteId(user));
}
}
return true;
}

View File

@@ -40,4 +40,7 @@ public interface UserService extends IService<User> {
boolean removeUser(Long id);
void resetAvatar(Long id);
void refreshByAge();
}

View File

@@ -16,6 +16,7 @@ import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.cai.enums.GenderEnum;
import com.ruoyi.cai.mapper.UserMapper;
import com.ruoyi.cai.service.*;
import com.ruoyi.cai.util.UserUtil;
import com.ruoyi.cai.ws.service.RoomService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
@@ -31,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
/**
* 用户Service业务层处理
@@ -265,4 +267,28 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
}
}
@Override
public void refreshByAge() {
Page<User> page = new Page<>(0,200);
long current = 0;
while (true) {
current++;
page.setCurrent(current);
Page<User> pageRes = this.page(page,Wrappers.lambdaQuery(User.class).select(User::getAge,User::getBirthday,User::getId));
List<User> records = pageRes.getRecords();
if(records.isEmpty()){
break;
}
for (User record : records) {
int age = UserUtil.getAge(record.getBirthday());
if(record.getAge() != null && record.getAge() == age){
continue;
}
this.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId,record.getId())
.set(User::getAge,age));
}
}
}
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.cai.util;
import java.time.LocalDate;
public class UserUtil {
private final static int DEFAULT_AGE = 18;
public static int getAge(LocalDate birthday){
if(birthday == null){
return DEFAULT_AGE;
}
int age = LocalDate.now().getYear() - birthday.getYear();
if(age < 18 || age > 80){
return DEFAULT_AGE;
}
return age;
}
}