From 1b835c09e19cb4bb1319ca633b4471d85f528c19 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 14 Mar 2025 17:48:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=98=AF=E5=90=A6=E5=B7=B2?= =?UTF-8?q?=E5=8F=82=E4=B8=8E=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/dao/Case.go | 20 ++++++++++++++------ log/case-api.log | 4 ++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/api/dao/Case.go b/api/dao/Case.go index f769785..ce4a781 100644 --- a/api/dao/Case.go +++ b/api/dao/Case.go @@ -155,19 +155,27 @@ func (r *CaseDao) GetCasePageSearch(req requests.GetCasePage, page, pageSize int // 是否已参与(0:全部 1:已参与 2:未参与) if req.IsTakePart == 1 { + var userIds []int64 + global.Db.Model(&model.User{}). + Select("user_id"). + Where("mobile_encryption = (SELECT mobile_encryption FROM user WHERE user_id = ?)", req.UserId). + Find(&userIds) + caseUserSubQuery := global.Db.Model(&model.CaseUser{}). - Where("case_user.case_id = case.case_id"). - Where("case_user.platform_id = ?", req.PlatformId). - Where("case_user.user_id = ?", req.UserId) + Where("case_user.user_id IN (?)", userIds) query = query.Where("EXISTS (?)", caseUserSubQuery) } if req.IsTakePart == 2 { + var userIds []int64 + global.Db.Model(&model.User{}). + Select("user_id"). + Where("mobile_encryption = (SELECT mobile_encryption FROM user WHERE user_id = ?)", req.UserId). + Find(&userIds) + caseUserSubQuery := global.Db.Model(&model.CaseUser{}). - Where("case_user.case_id = case.case_id"). - Where("case_user.platform_id = ?", req.PlatformId). - Where("case_user.user_id = ?", req.UserId) + Where("case_user.user_id IN (?)", userIds) query = query.Where("NOT EXISTS (?)", caseUserSubQuery) } diff --git a/log/case-api.log b/log/case-api.log index c236c3f..9554662 100755 --- a/log/case-api.log +++ b/log/case-api.log @@ -41,3 +41,7 @@ time="2025-03-14 17:26:02" level=info msg=access http_status=200 ip=127.0.0.1 me time="2025-03-14 17:28:31" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[case_id:1900109888462262272 page:1 page_size:10 project_id:1900109848129835008]" total_time=1.728900042s uri="/comment/page?case_id=1900109888462262272&project_id=1900109848129835008&page=1&page_size=10" time="2025-03-14 17:30:27" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[case_id:1900109888462262272 page:1 page_size:10 project_id:1900109848129835008]" total_time=1m1.229424709s uri="/comment/page?case_id=1900109888462262272&project_id=1900109848129835008&page=1&page_size=10" time="2025-03-14 17:33:44" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[case_id:1900109888462262272 page:1 page_size:10 project_id:1900109848129835008]" total_time=1.669419333s uri="/comment/page?case_id=1900109888462262272&project_id=1900109848129835008&page=1&page_size=10" +time="2025-03-14 17:47:10" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[is_take_part:2 project_id:1900107510614855680]" total_time=745.338792ms uri="/case/page?project_id=1900107510614855680&is_take_part=2" +time="2025-03-14 17:47:37" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[is_take_part:2 project_id:1900107510614855680]" total_time=787.052625ms uri="/case/page?project_id=1900107510614855680&is_take_part=2" +time="2025-03-14 17:47:58" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[is_take_part:2 project_id:1900107510614855680]" total_time=416.591833ms uri="/case/page?project_id=1900107510614855680&is_take_part=2" +time="2025-03-14 17:48:15" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[is_take_part:2 project_id:1900107510614855680]" total_time=413.925542ms uri="/case/page?project_id=1900107510614855680&is_take_part=2"