Compare commits

..

No commits in common. "db436c4faa448b3480560fb363cae9635e7bbeb7" and "781365ea4ac106117648e0545626e064cfcbd146" have entirely different histories.

3 changed files with 25 additions and 47 deletions

View File

@ -150,9 +150,6 @@ func (r *CaseUserDao) GetCaseUserPageSearch(req requests.GetStatsCaseUserPage, p
// 用户
query = query.Preload("User")
// 病例
query = query.Preload("Case")
// 用户医院
query = query.Preload("User.Hospital")

View File

@ -2,7 +2,6 @@ package dto
import (
"case-admin-api/api/model"
"case-admin-api/api/service"
"case-admin-api/utils"
"fmt"
)
@ -26,7 +25,6 @@ type CaseUserDto struct {
DepartmentName string `json:"department_name"` // 科室
Title string `json:"title"` // 职称
UserName string `json:"user_name"` // 用户名称
UserIsWhite int `json:"user_is_white"` // 用户是否白名单0:否 1:是)
}
// GetCaseUserListDto 列表
@ -71,9 +69,6 @@ func GetCaseUserListDto(m []*model.CaseUser) []*CaseUserDto {
response = response.LoadHospitalName(v.User.Hospital)
}
// 加载数据-用户白名单
response = response.LoadUserIsWhite(v.User, v.Case, v.Platform)
}
// 将转换后的结构体添加到新切片中
@ -137,16 +132,3 @@ func (r *CaseUserDto) LoadHospitalName(m *model.BasicHospital) *CaseUserDto {
return r
}
// LoadUserIsWhite 加载数据-用户白名单
func (r *CaseUserDto) LoadUserIsWhite(m *model.User, c *model.Case, p *model.Platform) *CaseUserDto {
if m != nil && c != nil && p != nil {
projectPlatformWhiteService := service.ProjectPlatformWhiteService{}
isWhite, _ := projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(m, c.ProjectId, p.PlatformId)
if isWhite {
r.UserIsWhite = 1
}
}
return r
}

View File

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