From ebe4396271f929a965b300777e0280d6fba05d67 Mon Sep 17 00:00:00 2001 From: zhangwei <894646498@qq.com> Date: Wed, 6 Sep 2023 16:30:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2p=E7=AB=AF=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 122ec3afc0bbbf153e44ffcda2b94df514c7d618 --- .../handler/core/participantlisthandler.go | 17 +++++++++ .../logic/core/participantlistlogic.go | 35 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 api/internal/handler/core/participantlisthandler.go create mode 100644 api/internal/logic/core/participantlistlogic.go diff --git a/api/internal/handler/core/participantlisthandler.go b/api/internal/handler/core/participantlisthandler.go new file mode 100644 index 00000000..91bfd19a --- /dev/null +++ b/api/internal/handler/core/participantlisthandler.go @@ -0,0 +1,17 @@ +package core + +import ( + "gitlink.org.cn/jcce-pcm/utils/result" + "net/http" + + "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/core" + "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc" +) + +func ParticipantListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + l := core.NewParticipantListLogic(r.Context(), svcCtx) + resp, err := l.ParticipantList() + result.HttpResult(r, w, resp, err) + } +} diff --git a/api/internal/logic/core/participantlistlogic.go b/api/internal/logic/core/participantlistlogic.go new file mode 100644 index 00000000..c84cd855 --- /dev/null +++ b/api/internal/logic/core/participantlistlogic.go @@ -0,0 +1,35 @@ +package core + +import ( + "context" + "github.com/zeromicro/go-zero/core/logx" + "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types" + "gitlink.org.cn/jcce-pcm/utils/tool" +) + +type ParticipantListLogic struct { + logx.Logger + ctx context.Context + svcCtx *svc.ServiceContext +} + +func NewParticipantListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ParticipantListLogic { + return &ParticipantListLogic{ + Logger: logx.WithContext(ctx), + ctx: ctx, + svcCtx: svcCtx, + } +} + +func (l *ParticipantListLogic) ParticipantList() (resp *types.ParticipantListResp, err error) { + var participants []types.Participant + + tx := l.svcCtx.DbEngin.Raw("SELECT ppi.id,ppi.name,ppi.address,ppi.metrics_url ,ti.tenant_name,(CASE ppi.type WHEN '0' THEN '数算' WHEN '1' THEN '智算' WHEN '2' THEN '超算' ELSE '' END) as type_name from sc_participant_phy_info ppi LEFT JOIN sc_tenant_info ti on ti.id = ppi.tenant_id where ppi.deleted_flag = '0'").Scan(&participants) + if tx.Error != nil { + return nil, tx.Error + } + result := types.ParticipantListResp{} + tool.Convert(participants, &result.Participants) + return &result, nil +}