houyaf 3 년 전
부모
커밋
b90963bbc9

+ 19 - 4
cache/redis.go

@@ -119,13 +119,28 @@ func GetBizObjectData(objectCode string)(*viewmodels.BizObjectDataInfo, error){
 	return bizObjectData, nil
 }
 
-func SetApiData(apiCode string, data *viewmodels.ApiInfo) error {
-	keyStr := fmt.Sprintf("api_%s", apiCode)
+func SetBizObjectOAMData(objectCode, oamCode string, data *viewmodels.BizObjectOAMInfo) error {
+	keyStr := fmt.Sprintf("oam_%s_%s", objectCode, oamCode)
 	return SetCache(keyStr, data, 0)
 }
 
-func GetApiData(apiCode string)(*viewmodels.ApiInfo, error){
-	keyStr := fmt.Sprintf("api_%s", apiCode)
+func GetBizObjectOAMData(objectCode, oamCode string)(*viewmodels.BizObjectOAMInfo, error){
+	keyStr := fmt.Sprintf("oam_%s_%s", objectCode, oamCode)
+	oamData := &viewmodels.BizObjectOAMInfo{}
+	err := Instance().Get(context.Background(), keyStr).Scan(oamData)
+	if err != nil {
+		return nil, err
+	}
+	return oamData, nil
+}
+
+func SetApiData(objectCode, apiCode string, data *viewmodels.ApiInfo) error {
+	keyStr := fmt.Sprintf("api_%s_%s", objectCode, apiCode)
+	return SetCache(keyStr, data, 0)
+}
+
+func GetApiData(objectCode, apiCode string)(*viewmodels.ApiInfo, error){
+	keyStr := fmt.Sprintf("api_%s_%s", objectCode, apiCode)
 	apiData := &viewmodels.ApiInfo{}
 	err := Instance().Get(context.Background(), keyStr).Scan(apiData)
 	if err != nil {

+ 11 - 1
constant/constant.go

@@ -26,6 +26,16 @@ const (
 	PARTNER_ROLE_USER  = 9
 )
 
+const (
+	OAM_GET_ONE       = 1
+	OAM_GET_LIST      = 2
+	OAM_GET_PAGE      = 3
+	OAM_CREATE        = 4
+	OAM_UPDATE        = 5
+	OAM_PATCH         = 6
+	OAM_DELETE        = 7
+)
+
 // RetCode Result Code
 type RetCode int
 
@@ -39,4 +49,4 @@ type JsonResult struct {
 	Code RetCode     `json:"code"`
 	Msg  interface{} `json:"msg"`
 	Data interface{} `json:"data"`
-}
+}

+ 14 - 14
repositories/api_repo.go

@@ -23,21 +23,21 @@ func (d *ApiRepo) GetPage(m map[string]interface{}) (*viewmodels.PageResult, err
     page  := m["page"].(int)
     
     sqlSelect := ` SELECT    A.*,
-                             C.biz_title,
-                             D.object_title,
-                             D.object_code,
-                             D.object_type,
-                             E.oam_title,
-                             E.oam_type,
-                             E.oam_code,
-                             E.sql_type,
-                             E.sql_statement,
-                             E.sql_count,
-                             E.oam_desc `
+                             B.biz_title,
+                             C.object_title,
+                             C.object_code,
+                             C.object_type,
+                             D.oam_title,
+                             D.oam_type,
+                             D.oam_code,
+                             D.sql_type,
+                             D.sql_statement,
+                             D.sql_count,
+                             D.oam_desc `
     sqlFrom   := ` FROM      api            AS A
-                   LEFT JOIN biz            AS C ON (A.biz_id = C.biz_id)
-                   LEFT JOIN biz_object     AS D ON (A.biz_id = D.biz_id AND A.object_id = D.object_id)
-                   LEFT JOIN biz_object_oam AS E ON (A.biz_id = E.biz_id AND A.object_id = E.object_id AND A.oam_id = E.oam_id)`
+                   LEFT JOIN biz            AS B ON (A.biz_id = B.biz_id)
+                   LEFT JOIN biz_object     AS C ON (A.biz_id = C.biz_id AND A.object_id = C.object_id)
+                   LEFT JOIN biz_object_oam AS D ON (A.biz_id = D.biz_id AND A.object_id = D.object_id AND A.oam_id = D.oam_id)`
     sqlWhere  := ` WHERE  A.deleted_flag = 0  `
     if keywords, ok := m["keywords"]; ok {
         sqlWhere += ` AND A.api_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"

+ 21 - 9
repositories/biz_object_oam_repo.go

@@ -20,9 +20,14 @@ func NewBizObjectOAMRepo(engine *xorm.Engine) *BizObjectOAMRepo {
 }
 
 func (d *BizObjectOAMRepo) GetList(m map[string]interface{}) ([]viewmodels.BizObjectOAMInfo, error) {
-    sqlSelect  := ` SELECT A.*                 `
-    sqlFrom    := ` FROM  biz_object_oam  AS A  `
-    sqlWhere   := ` WHERE A.deleted_flag = 0   `
+    sqlSelect  := ` SELECT A.*,
+                           B.object_title,
+                           B.object_code,
+                           B.object_type `
+    sqlFrom    := ` FROM  biz_object_oam  AS A
+                    LEFT JOIN biz_object  AS B ON(A.biz_id = B.biz_id AND A.object_id = B.object_id) `
+    
+    sqlWhere   := ` WHERE A.deleted_flag = 0    `
     if bizId, ok := m["bizId"]; ok {
         sqlWhere += fmt.Sprintf(" AND A.biz_id = %d ", bizId)
     }
@@ -44,13 +49,20 @@ func (d *BizObjectOAMRepo) GetList(m map[string]interface{}) ([]viewmodels.BizOb
 }
 
 func (d *BizObjectOAMRepo) GetById(bizId, objectId, oamId int64) (*viewmodels.BizObjectOAMInfo, error) {
+    sqlSelect  := ` SELECT A.*,
+                           B.object_title,
+                           B.object_code,
+                           B.object_type `
+    sqlFrom    := ` FROM  biz_object_oam  AS A
+                    LEFT JOIN biz_object  AS B ON(A.biz_id = B.biz_id AND A.object_id = B.object_id) `
+    
+    sqlWhere   := ` WHERE A.deleted_flag = 0    `
+    sqlWhere   += fmt.Sprintf(" AND A.biz_id   = %d ", bizId)
+    sqlWhere   += fmt.Sprintf(" AND A.objectID = %d ", objectId)
+    sqlWhere   += fmt.Sprintf(" AND A.oam_id   = %d ", oamId)
     data    := &viewmodels.BizObjectOAMInfo{}
-    ok, err := d.engine.
-        Where("biz_id = ?", bizId).
-        Where("object_id = ?", objectId).
-        Where("oam_id = ?", oamId).
-        Get(data)
-    if !ok && err == nil {
+    has, err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere).Get(data)
+    if !has || err != nil {
         return nil, err
     } else {
         return data, nil

+ 34 - 62
service/api_gateway_service.go

@@ -8,14 +8,14 @@ import (
 )
 
 type ApiGatewayService interface {
-    Get(apiCode string, m map[string]interface{})(map[string]interface{}, error)
-    GetPage(apiCode string, m map[string]interface{})(*viewmodels.PageResult, error)
-    GetList(apiCode string, m map[string]interface{})([]map[string]interface{}, error)
-    
-    Create(apiCode string, m map[string]interface{})error
-    Update(apiCode string, m map[string]interface{})error
-    Patch(apiCode string, m map[string]interface{})error
-    Delete(apiCode string, m map[string]interface{})error
+    Get(objectCode, oamCode string, m map[string]interface{})(map[string]interface{}, error)
+    GetPage(objectCode, oamCode string, m map[string]interface{})(*viewmodels.PageResult, error)
+    GetList(objectCode, oamCode string, m map[string]interface{})([]map[string]interface{}, error)
+    
+    Create(objectCode, oamCode string, m map[string]interface{})error
+    Update(objectCode, oamCode string, m map[string]interface{})error
+    Patch(objectCode, oamCode string, m map[string]interface{})error
+    Delete(objectCode, oamCode string, m map[string]interface{})error
 }
 
 type apiGatewayService struct {
@@ -28,63 +28,53 @@ func NewApiGatewayService() ApiGatewayService {
     }
 }
 
-func (a *apiGatewayService) Get(apiCode string, m map[string]interface{})(map[string]interface{}, error) {
-    apiDef, err1 := cache.GetApiData(apiCode)
-    if err1 != nil{
+func (a *apiGatewayService) Get(objectCode, oamCode string, m map[string]interface{})(map[string]interface{}, error) {
+    params, err1 := a.Mapping2ModelObjectAttr(objectCode, m)
+    if err1 != nil {
         return nil, err1
     }
     
-    objectCode := apiDef.ObjectCode
-    params, err2 := a.Mapping2ModelField(objectCode, m)
+    oam , err2:= cache.GetBizObjectOAMData(objectCode, oamCode)
     if err2 != nil {
         return nil, err2
     }
     
-    sqlStatement := apiDef.SqlStatement
+    sqlStatement := oam.SqlStatement
     return a.dataBus.GetById(sqlStatement, params)
 }
 
-func (a *apiGatewayService) GetList(apiCode string, m map[string]interface{})([]map[string]interface{}, error) {
-    apiDef, err1 := cache.GetApiData(apiCode)
-    if err1 != nil{
-        return nil, err1
+func (a *apiGatewayService) GetList(objectCode, oamCode string, m map[string]interface{})([]map[string]interface{}, error) {
+    params, err2 := a.Mapping2ModelObjectAttr(objectCode, m)
+    if err2 != nil {
+        return nil, err2
     }
     
-    objectCode := apiDef.ObjectCode
-    params, err2 := a.Mapping2ModelField(objectCode, m)
+    oam , err2:= cache.GetBizObjectOAMData(objectCode, oamCode)
     if err2 != nil {
         return nil, err2
     }
-    
-    sqlStatement := apiDef.SqlStatement
+    sqlStatement := oam.SqlStatement
     return a.dataBus.GetList(sqlStatement, params)
 }
 
-func (a *apiGatewayService) GetPage(apiCode string, m map[string]interface{}) (*viewmodels.PageResult, error) {
-    apiDef, err1 := cache.GetApiData(apiCode)
-    if err1 != nil{
+func (a *apiGatewayService) GetPage(objectCode, oamCode string, m map[string]interface{}) (*viewmodels.PageResult, error) {
+    params, err1 := a.Mapping2ModelObjectAttr(objectCode, m)
+    if err1 != nil {
         return nil, err1
     }
     
-    objectCode := apiDef.ObjectCode
-    params, err2 := a.Mapping2ModelField(objectCode, m)
+    oam , err2:= cache.GetBizObjectOAMData(objectCode, oamCode)
     if err2 != nil {
         return nil, err2
     }
     
-    sqlStatement := apiDef.SqlStatement
-    sqlCount     := apiDef.SqlCount
+    sqlStatement := oam.SqlStatement
+    sqlCount     := oam.SqlCount
     return a.dataBus.GetPage(sqlStatement, sqlCount, params)
 }
 
-func (a *apiGatewayService) Create(apiCode string, m map[string]interface{}) error {
-    apiDef, err1 := cache.GetApiData(apiCode)
-    if err1 != nil{
-        return err1
-    }
-    
-    objectCode := apiDef.ObjectCode
-    params, err2 := a.Mapping2ModelField(objectCode, m)
+func (a *apiGatewayService) Create(objectCode, oamCode string, m map[string]interface{}) error {
+    params, err2 := a.Mapping2ModelObjectAttr(objectCode, m)
     if err2 != nil {
         return err2
     }
@@ -92,14 +82,8 @@ func (a *apiGatewayService) Create(apiCode string, m map[string]interface{}) err
     return a.dataBus.Create(objectCode, params)
 }
 
-func (a *apiGatewayService) Update(apiCode string, m map[string]interface{}) error {
-    apiDef, err1 := cache.GetApiData(apiCode)
-    if err1 != nil{
-        return err1
-    }
-    
-    objectCode := apiDef.ObjectCode
-    params, err2 := a.Mapping2ModelField(objectCode, m)
+func (a *apiGatewayService) Update(objectCode, oamCode string, m map[string]interface{}) error {
+    params, err2 := a.Mapping2ModelObjectAttr(objectCode, m)
     if err2 != nil {
         return err2
     }
@@ -107,14 +91,8 @@ func (a *apiGatewayService) Update(apiCode string, m map[string]interface{}) err
     return a.dataBus.Update(objectCode, params)
 }
 
-func (a *apiGatewayService) Patch(apiCode string, m map[string]interface{}) error {
-    apiDef, err1 := cache.GetApiData(apiCode)
-    if err1 != nil{
-        return err1
-    }
-    
-    objectCode := apiDef.ObjectCode
-    params, err2 := a.Mapping2ModelField(objectCode, m)
+func (a *apiGatewayService) Patch(objectCode, oamCode string, m map[string]interface{}) error {
+    params, err2 := a.Mapping2ModelObjectAttr(objectCode, m)
     if err2 != nil {
         return err2
     }
@@ -122,14 +100,8 @@ func (a *apiGatewayService) Patch(apiCode string, m map[string]interface{}) erro
     return a.dataBus.Patch(objectCode, params)
 }
 
-func (a *apiGatewayService) Delete(apiCode string, m map[string]interface{}) error {
-    apiDef, err1 := cache.GetApiData(apiCode)
-    if err1 != nil{
-        return err1
-    }
-    
-    objectCode := apiDef.ObjectCode
-    params, err2 := a.Mapping2ModelField(objectCode, m)
+func (a *apiGatewayService) Delete(objectCode, oamCode string, m map[string]interface{}) error {
+    params, err2 := a.Mapping2ModelObjectAttr(objectCode, m)
     if err2 != nil {
         return err2
     }
@@ -137,7 +109,7 @@ func (a *apiGatewayService) Delete(apiCode string, m map[string]interface{}) err
     return a.dataBus.Delete(objectCode, params)
 }
 
-func (a *apiGatewayService) Mapping2ModelField(objectCode string, m map[string]interface{})(map[string]interface{}, error) {
+func (a *apiGatewayService) Mapping2ModelObjectAttr(objectCode string, m map[string]interface{})(map[string]interface{}, error) {
     bzObject, err := cache.GetBizObjectData(objectCode)
     if err != nil {
         return nil, err

+ 1 - 1
service/api_service.go

@@ -87,7 +87,7 @@ func (s *apiService) CacheApiData(apiId int64) error {
     }
     
     // 缓存数据
-    err = cache.SetApiData(api.ApiCode, api)
+    err = cache.SetApiData(api.ObjectCode, api.ApiCode, api)
     if err != nil {
         return errors.New("Redis缓存Model数据失败")
     }

+ 22 - 2
service/biz_object_oam_service.go

@@ -1,6 +1,8 @@
 package service
 
 import (
+    "errors"
+    "xps/cache"
     "xps/datamodels"
     "xps/datasource"
     "xps/repositories"
@@ -13,6 +15,9 @@ type BizObjectOAMService interface {
     Create(d *datamodels.BizObjectOAM) error
     Update(d *datamodels.BizObjectOAM) error
     Delete(m map[string]interface{}) error
+    
+    CacheObjectOAMData(bizId, objectId, oamId int64) error
+    
 }
 
 type bizObjectOAMService struct {
@@ -29,8 +34,8 @@ func (s *bizObjectOAMService) GetList(m map[string]interface{}) ([]viewmodels.Bi
     return s.repo.GetList(m)
 }
 
-func (s *bizObjectOAMService) GetById(modelId, objectId, attrId int64) (*viewmodels.BizObjectOAMInfo, error) {
-    return s.repo.GetById(modelId, objectId, attrId)
+func (s *bizObjectOAMService) GetById(bizlId, objectId, oamId int64) (*viewmodels.BizObjectOAMInfo, error) {
+    return s.repo.GetById(bizlId, objectId, oamId)
 }
 
 func (s *bizObjectOAMService) Create(ObjectOAM *datamodels.BizObjectOAM) error {
@@ -45,3 +50,18 @@ func (s *bizObjectOAMService) Update(ObjectOAM *datamodels.BizObjectOAM) error {
 func (s *bizObjectOAMService) Delete(m map[string]interface{}) error {
     return s.repo.Delete(m)
 }
+
+func (s *bizObjectOAMService) CacheObjectOAMData(bizId, objectId, oamId int64) error {
+    oam, err := s.repo.GetById(bizId, objectId, oamId)
+    if err != nil {
+        return nil
+    }
+    
+    // 缓存数据
+    err = cache.SetBizObjectOAMData(oam.ObjectCode, oam.OamCode, oam)
+    if err != nil {
+        return errors.New("Redis缓存Model数据失败")
+    }
+    
+    return nil
+}

+ 1 - 1
service/init_service.go

@@ -80,7 +80,7 @@ func (s *initService) CacheApiData() error {
     for _, api := range apiList {
         
         // 缓存数据
-        err3 := cache.SetApiData(api.ApiCode, &api)
+        err3 := cache.SetApiData(api.ObjectCode, api.OamCode, &api)
         if err3 != nil {
             return errors.New("Redis缓存Api数据失败")
         }

+ 8 - 8
viewmodels/api_info.go

@@ -9,14 +9,14 @@ type ApiInfo struct {
     ApiType         int64     `json:"apiType"       xorm:"'api_type'        bigint         comment('Api Type')     "`
     ApiTitle        string    `json:"apiTitle"      xorm:"'api_title'       varchar(127)   comment('名称')          "`
     ApiCode         string    `json:"apiCode"       xorm:"'api_code'        varchar(127)   comment('编码')          "`
-    ApiParams       string    `json:"apiParams"     xorm:"'api_params'      varchar(127)   comment('Param')        "`
-    Status          int64     `json:"status"        xorm:"'status'          bigint         comment('Status')       "`
-    ApiDesc         string    `json:"apiDesc"       xorm:"'api_desc'        varchar(50)    comment('描述')          "`
-    ObjectId        int64     `json:"objectId"      xorm:"'object_id'       bigint         comment('Object Id')    "`
-    ObjectTitle     string    `json:"objectTitle"   xorm:"'object_title'    varchar(127)   comment('Object Title') "`
-    ObjectType      int64     `json:"objectType"    xorm:"'object_type'     bigint         comment('Object Type')  "`
-    ObjectCode      string    `json:"objectCode"    xorm:"'object_code'     varchar(127)   comment('Object Code')  "`
-    OamId           int64     `json:"oamId"         xorm:"'oam_id'          bigint         comment('Oam Id')       "`
+    ApiParams       string    `json:"apiParams"     xorm:"'api_params'      varchar(127)   comment('Param')         "`
+    Status          int64     `json:"status"        xorm:"'status'          bigint         comment('Status')        "`
+    ApiDesc         string    `json:"apiDesc"       xorm:"'api_desc'        varchar(50)    comment('描述')           "`
+    ObjectId        int64     `json:"objectId"      xorm:"'object_id'       bigint         comment('Object Id')     "`
+    ObjectTitle     string    `json:"objectTitle"   xorm:"'object_title'    varchar(127)   comment('Object Title')  "`
+    ObjectType      int64     `json:"objectType"    xorm:"'object_type'     bigint         comment('Object Type')   "`
+    ObjectCode      string    `json:"objectCode"    xorm:"'object_code'     varchar(127)   comment('Object Code')   "`
+    OamId           int64     `json:"oamId"         xorm:"'oam_id'          bigint         comment('Oam Id')        "`
     OamTitle        string    `json:"oamTitle"      xorm:"'oam_title'       varchar(127)   comment('OAMTitle')       "`
     OamCode         string    `json:"oamCode"       xorm:"'oam_code'        varchar(127)   comment('OAMCode')        "`
     OamType         int64     `json:"oamType"       xorm:"'oam_type'        bigint         comment('Oam Type')       "`

+ 3 - 0
viewmodels/biz_object_oam_info.go

@@ -3,6 +3,9 @@ package viewmodels
 type BizObjectOAMInfo struct {
     BizId        int64     `json:"bizId"           xorm:"'biz_id'          bigint      pk comment('Biz ID')         "`
     ObjectId     int64     `json:"objectId"        xorm:"'object_id'       bigint      pk comment('Object ID')      "`
+    ObjectTitle  string    `json:"objectTitle"     xorm:"'object_title'    varchar(127)   comment('Object Title')   "`
+    ObjectType   int64     `json:"objectType"      xorm:"'object_type'     bigint         comment('Object Type')    "`
+    ObjectCode   string    `json:"objectCode"      xorm:"'object_code'     varchar(127)   comment('Object Code')    "`
     OamId        int64     `json:"oamId"           xorm:"'oam_id'          bigint      pk comment('OAM ID')         "`
     OamTitle     string    `json:"oamTitle"        xorm:"'oam_title'       varchar(127)   comment('OAMTitle')       "`
     OamCode      string    `json:"oamCode"         xorm:"'oam_code'        varchar(127)   comment('OAMCode')        "`

+ 47 - 38
web/controllers/api_gateway_controller.go

@@ -2,6 +2,8 @@ package controllers
 
 import (
     "github.com/kataras/iris/v12/mvc"
+    "xps/cache"
+    "xps/constant"
     "xps/service"
 )
 
@@ -11,52 +13,59 @@ type ApiGatewayController struct {
 }
 
 func (c *ApiGatewayController) BeforeActivation(b mvc.BeforeActivation) {
-    b.Handle("GET",         "/{apiCode:string}",              "Get"     )
-    b.Handle("GET",         "/{apiCode:string}/page",         "GetPage" )
-    b.Handle("GET",         "/{apiCode:string}/list",         "GetList" )
-    b.Handle("POST",        "/{apiCode:string}",              "Create"  )
-    b.Handle("PUT",         "/{apiCode:string}",              "Update"  )
-    b.Handle("PATCH",       "/{apiCode:string}",              "Patch"   )
-    b.Handle("DELETE",      "/{apiCode:string}",              "Delete"  )
+    b.Handle("GET",         "/{objectCode:string}/{oamCode:string}",           "Get"     )
+    b.Handle("POST",        "/{objectCode:string}/{oamCode:string}",           "Post"    )
+    b.Handle("PUT",         "/{objectCode:string}/{oamCode:string}",           "Put"     )
+    b.Handle("PATCH",       "/{objectCode:string}/{oamCode:string}",           "Patch"   )
+    b.Handle("DELETE",      "/{objectCode:string}/{oamCode:string}",           "Delete"  )
 }
 
-func (c *ApiGatewayController) Get(apiCode string)*JsonResult {
-    m := c.buildParams()
-    data, err := c.Service.Get(apiCode, m)
+func (c *ApiGatewayController) Get(objectCode, oamCode string)*JsonResult {
+    oamInfo, err := cache.GetApiData(objectCode, oamCode)
     if err != nil {
-        return ResultErr(err.Error(), nil)
-    } else {
-        return ResultOk("获取成功", data)
+        return nil
     }
-}
-
-func (c *ApiGatewayController) GetPage(apiCode string)*JsonResult {
+    
     m := c.buildParams()
-    data, err := c.Service.GetPage(apiCode, m)
-    if err != nil {
-        return ResultErr(err.Error(), nil)
-    } else {
-        return ResultOk("获取成功", data)
+    oamType := oamInfo.OamType
+    if oamType == constant.OAM_GET_ONE {
+        data, err := c.Service.Get(objectCode, oamCode, m)
+        if err != nil {
+            return ResultErr(err.Error(), nil)
+        } else {
+            return ResultOk("获取成功", data)
+        }
     }
-}
-
-func (c *ApiGatewayController) GetList(apiCode string)*JsonResult {
-    m := c.buildParams()
-    data, err := c.Service.GetList(apiCode, m)
-    if err != nil {
-        return ResultErr(err.Error(), nil)
-    } else {
-        return ResultOk("获取成功", data)
+    if oamType == constant.OAM_GET_LIST{
+        
+        data, err := c.Service.GetList(objectCode, oamCode, m)
+        if err != nil {
+            return ResultErr(err.Error(), nil)
+        } else {
+            return ResultOk("获取成功", data)
+        }
+    
+    }
+    if oamType == constant.OAM_GET_PAGE {
+        data, err := c.Service.GetPage(objectCode, oamCode, m)
+        if err != nil {
+            return ResultErr(err.Error(), nil)
+        } else {
+            return ResultOk("获取成功", data)
+        }
     }
+    
+    return ResultErr("方法不存在", nil)
 }
 
-func (c *ApiGatewayController) Create(apiCode string)*JsonResult {
+
+func (c *ApiGatewayController) Post(objectCode, oamCode string)*JsonResult {
     m, err := c.GetJsonData()
     if err != nil {
         return ResultErr(err.Error(), nil)
     }
     
-    err = c.Service.Create(apiCode, m)
+    err = c.Service.Create(objectCode, oamCode, m)
     if err != nil {
         return ResultErr(err.Error(), nil)
     } else {
@@ -64,13 +73,13 @@ func (c *ApiGatewayController) Create(apiCode string)*JsonResult {
     }
 }
 
-func (c *ApiGatewayController) Update(apiCode string)*JsonResult {
+func (c *ApiGatewayController) Put(objectCode, oamCode string)*JsonResult {
     m, err := c.GetJsonData()
     if err != nil {
         return ResultErr(err.Error(), nil)
     }
     
-    err = c.Service.Update(apiCode, m)
+    err = c.Service.Update(objectCode, oamCode, m)
     if err != nil {
         return ResultErr(err.Error(), nil)
     } else {
@@ -78,13 +87,13 @@ func (c *ApiGatewayController) Update(apiCode string)*JsonResult {
     }
 }
 
-func (c *ApiGatewayController) Patch(apiCode string)*JsonResult {
+func (c *ApiGatewayController) Patch(objectCode, oamCode string)*JsonResult {
     m, err := c.GetJsonData()
     if err != nil {
         return ResultErr(err.Error(), nil)
     }
     
-    err = c.Service.Patch(apiCode, m)
+    err = c.Service.Patch(objectCode, oamCode, m)
     if err != nil {
         return ResultErr(err.Error(), nil)
     } else {
@@ -92,13 +101,13 @@ func (c *ApiGatewayController) Patch(apiCode string)*JsonResult {
     }
 }
 
-func (c *ApiGatewayController) Delete(apiCode string)*JsonResult {
+func (c *ApiGatewayController) Delete(objectCode, oamCode string)*JsonResult {
     m, err := c.GetJsonData()
     if err != nil {
         return ResultErr(err.Error(), nil)
     }
     
-    err = c.Service.Delete(apiCode, m)
+    err = c.Service.Delete(objectCode, oamCode, m)
     if err != nil {
         return ResultErr(err.Error(), nil)
     } else {