houyaf há 3 anos atrás
pai
commit
fe437e094e

+ 5 - 5
repositories/biz_repo.go

@@ -22,9 +22,9 @@ func (d *BizRepo) GetPage(m map[string]interface{}) (*viewmodels.PageResult, err
     limit     := m["limit"].(int)
     limit     := m["limit"].(int)
     page      := m["page"].(int)
     page      := m["page"].(int)
     
     
-    sqlSelect := ` SELECT A.*                `
-    sqlFrom   := ` FROM   biz   AS A    `
-    sqlWhere  := ` WHERE  A.deleted_flag = 0 `
+    sqlSelect := ` SELECT A.*                 `
+    sqlFrom   := ` FROM   biz   AS A          `
+    sqlWhere  := ` WHERE  A.deleted_flag = 0  `
     if keywords, ok := m["keywords"]; ok {
     if keywords, ok := m["keywords"]; ok {
         sqlWhere += ` AND A.biz_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
         sqlWhere += ` AND A.biz_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
     }
     }
@@ -85,9 +85,9 @@ func (d *BizRepo) GetAll() ([]viewmodels.BizInfo, error) {
 
 
 func (d *BizRepo) GetById(bizId int64) (*viewmodels.BizInfo, error) {
 func (d *BizRepo) GetById(bizId int64) (*viewmodels.BizInfo, error) {
     sqlSelect  := ` SELECT A.*               `
     sqlSelect  := ` SELECT A.*               `
-    sqlFrom    := ` FROM  biz   AS A    `
+    sqlFrom    := ` FROM  biz   AS A         `
     sqlWhere   := ` WHERE A.deleted_flag = 0 `
     sqlWhere   := ` WHERE A.deleted_flag = 0 `
-    sqlWhere   += fmt.Sprintf(" A.biz_id = %d ", bizId)
+    sqlWhere   += fmt.Sprintf(" AND A.biz_id = %d ", bizId)
     
     
     data := &viewmodels.BizInfo{}
     data := &viewmodels.BizInfo{}
     has, err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere).Get(data)
     has, err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere).Get(data)

+ 51 - 0
repositories/repo_object.go

@@ -0,0 +1,51 @@
+package repositories
+
+import (
+    "fmt"
+    "time"
+    "xorm.io/xorm"
+    "xps/datamodels"
+    "xps/viewmodels"
+)
+
+type RepoObjectRepo struct {
+    engine *xorm.Engine
+}
+
+func NewRepoObjectRepo(engine *xorm.Engine) *RepoObjectRepo {
+    return &RepoObjectRepo{
+        engine: engine,
+    }
+}
+
+func (d *RepoObjectRepo) GetListById(repoId int64) ([]viewmodels.RepoObjectInfo, error) {
+    sqlSelect := ` SELECT A.*                  `
+    sqlFrom   := ` FROM  repo_object   AS A    `
+    sqlWhere  := ` WHERE A.deleted_flag = 0    `
+    sqlWhere  += fmt.Sprintf(" AND A.repo_id = %d ", repoId)
+    sqlOrderBy := " ORDER BY A.model_id, A.object_id ASC "
+    
+    datalist := make([]viewmodels.RepoObjectInfo, 0)
+    err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+    if err != nil {
+        return nil, err
+    } else {
+        return datalist, nil
+    }
+}
+
+func (d *RepoObjectRepo) Create(data *datamodels.RepoObject) error {
+    data.CreatedAt = time.Now()
+    _, err := d.engine.Insert(data)
+    return err
+}
+
+func (d *RepoObjectRepo) Delete(repoId, modelId, objectId int64) error {
+    data := &datamodels.RepoObject{}
+    _, err := d.engine.
+        Where("repo_id = ?", repoId).
+        Where("model_id = ?", modelId).
+        Where("object_id = ?", objectId).
+        Delete(data)
+    return err
+}

+ 36 - 0
service/repo_object_service.go

@@ -0,0 +1,36 @@
+package service
+
+import (
+    "xps/datamodels"
+    "xps/datasource"
+    "xps/repositories"
+    "xps/viewmodels"
+)
+
+type RepoObjectService interface {
+    GetListById(repoId int64) ([]viewmodels.RepoObjectInfo, error)
+    Create(d *datamodels.RepoObject) error
+    Delete(repoId, modelId, objectId int64) error
+}
+
+type repoObjectService struct {
+    repo *repositories.RepoObjectRepo
+}
+
+func NewRepoObjectService() RepoObjectService {
+    return &repoObjectService{
+        repo: repositories.NewRepoObjectRepo(datasource.InstanceMaster()),
+    }
+}
+
+func (s *repoObjectService) GetListById(repoId int64) ([]viewmodels.RepoObjectInfo, error) {
+    return s.repo.GetListById(repoId)
+}
+
+func (s *repoObjectService) Create(c *datamodels.RepoObject) error {
+    return s.repo.Create(c)
+}
+
+func (s *repoObjectService) Delete(repoId, modelId, objectId int64) error {
+    return s.repo.Delete(repoId, modelId, objectId)
+}

+ 52 - 0
web/controllers/repo_object_controller.go

@@ -0,0 +1,52 @@
+package controllers
+
+import (
+    "github.com/kataras/iris/v12/mvc"
+    "xps/datamodels"
+    "xps/service"
+)
+
+type RepoObjectController struct {
+    Base
+    Service service.RepoObjectService
+}
+
+func (c *RepoObjectController) BeforeActivation(b mvc.BeforeActivation) {
+    b.Handle("GET",         "/{repoId:int64}",                                  "GetListById"   )
+    b.Handle("POST",        "/add",                                             "Create"        )
+    b.Handle("DELETE",      "/{repoId:int64}/{modelId:int64}/{objectId:int64}", "DeleteByID"    )
+}
+
+func (c *RepoObjectController) GetListById(repoId int64) *JsonResult {
+    data, err := c.Service.GetListById(repoId)
+    if err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("获取成功", data)
+    }
+}
+
+func (c *RepoObjectController) Create() *JsonResult {
+    userId := c.GetCurUserId()
+    
+    data := datamodels.RepoObject{}
+    data.CreatedBy = userId
+    if err := c.Ctx.ReadJSON(&data); err != nil {
+        return ResultErr("读取数据失败", nil)
+    }
+    
+    
+    if err := c.Service.Create(&data); err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("新增成功", nil)
+    }
+}
+
+func (c *RepoObjectController) DeleteByID(repoId, modelId, objectId int64) *JsonResult {
+    if err := c.Service.Delete(repoId, modelId, objectId); err != nil {
+        return ResultErr(err.Error(), nil)
+    } else {
+        return ResultOk("删除成功", nil)
+    }
+}

+ 5 - 0
web/router/routes.go

@@ -256,6 +256,11 @@ func Configure(b *bootstrap.Bootstrapper) {
 		repoCatApp.Register(repoCatService)
 		repoCatApp.Register(repoCatService)
 		repoCatApp.Handle(new(controllers.RepoCatController))
 		repoCatApp.Handle(new(controllers.RepoCatController))
 		
 		
+		repoObjectService := service.NewRepoObjectService()
+		repoObjectApp := mvc.New(repoParty.Party("/object"))
+		repoObjectApp.Register(repoObjectService)
+		repoObjectApp.Handle(new(controllers.RepoObjectController))
+		
 		repoService := service.NewRepoService()
 		repoService := service.NewRepoService()
 		repoApp := mvc.New(repoParty.Party(""))
 		repoApp := mvc.New(repoParty.Party(""))
 		repoApp.Register(repoService)
 		repoApp.Register(repoService)