houyaf 3 년 전
부모
커밋
eda2a77efb

+ 157 - 0
repositories/biz_object_mapping_repo.go

@@ -0,0 +1,157 @@
+package repositories
+
+import (
+    "fmt"
+    "xorm.io/xorm"
+    "xps/datamodels"
+    "xps/viewmodels"
+)
+
+type BizObjectMappingRepo struct {
+    engine *xorm.Engine
+}
+
+func NewBizObjectMappingRepo(engine *xorm.Engine) *BizObjectMappingRepo {
+    return &BizObjectMappingRepo{
+        engine: engine,
+    }
+}
+
+func (d *BizObjectMappingRepo) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+    limit     := m["limit"].(int)
+    page      := m["page"].(int)
+    
+    sqlSelect := ` SELECT A.*                     `
+    sqlFrom   := ` FROM   biz_object_mapping AS A `
+    sqlWhere  := ` WHERE A.deleted_flag = 0       `
+    if keywords, ok := m["keywords"]; ok {
+        sqlWhere += ` AND A.object_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
+    }
+    
+    sqlCount  := ` SELECT COUNT(*)              `
+    total, err1 := d.engine.SQL(sqlCount + sqlFrom + sqlWhere).Count(new(viewmodels.BizObjectMappingInfo))
+    if err1 != nil {
+        return nil, err1
+    }
+    sqlOrderBy := " ORDER BY A.sort_no "
+    
+    pageStart  := (page - 1) * limit
+    sqlLimit   := fmt.Sprintf(" LIMIT %d OFFSET %d ", limit, pageStart)
+    
+    datalist := make([]viewmodels.BizObjectMappingInfo, 0)
+    err2 := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy + sqlLimit).Find(&datalist)
+    if err2 != nil {
+        return nil, err2
+    }
+    
+    pageResult := &viewmodels.PageResult{}
+    pageResult.Data     = datalist
+    pageResult.Total    = total
+    pageResult.PageSize = limit
+    pageResult.Page     = page
+    return pageResult, nil
+}
+
+func (d *BizObjectMappingRepo) GetList(m map[string]interface{}) ([]viewmodels.BizObjectMappingInfo, error) {
+    sqlSelect  := ` SELECT A.*                 `
+    sqlFrom    := ` FROM   biz_object_mapping AS A  `
+    sqlWhere   := ` WHERE  A.deleted_flag = 0   `
+    if keywords, ok := m["keywords"]; ok {
+        sqlWhere += ` AND A.object_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
+    }
+    sqlOrderBy := " ORDER BY A.sort_no "
+    
+    datalist   := make([]viewmodels.BizObjectMappingInfo, 0)
+    err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+    if err != nil {
+        return nil, err
+    } else {
+        return datalist, nil
+    }
+}
+
+func (d *BizObjectMappingRepo) GetAll() ([]viewmodels.BizObjectMappingInfo, error) {
+    sqlSelect  := ` SELECT A.*                  `
+    sqlFrom    := ` FROM   biz_object_mapping AS A  `
+    sqlWhere   := ` WHERE  A.deleted_flag = 0   `
+    sqlOrderBy := ` ORDER BY A.sort_no          `
+    
+    datalist   := make([]viewmodels.BizObjectMappingInfo, 0)
+    err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+    if err != nil {
+        return nil, err
+    } else {
+        return datalist, nil
+    }
+}
+
+func (d *BizObjectMappingRepo) GetListById(bizId, objectId int64) ([]viewmodels.BizObjectMappingInfo, error) {
+    sqlSelect  := ` SELECT A.*                 `
+    sqlFrom    := ` FROM  biz_object_mapping AS A  `
+    sqlWhere   := ` WHERE A.deleted_flag = 0   `
+    sqlWhere   += fmt.Sprintf(" AND A.biz_id  = %d", bizId)
+    sqlWhere   += fmt.Sprintf(" AND A.object_id = %d", objectId)
+    sqlOrderBy := " ORDER BY A.sort_no "
+    
+    datalist   := make([]viewmodels.BizObjectMappingInfo, 0)
+    err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+    if err != nil {
+        return nil, err
+    } else {
+        return datalist, nil
+    }
+}
+
+func (d *BizObjectMappingRepo) GetById(bizId, objectId, mappingId int64) (*viewmodels.BizObjectMappingInfo, error) {
+    data    := &viewmodels.BizObjectMappingInfo{}
+    ok, err := d.engine.
+        Where("biz_id = ?", bizId).
+        Where("object_id = ?", objectId).
+        Where("mapping_id = ?", mappingId).
+        Get(data)
+    if !ok && err == nil {
+        return nil, err
+    } else {
+        return data, nil
+    }
+}
+
+func (d *BizObjectMappingRepo) Create(data *datamodels.BizObjectMapping) error {
+    _, err := d.engine.Insert(data)
+    return err
+}
+
+func (d *BizObjectMappingRepo) Update(data *datamodels.BizObjectMapping) error {
+    bizId     := data.BizId
+    objectId  := data.ObjectId
+    mappingId := data.MappingId
+    _, err := d.engine.
+        Where("biz_id = ?", bizId).
+        Where("object_id = ?", objectId).
+        Where("mapping_id = ?", mappingId).
+        Update(data)
+    return err
+}
+
+func (d *BizObjectMappingRepo) Delete(m map[string]interface{}) error {
+    bizId     := m["bizId"].(int64)
+    objectId  := m["objectId"].(int64)
+    mappingId := m["mappingId"].(int64)
+    
+    data := &datamodels.BizObjectMapping{}
+    _, err := d.engine.
+        Where("biz_id = ?", bizId).
+        Where("object_id = ?", objectId).
+        Where("mapping_id = ?", mappingId).
+        Delete(data)
+    return err
+}
+
+func (d *BizObjectMappingRepo) DeleteByObjectId(bizId, objectId int64) error {
+    data := &datamodels.BizObjectMapping{}
+    _, err := d.engine.
+        Where("biz_id = ?", bizId).
+        Where("object_id = ?", objectId).
+        Delete(data)
+    return err
+}

