diff --git a/api/controller/CaseComment.go b/api/controller/CaseComment.go index 78fc899..c5484af 100644 --- a/api/controller/CaseComment.go +++ b/api/controller/CaseComment.go @@ -271,7 +271,7 @@ func (b *CaseComment) AddCaseCommentHighQuality(c *gin.Context) { // 发放积分-优质留言-1010 修改 userService := service.UserService{} - err = userService.ReportUserScore(tx, result.ProjectId, caseComment.CaseId, caseComment.PlatformId, scoreType, user) + user,err = userService.ReportUserScore(tx, result.ProjectId, caseComment.CaseId, caseComment.PlatformId, scoreType, user) if err != nil { tx.Rollback() responses.FailWithMessage(err.Error(), c) diff --git a/api/service/User.go b/api/service/User.go index c528fd7..976c348 100644 --- a/api/service/User.go +++ b/api/service/User.go @@ -63,7 +63,7 @@ func (r *UserService) HandleUserImage(wxAvatar string) (ossPath string, err erro // ReportUserScore 发放积分 // scoreType : 积分类型(1:完成阅读 2:阅读时间满足 3:优质留言 4:再次优质留言 ) -func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId int64, scoreType int, user *model.User) (err error) { +func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId int64, scoreType int, user *model.User) (reportUser *model.User, err error) { maps := make(map[string]interface{}) // // 获取项目关联平台 // projectPlatformDao := dao.ProjectPlatformDao{} @@ -119,7 +119,7 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId maps["mobile_encryption"] = user.MobileEncryption users, err := userDao.GetUserList(maps) if err != nil { - return nil + return user,nil } for _, m := range users { // 检测积分是否已在其他平台发放过 @@ -147,7 +147,7 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId recordScore, _ = recordScoreDao.GetRecordScore(maps) if recordScore != nil { // 积分已发放过 - return nil + return user,nil } } @@ -159,13 +159,13 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId maps["platform_id"] = platformId projectPlatform, err := projectPlatformDao.GetProjectPlatform(maps) if err != nil { - return err + return user,err } // 检测福利开关 if projectPlatform.IsWelfare == 0 { // 福利未开 - return nil + return user,nil } // 获取需发放积分 @@ -206,7 +206,7 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId projectPlatformWhiteService := ProjectPlatformWhiteService{} isWhite, err = projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(user, projectId, platformId) if err != nil { - return err + return user,err } } @@ -223,14 +223,14 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId maps["platform_id"] = platformId casePlatform, err := casePlatformDao.GetCasePlatform(maps) if err != nil { - return err + return user,err } // 检测全部积分是否已发放完毕 remainingScore := projectPlatform.SingleCaseScore - casePlatform.IssuedScore if remainingScore <= 0 { // 积分已发放完毕 - return nil + return user,nil } // 新增发放记录-每发一次记录一次 @@ -247,7 +247,7 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId recordScore, err = recordScoreDao.AddRecordScore(tx, recordScore) if err != nil { - return err + return user,err } // 获取用户参与记录 @@ -258,38 +258,38 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId maps["user_id"] = user.UserId caseUser, _ := caseUserDao.GetCaseUserUseTx(tx, maps) if caseUser == nil { - return errors.New("用户还未完成该病例阅读,请稍后再试") + return user,errors.New("用户还未完成该病例阅读,请稍后再试") } // 累计用户领取积分数据 err = caseUserDao.Inc(tx, caseUser.CaseUserId, "total_score", score) if err != nil { - return err + return user,err } // 累计平台发放积分数据 err = casePlatformDao.Inc(tx, casePlatform.CasePlatformId, "issued_score", score) if err != nil { - return err + return user,err } // 累计发放积分数据 caseDao := dao.CaseDao{} err = caseDao.Inc(tx, caseId, "issued_score", score) if err != nil { - return err + return user,err } // 发放积分- if platformId != 1 && platformId != 2 { - return errors.New("积分发放失败") + return user,errors.New("积分发放失败") } // 肝胆相照 if platformId == 1 && score > 0 { _, err = app.ReportUserScore(appScoreTypeStr, user.UserIden, score) if err != nil { - return err + return user,err } } @@ -299,16 +299,16 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId caseDao := dao.CaseDao{} result, err := caseDao.GetCaseById(caseId) if err != nil { - return err + return user,err } _, err = superKangaroo.ReportUserScore(caseId, user.UserIden, superScoreTypeStr, recordScore, result) if err != nil { - return err + return user,err } } - return nil + return user,nil } // ReportCaseRecord 上报用户参与情况-只上报优质留言