houyaf 3 жил өмнө
parent
commit
e449557022

+ 0 - 1
datamodels/db.go

@@ -1 +0,0 @@
-package datamodels

+ 0 - 16
datamodels/db_type.go

@@ -1,16 +0,0 @@
-package datamodels
-
-type DbType struct {
-    DbTypeId     int64     `json:"dbTypeId"         xorm:"'db_type_id'        bigint      pk comment('主键ID')      "`
-    DbTypeTitle  string    `json:"dbTypeTitle"      xorm:"'db_type_title'     varchar(50)    comment('模型名称')     "`
-    GetTables    string    `json:"getTables"        xorm:"'get_tables'        varchar(255)   comment('描述')        "`
-    GetTableDef  string    `json:"getTableDef"      xorm:"'get_table_def'     varchar(255)   comment('描述')        "`
-    DbTypeDesc   string    `json:"dbTypeDesc"       xorm:"'db_type_desc'      varchar(255)   comment('模型名称')     "`
-    DbTypeLink   string    `json:"dbTypeLink"       xorm:"'db_type_link'      varchar(255)   comment('模型名称')     "`
-    Base
-}
-
-func (t *DbType) TableName() string {
-    return "ds_db_type"
-}
-

+ 5 - 5
datamodels/group_member.go

@@ -2,11 +2,11 @@ package datamodels
 
 // GroupMember data struct
 type GroupMember struct {
-	GmId      int64 `json:"gmId"        form:"gmId"             xorm:"bigint       'gm_id'      not null comment('主键ID')"`
-	OcId      int64 `json:"ocId"        form:"ocId"             xorm:"bigint       'oc_id'      not null comment('组织ID:公司或机构或单位ID')"`
-	GroupId   int64 `json:"groupId"     form:"groupId"          xorm:"bigint       'group_id'   not null comment('主键ID')"`
-	AccountId int64 `json:"accountId"   form:"accountId"        xorm:"bigint       'account_id' not null comment('主键ID')"`
-	IsFixed   int64 `json:"isFixed"     form:"isFixed"          xorm:"bigint       'is_fixed'            comment('主键ID')"`
+	GmId      int64 `json:"gmId"        xorm:"bigint       'gm_id'      not null comment('主键ID')"`
+	OcId      int64 `json:"ocId"        xorm:"bigint       'oc_id'      not null comment('组织ID:公司或机构或单位ID')"`
+	GroupId   int64 `json:"groupId"     xorm:"bigint       'group_id'   not null comment('主键ID')"`
+	AccountId int64 `json:"accountId"   xorm:"bigint       'account_id' not null comment('主键ID')"`
+	IsFixed   int64 `json:"isFixed"     xorm:"bigint       'is_fixed'            comment('主键ID')"`
 }
 
 // TableName : table name of database

+ 6 - 8
datamodels/group_member_position.go

@@ -1,16 +1,14 @@
 package datamodels
 
-// GroupMemberPosition
 type GroupMemberPosition struct {
-	GmpId      int64 `json:"gmpid"         form:"gmpid"            xorm:"bigint       'gmp_id'      pk  not null comment('主键ID')"`
-	OcId       int64 `json:"ocId"          form:"ocId"             xorm:"bigint       'oc_id'       pk  not null comment('组织ID:公司或机构或单位ID')"`
-	GroupId    int64 `json:"groupId"       form:"groupId"          xorm:"bigint       'group_id'    not null comment('群组ID')"`
-	AccountId  int64 `json:"accountId"     form:"accountId"        xorm:"bigint       'account_id'  not null comment('帐号ID')"`
-	PositionId int64 `json:"positionId"    form:"positionId"       xorm:"bigint       'position_id' not null comment('岗位ID')"`
-	IsFixed    int64 `json:"isFixed"       form:"isFixed"          xorm:"bigint       'is_fixed'             comment('是否可修改')"`
+	GmpId      int64 `json:"gmpid"        xorm:"bigint       'gmp_id'      pk  not null comment('主键ID')"`
+	OcId       int64 `json:"ocId"         xorm:"bigint       'oc_id'       pk  not null comment('组织ID:公司或机构或单位ID')"`
+	GroupId    int64 `json:"groupId"      xorm:"bigint       'group_id'    not null comment('群组ID')"`
+	AccountId  int64 `json:"accountId"    xorm:"bigint       'account_id'  not null comment('帐号ID')"`
+	PositionId int64 `json:"positionId"   xorm:"bigint       'position_id' not null comment('岗位ID')"`
+	IsFixed    int64 `json:"isFixed"      xorm:"bigint       'is_fixed'             comment('是否可修改')"`
 }
 
-// TableName: table name of database
 func (t *GroupMemberPosition) TableName() string {
 	return "s_group_member_position"
 }

+ 6 - 8
datamodels/group_member_position_grant.go

@@ -1,16 +1,14 @@
 package datamodels
 
-// Group Member Position Grant
 type GroupMemberPositionGrant struct {
-	OcId         int64 `form:"ocId"             xorm:"bigint       'oc_id'          pk not null comment('组织ID:公司或机构或单位ID')"`
-	GmpgId       int64 `form:"gmpgid"           xorm:"bigint       'gmpg_id'        pk not null comment('主键ID')"`
-	GroupId      int64 `form:"groupId"          xorm:"bigint       'group_id'       not null comment('群组ID')"`
-	AccountId    int64 `form:"accountId"        xorm:"bigint       'account_id'     not null comment('帐号ID')"`
-	PositionId   int64 `form:"positionId"       xorm:"bigint       'position_id'    not null comment('岗位ID')"`
-	GrantGroupId int64 `form:"grantGroupId"     xorm:"bigint       'grant_group_id' not null comment('授权群组ID')"`
+	OcId         int64 `json:"ocId"             xorm:"bigint     'oc_id'          pk not null comment('组织ID:公司或机构或单位ID')"`
+	GmpgId       int64 `json:"gmpgid"           xorm:"bigint     'gmpg_id'        pk not null comment('主键ID')    "`
+	GroupId      int64 `json:"groupId"          xorm:"bigint     'group_id'          not null comment('群组ID')    "`
+	AccountId    int64 `json:"accountId"        xorm:"bigint     'account_id'        not null comment('帐号ID')    "`
+	PositionId   int64 `json:"positionId"       xorm:"bigint     'position_id'       not null comment('岗位ID')    "`
+	GrantGroupId int64 `json:"grantGroupId"     xorm:"bigint     'grant_group_id'    not null comment('授权群组ID') "`
 }
 
-// TableName: table name of database
 func (t *GroupMemberPositionGrant) TableName() string {
 	return "s_group_member_position_grant"
 }

+ 14 - 14
datamodels/msg_cat.go

