diff --git a/grpc/handler_cet.go b/grpc/handler_cet.go new file mode 100644 index 0000000..29c9359 --- /dev/null +++ b/grpc/handler_cet.go @@ -0,0 +1,29 @@ +package grpc + +import ( + "context" + "encoding/json" + "log/slog" + + pb "schedule_converter/proto/runner" + + apperr "schedule_converter/pkg/errors" +) + +func (h *TaskHandler) getCET(ctx context.Context, payload []byte) ([]byte, error) { + var req pb.GetCetPayload + if err := unmarshalPayload(payload, &req); err != nil { + return nil, err + } + + log := slog.With("username", req.Username) + log.Info("获取四六级成绩任务") + + result, err := h.service.GetCET(ctx, &req) + if err != nil { + return nil, apperr.New("get_cet", err, "获取四六级成绩失败") + } + + log.Info("四六级成绩获取成功", "score_count", len(result.Scores)) + return json.Marshal(result) +}