修改发放积分

This commit is contained in:
wucongxing8150 2025-07-30 19:19:15 +08:00
parent d30982b4d5
commit 8bd0cc1d28
4 changed files with 43 additions and 11 deletions

View File

@ -185,8 +185,12 @@ public class CaseClinicalArticleService {
return false;
}
// 发放积分
userService.ReportUserScore(articleId,1,userId);
// 获取发放积分次数
Integer num = userService.GetReportUserScore(userId);
if (num < 3){
// 发放积分
userService.ReportUserScore(articleId,1,userId,5);
}
return true;
}

View File

@ -209,8 +209,12 @@ public class CaseClinicalVideoService {
return false;
}
// 发放积分
userService.ReportUserScore(videoId,2,userId);
// 获取发放积分次数
Integer num = userService.GetReportUserScore(userId);
if (num < 3){
// 发放积分
userService.ReportUserScore(videoId,2,userId,5);
}
return true;
}

View File

@ -204,6 +204,9 @@ public class CaseExchangeService {
throw new BusinessException("操作失败");
}
// 发放积分
userService.ReportUserScore(String.valueOf(caseExchangeData.getExchangeId()),3,userId,50);
return true;
}
@ -482,9 +485,12 @@ public class CaseExchangeService {
return false;
}
// 发放积分
userService.ReportUserScore(exchangeId,3,userId);
// 获取发放积分次数
Integer num = userService.GetReportUserScore(userId);
if (num < 3){
// 发放积分
userService.ReportUserScore(exchangeId,3,userId,5);
}
return true;
}

View File

@ -325,8 +325,12 @@ public class UserService {
return caseClinicalDoctor;
}
// 发放积分
public boolean ReportUserScore(String id,Integer type,String userId) throws BusinessException{
/**
* 发放积分
* @param type 类型1:文章 2:视频 3:病例交流
* @throws BusinessException
*/
public boolean ReportUserScore(String id,Integer type,String userId,Integer point) throws BusinessException{
// 获取积分发放记录
// 获取今天的日期并设置时间为 00:00:00
LocalDateTime startOfToday = LocalDate.now().atStartOfDay(); // 例如2025-07-30 00:00:00
@ -343,7 +347,7 @@ public class UserService {
// 获取用户数据
UserModel user = userDao.selectById(userId);
if (user == null){
throw new BusinessException("积分");
throw new BusinessException("操作失败");
}
// 发放积分
@ -352,7 +356,7 @@ public class UserService {
// 添加打赏记录
CaseClinicalRecordScoreModel data = new CaseClinicalRecordScoreModel();
data.setUserId(Long.valueOf(userId));
data.setScore(5);
data.setScore(point);
data.setId(Long.valueOf(id));
data.setUserName(user.getUserName());
data.setNodeName("病例库-病例互动");
@ -365,6 +369,20 @@ public class UserService {
return true;
}
// 获取发放积分次数
public Integer GetReportUserScore(String userId) throws BusinessException{
// 获取积分发放记录
// 获取今天的日期并设置时间为 00:00:00
LocalDateTime startOfToday = LocalDate.now().atStartOfDay(); // 例如2025-07-30 00:00:00
QueryWrapper<CaseClinicalRecordScoreModel> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", userId)
.ge("created_at", startOfToday) // created_at >= 今天 00:00:00
.orderByDesc("created_at"); // 最新的在前
List<CaseClinicalRecordScoreModel> caseClinicalRecordScores = caseClinicalRecordScoreDao.selectList(queryWrapper);
return caseClinicalRecordScores.size();
}
/**
* 处理用户头像下载远程头像并上传至 OSS
*