houyaf преди 3 години
родител
ревизия
0ded22dea8
променени са 2 файла, в които са добавени 134 реда и са изтрити 0 реда
  1. 47 0
      service/object_oam_service.go
  2. 87 0
      web/controllers/object_oam_controller.go

+ 47 - 0
service/object_oam_service.go

@@ -0,0 +1,47 @@
+package service
+
+import (
+    "xps/datamodels"
+    "xps/datasource"
+    "xps/repositories"
+    "xps/viewmodels"
+)
+
+type ObjectOAMService interface {
+    GetList(m map[string]interface{}) ([]viewmodels.ObjectOAMInfo, error)
+    GetById(modelId, objectId, attrId int64) (*viewmodels.ObjectOAMInfo, error)
+    Create(d *datamodels.ObjectOAM) error
+    Update(d *datamodels.ObjectOAM) error
+    Delete(m map[string]interface{}) error
+}
+
+type objectOAMService struct {
+    repo *repositories.ObjectOAMRepo
+}
+
+func NewObjectOAMService() ObjectOAMService {
+    return &objectOAMService{
+        repo: repositories.NewObjectOAMRepo(datasource.InstanceMaster()),
+    }
+}
+
+func (s *objectOAMService) GetList(m map[string]interface{}) ([]viewmodels.ObjectOAMInfo, error) {
+    return s.repo.GetList(m)
+}
+
+func (s *objectOAMService) GetById(modelId, objectId, attrId int64) (*viewmodels.ObjectOAMInfo, error) {
+    return s.repo.GetById(modelId, objectId, attrId)
+}
+
+func (s *objectOAMService) Create(ObjectOAM *datamodels.ObjectOAM) error {
+    ObjectOAM.OamId = NewID()
+    return s.repo.Create(ObjectOAM)
+}
+
+func (s *objectOAMService) Update(ObjectOAM *datamodels.ObjectOAM) error {
+    return s.repo.Update(ObjectOAM)
+}
+
+func (s *objectOAMService) Delete(m map[string]interface{}) error {
+    return s.repo.Delete(m)
+}

+ 87 - 0
web/controllers/object_oam_controller.go

@@ -0,0 +1,87 @@
+package controllers
+
+import (
+    "github.com/kataras/iris/v12/mvc"
+    "xps/datamodels"
+    "xps/service"
+)
+
+type ObjectOAMController struct {
+    Base
+    Service service.ObjectOAMService
+}
+
+func (c *ObjectOAMController) BeforeActivation(b mvc.BeforeActivation) {
+    b.Handle("GET",     "/",                                                "GetList"   )
+    b.Handle("GET",     "/page",                                            "GetPage"   )
+    b.Handle("GET",     "/{modelId:int64}/{objectId:int64}/{attrId:int64}", "GetById"   )
+    b.Handle("POST",    "/add",                                             "Create"    )
+    b.Handle("PUT",     "/update",                                          "Update"    )
+    b.Handle("DELETE",  "/{modelId:int64}/{objectId:int64}/{attrId:int64}", "DeleteByID")
+}
+
+func (c *ObjectOAMController) GetList() *JsonResult {
+    params    := c.buildParams()
+    data, err := c.Service.GetList(params)
+    if err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("获取成功", data)
+    }
+}
+
+func (c *ObjectOAMController) GetById(modelId, objectId, oamId int64) *JsonResult {
+    data, err := c.Service.GetById(modelId, objectId, oamId)
+    if err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("获取成功", data)
+    }
+}
+
+func (c *ObjectOAMController) Create() *JsonResult {
+    userId := c.GetCurUserId()
+    
+    attr   := datamodels.ObjectOAM{}
+    if err := c.Ctx.ReadJSON(&attr); err != nil {
+        return ResultErr("读取数据失败", nil)
+    }
+    
+    attr.CreatedBy = userId
+    if err := c.Service.Create(&attr); err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("新增成功", nil)
+    }
+}
+
+func (c *ObjectOAMController) Update() *JsonResult {
+    userId := c.GetCurUserId()
+    
+    attr   := datamodels.ObjectOAM{}
+    if err := c.Ctx.ReadJSON(&attr); err != nil {
+        return ResultErr("读取数据失败", nil)
+    }
+    
+    attr.UpdatedBy = userId
+    if err := c.Service.Update(&attr); err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("更新成功", nil)
+    }
+}
+
+func (c *ObjectOAMController) DeleteByID(modelId, objectId, oamId int64) *JsonResult {
+    userId := c.GetCurUserId()
+    
+    m := make(map[string]interface{})
+    m["modelId"]   = modelId
+    m["objectId"]  = objectId
+    m["oamId"]     = oamId
+    m["deletedBy"] = userId
+    if err := c.Service.Delete(m); err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("删除成功", nil)
+    }
+}