优质留言

This commit is contained in:
haomingming 2025-10-11 13:52:39 +08:00
parent 54b66ed80a
commit 8fab74e064
2 changed files with 19 additions and 19 deletions

View File

@ -271,7 +271,7 @@ func (b *CaseComment) AddCaseCommentHighQuality(c *gin.Context) {
// 发放积分-优质留言-1010 修改 // 发放积分-优质留言-1010 修改
userService := service.UserService{} 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 { if err != nil {
tx.Rollback() tx.Rollback()
responses.FailWithMessage(err.Error(), c) responses.FailWithMessage(err.Error(), c)

View File

@ -63,7 +63,7 @@ func (r *UserService) HandleUserImage(wxAvatar string) (ossPath string, err erro
// ReportUserScore 发放积分 // ReportUserScore 发放积分
// scoreType : 积分类型1:完成阅读 2:阅读时间满足 3:优质留言 4:再次优质留言 // 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{}) maps := make(map[string]interface{})
// // 获取项目关联平台 // // 获取项目关联平台
// projectPlatformDao := dao.ProjectPlatformDao{} // projectPlatformDao := dao.ProjectPlatformDao{}
@ -119,7 +119,7 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId
maps["mobile_encryption"] = user.MobileEncryption maps["mobile_encryption"] = user.MobileEncryption
users, err := userDao.GetUserList(maps) users, err := userDao.GetUserList(maps)
if err != nil { if err != nil {
return nil return user,nil
} }
for _, m := range users { for _, m := range users {
// 检测积分是否已在其他平台发放过 // 检测积分是否已在其他平台发放过
@ -147,7 +147,7 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId
recordScore, _ = recordScoreDao.GetRecordScore(maps) recordScore, _ = recordScoreDao.GetRecordScore(maps)
if recordScore != nil { 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 maps["platform_id"] = platformId
projectPlatform, err := projectPlatformDao.GetProjectPlatform(maps) projectPlatform, err := projectPlatformDao.GetProjectPlatform(maps)
if err != nil { if err != nil {
return err return user,err
} }
// 检测福利开关 // 检测福利开关
if projectPlatform.IsWelfare == 0 { 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{} projectPlatformWhiteService := ProjectPlatformWhiteService{}
isWhite, err = projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(user, projectId, platformId) isWhite, err = projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(user, projectId, platformId)
if err != nil { 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 maps["platform_id"] = platformId
casePlatform, err := casePlatformDao.GetCasePlatform(maps) casePlatform, err := casePlatformDao.GetCasePlatform(maps)
if err != nil { if err != nil {
return err return user,err
} }
// 检测全部积分是否已发放完毕 // 检测全部积分是否已发放完毕
remainingScore := projectPlatform.SingleCaseScore - casePlatform.IssuedScore remainingScore := projectPlatform.SingleCaseScore - casePlatform.IssuedScore
if remainingScore <= 0 { 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) recordScore, err = recordScoreDao.AddRecordScore(tx, recordScore)
if err != nil { 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 maps["user_id"] = user.UserId
caseUser, _ := caseUserDao.GetCaseUserUseTx(tx, maps) caseUser, _ := caseUserDao.GetCaseUserUseTx(tx, maps)
if caseUser == nil { if caseUser == nil {
return errors.New("用户还未完成该病例阅读,请稍后再试") return user,errors.New("用户还未完成该病例阅读,请稍后再试")
} }
// 累计用户领取积分数据 // 累计用户领取积分数据
err = caseUserDao.Inc(tx, caseUser.CaseUserId, "total_score", score) err = caseUserDao.Inc(tx, caseUser.CaseUserId, "total_score", score)
if err != nil { if err != nil {
return err return user,err
} }
// 累计平台发放积分数据 // 累计平台发放积分数据
err = casePlatformDao.Inc(tx, casePlatform.CasePlatformId, "issued_score", score) err = casePlatformDao.Inc(tx, casePlatform.CasePlatformId, "issued_score", score)
if err != nil { if err != nil {
return err return user,err
} }
// 累计发放积分数据 // 累计发放积分数据
caseDao := dao.CaseDao{} caseDao := dao.CaseDao{}
err = caseDao.Inc(tx, caseId, "issued_score", score) err = caseDao.Inc(tx, caseId, "issued_score", score)
if err != nil { if err != nil {
return err return user,err
} }
// 发放积分- // 发放积分-
if platformId != 1 && platformId != 2 { if platformId != 1 && platformId != 2 {
return errors.New("积分发放失败") return user,errors.New("积分发放失败")
} }
// 肝胆相照 // 肝胆相照
if platformId == 1 && score > 0 { if platformId == 1 && score > 0 {
_, err = app.ReportUserScore(appScoreTypeStr, user.UserIden, score) _, err = app.ReportUserScore(appScoreTypeStr, user.UserIden, score)
if err != nil { 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{} caseDao := dao.CaseDao{}
result, err := caseDao.GetCaseById(caseId) result, err := caseDao.GetCaseById(caseId)
if err != nil { if err != nil {
return err return user,err
} }
_, err = superKangaroo.ReportUserScore(caseId, user.UserIden, superScoreTypeStr, recordScore, result) _, err = superKangaroo.ReportUserScore(caseId, user.UserIden, superScoreTypeStr, recordScore, result)
if err != nil { if err != nil {
return err return user,err
} }
} }
return nil return user,nil
} }
// ReportCaseRecord 上报用户参与情况-只上报优质留言 // ReportCaseRecord 上报用户参与情况-只上报优质留言