|
@@ -1,6 +1,7 @@
|
|
|
package service
|
|
package service
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
|
+ "errors"
|
|
|
"xps/cache"
|
|
"xps/cache"
|
|
|
"xps/datasource"
|
|
"xps/datasource"
|
|
|
"xps/repositories"
|
|
"xps/repositories"
|
|
@@ -40,7 +41,12 @@ func (a *apiGatewayService) Get(objectCode, oamCode string, m map[string]interfa
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
sqlStatement := oam.SqlStatement
|
|
sqlStatement := oam.SqlStatement
|
|
|
- return a.dataBus.GetById(sqlStatement, params)
|
|
|
|
|
|
|
+ data, err3 := a.dataBus.GetById(sqlStatement, params)
|
|
|
|
|
+ if err3 != nil {
|
|
|
|
|
+ return nil, err3
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return a.Mapping2BizObjectAttr(objectCode, data)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (a *apiGatewayService) GetList(objectCode, oamCode string, m map[string]interface{})([]map[string]interface{}, error) {
|
|
func (a *apiGatewayService) GetList(objectCode, oamCode string, m map[string]interface{})([]map[string]interface{}, error) {
|
|
@@ -54,7 +60,11 @@ func (a *apiGatewayService) GetList(objectCode, oamCode string, m map[string]int
|
|
|
return nil, err2
|
|
return nil, err2
|
|
|
}
|
|
}
|
|
|
sqlStatement := oam.SqlStatement
|
|
sqlStatement := oam.SqlStatement
|
|
|
- return a.dataBus.GetList(sqlStatement, params)
|
|
|
|
|
|
|
+ dataList, err3 := a.dataBus.GetList(sqlStatement, params)
|
|
|
|
|
+ if err3 != nil {
|
|
|
|
|
+ return nil, err3
|
|
|
|
|
+ }
|
|
|
|
|
+ return a.Mapping2BizObjectList(objectCode, dataList)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (a *apiGatewayService) GetPage(objectCode, oamCode string, m map[string]interface{}) (*viewmodels.PageResult, error) {
|
|
func (a *apiGatewayService) GetPage(objectCode, oamCode string, m map[string]interface{}) (*viewmodels.PageResult, error) {
|
|
@@ -70,7 +80,12 @@ func (a *apiGatewayService) GetPage(objectCode, oamCode string, m map[string]int
|
|
|
|
|
|
|
|
sqlStatement := oam.SqlStatement
|
|
sqlStatement := oam.SqlStatement
|
|
|
sqlCount := oam.SqlCount
|
|
sqlCount := oam.SqlCount
|
|
|
- return a.dataBus.GetPage(sqlStatement, sqlCount, params)
|
|
|
|
|
|
|
+ pageData, err3 := a.dataBus.GetPage(sqlStatement, sqlCount, params)
|
|
|
|
|
+ if err3 != nil {
|
|
|
|
|
+ return nil, err3
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return a.Mapping2BizPageObject(objectCode, pageData)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (a *apiGatewayService) Create(objectCode, oamCode string, m map[string]interface{}) error {
|
|
func (a *apiGatewayService) Create(objectCode, oamCode string, m map[string]interface{}) error {
|
|
@@ -126,3 +141,79 @@ func (a *apiGatewayService) Mapping2ModelObjectAttr(objectCode string, m map[str
|
|
|
}
|
|
}
|
|
|
return params, nil
|
|
return params, nil
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+func (a *apiGatewayService) Mapping2BizObjectAttr(objectCode string, m map[string]interface{})(map[string]interface{}, error) {
|
|
|
|
|
+ bzObject, err := cache.GetBizObjectData(objectCode)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil, err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ bizObjectAttrs := bzObject.Attrs
|
|
|
|
|
+ params := make(map[string]interface{}, 0)
|
|
|
|
|
+ for _, bzAttr := range bizObjectAttrs {
|
|
|
|
|
+ bzAttrCode := bzAttr.AttrCode
|
|
|
|
|
+ bzMappingCode := bzAttr.MappingCode
|
|
|
|
|
+ if bzAttrValue, ok := m[bzMappingCode]; ok {
|
|
|
|
|
+ params[bzAttrCode] = bzAttrValue
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return params, nil
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+func (a *apiGatewayService) Mapping2BizObjectList(objectCode string, dataList []map[string]interface{})([]map[string]interface{}, error) {
|
|
|
|
|
+ bzObject, err := cache.GetBizObjectData(objectCode)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil, err
|
|
|
|
|
+ }
|
|
|
|
|
+ targetDataList := make([]map[string]interface{}, 0)
|
|
|
|
|
+ for _, data := range dataList {
|
|
|
|
|
+ bizObjectAttrs := bzObject.Attrs
|
|
|
|
|
+ targetData := make(map[string]interface{}, 0)
|
|
|
|
|
+ for _, bzAttr := range bizObjectAttrs {
|
|
|
|
|
+ bzAttrCode := bzAttr.AttrCode
|
|
|
|
|
+ bzMappingCode := bzAttr.MappingCode
|
|
|
|
|
+ if bzAttrValue, ok := data[bzMappingCode]; ok {
|
|
|
|
|
+ targetData[bzAttrCode] = bzAttrValue
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ targetDataList = append(targetDataList, targetData)
|
|
|
|
|
+ }
|
|
|
|
|
+ return targetDataList, nil
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func (a *apiGatewayService) Mapping2BizPageObject(objectCode string, pageData *viewmodels.PageResult)(*viewmodels.PageResult, error) {
|
|
|
|
|
+ bzObject, err := cache.GetBizObjectData(objectCode)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil, err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ dataList,ok := pageData.Data.([]map[string]interface{})
|
|
|
|
|
+ if !ok {
|
|
|
|
|
+ return nil, errors.New("类型转换错误")
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ targetDataList := make([]map[string]interface{}, 0)
|
|
|
|
|
+ for _, data := range dataList {
|
|
|
|
|
+ bizObjectAttrs := bzObject.Attrs
|
|
|
|
|
+ targetData := make(map[string]interface{}, 0)
|
|
|
|
|
+ for _, bzAttr := range bizObjectAttrs {
|
|
|
|
|
+ bzAttrCode := bzAttr.AttrCode
|
|
|
|
|
+ bzMappingCode := bzAttr.MappingCode
|
|
|
|
|
+ if bzAttrValue, ok := data[bzMappingCode]; ok {
|
|
|
|
|
+ targetData[bzAttrCode] = bzAttrValue
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ targetDataList = append(targetDataList, targetData)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ targetPageData := &viewmodels.PageResult{
|
|
|
|
|
+ Total: pageData.Total,
|
|
|
|
|
+ PageSize: pageData.PageSize,
|
|
|
|
|
+ Page: pageData.Page,
|
|
|
|
|
+ TotalPage: pageData.TotalPage,
|
|
|
|
|
+ Data: targetDataList,
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return targetPageData, nil
|
|
|
|
|
+}
|