+ 51 - 0
service/biz_object_attr_service.go

@@ -1 +1,52 @@
 package service
+
+import (
+    "xps/datamodels"
+    "xps/datasource"
+    "xps/repositories"
+    "xps/viewmodels"
+)
+
+type BizObjectAttrService interface {
+    GetList(m map[string]interface{}) ([]viewmodels.BizObjectAttrInfo, error)
+    GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
+    GetById(modelId, objectId, attrId int64) (*viewmodels.BizObjectAttrInfo, error)
+    Create(d *datamodels.BizObjectAttr) error
+    Update(d *datamodels.BizObjectAttr) error
+    Delete(m map[string]interface{}) error
+}
+
+type bizObjectAttrService struct {
+    repo *repositories.BizObjectAttrRepo
+}
+
+func NewBizObjectAttrService() BizObjectAttrService {
+    return &bizObjectAttrService{
+        repo: repositories.NewBizObjectAttrRepo(datasource.InstanceMaster()),
+    }
+}
+
+func (s *bizObjectAttrService) GetList(m map[string]interface{}) ([]viewmodels.BizObjectAttrInfo, error) {
+    return s.repo.GetList(m)
+}
+
+func (s *bizObjectAttrService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+    return s.repo.GetPage(m)
+}
+
+func (s *bizObjectAttrService) GetById(modelId, objectId, attrId int64) (*viewmodels.BizObjectAttrInfo, error) {
+    return s.repo.GetById(modelId, objectId, attrId)
+}
+
+func (s *bizObjectAttrService) Create(attr *datamodels.BizObjectAttr) error {
+    attr.AttrId = NewID()
+    return s.repo.Create(attr)
+}
+
+func (s *bizObjectAttrService) Update(attr *datamodels.BizObjectAttr) error {
+    return s.repo.Update(attr)
+}
+
+func (s *bizObjectAttrService) Delete(m map[string]interface{}) error {
+    return s.repo.Delete(m)
+}

+ 52 - 0
service/biz_object_mapping_repo.go

@@ -0,0 +1,52 @@
+package service
+
+import (
+    "xps/datamodels"
+    "xps/datasource"
+    "xps/repositories"
+    "xps/viewmodels"
+)
+
+type BizObjectMappingService interface {
+    GetList(m map[string]interface{}) ([]viewmodels.BizObjectMappingInfo, error)
+    GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
+    GetById(bizId, objectId, attrId int64) (*viewmodels.BizObjectMappingInfo, error)
+    Create(d *datamodels.BizObjectMapping) error
+    Update(d *datamodels.BizObjectMapping) error
+    Delete(m map[string]interface{}) error
+}
+
+type bizObjectMappingService struct {
+    repo *repositories.BizObjectMappingRepo
+}
+
+func NewBizObjectMappingService() BizObjectMappingService {
+    return &bizObjectMappingService{
+        repo: repositories.NewBizObjectMappingRepo(datasource.InstanceMaster()),
+    }
+}
+
+func (s *bizObjectMappingService) GetList(m map[string]interface{}) ([]viewmodels.BizObjectMappingInfo, error) {
+    return s.repo.GetList(m)
+}
+
+func (s *bizObjectMappingService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+    return s.repo.GetPage(m)
+}
+
+func (s *bizObjectMappingService) GetById(bizId, objectId, attrId int64) (*viewmodels.BizObjectMappingInfo, error) {
+    return s.repo.GetById(bizId, objectId, attrId)
+}
+
+func (s *bizObjectMappingService) Create(attr *datamodels.BizObjectMapping) error {
+    attr.MappingId = NewID()
+    return s.repo.Create(attr)
+}
+
+func (s *bizObjectMappingService) Update(attr *datamodels.BizObjectMapping) error {
+    return s.repo.Update(attr)
+}
+
+func (s *bizObjectMappingService) Delete(m map[string]interface{}) error {
+    return s.repo.Delete(m)
+}

+ 1 - 0
service/biz_object_rule_repo.go

@@ -0,0 +1 @@
+package service

+ 14 - 0
viewmodels/biz_object_mapping_info.go

@@ -0,0 +1,14 @@
+package viewmodels
+
+type BizObjectMappingInfo struct {
+    BizId           int64     `json:"bizId"           xorm:"'biz_id'            bigint  pk comment('Biz ID')     "`
+    ObjectId        int64     `json:"objectId"        xorm:"'object_id'         bigint  pk comment('Object ID')  "`
+    MappingId       int64     `json:"mappingId"       xorm:"'mapping_id'        bigint     comment('Mapping ID') "`
+    MappingModelId  int64     `json:"mappingModelId"  xorm:"'mapping_model_id'  bigint     comment('Mapping Model ID') "`
+    MappingObjectId int64     `json:"mappingObjectId" xorm:"'mapping_object_id' bigint     comment('Mapping Object ID')"`
+    SortNo          int64     `json:"sortNo"          xorm:"'sort_no'           bigint     comment('Sort No')          "`
+}
+
+func (t *BizObjectMappingInfo) TableName() string {
+    return "biz_object_mapping"
+}