@@ -3,24 +3,24 @@ package datamodels
 import "time"
 
 type MsgCat struct {
-    OcId          int64     `json:"-"               xorm:"'oc_id'             bigint     pk comment('组织ID:公司或机构或单位ID')"`
-    MsgCatId      int64     `json:"msgCatId"        xorm:"'msg_cat_id'        bigint     pk comment('主键ID')                 "`
-    MsgCatTitle   string    `json:"msgCatTitle"     xorm:"'msg_cat_title'     varchar(50)   comment('群组类型名称')            "`
-    MsgCatDesc    string    `json:"msgCatDesc"      xorm:"'msg_cat_desc'      varchar(50)   comment('描述')                   "`
-    IsLink        int64     `json:"isLink"          xorm:"'is_link'           bigint        comment('是否可修改')              "`
-    IsFixed       int64     `json:"isFixed"         xorm:"'is_fixed'          bigint        comment('是否可修改')              "`
-    IsDetailed    int64     `json:"isDetailed"      xorm:"'is_detailed'       bigint        comment('是否可修改')              "`
+    OcId                int64     `json:"-"                 xorm:"'oc_id'               bigint     pk comment('组织ID:公司或机构或单位ID')"`
+    MsgCatId            int64     `json:"msgCatId"          xorm:"'msg_cat_id'          bigint     pk comment('主键ID')                 "`
+    MsgCatTitle         string    `json:"msgCatTitle"       xorm:"'msg_cat_title'       varchar(50)   comment('群组类型名称')            "`
+    MsgCatDesc          string    `json:"msgCatDesc"        xorm:"'msg_cat_desc'        varchar(50)   comment('描述')                   "`
+    IsLink              int64     `json:"isLink"            xorm:"'is_link'             bigint        comment('是否可修改')              "`
+    IsFixed             int64     `json:"isFixed"           xorm:"'is_fixed'            bigint        comment('是否可修改')              "`
+    IsDetailed          int64     `json:"isDetailed"        xorm:"'is_detailed'         bigint        comment('是否可修改')              "`
     
     MsgCatLink          string    `json:"msgCatLink"        xorm:"'msg_cat_link'        varchar(50)   comment('描述')         "`
     MsgCatLinkParams    string    `json:"msgCatLinkParams"  xorm:"'msg_cat_link_params' varchar(50)   comment('描述')         "`
     
-    CreatedBy     int64     `json:"createdBy"       xorm:"'created_by'"`
-    CreatedAt     time.Time `json:"createdAt"       xorm:"'created_at'"`
-    UpdatedBy     int64     `json:"updatedBy"       xorm:"'updated_by'"`
-    UpdatedAt     time.Time `json:"updatedAt"       xorm:"'updated_at'"`
-    DeletedFlag   int64     `json:"deletedFlag"     xorm:"'deleted_flag'"`
-    DeletedBy     int64     `json:"deletedBy"       xorm:"'deleted_by'"`
-    DeletedAt     time.Time `json:"deletedAt"       xorm:"'deleted_at'"`
+    CreatedBy           int64     `json:"createdBy"         xorm:"'created_by'"`
+    CreatedAt           time.Time `json:"createdAt"         xorm:"'created_at'"`
+    UpdatedBy           int64     `json:"updatedBy"         xorm:"'updated_by'"`
+    UpdatedAt           time.Time `json:"updatedAt"         xorm:"'updated_at'"`
+    DeletedFlag         int64     `json:"deletedFlag"       xorm:"'deleted_flag'"`
+    DeletedBy           int64     `json:"deletedBy"         xorm:"'deleted_by'"`
+    DeletedAt           time.Time `json:"deletedAt"         xorm:"'deleted_at'"`
 }
 
 func (t *MsgCat) TableName() string {

+ 30 - 0
datamodels/repo.go

@@ -0,0 +1,30 @@
+package datamodels
+
+import "time"
+
+type Repo struct {
+    RepoId          int64     `json:"repoId"         xorm:"'repo_id'            bigint      pk comment('Repo ID')         "`
+    RepoTypeId      int64     `json:"repoTypeId"     xorm:"'repo_type_id'       bigint      pk comment('Repo Type ID')    "`
+    RepoTitle       string    `json:"repoTitle"      xorm:"'repo_title'         varchar(127)   comment('Repo Title')      "`
+    RepoHost        string    `json:"repoHost"       xorm:"'repo_host'          varchar(127)   comment('Repo Host')       "`
+    RepoPort        int64     `json:"repoPort"       xorm:"'repo_port'          bigint         comment('Repo Port')       "`
+    RepoAccount     string    `json:"repoAccount"    xorm:"'repo_account'       varchar(127)   comment('Repo Account')    "`
+    RepoPassword    string    `json:"repoPassword"   xorm:"'repo_password'      varchar(127)   comment('Repo Password')   "`
+    RepoAccessKey   string    `json:"repoAccessKey"  xorm:"'repo_access_key'    varchar(127)   comment('Repo Access Key') "`
+    RepoSecretKey   string    `json:"repoSecretKey"  xorm:"'repo_secret_key'    varchar(127)   comment('Repo Secret Key') "`
+    RepoDesc        string    `json:"repoDesc"       xorm:"'repo_desc'          varchar(255)   comment('Repo Desc')       "`
+    Status          int64     `json:"status"         xorm:"'status'             bigint         comment('Status')          "`
+    
+    CreatedBy       int64     `json:"createdBy"      xorm:"'created_by'     "`
+    CreatedAt       time.Time `json:"createdAt"      xorm:"'created_at'     "`
+    UpdatedBy       int64     `json:"updatedBy"      xorm:"'updated_by'     "`
+    UpdatedAt       time.Time `json:"updatedAt"      xorm:"'updated_at'     "`
+    DeletedFlag     int64     `json:"deletedFlag"    xorm:"'deleted_flag'   "`
+    DeletedBy       int64     `json:"deletedBy"      xorm:"'deleted_by'     "`
+    DeletedAt       time.Time `json:"deletedAt"      xorm:"'deleted_at'     "`
+}
+
+func (t *Repo) TableName() string {
+    return "repo"
+}
+

+ 22 - 0
datamodels/repo_cat.go

@@ -0,0 +1,22 @@
+package datamodels
+
+import "time"
+
+type RepoCat struct {
+    RepoTypeId      int64     `json:"repoTypeId"        xorm:"'repo_type_id'        bigint      pk comment('主键ID')    "`
+    RepoCatId       int64     `json:"repoCatId"         xorm:"'repo_cat_id'         bigint      pk comment('主键ID')    "`
+    RepoCatTitle    string    `json:"repoCatTitle"      xorm:"'repo_cat_title'      varchar(127)   comment('模型名称')  "`
+    RepoCatDesc     string    `json:"repoCatDesc"       xorm:"'repo_cat_desc'       varchar(511)   comment('模型名称')  "`
+    CreatedBy       int64     `json:"createdBy"         xorm:"'created_by'"`
+    CreatedAt       time.Time `json:"createdAt"         xorm:"'created_at'"`
+    UpdatedBy       int64     `json:"updatedBy"         xorm:"'updated_by'"`
+    UpdatedAt       time.Time `json:"updatedAt"         xorm:"'updated_at'"`
+    DeletedFlag     int64     `json:"deletedFlag"       xorm:"'deleted_flag'"`
+    DeletedBy       int64     `json:"deletedBy"         xorm:"'deleted_by'"`
+    DeletedAt       time.Time `json:"deletedAt"         xorm:"'deleted_at'"`
+}
+
+func (t *RepoCat) TableName() string {
+    return "repo_cat"
+}
+

+ 21 - 0
datamodels/repo_type.go

@@ -0,0 +1,21 @@
+package datamodels
+
+import "time"
+
+type RepoType struct {
+    RepoTypeId      int64     `json:"repoTypeId"        xorm:"'repo_type_id'        bigint      pk comment('主键ID')    "`
+    RepoTypeTitle   string    `json:"repoTypeTitle"     xorm:"'repo_type_title'     varchar(50)    comment('模型名称')   "`
+    RepoTypeDesc    string    `json:"repoTypeDesc"      xorm:"'repo_type_desc'      varchar(255)   comment('模型名称')   "`
+    CreatedBy       int64     `json:"createdBy"         xorm:"'created_by'"`
+    CreatedAt       time.Time `json:"createdAt"         xorm:"'created_at'"`
+    UpdatedBy       int64     `json:"updatedBy"         xorm:"'updated_by'"`
+    UpdatedAt       time.Time `json:"updatedAt"         xorm:"'updated_at'"`
+    DeletedFlag     int64     `json:"deletedFlag"       xorm:"'deleted_flag'"`
+    DeletedBy       int64     `json:"deletedBy"         xorm:"'deleted_by'"`
+    DeletedAt       time.Time `json:"deletedAt"         xorm:"'deleted_at'"`
+}
+
+func (t *RepoType) TableName() string {
+    return "repo_type"
+}
+

+ 8 - 2
repositories/oc_cat_repo.go

@@ -127,14 +127,19 @@ func (d *OcCatRepo) Create(data *datamodels.OcCat) error {
 }
 
 func (d *OcCatRepo) Update(data *datamodels.OcCat) error {
-    ocCatId := data.OcCatId
+    ocTypeId := data.OcTypeId
+    ocCatId  := data.OcCatId
     
     data.UpdatedAt = time.Now()
-    _, err := d.engine.Where("oc_cat_id = ?", ocCatId).Update(data)
+    _, err := d.engine.
+        Where("oc_type_id = ?", ocTypeId).
+        Where("oc_cat_id = ?", ocCatId).
+        Update(data)
     return err
 }
 
 func (d *OcCatRepo) Delete(m map[string]interface{}) error {
+    ocTypeId  := m["ocTypeId"].(int64)
     ocCatId   := m["ocCatId"].(int64)
     deletedBy := m["deletedBy"].(int64)
     
@@ -143,6 +148,7 @@ func (d *OcCatRepo) Delete(m map[string]interface{}) error {
     data.DeletedBy = deletedBy
     data.DeletedAt = time.Now()
     _, err := d.engine.
+        Where("oc_type_id = ?", ocTypeId).
         Where("oc_cat_id = ?", ocCatId).
         Update(data)
     return err

+ 129 - 0
repositories/repo.go

@@ -0,0 +1,129 @@
+package repositories
+
+import (
+    "fmt"
+    "time"
+    "xorm.io/xorm"
+    "xps/datamodels"
+    "xps/viewmodels"
+)
+
+type Repo struct {
+    engine *xorm.Engine
+}
+
+func NewRepo(engine *xorm.Engine) *Repo {
+    return &Repo{
+        engine: engine,
+    }
+}
+
+func (d *Repo) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+    limit     := m["limit"].(int)
+    page      := m["page"].(int)
+    
+    sqlSelect := ` SELECT A.*                `
+    sqlFrom   := ` FROM   repo   AS A        `
+    sqlWhere  := ` WHERE  A.deleted_flag = 0 `
+    if keywords, ok := m["keywords"]; ok {
+        sqlWhere += ` AND A.repo_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
+    }
+    
+    sqlCount  := ` SELECT COUNT(*)           `
+    total, err1 := d.engine.SQL(sqlCount + sqlFrom + sqlWhere).Count(new(datamodels.Biz))
+    if err1 != nil {
+        return nil, err1
+    }
+    
+    sqlOrderBy := " ORDER BY A.repo_id ASC "
+    pageStart  := (page - 1) * limit
+    sqlLimit   := fmt.Sprintf(" LIMIT %d OFFSET %d ", limit, pageStart)
+    
+    datalist   := make([]datamodels.Biz, 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 *Repo) GetList(m map[string]interface{}) ([]viewmodels.RepoInfo, error) {
+    sqlSelect := ` SELECT A.*               `
+    sqlFrom   := ` FROM  repo AS A          `
+    sqlWhere  := ` WHERE A.deleted_flag = 0 `
+    if keywords, ok := m["keywords"]; ok {
+        sqlWhere += ` AND A.repo_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
+    }
+    
+    sqlOrderBy := ` ORDER BY A.repo_id ASC `
+    datalist   := make([]viewmodels.RepoInfo, 0)
+    err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+    if err != nil {
+        return nil, err
+    }
+    return datalist, nil
+}
+
+func (d *Repo) GetAll() ([]viewmodels.RepoInfo, error) {
+    sqlSelect  := ` SELECT A.*               `
+    sqlFrom    := ` FROM  repo AS A          `
+    sqlWhere   := ` WHERE A.deleted_flag = 0 `
+    sqlOrderBy := ` ORDER BY A.repo_id ASC   `
+    datalist   := make([]viewmodels.RepoInfo, 0)
+    err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+    if err != nil {
+        return nil, err
+    }
+    return datalist, nil
+}
+
+func (d *Repo) GetById(repoId int64) (*viewmodels.RepoInfo, error) {
+    sqlSelect  := ` SELECT A.*                `
+    sqlFrom    := ` FROM   repo   AS A        `
+    sqlWhere   := ` WHERE  A.deleted_flag = 0 `
+    sqlWhere   += fmt.Sprintf(" A.repo_id = %d ", repoId)
+    
+    data := &viewmodels.RepoInfo{}
+    has, err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere).Get(data)
+    if !has || err != nil {
+        return nil, err
+    } else {
+        return data, nil
+    }
+}
+
+func (d *Repo) Create(data *datamodels.Repo) error {
+    data.CreatedAt = time.Now()
+    _, err := d.engine.Insert(data)
+    return err
+}
+
+func (d *Repo) Update(data *datamodels.Repo) error {
+    repoId := data.RepoId
+    
+    data.UpdatedAt = time.Now()
+    _, err := d.engine.
+        Where("repo_id = ?", repoId).
+        Update(data)
+    return err
+}
+
+func (d *Repo) Delete(m map[string]interface{}) error {
+    repoId    := m["repoId"].(int64)
+    deletedBy := m["deletedBy"].(int64)
+    
+    data := &datamodels.Repo{}
+    data.DeletedFlag = 1
+    data.DeletedBy   = deletedBy
+    data.DeletedAt   = time.Now()
+    _, err := d.engine.
+        Where("repo_id = ?", repoId).
+        Update(data)
+    return err
+}

+ 155 - 0
repositories/repo_cat.go

@@ -0,0 +1,155 @@
+package repositories
+
+import (
+    "fmt"
+    "time"
+    "xorm.io/xorm"
+    "xps/datamodels"
+    "xps/viewmodels"
+)
+
+type RepoCatRepo struct {
+    engine *xorm.Engine
+}
+
+func NewRepoCatRepo(engine *xorm.Engine) *RepoCatRepo {
+    return &RepoCatRepo{
+        engine: engine,
+    }
+}
+
+func (d *RepoCatRepo) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+    limit     := m["limit"].(int)
+    page      := m["page"].(int)
+    
+    sqlSelect := ` SELECT A.*                `
+    sqlFrom   := ` FROM   repo_cat   AS A     `
+    sqlWhere  := ` WHERE  A.deleted_flag = 0 `
+    
+    if repoTypeId, ok := m["repoTypeId"]; ok {
+        sqlWhere += fmt.Sprintf(" AND A.repo_type_id = %d ", repoTypeId)
+    }
+    
+    if repoCatId, ok := m["repoCatId"]; ok {
+        sqlWhere += fmt.Sprintf(" AND A.repo_cat_id = %d ", repoCatId)
+    }
+    
+    if keywords, ok := m["keywords"]; ok {
+        sqlWhere += " AND A.repo_cat_title like '%" + fmt.Sprintf("%s", keywords) + "%' "
+    }
+    
+    sqlCount := ` SELECT COUNT(*)            `
+    total, err1 := d.engine.SQL(sqlCount + sqlFrom + sqlWhere).Count(new(datamodels.RepoCat))
+    if err1 != nil {
+        return nil, err1
+    }
+    
+    sqlOrderBy := " ORDER BY A.repo_type_id, A.repo_cat_id "
+    pageStart  := (page - 1) * limit
+    sqlLimit   := fmt.Sprintf(" LIMIT %d OFFSET %d ", limit, pageStart)
+    
+    datalist := make([]datamodels.RepoCat, 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 *RepoCatRepo) GetList(m map[string]interface{}) ([]viewmodels.RepoCatInfo, error) {
+    sqlSelect  := ` SELECT A.*                `
+    sqlFrom    := ` FROM  repo_cat AS A        `
+    sqlWhere   := ` WHERE A.deleted_flag = 0  `
+    
+    if repoTypeId, ok := m["repoTypeId"]; ok {
+        sqlWhere += fmt.Sprintf(" AND A.repo_type_id = %d ", repoTypeId)
+    }
+    
+    if repoCatId, ok := m["repoCatId"]; ok {
+        sqlWhere += fmt.Sprintf(" AND A.repo_cat_id = %d ", repoCatId)
+    }
+    
+    if keywords, ok := m["keywords"]; ok {
+        sqlWhere += ` AND   A.repo_cat_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
+    }
+    
+    sqlOrderBy := " ORDER BY A.repo_type_id, A.repo_cat_id "
+    datalist   := make([]viewmodels.RepoCatInfo, 0)
+    err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+    if err != nil {
+        return nil, err
+    } else {
+        return datalist, nil
+    }
+}
+
+func (d *RepoCatRepo) GetById(repoTypeId, repoCatId int64) (*viewmodels.RepoCatInfo, error) {
+    sqlSelect  := ` SELECT A.*                `
+    sqlFrom    := ` FROM    repo_cat AS A     `
+    sqlWhere   := ` WHERE A.deleted_flag = 0  `
+    sqlWhere   += fmt.Sprintf(" AND A.repo_type_id = %d ", repoTypeId)
+    sqlWhere   += fmt.Sprintf(" AND A.repo_cat_id  = %d ", repoCatId)
+    data := &viewmodels.RepoCatInfo{}
+    has, err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere).Get(data)
+    if !has || err != nil {
+        return nil, err
+    } else {
+        return data, nil
+    }
+}
+
+func (d *RepoCatRepo) GetListById(repoTypeId int64) ([]viewmodels.RepoCatInfo, error) {
+    sqlSelect  := ` SELECT A.*                `
+    sqlFrom    := ` FROM  repo_cat AS A        `
+    sqlWhere   := ` WHERE A.deleted_flag = 0  `
+    sqlWhere   += fmt.Sprintf(" AND A.repo_type_id = %d ", repoTypeId)
+    sqlOrderBy := " ORDER BY A.repo_type_id, A.repo_cat_id "
+    datalist   := make([]viewmodels.RepoCatInfo, 0)
+    err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
+    if err != nil {
+        return nil, err
+    } else {
+        return datalist, nil
+    }
+}
+
+
+func (d *RepoCatRepo) Create(data *datamodels.RepoCat) error {
+    data.CreatedAt = time.Now()
+    _, err := d.engine.Insert(data)
+    return err
+}
+
+func (d *RepoCatRepo) Update(data *datamodels.RepoCat) error {
+    repoTypeId := data.RepoTypeId
+    repoCatId := data.RepoCatId
+    
+    data.UpdatedAt = time.Now()
+    _, err := d.engine.
+        Where("repo_type_id = ?", repoTypeId).
+        Where("repo_cat_id = ?", repoCatId).
+        Update(data)
+    return err
+}
+
+func (d *RepoCatRepo) Delete(m map[string]interface{}) error {
+    repoTypeId := m["repoTypeId"].(int64)
+    repoCatId   := m["repoCatId"].(int64)
+    deletedBy := m["deletedBy"].(int64)
+    
+    data := &datamodels.RepoCat{}
+    data.DeletedFlag = 1
+    data.DeletedBy = deletedBy
+    data.DeletedAt = time.Now()
+    _, err := d.engine.
+        Where("repo_type_id = ?", repoTypeId).
+        Where("repo_cat_id = ?", repoCatId).
+        Update(data)
+    return err
+}

+ 5 - 5
repositories/db_repo.go → repositories/repo_db.go

@@ -8,17 +8,17 @@ import (
     "xps/viewmodels"
 )
 
-type DbRepo struct {
+type RepoDB struct {
     engine *xorm.Engine
 }
 
-func NewDbRepo(engine *xorm.Engine) *DbRepo {
-    return &DbRepo{
+func NewRepoDB(engine *xorm.Engine) *RepoDB {
+    return &RepoDB{
         engine: engine,
     }
 }
 
-func (d *DbRepo) GetPage(tableCode string) (*viewmodels.PageResult, error) {
+func (d *RepoDB) GetDataOfPage(tableCode string) (*viewmodels.PageResult, error) {
     limit     := 100
     page      := 1
     sqlStatement := ` SELECT A.*                `
@@ -53,7 +53,7 @@ func (d *DbRepo) GetPage(tableCode string) (*viewmodels.PageResult, error) {
     return pageResult, nil
 }
 
-func (d *DbRepo) GetList(tableCode string) ([]map[string]interface{}, error) {
+func (d *RepoDB) GetDataOfList(tableCode string) ([]map[string]interface{}, error) {
     sqlStatement := fmt.Sprintf(" SELECT * FROM %s ", tableCode)
     sqlWhere     := ` WHERE  1 = 1 `
     results, err := d.engine.QueryInterface(sqlStatement + sqlWhere)

+ 29 - 29
repositories/db_type_repo.go → repositories/repo_type.go

@@ -8,38 +8,38 @@ import (
     "xps/viewmodels"
 )
 
-type DbTypeRepo struct {
+type RepoTypeRepo struct {
     engine *xorm.Engine
 }
 
-func NewDbTypeRepo(engine *xorm.Engine) *DbTypeRepo {
-    return &DbTypeRepo{
+func NewRepoTypeRepo(engine *xorm.Engine) *RepoTypeRepo {
+    return &RepoTypeRepo{
         engine: engine,
     }
 }
 
-func (d *DbTypeRepo) GetPage(m map[string]interface{})(*viewmodels.PageResult, error) {
+func (d *RepoTypeRepo) GetPage(m map[string]interface{})(*viewmodels.PageResult, error) {
     limit     := m["limit"].(int)
     page      := m["page"].(int)
     
     sqlSelect := ` SELECT A.*                `
-    sqlFrom   := ` FROM   ds_db_type AS A    `
+    sqlFrom   := ` FROM   repo_type AS A    `
     sqlWhere  := ` WHERE  A.deleted_flag = 0 `
     if keywords, ok := m["keywords"]; ok {
-        sqlWhere += ` AND A.db_type_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
+        sqlWhere += ` AND A.repo_type_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
     }
     
     sqlCount    := ` SELECT COUNT(*) `
-    total, err1 := d.engine.SQL(sqlCount + sqlFrom + sqlWhere).Count(new(datamodels.DbType))
+    total, err1 := d.engine.SQL(sqlCount + sqlFrom + sqlWhere).Count(new(datamodels.RepoType))
     if err1 != nil {
         return nil, err1
     }
     
-    sqlOrderBy := " ORDER BY db_type_id ASC "
+    sqlOrderBy := " ORDER BY repo_type_id ASC "
     pageStart  := (page - 1) * limit
     sqlLimit   := fmt.Sprintf(" LIMIT %d OFFSET %d ", limit, pageStart)
     
-    datalist   := make([]datamodels.DbType, 0)
+    datalist   := make([]datamodels.RepoType, 0)
     err2 := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy + sqlLimit).Find(&datalist)
     if err2 != nil {
         return nil, err2
@@ -53,16 +53,16 @@ func (d *DbTypeRepo) GetPage(m map[string]interface{})(*viewmodels.PageResult, e
     return pageResult, nil
 }
 
-func (d *DbTypeRepo) GetList(m map[string]interface{}) ([]viewmodels.DbTypeInfo, error) {
+func (d *RepoTypeRepo) GetList(m map[string]interface{}) ([]viewmodels.RepoTypeInfo, error) {
     sqlSelect := ` SELECT A.*               `
-    sqlFrom   := ` FROM  ds_db_type   AS A    `
+    sqlFrom   := ` FROM  repo_type   AS A    `
     sqlWhere  := ` WHERE A.deleted_flag = 0 `
     if keywords, ok := m["keywords"]; ok {
-        sqlWhere += ` AND A.db_type_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
+        sqlWhere += ` AND A.repo_type_title like ` + "'%" + fmt.Sprintf("%s", keywords) + "%'"
     }
     
-    sqlOrderBy := " ORDER BY db_type_id ASC "
-    datalist := make([]viewmodels.DbTypeInfo, 0)
+    sqlOrderBy := " ORDER BY A.repo_type_id ASC "
+    datalist := make([]viewmodels.RepoTypeInfo, 0)
     err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere + sqlOrderBy).Find(&datalist)
     if err != nil {
         return nil, err
@@ -71,13 +71,13 @@ func (d *DbTypeRepo) GetList(m map[string]interface{}) ([]viewmodels.DbTypeInfo,
     }
 }
 
-func (d *DbTypeRepo) GetById(dbTypeId int64) (*viewmodels.DbTypeInfo, error) {
-    sqlSelect := ` SELECT A.*               `
-    sqlFrom   := ` FROM  ds_db_type   AS A    `
-    sqlWhere  := ` WHERE A.deleted_flag = 0 `
-    sqlWhere  += fmt.Sprintf(" AND A.db_type_id = %d ", dbTypeId)
+func (d *RepoTypeRepo) GetById(repoTypeId int64) (*viewmodels.RepoTypeInfo, error) {
+    sqlSelect := ` SELECT  A.*               `
+    sqlFrom   := ` FROM  repo_type   AS A    `
+    sqlWhere  := ` WHERE A.deleted_flag = 0  `
+    sqlWhere  += fmt.Sprintf(" AND A.repo_type_id = %d ", repoTypeId)
     
-    data := &viewmodels.DbTypeInfo{}
+    data := &viewmodels.RepoTypeInfo{}
     has, err := d.engine.SQL(sqlSelect + sqlFrom + sqlWhere).Get(data)
     if !has || err != nil {
         return nil, err
@@ -86,28 +86,28 @@ func (d *DbTypeRepo) GetById(dbTypeId int64) (*viewmodels.DbTypeInfo, error) {
     }
 }
 
-func (d *DbTypeRepo) Create(data *datamodels.DbType) error {
+func (d *RepoTypeRepo) Create(data *datamodels.RepoType) error {
     data.CreatedAt = time.Now()
     _, err := d.engine.Insert(data)
     return err
 }
 
-func (d *DbTypeRepo) Update(data *datamodels.DbType) error {
-    dbTypeId := data.DbTypeId
+func (d *RepoTypeRepo) Update(data *datamodels.RepoType) error {
+    repoTypeId := data.RepoTypeId
     
     data.UpdatedAt = time.Now()
-    _, err := d.engine.Where("db_type_id = ?", dbTypeId).Update(data)
+    _, err := d.engine.Where("repo_type_id = ?", repoTypeId).Update(data)
     return err
 }
 
-func (d *DbTypeRepo) Delete(m map[string]interface{}) error {
-    dbTypeId  := m["dbTypeId"].(int64)
-    deletedBy := m["deletedBy"].(int64)
+func (d *RepoTypeRepo) Delete(m map[string]interface{}) error {
+    repoTypeId  := m["repoTypeId"].(int64)
+    deletedBy   := m["deletedBy"].(int64)
     
-    data := &datamodels.DbType{}
+    data := &datamodels.RepoType{}
     data.DeletedFlag = 1
     data.DeletedBy   = deletedBy
     data.DeletedAt   = time.Now()
-    _, err := d.engine.Where("db_type_id = ?", dbTypeId).Update(data)
+    _, err := d.engine.Where("repo_type_id = ?", repoTypeId).Update(data)
     return err
 }

+ 0 - 1
service/db_access_service.go

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

+ 0 - 30
service/db_service.go

@@ -1,30 +0,0 @@
-package service
-
-import (
-    "xps/datasource"
-    "xps/repositories"
-    "xps/viewmodels"
-)
-
-type DbService interface {
-    GetList(objectCode string) ([]map[string]interface{}, error)
-    GetPage(objectCode string) (*viewmodels.PageResult, error)
-}
-
-type dbService struct {
-    repo *repositories.DbRepo
-}
-
-func NewDbService() DbService {
-    return &dbService{
-        repo: repositories.NewDbRepo(datasource.InstanceSlave()),
-    }
-}
-
-func (s *dbService) GetList(objectCode string) ([]map[string]interface{}, error) {
-    return s.repo.GetList(objectCode)
-}
-
-func (s *dbService) GetPage(objectCode string) (*viewmodels.PageResult, error) {
-    return s.repo.GetPage(objectCode)
-}

+ 0 - 52
service/db_type_service.go

@@ -1,52 +0,0 @@
-package service
-
-import (
-    "xps/datamodels"
-    "xps/datasource"
-    "xps/repositories"
-    "xps/viewmodels"
-)
-
-type DbTypeService interface {
-    GetList(m map[string]interface{}) ([]viewmodels.DbTypeInfo, error)
-    GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
-    GetById(modelId int64) (*viewmodels.DbTypeInfo, error)
-    Create(d *datamodels.DbType) error
-    Update(d *datamodels.DbType) error
-    Delete(m map[string]interface{}) error
-}
-
-type dbTypeService struct {
-    repo *repositories.DbTypeRepo
-}
-
-func NewDbTypeService() DbTypeService {
-    return &dbTypeService{
-        repo: repositories.NewDbTypeRepo(datasource.InstanceMaster()),
-    }
-}
-
-func (s *dbTypeService) GetList(m map[string]interface{}) ([]viewmodels.DbTypeInfo, error) {
-    return s.repo.GetList(m)
-}
-
-func (s *dbTypeService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
-    return s.repo.GetPage(m)
-}
-
-func (s *dbTypeService) GetById(modelId int64) (*viewmodels.DbTypeInfo, error) {
-    return s.repo.GetById(modelId)
-}
-
-func (s *dbTypeService) Create(DbType *datamodels.DbType) error {
-    DbType.DbTypeId = NewID()
-    return s.repo.Create(DbType)
-}
-
-func (s *dbTypeService) Update(DbType *datamodels.DbType) error {
-    return s.repo.Update(DbType)
-}
-
-func (s *dbTypeService) Delete(m map[string]interface{}) error {
-    return s.repo.Delete(m)
-}

+ 52 - 0
service/repo_cat_service.go

@@ -0,0 +1,52 @@
+package service
+
+import (
+    "xps/datamodels"
+    "xps/datasource"
+    "xps/repositories"
+    "xps/viewmodels"
+)
+
+type RepoCatService interface {
+    GetList(m map[string]interface{}) ([]viewmodels.RepoCatInfo, error)
+    GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
+    GetById(repoTypeId, repoCatId int64) (*viewmodels.RepoCatInfo, error)
+    Create(d *datamodels.RepoCat) error
+    Update(d *datamodels.RepoCat) error
+    Delete(m map[string]interface{}) error
+}
+
+type repoCatService struct {
+    repo *repositories.RepoCatRepo
+}
+
+func NewRepoCatService() RepoCatService {
+    return &repoCatService{
+        repo: repositories.NewRepoCatRepo(datasource.InstanceMaster()),
+    }
+}
+
+func (s *repoCatService) GetList(m map[string]interface{}) ([]viewmodels.RepoCatInfo, error) {
+    return s.repo.GetList(m)
+}
+
+func (s *repoCatService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+    return s.repo.GetPage(m)
+}
+
+func (s *repoCatService) GetById(repoTypeId, repoCatId int64) (*viewmodels.RepoCatInfo, error) {
+    return s.repo.GetById(repoTypeId, repoCatId)
+}
+
+func (s *repoCatService) Create(c *datamodels.RepoCat) error {
+    c.RepoCatId = NewID()
+    return s.repo.Create(c)
+}
+
+func (s *repoCatService) Update(c *datamodels.RepoCat) error {
+    return s.repo.Update(c)
+}
+
+func (s *repoCatService) Delete(m map[string]interface{}) error {
+    return s.repo.Delete(m)
+}

+ 30 - 0
service/repo_db_service.go

@@ -0,0 +1,30 @@
+package service
+
+import (
+    "xps/datasource"
+    "xps/repositories"
+    "xps/viewmodels"
+)
+
+type RepoDBService interface {
+    GetDataOfList(objectCode string) ([]map[string]interface{}, error)
+    GetDataOfPage(objectCode string) (*viewmodels.PageResult, error)
+}
+
+type repoDBService struct {
+    repoDB *repositories.RepoDB
+}
+
+func NewRepoDBService() RepoDBService {
+    return &repoDBService{
+        repoDB: repositories.NewRepoDB(datasource.InstanceSlave()),
+    }
+}
+
+func (s *repoDBService) GetDataOfList(objectCode string) ([]map[string]interface{}, error) {
+    return s.repoDB.GetDataOfList(objectCode)
+}
+
+func (s *repoDBService) GetDataOfPage(objectCode string) (*viewmodels.PageResult, error) {
+    return s.repoDB.GetDataOfPage(objectCode)
+}

+ 52 - 0
service/repo_service.go

@@ -0,0 +1,52 @@
+package service
+
+import (
+    "xps/datamodels"
+    "xps/datasource"
+    "xps/repositories"
+    "xps/viewmodels"
+)
+
+type RepoService interface {
+    GetList(m map[string]interface{}) ([]viewmodels.RepoInfo, error)
+    GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
+    GetById(repoId int64) (*viewmodels.RepoInfo, error)
+    Create(d *datamodels.Repo) error
+    Update(d *datamodels.Repo) error
+    Delete(m map[string]interface{}) error
+}
+
+type repoService struct {
+    repo *repositories.Repo
+}
+
+func NewRepoService() RepoService {
+    return &repoService{
+        repo: repositories.NewRepo(datasource.InstanceMaster()),
+    }
+}
+
+func (s *repoService) GetList(m map[string]interface{}) ([]viewmodels.RepoInfo, error) {
+    return s.repo.GetList(m)
+}
+
+func (s *repoService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+    return s.repo.GetPage(m)
+}
+
+func (s *repoService) GetById(repoId int64) (*viewmodels.RepoInfo, error) {
+    return s.repo.GetById(repoId)
+}
+
+func (s *repoService) Create(m *datamodels.Repo) error {
+    m.RepoId = NewID()
+    return s.repo.Create(m)
+}
+
+func (s *repoService) Update(m *datamodels.Repo) error {
+    return s.repo.Update(m)
+}
+
+func (s *repoService) Delete(m map[string]interface{}) error {
+    return s.repo.Delete(m)
+}

+ 52 - 0
service/repo_type_service.go

@@ -0,0 +1,52 @@
+package service
+
+import (
+    "xps/datamodels"
+    "xps/datasource"
+    "xps/repositories"
+    "xps/viewmodels"
+)
+
+type RepoTypeService interface {
+    GetList(m map[string]interface{}) ([]viewmodels.RepoTypeInfo, error)
+    GetPage(m map[string]interface{}) (*viewmodels.PageResult, error)
+    GetById(repoTypeId int64) (*viewmodels.RepoTypeInfo, error)
+    Create(d *datamodels.RepoType) error
+    Update(d *datamodels.RepoType) error
+    Delete(m map[string]interface{}) error
+}
+
+type repoTypeService struct {
+    repo *repositories.RepoTypeRepo
+}
+
+func NewRepoTypeService() RepoTypeService {
+    return &repoTypeService{
+        repo: repositories.NewRepoTypeRepo(datasource.InstanceMaster()),
+    }
+}
+
+func (s *repoTypeService) GetList(m map[string]interface{}) ([]viewmodels.RepoTypeInfo, error) {
+    return s.repo.GetList(m)
+}
+
+func (s *repoTypeService) GetPage(m map[string]interface{}) (*viewmodels.PageResult, error) {
+    return s.repo.GetPage(m)
+}
+
+func (s *repoTypeService) GetById(repoTypeId int64) (*viewmodels.RepoTypeInfo, error) {
+    return s.repo.GetById(repoTypeId)
+}
+
+func (s *repoTypeService) Create(RepoType *datamodels.RepoType) error {
+    RepoType.RepoTypeId = NewID()
+    return s.repo.Create(RepoType)
+}
+
+func (s *repoTypeService) Update(RepoType *datamodels.RepoType) error {
+    return s.repo.Update(RepoType)
+}
+
+func (s *repoTypeService) Delete(m map[string]interface{}) error {
+    return s.repo.Delete(m)
+}

+ 0 - 15
viewmodels/db_type_info.go

@@ -1,15 +0,0 @@
-package viewmodels
-
-type DbTypeInfo struct {
-    DbTypeId     int64     `json:"dbTypeId"         xorm:"'db_type_id'        bigint      pk comment('主键ID')      "`
-    DbTypeTitle  string    `json:"dbTypeTitle"      xorm:"'db_type_title'     varchar(50)    comment('模型名称')     "`
-    GetTables    string    `json:"getTables"        xorm:"'get_tables'        varchar(255)   comment('描述')        "`
-    GetTableDef  string    `json:"getTableDef"      xorm:"'get_table_def'     varchar(255)   comment('描述')        "`
-    DbTypeDesc   string    `json:"dbTypeDesc"       xorm:"'db_type_desc'      varchar(255)   comment('描述')        "`
-    DbTypeLink   string    `json:"dbTypeLink"       xorm:"'db_type_link'      varchar(255)   comment('描述')        "`
-}
-
-func (t *DbTypeInfo) TableName() string {
-    return "ds_db_type"
-}
-

+ 13 - 0
viewmodels/repo_cat_info.go

@@ -0,0 +1,13 @@
+package viewmodels
+
+type RepoCatInfo struct {
+    RepoTypeId      int64     `json:"repoTypeId"        xorm:"'repo_type_id'        bigint      pk comment('主键ID')    "`
+    RepoCatId       int64     `json:"repoCatId"         xorm:"'repo_cat_id'         bigint      pk comment('主键ID')    "`
+    RepoCatTitle    string    `json:"repoCatTitle"      xorm:"'repo_cat_title'      varchar(127)   comment('模型名称')  "`
+    RepoCatDesc     string    `json:"repoCatDesc"       xorm:"'repo_cat_desc'       varchar(511)   comment('模型名称')  "`
+}
+
+func (t *RepoCatInfo) TableName() string {
+    return "repo_cat"
+}
+

+ 20 - 0
viewmodels/repo_info.go

@@ -0,0 +1,20 @@
+package viewmodels
+
+type RepoInfo struct {
+    RepoId          int64     `json:"repoId"         xorm:"'repo_id'            bigint      pk comment('Repo ID')         "`
+    RepoTypeId      int64     `json:"repoTypeId"     xorm:"'repo_type_id'       bigint      pk comment('Repo Type ID')    "`
+    RepoTitle       string    `json:"repoTitle"      xorm:"'repo_title'         varchar(127)   comment('Repo Title')      "`
+    RepoHost        string    `json:"repoHost"       xorm:"'repo_host'          varchar(127)   comment('Repo Host')       "`
+    RepoPort        int64     `json:"repoPort"       xorm:"'repo_port'          bigint         comment('Repo Port')       "`
+    RepoAccount     string    `json:"repoAccount"    xorm:"'repo_account'       varchar(127)   comment('Repo Account')    "`
+    RepoPassword    string    `json:"repoPassword"   xorm:"'repo_password'      varchar(127)   comment('Repo Password')   "`
+    RepoAccessKey   string    `json:"repoAccessKey"  xorm:"'repo_access_key'    varchar(127)   comment('Repo Access Key') "`
+    RepoSecretKey   string    `json:"repoSecretKey"  xorm:"'repo_secret_key'    varchar(127)   comment('Repo Secret Key') "`
+    RepoDesc        string    `json:"repoDesc"       xorm:"'repo_desc'          varchar(255)   comment('Repo Desc')       "`
+    Status          int64     `json:"status"         xorm:"'status'             bigint         comment('Status')          "`
+}
+
+func (t *RepoInfo) TableName() string {
+    return "repo"
+}
+

+ 12 - 0
viewmodels/repo_type_info.go

@@ -0,0 +1,12 @@
+package viewmodels
+
+type RepoTypeInfo struct {
+    RepoTypeId      int64     `json:"repoTypeId"        xorm:"'repo_type_id'        bigint      pk comment('主键ID')    "`
+    RepoTypeTitle   string    `json:"repoTypeTitle"     xorm:"'repo_type_title'     varchar(50)    comment('模型名称')   "`
+    RepoTypeDesc    string    `json:"repoTypeDesc"      xorm:"'repo_type_desc'      varchar(255)   comment('模型名称')   "`
+}
+
+func (t *RepoTypeInfo) TableName() string {
+    return "repo_type"
+}
+

+ 0 - 1
web/controllers/db_access_controller.go

@@ -1 +0,0 @@
-package controllers

+ 97 - 0
web/controllers/repo_cat_controller.go

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

+ 21 - 21
web/controllers/db_type_controller.go → web/controllers/repo_controller.go

@@ -6,21 +6,21 @@ import (
     "xps/service"
 )
 
-type DbTypeController struct {
+type RepoController struct {
     Base
-    Service service.DbTypeService
+    Service service.RepoService
 }
 
-func (c *DbTypeController) BeforeActivation(b mvc.BeforeActivation) {
+func (c *RepoController) BeforeActivation(b mvc.BeforeActivation) {
     b.Handle("GET",         "/",                        "GetList"   )
     b.Handle("GET",         "/page",                    "GetPage"   )
-    b.Handle("GET",         "/{dbTypeId:int64}",        "GetById"   )
+    b.Handle("GET",         "/{repoId:int64}",          "GetById"   )
     b.Handle("POST",        "/add",                     "Create"    )
     b.Handle("PUT",         "/update",                  "Update"    )
-    b.Handle("DELETE",      "/{dbTypeId:int64}",        "DeleteByID")
+    b.Handle("DELETE",      "/{repoId:int64}",          "DeleteByID")
 }
 
-func (c *DbTypeController) GetList() *JsonResult {
+func (c *RepoController) GetList() *JsonResult {
     params    := c.buildParams()
     data, err := c.Service.GetList(params)
     if err != nil {
@@ -30,7 +30,7 @@ func (c *DbTypeController) GetList() *JsonResult {
     }
 }
 
-func (c *DbTypeController) GetPage() *JsonResult {
+func (c *RepoController) GetPage() *JsonResult {
     params    := c.buildParams()
     data, err := c.Service.GetPage(params)
     if err != nil {
@@ -40,9 +40,9 @@ func (c *DbTypeController) GetPage() *JsonResult {
     }
 }
 
-func (c *DbTypeController) GetById(dbTypeId int64) *JsonResult {
+func (c *RepoController) GetById(repoId int64) *JsonResult {
     
-    data, err := c.Service.GetById(dbTypeId)
+    data, err := c.Service.GetById(repoId)
     if err != nil {
         return ResultErr(err.Error(), nil)
     } else {
@@ -50,44 +50,44 @@ func (c *DbTypeController) GetById(dbTypeId int64) *JsonResult {
     }
 }
 
-func (c *DbTypeController) Create() *JsonResult {
+func (c *RepoController) Create() *JsonResult {
     userId := c.GetCurUserId()
     
-    dbType := datamodels.DbType{}
-    dbType.CreatedBy = userId
-    if err := c.Ctx.ReadJSON(&dbType); err != nil {
+    repo := datamodels.Repo{}
+    repo.CreatedBy = userId
+    if err := c.Ctx.ReadJSON(&repo); err != nil {
         return ResultErr("读取数据失败", nil)
     }
     
     
-    if err := c.Service.Create(&dbType); err != nil {
+    if err := c.Service.Create(&repo); err != nil {
         return ResultErr(err.Error(), nil)
     } else {
         return ResultOk("新增成功", nil)
     }
 }
 
-func (c *DbTypeController) Update() *JsonResult {
+func (c *RepoController) Update() *JsonResult {
     userId := c.GetCurUserId()
     
-    dbType  := datamodels.DbType{}
-    if err := c.Ctx.ReadJSON(&dbType); err != nil {
+    repo  := datamodels.Repo{}
+    if err := c.Ctx.ReadJSON(&repo); err != nil {
         return ResultErr("读取数据失败", nil)
     }
     
-    dbType.UpdatedBy = userId
-    if err := c.Service.Update(&dbType); err != nil {
+    repo.UpdatedBy = userId
+    if err := c.Service.Update(&repo); err != nil {
         return ResultErr(err.Error(), nil)
     } else {
         return ResultOk("更新成功", nil)
     }
 }
 
-func (c *DbTypeController) DeleteByID(dbTypeId int64) *JsonResult {
+func (c *RepoController) DeleteByID(repoId int64) *JsonResult {
     userId := c.GetCurUserId()
     
     m := make(map[string]interface{})
-    m["dbTypeId"]   = dbTypeId
+    m["repoId"]    = repoId
     m["deletedBy"] = userId
     if err := c.Service.Delete(m); err != nil {
         return ResultErr(err.Error(), nil)

+ 8 - 8
web/controllers/db_controller.go → web/controllers/repo_db_controller.go

@@ -6,20 +6,20 @@ import (
     "xps/service"
 )
 
-type DbController struct {
+type RepoDBController struct {
     Base
-    Service service.DbService
+    Service service.RepoDBService
 }
 
-func (c *DbController) BeforeActivation(b mvc.BeforeActivation) {
+func (c *RepoDBController) BeforeActivation(b mvc.BeforeActivation) {
     b.Handle("GET",         "/table/{objectCode:string}",         "GetList"      )
     b.Handle("GET",         "/table/{objectCode:string}/page",    "GetPage"      )
     b.Handle("GET",         "/table/{objectCode:string}/fields",  "GetFields"    )
     
 }
 
-func (c *DbController) GetList(objectCode string) *JsonResult {
-    data, err := c.Service.GetList(objectCode)
+func (c *RepoDBController) GetList(objectCode string) *JsonResult {
+    data, err := c.Service.GetDataOfList(objectCode)
     if err != nil {
         return ResultErr(err.Error(), nil)
     } else {
@@ -27,8 +27,8 @@ func (c *DbController) GetList(objectCode string) *JsonResult {
     }
 }
 
-func (c *DbController) GetPage(objectCode string) *JsonResult {
-    data, err := c.Service.GetPage(objectCode)
+func (c *RepoDBController) GetPage(objectCode string) *JsonResult {
+    data, err := c.Service.GetDataOfPage(objectCode)
     if err != nil {
         return ResultErr(err.Error(), nil)
     } else {
@@ -36,7 +36,7 @@ func (c *DbController) GetPage(objectCode string) *JsonResult {
     }
 }
 
-func (c *DbController) GetFields(objectCode string) *JsonResult {
+func (c *RepoDBController) GetFields(objectCode string) *JsonResult {
     attrs, err :=  cache.GetModelObjectAttrs(objectCode)
     if err != nil {
         return ResultErr(err.Error(), nil)

+ 97 - 0
web/controllers/repo_type_controller.go

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

+ 23 - 13
web/router/routes.go

@@ -241,20 +241,30 @@ func Configure(b *bootstrap.Bootstrapper) {
 		bizObjectOAMMappingApp.Handle(new(controllers.BizObjectOAMMappingController))
 	}
 	
-	// database
-	dbParty := b.Party("/db", crs).AllowMethods(iris.MethodOptions)
+	// Repo
+	repoParty := b.Party("/repo", crs).AllowMethods(iris.MethodOptions)
 	{
-		dbParty.Use(middleware.AuthToken)
-		
-		dbTypeService := service.NewDbTypeService()
-		dbTypeApp := mvc.New(dbParty.Party("/type"))
-		dbTypeApp.Register(dbTypeService)
-		dbTypeApp.Handle(new(controllers.DbTypeController))
-		
-		dbService := service.NewDbService()
-		dbApp := mvc.New(dbParty.Party(""))
-		dbApp.Register(dbService)
-		dbApp.Handle(new(controllers.DbController))
+		repoParty.Use(middleware.AuthToken)
+		
+		repoTypeService := service.NewRepoTypeService()
+		repoTypeApp := mvc.New(repoParty.Party("/type"))
+		repoTypeApp.Register(repoTypeService)
+		repoTypeApp.Handle(new(controllers.RepoTypeController))
+		
+		repoCatService := service.NewRepoTypeService()
+		repoCatApp := mvc.New(repoParty.Party("/type"))
+		repoCatApp.Register(repoCatService)
+		repoCatApp.Handle(new(controllers.RepoCatController))
+		
+		repoService := service.NewRepoService()
+		repoApp := mvc.New(repoParty.Party(""))
+		repoApp.Register(repoService)
+		repoApp.Handle(new(controllers.RepoController))
+		
+		repoDBService := service.NewRepoDBService()
+		repoDBApp := mvc.New(repoParty.Party("/db"))
+		repoDBApp.Register(repoDBService)
+		repoDBApp.Handle(new(controllers.RepoDBController))
 	}
 	
 	// Api