病例列表增加了医生加密手机号查询,增加了剩余积分和是否还有福利的字段
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user