| @@ -790,7 +790,14 @@ type ( | |||||
| CreateTime string `json:"createTime,omitempty" db:"create_time" gorm:"autoCreateTime"` | CreateTime string `json:"createTime,omitempty" db:"create_time" gorm:"autoCreateTime"` | ||||
| } | } | ||||
| AdapterResp { | AdapterResp { | ||||
| Data AdapterInfo `json:"data,omitempty"` | |||||
| Id string `json:"id,omitempty" db:"id"` | |||||
| Name string `json:"name,omitempty" db:"name"` | |||||
| Type string `json:"type,omitempty" db:"type"` | |||||
| ResourceType string `json:"resourceType,omitempty" db:"resource_type"` | |||||
| Nickname string `json:"nickname,omitempty" db:"nickname"` | |||||
| Version string `json:"version,omitempty" db:"version"` | |||||
| Server string `json:"server,omitempty" db:"server"` | |||||
| CreateTime string `json:"createTime,omitempty" db:"create_time" gorm:"autoCreateTime"` | |||||
| } | } | ||||
| AdapterListResp { | AdapterListResp { | ||||
| List []AdapterInfo `json:"list,omitempty"` | List []AdapterInfo `json:"list,omitempty"` | ||||
| @@ -27,11 +27,14 @@ func NewCreateAdapterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Cre | |||||
| func (l *CreateAdapterLogic) CreateAdapter(req *types.AdapterCreateReq) (resp *types.AdapterResp, err error) { | func (l *CreateAdapterLogic) CreateAdapter(req *types.AdapterCreateReq) (resp *types.AdapterResp, err error) { | ||||
| adapter := types.AdapterInfo{} | adapter := types.AdapterInfo{} | ||||
| existAdapter := types.AdapterResp{} | |||||
| resp = &types.AdapterResp{} | |||||
| utils.Convert(req, &adapter) | utils.Convert(req, &adapter) | ||||
| //check name | //check name | ||||
| exist := l.svcCtx.DbEngin.Table("t_adapter").Where("name = ?", req.Name).First(&types.AdapterInfo{}).Error | |||||
| exist := l.svcCtx.DbEngin.Table("t_adapter").Where("name = ?", req.Name).First(&existAdapter).Error | |||||
| if !errors.Is(exist, gorm.ErrRecordNotFound) { | if !errors.Is(exist, gorm.ErrRecordNotFound) { | ||||
| return nil, errors.New("name already exists") | |||||
| resp = &existAdapter | |||||
| return resp, errors.New("name already exists") | |||||
| } | } | ||||
| //check type | //check type | ||||
| var arr = [...]string{"0", "1", "2"} | var arr = [...]string{"0", "1", "2"} | ||||
| @@ -60,8 +63,10 @@ func (l *CreateAdapterLogic) CreateAdapter(req *types.AdapterCreateReq) (resp *t | |||||
| adapter.CreateTime = time.Now().Format("2006-01-02 15:04:05") | adapter.CreateTime = time.Now().Format("2006-01-02 15:04:05") | ||||
| result := l.svcCtx.DbEngin.Table("t_adapter").Create(&adapter) | result := l.svcCtx.DbEngin.Table("t_adapter").Create(&adapter) | ||||
| if result.Error != nil { | if result.Error != nil { | ||||
| return nil, result.Error | |||||
| return resp, result.Error | |||||
| } | } | ||||
| return | |||||
| _ = l.svcCtx.DbEngin.Table("t_adapter").Where("name = ?", req.Name).First(&existAdapter).Error | |||||
| resp = &existAdapter | |||||
| return resp, nil | |||||
| } | } | ||||
| @@ -722,7 +722,14 @@ type AdapterInfo struct { | |||||
| } | } | ||||
| type AdapterResp struct { | type AdapterResp struct { | ||||
| Data AdapterInfo `json:"data,omitempty"` | |||||
| Id string `json:"id,omitempty" db:"id"` | |||||
| Name string `json:"name,omitempty" db:"name"` | |||||
| Type string `json:"type,omitempty" db:"type"` | |||||
| ResourceType string `json:"resourceType,omitempty" db:"resource_type"` | |||||
| Nickname string `json:"nickname,omitempty" db:"nickname"` | |||||
| Version string `json:"version,omitempty" db:"version"` | |||||
| Server string `json:"server,omitempty" db:"server"` | |||||
| CreateTime string `json:"createTime,omitempty" db:"create_time" gorm:"autoCreateTime"` | |||||
| } | } | ||||
| type AdapterListResp struct { | type AdapterListResp struct { | ||||
| @@ -78,8 +78,18 @@ func HttpResult(r *http.Request, w http.ResponseWriter, resp interface{}, err er | |||||
| } | } | ||||
| logx.WithContext(r.Context()).Errorf("【API-ERR】 : %+v ", err) | logx.WithContext(r.Context()).Errorf("【API-ERR】 : %+v ", err) | ||||
| httpx.WriteJson(w, http.StatusBadRequest, Error(errcode, errmsg, r.Context())) | |||||
| // 判断如果err内容为"name already exists",则将resp作为body.Data的信息返回 | |||||
| if errmsg == "name already exists" { | |||||
| body := Body{ | |||||
| Code: 409, | |||||
| Msg: errmsg, | |||||
| TraceID: traceIDFromContext(r.Context()), | |||||
| Data: resp, | |||||
| } | |||||
| httpx.WriteJson(w, http.StatusBadRequest, body) | |||||
| } else { | |||||
| httpx.WriteJson(w, http.StatusBadRequest, Error(errcode, errmsg, r.Context())) | |||||
| } | |||||
| } | } | ||||
| } | } | ||||