|
|
@@ -2,11 +2,10 @@ package service
|
|
|
|
|
|
import (
|
|
|
"errors"
|
|
|
- "time"
|
|
|
"xps/cache"
|
|
|
"xps/datamodels"
|
|
|
- "xps/datasource"
|
|
|
- "xps/repositories"
|
|
|
+ "xps/datasource"
|
|
|
+ "xps/repositories"
|
|
|
"xps/viewmodels"
|
|
|
)
|
|
|
|
|
|
@@ -17,9 +16,6 @@ type ModelObjectService interface {
|
|
|
Create(d *datamodels.ModelObject) error
|
|
|
Update(d *datamodels.ModelObject) error
|
|
|
Delete(m map[string]interface{}) error
|
|
|
- GetObjectDataById(modelId, objectId int64) (*viewmodels.ModelObjectDataInfo, error)
|
|
|
- CreateObjectData(d *viewmodels.ModelObjectData) error
|
|
|
- UpdateObjectData(d *viewmodels.ModelObjectData) error
|
|
|
|
|
|
CacheModelObject(modelId, objectId int64) error
|
|
|
}
|
|
|
@@ -67,134 +63,6 @@ func (s *modelObjectService) Delete(m map[string]interface{}) error {
|
|
|
return s.modelObjectAttrRepo.DeleteByObjectId(modelId, objectId)
|
|
|
}
|
|
|
|
|
|
-func (s *modelObjectService) GetObjectDataById(modelId, objectId int64) (*viewmodels.ModelObjectDataInfo, error) {
|
|
|
- objectInfo, err := s.modelObjectRepo.GetById(modelId, objectId)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
-
|
|
|
- attrs, err := s.modelObjectAttrRepo.GetListById(modelId, objectId)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
-
|
|
|
- objectDataInfo := &viewmodels.ModelObjectDataInfo{
|
|
|
- ModelId: objectInfo.ModelId,
|
|
|
- ObjectId: objectInfo.ObjectId,
|
|
|
- ObjectType: objectInfo.ObjectType,
|
|
|
- ObjectTitle: objectInfo.ObjectTitle,
|
|
|
- ObjectCode: objectInfo.ObjectCode,
|
|
|
- Comment: objectInfo.Comment,
|
|
|
- IsFixed: objectInfo.IsFixed,
|
|
|
- Attrs: attrs,
|
|
|
- }
|
|
|
-
|
|
|
- return objectDataInfo, nil
|
|
|
-}
|
|
|
-
|
|
|
-func (s *modelObjectService) CreateObjectData(o *viewmodels.ModelObjectData) error {
|
|
|
- modelId := o.ModelId
|
|
|
- objectId := NewID()
|
|
|
- createdBy := o.CreatedBy
|
|
|
- object := &datamodels.ModelObject{
|
|
|
- ModelId: modelId,
|
|
|
- ObjectId: objectId,
|
|
|
- ObjectType: o.ObjectType,
|
|
|
- ObjectTitle: o.ObjectTitle,
|
|
|
- ObjectCode: o.ObjectCode,
|
|
|
- Comment: o.Comment,
|
|
|
- IsFixed: 0,
|
|
|
- CreatedBy: createdBy,
|
|
|
- CreatedAt: time.Now(),
|
|
|
- }
|
|
|
-
|
|
|
- err := s.modelObjectRepo.Create(object)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- // cache object
|
|
|
- for _, a := range o.Attrs {
|
|
|
- newId := NewID()
|
|
|
- objectAttr := &datamodels.ModelObjectAttr{
|
|
|
- ModelId: modelId,
|
|
|
- ObjectId: objectId,
|
|
|
- AttrId: newId,
|
|
|
- AttrTitle: a.AttrTitle,
|
|
|
- AttrCode: a.AttrCode,
|
|
|
- AttrType: a.AttrType,
|
|
|
- AttrLength: a.AttrLength,
|
|
|
- AttrDecimals: a.AttrDecimals,
|
|
|
- Comment: a.Comment,
|
|
|
- IsFixed: a.IsFixed,
|
|
|
- IsNotNull: a.IsNotNull,
|
|
|
- IsPKey: a.IsPKey,
|
|
|
- CreatedAt: time.Now(),
|
|
|
- CreatedBy: createdBy,
|
|
|
- }
|
|
|
-
|
|
|
- err = s.modelObjectAttrRepo.Create(objectAttr)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return s.CacheModelObject(modelId, objectId)
|
|
|
-}
|
|
|
-
|
|
|
-func (s *modelObjectService) UpdateObjectData(o *viewmodels.ModelObjectData) error {
|
|
|
- modelId := o.ModelId
|
|
|
- objectId := o.ObjectId
|
|
|
- updatedBy := o.UpdatedBy
|
|
|
- object := &datamodels.ModelObject{
|
|
|
- ModelId: modelId,
|
|
|
- ObjectId: objectId,
|
|
|
- ObjectType: o.ObjectType,
|
|
|
- ObjectTitle: o.ObjectTitle,
|
|
|
- ObjectCode: o.ObjectCode,
|
|
|
- Comment: o.Comment,
|
|
|
- IsFixed: 0,
|
|
|
- UpdatedBy: updatedBy,
|
|
|
- }
|
|
|
-
|
|
|
- err := s.modelObjectRepo.Update(object)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- err = s.modelObjectAttrRepo.DeleteByObjectId(modelId, objectId)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- for _, a := range o.Attrs {
|
|
|
- newId := NewID()
|
|
|
- objectAttr := &datamodels.ModelObjectAttr{
|
|
|
- ModelId: modelId,
|
|
|
- ObjectId: objectId,
|
|
|
- AttrId: newId,
|
|
|
- AttrTitle: a.AttrTitle,
|
|
|
- AttrCode: a.AttrCode,
|
|
|
- AttrType: a.AttrType,
|
|
|
- AttrLength: a.AttrLength,
|
|
|
- AttrDecimals: a.AttrDecimals,
|
|
|
- Comment: a.Comment,
|
|
|
- IsFixed: a.IsFixed,
|
|
|
- IsNotNull: a.IsNotNull,
|
|
|
- IsPKey: a.IsPKey,
|
|
|
- CreatedBy: updatedBy,
|
|
|
- }
|
|
|
-
|
|
|
- err = s.modelObjectAttrRepo.Create(objectAttr)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return s.CacheModelObject(modelId, objectId)
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
func (s *modelObjectService) CacheModelObject(modelId, objectId int64) error {
|
|
|
o, err1 := s.modelObjectRepo.GetById(modelId, objectId)
|
|
|
if err1 != nil {
|