98 lines
3.0 KiB
Go
98 lines
3.0 KiB
Go
package service
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"joylink.club/bj-rtsts-server/db/dbquery"
|
|
"joylink.club/bj-rtsts-server/db/model"
|
|
"joylink.club/bj-rtsts-server/dto"
|
|
"joylink.club/bj-rtsts-server/sys_error"
|
|
)
|
|
|
|
// 查询项目运行环境列表带分页
|
|
func PageProjectRunConfigQuery(query *dto.PageProjectRunConfigReqDto) *dto.PageDto[*dto.ProjectRunConfigDto] {
|
|
d := dbquery.ProjectRunConfig
|
|
dq := d.Where()
|
|
if query.Name != "" {
|
|
dq = dq.Where(d.Name.Like(fmt.Sprintf("%%%s%%", query.Name)))
|
|
}
|
|
records, total, err := dq.Debug().Omit(d.ConfigContent).FindByPage(query.Offset(), query.Size)
|
|
if err != nil {
|
|
panic(sys_error.New("查询失败,数据库错误请联系运维人员", err))
|
|
}
|
|
return &dto.PageDto[*dto.ProjectRunConfigDto]{Total: int(total), PageQueryDto: query.PageQueryDto, Records: dto.ConvertToRunConfigFromSlice(records)}
|
|
}
|
|
|
|
// 查询项目运行环境列表
|
|
func ListProjectRunConfigQuery() []*dto.ProjectRunConfigDto {
|
|
records, err := dbquery.ProjectRunConfig.Debug().Omit(dbquery.ProjectRunConfig.ConfigContent).Find()
|
|
if err != nil {
|
|
panic(sys_error.New("查询失败,数据库错误请联系运维人员", err))
|
|
}
|
|
return dto.ConvertToRunConfigFromSlice(records)
|
|
}
|
|
|
|
// 创建项目运行环境
|
|
func CreateProjectRunConfig(dd *dto.ProjectRunConfigReqDto) bool {
|
|
d := model.ProjectRunConfig{
|
|
Name: dd.Name,
|
|
Description: dd.Description,
|
|
ConfigContent: dd.ConfigContent,
|
|
CreateTime: time.Now(),
|
|
UpdateTime: time.Now(),
|
|
}
|
|
err := dbquery.ProjectRunConfig.Save(&d)
|
|
if err != nil {
|
|
panic(sys_error.New("保存失败,数据库错误请联系运维人员", err))
|
|
}
|
|
return true
|
|
}
|
|
|
|
// 查询项目运行环境
|
|
func QueryProjectRunConfig(id int32) *dto.ProjectRunConfigDto {
|
|
query, err := dbquery.ProjectRunConfig.Where(dbquery.ProjectRunConfig.ID.Eq(id)).Debug().First()
|
|
if err != nil {
|
|
panic(sys_error.New("查询失败,不存在此信息", err))
|
|
}
|
|
return dto.ConvertToRunConfigDto(query)
|
|
}
|
|
|
|
// 查询项目运行环境
|
|
func QueryRunConfig(id int32) *dto.ProjectRunConfigDto {
|
|
if id == 0 {
|
|
return nil
|
|
}
|
|
query, err := dbquery.ProjectRunConfig.Where(dbquery.ProjectRunConfig.ID.Eq(id)).Find()
|
|
if err != nil {
|
|
panic(sys_error.New("查询失败", err))
|
|
}
|
|
if len(query) == 0 {
|
|
return nil
|
|
}
|
|
return dto.ConvertToRunConfigDto(query[0])
|
|
}
|
|
|
|
// 更新项目运行环境
|
|
func UpdateProjectRunConfig(id int32, dd *dto.ProjectRunConfigReqDto) bool {
|
|
findOldQuery := dbquery.ProjectRunConfig
|
|
oldD, err := findOldQuery.Where(findOldQuery.ID.Eq(id)).Debug().First()
|
|
if oldD == nil || err != nil {
|
|
panic(sys_error.New("保存失败,不存在此信息", err))
|
|
}
|
|
oldD.Name = dd.Name
|
|
oldD.Description = dd.Description
|
|
oldD.ConfigContent = dd.ConfigContent
|
|
oldD.UpdateTime = time.Now()
|
|
_, err2 := findOldQuery.Updates(oldD)
|
|
if err2 != nil {
|
|
panic(sys_error.New("保存失败,请联系维护人员", err2))
|
|
}
|
|
return true
|
|
}
|
|
|
|
// 删除项目运行环境
|
|
func DeleteProjectRunConfigById(id int32) {
|
|
dbquery.ProjectRunConfig.Debug().Where(dbquery.ProjectRunConfig.ID.Eq(id)).Delete()
|
|
}
|