From db436c4faa448b3480560fb363cae9635e7bbeb7 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Thu, 13 Mar 2025 14:47:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E6=94=BE=E7=A7=AF=E5=88=86=E7=97=85?= =?UTF-8?q?=E4=BE=8B=E7=99=BD=E5=90=8D=E5=8D=95=E9=97=AE=E9=A2=98=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/service/User.go | 51 +++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/api/service/User.go b/api/service/User.go index fcf2fff..6241885 100644 --- a/api/service/User.go +++ b/api/service/User.go @@ -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 }