package agent import ( "context" "wechat-api/ent" "wechat-api/ent/agent" "wechat-api/internal/svc" "wechat-api/internal/types" "wechat-api/internal/utils/dberrorhandler" "github.com/suyuan32/simple-admin-common/msg/errormsg" "github.com/suyuan32/simple-admin-common/utils/pointy" "github.com/zeromicro/go-zero/core/logx" ) type GetAgentByIdLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewGetAgentByIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAgentByIdLogic { return &GetAgentByIdLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } func (l *GetAgentByIdLogic) GetAgentById(req *types.IDReq) (*types.AgentInfoResp, error) { organizationId := l.ctx.Value("organizationId").(uint64) data, err := l.svcCtx.DB.Agent.Query().Where(agent.ID(req.Id), agent.OrganizationID(organizationId)).First(l.ctx) if err != nil && !ent.IsNotFound(err) { return nil, dberrorhandler.DefaultEntError(l.Logger, err, req) } return &types.AgentInfoResp{ BaseDataInfo: types.BaseDataInfo{ Code: 0, Msg: errormsg.Success, }, Data: types.AgentInfo{ BaseIDInfo: types.BaseIDInfo{ Id: &data.ID, CreatedAt: pointy.GetPointer(data.CreatedAt.UnixMilli()), UpdatedAt: pointy.GetPointer(data.UpdatedAt.UnixMilli()), }, Name: &data.Name, Role: &data.Role, Status: &data.Status, Background: &data.Background, Examples: &data.Examples, DatasetId: &data.DatasetID, CollectionId: &data.CollectionID, }, }, nil }