| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- package service
- import (
- "errors"
- "xps/datasource"
- "xps/repositories"
- )
- type ApiGatewayService interface {
- Get(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
- }
- 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()),
- }
- }
- func (a apiGatewayService) Get(apiCode string, m map[string]interface{}) ([]map[string]interface{}, error) {
-
-
- return nil, errors.New("TEST")
- }
- func (a apiGatewayService) Handle(apiCode string, action int, m map[string]interface{}) error{
- apiInfo, err1 := a.apiRepo.GetByCode(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
-
- objectInfo, err3 := a.objectRepo.GetById(modelId, objectId)
- if err3 == nil {
- return err3
- }
-
- attrs , err4 := a.objectAttrRepo.GetListById(modelId, objectId)
- if err4 == nil {
- return err4
- }
-
- if action == 1 {
- err5 := a.dataBus.Create(objectInfo, attrs, m)
- if err5 == nil {
- return err5
- }
- }
- if action == 2 {
- err5 := a.dataBus.Update(objectInfo, attrs, m)
- if err5 == nil {
- return err5
- }
- }
- if action == 3 {
- err5 := a.dataBus.Patch(objectInfo, attrs, m)
- if err5 == nil {
- return err5
- }
- }
-
- if action == 4 {
- err5 := a.dataBus.Delete(objectInfo, attrs, m)
- if err5 == nil {
- return err5
- }
- }
- }
-
- return nil
- }
- func (a apiGatewayService) Create(apiCode string, m map[string]interface{}) error {
- return a.Handle(apiCode, 1, m)
- }
- func (a apiGatewayService) Update(apiCode string, m map[string]interface{}) error {
- return a.Handle(apiCode, 2, m)
- }
- func (a apiGatewayService) Patch(apiCode string, m map[string]interface{}) error {
- return a.Handle(apiCode, 3, m)
- }
- func (a apiGatewayService) Delete(apiCode string, m map[string]interface{}) error {
- return a.Handle(apiCode, 4, m)
- }
|