|
|
@@ -2,6 +2,7 @@ package service
|
|
|
|
|
|
import (
|
|
|
"errors"
|
|
|
+ "xps/cache"
|
|
|
"xps/datasource"
|
|
|
"xps/repositories"
|
|
|
)
|
|
|
@@ -15,19 +16,12 @@ type ApiGatewayService interface {
|
|
|
}
|
|
|
|
|
|
type apiGatewayService struct {
|
|
|
- apiRepo *repositories.ApiRepo
|
|
|
- apiTransUnitRepo *repositories.ApiTransUnitRepo
|
|
|
- objectRepo *repositories.ObjectRepo
|
|
|
- objectAttrRepo *repositories.ObjectAttrRepo
|
|
|
dataBus *repositories.DataBusRepo
|
|
|
}
|
|
|
|
|
|
|
|
|
func NewApiGatewayService() ApiGatewayService {
|
|
|
return &apiGatewayService{
|
|
|
- apiRepo: repositories.NewApiRepo(datasource.InstanceMaster()),
|
|
|
- objectRepo: repositories.NewObjectRepo(datasource.InstanceMaster()),
|
|
|
- objectAttrRepo: repositories.NewObjectAttrRepo(datasource.InstanceMaster()),
|
|
|
dataBus: repositories.NewDataBusRepo(datasource.InstanceMaster()),
|
|
|
}
|
|
|
}
|
|
|
@@ -40,52 +34,40 @@ func (a apiGatewayService) Get(apiCode string, m map[string]interface{}) ([]map[
|
|
|
}
|
|
|
|
|
|
func (a apiGatewayService) Handle(apiCode string, action int, m map[string]interface{}) error{
|
|
|
- apiInfo, err1 := a.apiRepo.GetByCode(apiCode)
|
|
|
+ apiInfo, err1 := cache.GetApiData(apiCode)
|
|
|
if err1 == nil{
|
|
|
return err1
|
|
|
}
|
|
|
|
|
|
- apiId := apiInfo.ApiId
|
|
|
- atus, err2 := a.apiTransUnitRepo.GetListById(apiId)
|
|
|
- if err2 == nil{
|
|
|
- return err2
|
|
|
- }
|
|
|
-
|
|
|
- for _, atu := range atus {
|
|
|
- modelId := atu.ModelId
|
|
|
- objectId := atu.ObjectId
|
|
|
+ transUnits := apiInfo.TransUnits
|
|
|
+ for _, transUnit := range transUnits {
|
|
|
+ objectCode := transUnit.ObjectCode
|
|
|
|
|
|
- objectInfo, err3 := a.objectRepo.GetById(modelId, objectId)
|
|
|
- if err3 == nil {
|
|
|
- return err3
|
|
|
+ objectInfo, err2 := cache.GetObjectData(objectCode)
|
|
|
+ if err2 == nil {
|
|
|
+ return err2
|
|
|
}
|
|
|
|
|
|
- attrs , err4 := a.objectAttrRepo.GetListById(modelId, objectId)
|
|
|
- if err4 == nil {
|
|
|
- return err4
|
|
|
- }
|
|
|
-
|
|
|
if action == 1 {
|
|
|
- err5 := a.dataBus.Create(objectInfo, attrs, m)
|
|
|
+ err5 := a.dataBus.Create(objectInfo, m)
|
|
|
if err5 == nil {
|
|
|
return err5
|
|
|
}
|
|
|
}
|
|
|
if action == 2 {
|
|
|
- err5 := a.dataBus.Update(objectInfo, attrs, m)
|
|
|
+ err5 := a.dataBus.Update(objectInfo, m)
|
|
|
if err5 == nil {
|
|
|
return err5
|
|
|
}
|
|
|
}
|
|
|
if action == 3 {
|
|
|
- err5 := a.dataBus.Patch(objectInfo, attrs, m)
|
|
|
+ err5 := a.dataBus.Patch(objectInfo, m)
|
|
|
if err5 == nil {
|
|
|
return err5
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
if action == 4 {
|
|
|
- err5 := a.dataBus.Delete(objectInfo, attrs, m)
|
|
|
+ err5 := a.dataBus.Delete(objectInfo, m)
|
|
|
if err5 == nil {
|
|
|
return err5
|
|
|
}
|