|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
-
- Copyright (c) [2023] [pcm]
- [pcm-coordinator] is licensed under Mulan PSL v2.
- You can use this software according to the terms and conditions of the Mulan PSL v2.
- You may obtain a copy of Mulan PSL v2 at:
- http://license.coscl.org.cn/MulanPSL2
- THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
- EITHER EXPaRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
- MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
- See the Mulan PSL v2 for more details.
-
- */
-
- package storelink
-
- import (
- "context"
- "github.com/zeromicro/go-zero/core/logx"
- "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/storeLink"
- "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/svc"
- "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types"
- "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models"
- )
-
- type GetAISpecsLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
-
- func NewGetAISpecsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAISpecsLogic {
- return &GetAISpecsLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
-
- func (l *GetAISpecsLogic) GetAISpecs(req *types.GetResourceSpecsReq) (resp *types.GetResourceSpecsResp, err error) {
- participant := storeLink.GetParticipantById(req.PartId, l.svcCtx.DbEngin)
- if *participant == (models.StorelinkCenter{}) {
- resp = &types.GetResourceSpecsResp{}
- resp.Success = false
- resp.ResourceSpecs = nil
- resp.ErrorMsg = "partId不存在"
- return resp, nil
- }
-
- storelink := storeLink.NewStoreLink(l.svcCtx, participant)
- if storelink == nil {
- return nil, nil
- }
-
- specs, err := storelink.ILinkage.QuerySpecs(l.ctx)
- if err != nil {
- return nil, err
- }
- if specs == nil {
- return nil, storeLink.ERROR_RESP_EMPTY
- }
-
- resp = &types.GetResourceSpecsResp{}
- //转换成统一返回类型
- specsResp, err := storeLink.ConvertType(specs, resp, participant)
- if err != nil {
- return nil, err
- }
- if specsResp == nil {
- return nil, storeLink.ERROR_CONVERT_EMPTY
- }
-
- return specsResp.(*types.GetResourceSpecsResp), nil
- }
|