From 179ce30a7cde5dbf1478e41c2b1c4a1118dc5a5d Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Thu, 13 Mar 2025 17:06:30 +0800 Subject: [PATCH 1/3] 13444 --- api/controller/Res.go | 15 +++++++++++++++ api/dto/Res.go | 11 ++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/api/controller/Res.go b/api/controller/Res.go index d767ad9..5541bb7 100644 --- a/api/controller/Res.go +++ b/api/controller/Res.go @@ -6,6 +6,7 @@ import ( "case-open-api/api/requests" "case-open-api/api/responses" "case-open-api/api/service" + "case-open-api/config" "case-open-api/global" "case-open-api/utils" "fmt" @@ -115,6 +116,20 @@ func (b *Res) GetResCaseList(c *gin.Context) { // 处理返回值 g := dto.GetCaseResListDto(cases) + // 获取平台数据 + platformDao := dao.PlatformDao{} + platform, err := platformDao.GetPlatformById(platformId) + if err != nil { + responses.FailWithMessage(err.Error(), 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) + } + responses.OkWithData(g, c) } diff --git a/api/dto/Res.go b/api/dto/Res.go index d18ccf1..609aec4 100644 --- a/api/dto/Res.go +++ b/api/dto/Res.go @@ -2,7 +2,6 @@ package dto import ( "case-open-api/api/model" - "case-open-api/config" "case-open-api/utils" "fmt" ) @@ -138,9 +137,6 @@ func GetCaseResListDto(m []*model.Case) []*ResCaseDto { StarTime: v.CreatedAt, } - // 加载访问链接 - response.LoadLink(v) - // 将转换后的结构体添加到新切片中 responses[i] = response } @@ -174,11 +170,8 @@ func (r *ResProjectDto) LoadIsRecentlyUpdate(m *model.Case) *ResProjectDto { } // LoadLink 加载访问链接 -func (r *ResCaseDto) LoadLink(m *model.Case) *ResCaseDto { - if m != nil { - link := config.C.DomainName + "/caseIntro" + "?project_id=" + fmt.Sprintf("%d", m.ProjectId) + "&source=3" + "&platform_key=opf$di!3" + "&case_id=" + fmt.Sprintf("%d", m.CaseId) - r.Url = link - } +func (r *ResCaseDto) LoadLink(link string) *ResCaseDto { + r.Url = link return r } From b8c2d5d1038902a9ef18c24bad7b995ad0d3a859 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 14 Mar 2025 15:28:35 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E6=8A=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/Res.go | 53 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 5 deletions(-) diff --git a/api/controller/Res.go b/api/controller/Res.go index 5541bb7..2e9e159 100644 --- a/api/controller/Res.go +++ b/api/controller/Res.go @@ -13,6 +13,7 @@ import ( "github.com/gin-gonic/gin" "math" "strconv" + "strings" "time" ) @@ -263,10 +264,6 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { } if v3.Type == 3 { - response.Credit3 = v3.Score - } - - if v3.Type == 4 { response.Credit4 = v3.Score } } @@ -288,11 +285,57 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { // 题目 if len(caseUserAnswers) > 0 { + caseItemQuestionOptionDao := dao.CaseItemQuestionOptionDao{} response.QuestionAnswer = make([]*dto.QuestionAnswerDto, len(caseUserAnswers)) for i2, records := range caseUserAnswers { + var answerValues []string + + if records.CaseItemQuestion.QuestionType != 3 { + // 获取对应题目选项 + maps = make(map[string]interface{}) + maps["question_id"] = records.QuestionId + caseItemQuestionOptions, _ := caseItemQuestionOptionDao.GetCaseItemQuestionOptionList(maps) + + answers := strings.Split(records.Answer, "") + for _, answer := range answers { + if answer == "A" { + // 判断题 + if records.CaseItemQuestion.QuestionType == 4 { + answerValues = append(answerValues, "正确") + } else { + if len(caseItemQuestionOptions) >= 1 { + answerValues = append(answerValues, caseItemQuestionOptions[0].OptionValue) + } + } + } + + if answer == "B" { + if records.CaseItemQuestion.QuestionType == 4 { + answerValues = append(answerValues, "错误") + } else { + if len(caseItemQuestionOptions) >= 2 { + answerValues = append(answerValues, caseItemQuestionOptions[1].OptionValue) + } + } + } + + if answer == "C" { + if len(caseItemQuestionOptions) >= 3 { + answerValues = append(answerValues, caseItemQuestionOptions[2].OptionValue) + } + } + + if answer == "D" { + if len(caseItemQuestionOptions) >= 4 { + answerValues = append(answerValues, caseItemQuestionOptions[3].OptionValue) + } + } + } + } + questionAnswerDto := &dto.QuestionAnswerDto{ Question: records.CaseItemQuestion.QuestionName, - Answer: records.Answer, + Answer: strings.Join(answerValues, "|"), Correct: false, Order: i2 + 1, } From fec81e9e74d829fa734caf4ebb4299e2c95f605a Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 14 Mar 2025 16:05:24 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E6=8A=A5=E9=97=AE=E9=A2=981?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/Res.go | 36 +++++++++--------------------------- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/api/controller/Res.go b/api/controller/Res.go index 2e9e159..d929abd 100644 --- a/api/controller/Res.go +++ b/api/controller/Res.go @@ -229,8 +229,8 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { Beizhu: "", OpenId: "", Title: v.Case.CaseName, - NickName: v.User.UserName, - RealName: v.User.UserName, + NickName: utils.MaskNameStr(v.User.UserName, 2), + RealName: utils.MaskNameStr(v.User.UserName, 2), Mobile: v.User.MobileEncryption, Hos2: v.User.DepartmentName, // 科室 Job: utils.DoctorTitleToString(v.User.Title), @@ -298,36 +298,18 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { answers := strings.Split(records.Answer, "") for _, answer := range answers { - if answer == "A" { - // 判断题 - if records.CaseItemQuestion.QuestionType == 4 { + if records.CaseItemQuestion.QuestionType == 4 { + if answer == "A" { answerValues = append(answerValues, "正确") - } else { - if len(caseItemQuestionOptions) >= 1 { - answerValues = append(answerValues, caseItemQuestionOptions[0].OptionValue) - } } - } - if answer == "B" { - if records.CaseItemQuestion.QuestionType == 4 { + if answer == "B" { answerValues = append(answerValues, "错误") - } else { - if len(caseItemQuestionOptions) >= 2 { - answerValues = append(answerValues, caseItemQuestionOptions[1].OptionValue) - } } - } - - if answer == "C" { - if len(caseItemQuestionOptions) >= 3 { - answerValues = append(answerValues, caseItemQuestionOptions[2].OptionValue) - } - } - - if answer == "D" { - if len(caseItemQuestionOptions) >= 4 { - answerValues = append(answerValues, caseItemQuestionOptions[3].OptionValue) + } else { + answerNumber := int(answer[0] - 'A') + if len(caseItemQuestionOptions) >= answerNumber { + answerValues = append(answerValues, caseItemQuestionOptions[answerNumber].OptionValue) } } }