发放积分病例白名单问题处理

This commit is contained in:
wucongxing8150 2025-03-13 14:47:42 +08:00
parent 900977dc28
commit db436c4faa

View File

@ -80,51 +80,52 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId
return nil
}
// 检测白名单-无需检测白名单
//if projectPlatform.IsWhite == 1 {
// projectPlatformWhiteService := ProjectPlatformWhiteService{}
// isWhite, err := projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(user, projectId, platformId)
// if err != nil {
// return err
// }
//
// // 非白名单用户,无需发放积分
// if isWhite == false {
// return nil
// }
//}
// 获取需发放积分
reportScore := 0
score := 0
appScoreTypeStr := "" // 积分发放原因-app
superScoreTypeStr := "" // 积分发放原因-超级袋鼠
nodeName := "" // 获取积分节点名称
if scoreType == 1 {
// 完成阅读
reportScore = projectPlatform.CompleteRead
score = projectPlatform.CompleteRead
appScoreTypeStr = "互动病例-完成阅读"
superScoreTypeStr = "调研奖励(完成阅读)"
nodeName = "学习"
} else if scoreType == 2 {
// 阅读时间满足
reportScore = projectPlatform.CompleteReadTime
score = projectPlatform.CompleteReadTime
appScoreTypeStr = "互动病例-阅读时间满足"
superScoreTypeStr = "调研奖励(阅读质量)"
nodeName = "阅读达标"
} else if scoreType == 3 {
// 优质留言
reportScore = projectPlatform.FirstHighQuality
score = projectPlatform.FirstHighQuality
appScoreTypeStr = "互动病例-优质留言"
superScoreTypeStr = "调研奖励(社区贡献)"
nodeName = "优质留言"
} else if scoreType == 4 {
// 再次优质留言
reportScore = projectPlatform.OnceMoreHighQuality
score = projectPlatform.OnceMoreHighQuality
appScoreTypeStr = "互动病例-优质留言"
superScoreTypeStr = "调研奖励(社区贡献)"
nodeName = "优质留言"
}
// 检测白名单-无需检测白名单
var isWhite bool
if projectPlatform.IsWhite == 1 {
projectPlatformWhiteService := ProjectPlatformWhiteService{}
isWhite, err = projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(user, projectId, platformId)
if err != nil {
return err
}
}
// 当用户为非白名单时,重置积分数
if isWhite == false {
score = 0
}
recordScoreDao := dao.RecordScoreDao{}
// 检测是否有相同手机号用户
@ -191,7 +192,7 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId
UserName: user.UserName,
Type: scoreType,
NodeName: nodeName,
Score: reportScore,
Score: score,
}
recordScore, err = recordScoreDao.AddRecordScore(tx, recordScore)
@ -211,20 +212,20 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId
}
// 累计用户领取积分数据
err = caseUserDao.Inc(tx, caseUser.CaseUserId, "total_score", reportScore)
err = caseUserDao.Inc(tx, caseUser.CaseUserId, "total_score", score)
if err != nil {
return err
}
// 累计平台发放积分数据
err = casePlatformDao.Inc(tx, casePlatform.CasePlatformId, "issued_score", reportScore)
err = casePlatformDao.Inc(tx, casePlatform.CasePlatformId, "issued_score", score)
if err != nil {
return err
}
// 累计发放积分数据
caseDao := dao.CaseDao{}
err = caseDao.Inc(tx, caseId, "issued_score", reportScore)
err = caseDao.Inc(tx, caseId, "issued_score", score)
if err != nil {
return err
}
@ -235,8 +236,8 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId
}
// 肝胆相照
if platformId == 1 && reportScore > 0 {
_, err = app.ReportUserScore(appScoreTypeStr, user.UserIden, reportScore)
if platformId == 1 && score > 0 {
_, err = app.ReportUserScore(appScoreTypeStr, user.UserIden, score)
if err != nil {
return err
}