| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- package service
- import (
- "xps/cache"
- "xps/datasource"
- "xps/repositories"
- "xps/viewmodels"
- )
- 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
- }
- type apiGatewayService struct {
- dataBus *repositories.DataBusRepo
- }
- func NewApiGatewayService() ApiGatewayService {
- return &apiGatewayService{
- dataBus: repositories.NewDataBusRepo(datasource.InstanceSlave()),
- }
- }
- func (a *apiGatewayService) Get(apiCode string, m map[string]interface{}) (map[string]interface{}, error) {
- apiDef, err1 := cache.GetApiData(apiCode)
- if err1 != nil{
- return nil, err1
- }
-
- objectCode := apiDef.ObjectCode
- _, err2 := cache.GetBizObjectData(objectCode)
- if err2 != nil {
- return nil, err2
- }
- sqlStatement := apiDef.SqlStatement
-
- return a.dataBus.GetById(sqlStatement, m)
- }
- 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
- }
-
- objectCode := apiDef.ObjectCode
- _, err2 := cache.GetBizObjectData(objectCode)
- if err2 != nil {
- return nil, err2
- }
- sqlStatement := apiDef.SqlStatement
-
- return a.dataBus.GetList(sqlStatement, m)
- }
- func (a *apiGatewayService) GetPage(apiCode string, m map[string]interface{}) (*viewmodels.PageResult, error) {
- apiDef, err1 := cache.GetApiData(apiCode)
- if err1 != nil{
- return nil, err1
- }
-
- objectCode := apiDef.ObjectCode
- _, err2 := cache.GetBizObjectData(objectCode)
- if err2 != nil {
- return nil, err2
- }
-
- sqlStatement := apiDef.SqlStatement
- sqlCount := apiDef.SqlCount
- return a.dataBus.GetPage(sqlStatement, sqlCount, m)
- }
- func (a *apiGatewayService) Create(apiCode string, m map[string]interface{}) error {
- apiDef, err1 := cache.GetApiData(apiCode)
- if err1 != nil{
- return err1
- }
-
- objectCode := apiDef.ObjectCode
- _, err2 := cache.GetBizObjectData(objectCode)
- if err2 != nil {
- return err2
- }
-
- err3 := a.dataBus.Create(objectCode, m)
- if err3 != nil {
- return err3
- }
-
- return nil
- }
- func (a *apiGatewayService) Update(apiCode string, m map[string]interface{}) error {
- apiDef, err1 := cache.GetApiData(apiCode)
- if err1 != nil{
- return err1
- }
-
- objectCode := apiDef.ObjectCode
- _, err2 := cache.GetBizObjectData(objectCode)
- if err2 != nil {
- return err2
- }
-
- err3 := a.dataBus.Update(objectCode, m)
- if err3 != nil {
- return err3
- }
-
- return nil
- }
- func (a *apiGatewayService) Patch(apiCode string, m map[string]interface{}) error {
- apiDef, err1 := cache.GetApiData(apiCode)
- if err1 != nil{
- return err1
- }
-
- objectCode := apiDef.ObjectCode
- _, err2 := cache.GetBizObjectData(objectCode)
- if err2 != nil {
- return err2
- }
-
- err3 := a.dataBus.Patch(objectCode, m)
- if err3 != nil {
- return err3
- }
- return nil
- }
- func (a *apiGatewayService) Delete(apiCode string, m map[string]interface{}) error {
- apiDef, err1 := cache.GetApiData(apiCode)
- if err1 != nil{
- return err1
- }
-
- objectCode := apiDef.ObjectCode
- _, err2 := cache.GetBizObjectData(objectCode)
- if err2 != nil {
- return err2
- }
-
- err3 := a.dataBus.Delete(objectCode, m)
- if err3 != nil {
- return err3
- }
- return nil
- }
|