病例列表增加了医生加密手机号查询,增加了剩余积分和是否还有福利的字段

This commit is contained in:
2025-07-03 09:13:30 +08:00
parent f54e6a337b
commit dd2530e819
5 changed files with 82 additions and 8 deletions
+55
View File
@@ -3,6 +3,7 @@ package controller
import (
"case-open-api/api/dao"
"case-open-api/api/dto"
"case-open-api/api/model"
"case-open-api/api/requests"
"case-open-api/api/responses"
"case-open-api/api/service"
@@ -117,6 +118,37 @@ func (b *Res) GetResCaseList(c *gin.Context) {
// 处理返回值
g := dto.GetCaseResListDto(cases)
var users []*model.User
// 检测用户是否参与过
if req.MobileEncryption != "" {
// 获取全部相同手机号
userDao := dao.UserDao{}
maps := make(map[string]interface{})
maps["mobile_encryption"] = req.MobileEncryption
users, err = userDao.GetUserList(maps)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
caseUserDao := dao.CaseUserDao{}
// 存在相同手机号用户
for _, user := range users {
for _, caseDto := range g {
// 检测积分是否已在其他平台发放过
maps = make(map[string]interface{})
maps["case_id"] = caseDto.SId
maps["user_id"] = user.UserId
caseUser, _ := caseUserDao.GetCaseUser(maps)
if caseUser != nil {
caseDto.IsJoin = true
}
}
}
}
// 获取平台数据
platformDao := dao.PlatformDao{}
platform, err := platformDao.GetPlatformById(platformId)
@@ -125,10 +157,33 @@ func (b *Res) GetResCaseList(c *gin.Context) {
return
}
// 获取该平台全部关联项目
projectPlatformDao := dao.ProjectPlatformDao{}
maps := make(map[string]interface{})
maps["platform_id"] = platformId
projectPlatforms, _ := projectPlatformDao.GetProjectPlatformList(maps)
if len(projectPlatforms) <= 0 {
responses.FailWithMessage("数据异常", c)
return
}
for _, caseDto := range g {
// 加载访问链接
link := config.C.DomainName + "/caseIntro" + "?project_id=" + caseDto.ProjectId + "&source=3" + "&platform_key=" + platform.PlatformKey + "&case_id=" + caseDto.SId
caseDto.LoadLink(link)
for _, m := range projectPlatforms {
projectId := fmt.Sprintf("%d", m.ProjectId)
if projectId == caseDto.ProjectId {
if m.IsWelfare == 1 {
// 单个病例总积分-单个病例已发放积分
diffScore := m.SingleCaseScore - caseDto.IssuedScore
if diffScore > 0 {
caseDto.IsWelfare = true
}
}
}
}
}
responses.OkWithData(g, c)