【发布数据管理逻辑修改】
This commit is contained in:
parent
f355453f54
commit
1434fb0f01
|
@ -24,6 +24,9 @@ func InitPublishedGiRouter(api *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddl
|
|||
authed.DELETE("/:id", deletePublishedGiById)
|
||||
authed.POST("/saveAsDrafting/:id", saveAsDraftingFromPublish)
|
||||
authed.GET("/name", getPublishedGiByName)
|
||||
authed.POST("/release", releasePublishedGiById)
|
||||
authed.POST("/rename", renamePublishedGiById)
|
||||
authed.GET("/:id/history", historyPublishedGiById)
|
||||
}
|
||||
|
||||
// 分页查询发布的图形数据
|
||||
|
@ -61,7 +64,7 @@ func pageQueryPublishedGi(c *gin.Context) {
|
|||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param publishedListReqDto query dto.PublishedListReqDto true "查询参数"
|
||||
// @Success 200 {object} []model.PublishedGi
|
||||
// @Success 200 {object} []model.Published
|
||||
// @Failure 401 {object} dto.ErrorDto
|
||||
// @Failure 500 {object} dto.ErrorDto
|
||||
// @Router /api/v1/publishedGi/list [get]
|
||||
|
@ -192,7 +195,7 @@ func saveAsDraftingFromPublish(c *gin.Context) {
|
|||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param publishedSingleQueryDto query dto.PublishedSingleQueryDto true "查询参数"
|
||||
// @Success 200 {object} []model.PublishedGi
|
||||
// @Success 200 {object} dto.PublishedDto
|
||||
// @Failure 401 {object} dto.ErrorDto
|
||||
// @Failure 500 {object} dto.ErrorDto
|
||||
// @Router /api/v1/publishedGi/name [get]
|
||||
|
@ -205,3 +208,76 @@ func getPublishedGiByName(c *gin.Context) {
|
|||
entity := service.GetPublishedGiByName(param)
|
||||
c.JSON(http.StatusOK, entity)
|
||||
}
|
||||
|
||||
// 上下架发布数据
|
||||
//
|
||||
// @Summary 上下架发布数据
|
||||
//
|
||||
// @Security JwtAuth
|
||||
//
|
||||
// @Description 上下架发布数据
|
||||
// @Tags 发布的图形数据Api
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param PublishChangeReqDto query dto.PublishChangeReqDto true "查询参数"
|
||||
// @Success 200 {object} nil
|
||||
// @Failure 401 {object} dto.ErrorDto
|
||||
// @Failure 500 {object} dto.ErrorDto
|
||||
// @Router /api/v1/publishedGi/release [post]
|
||||
func releasePublishedGiById(c *gin.Context) {
|
||||
param := &dto.PublishChangeReqDto{}
|
||||
if err := c.ShouldBind(param); err != nil {
|
||||
panic(sys_error.New("操作失败,查询参数格式错误", err))
|
||||
}
|
||||
service.ChangePublishStatus(param.Id, param.Release)
|
||||
c.JSON(http.StatusOK, true)
|
||||
}
|
||||
|
||||
// 修改发布数据名称
|
||||
//
|
||||
// @Summary 修改发布数据名称
|
||||
//
|
||||
// @Security JwtAuth
|
||||
//
|
||||
// @Description 修改发布数据名称
|
||||
// @Tags 发布的图形数据Api
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param PublishChangeReqDto query dto.PublishChangeReqDto true "查询参数"
|
||||
// @Success 200 {object} nil
|
||||
// @Failure 401 {object} dto.ErrorDto
|
||||
// @Failure 500 {object} dto.ErrorDto
|
||||
// @Router /api/v1/publishedGi/rename [post]
|
||||
func renamePublishedGiById(c *gin.Context) {
|
||||
param := &dto.PublishChangeReqDto{}
|
||||
if err := c.ShouldBind(param); err != nil {
|
||||
panic(sys_error.New("操作失败,查询参数格式错误", err))
|
||||
}
|
||||
service.ChangePublishCode(param.Id, param.Name)
|
||||
c.JSON(http.StatusOK, true)
|
||||
}
|
||||
|
||||
// 查询发布历史版本信息
|
||||
//
|
||||
// @Summary 查询发布历史版本信息
|
||||
//
|
||||
// @Security JwtAuth
|
||||
//
|
||||
// @Description 查询发布历史版本信息
|
||||
// @Tags 发布的图形数据Api
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path int true "id"
|
||||
// @Success 200 {object} dto.PublishHistoryDto
|
||||
// @Failure 401 {object} dto.ErrorDto
|
||||
// @Failure 500 {object} dto.ErrorDto
|
||||
// @Router /api/v1/publishedGi/:id/history [get]
|
||||
func historyPublishedGiById(c *gin.Context) {
|
||||
idStr := c.Param("id")
|
||||
id, err := strconv.Atoi(idStr)
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布历史失败,查询参数格式错误", err))
|
||||
}
|
||||
mid := int32(id)
|
||||
c.JSON(http.StatusOK, service.GetPublishHistory(mid))
|
||||
}
|
||||
|
|
|
@ -2,11 +2,13 @@ package api
|
|||
|
||||
// 列车相关的关系管理
|
||||
import (
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
jwt "github.com/appleboy/gin-jwt/v2"
|
||||
"github.com/gin-gonic/gin"
|
||||
"joylink.club/bj-rtsts-server/db/model"
|
||||
"joylink.club/bj-rtsts-server/dto"
|
||||
"joylink.club/bj-rtsts-server/middleware"
|
||||
"joylink.club/bj-rtsts-server/service"
|
||||
|
@ -44,7 +46,7 @@ func pageQueryTrainInfo(c *gin.Context) {
|
|||
if err := c.ShouldBind(&req); err != nil {
|
||||
panic(sys_error.New("查询失败,参数格式错误", err))
|
||||
}
|
||||
c.JSON(http.StatusOK, service.PageTrainInfoQuery(&req))
|
||||
c.JSON(http.StatusOK, service.PageTrainInfoByPublished(&req))
|
||||
}
|
||||
|
||||
// 查询列车列表
|
||||
|
@ -58,7 +60,7 @@ func pageQueryTrainInfo(c *gin.Context) {
|
|||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param trainInfoReqDto query dto.TrainInfoReqDto true "列车查询条件"
|
||||
// @Success 200 {object} model.TrainInfo
|
||||
// @Success 200 {object} dto.TrainInfoDto
|
||||
// @Failure 401 {object} dto.ErrorDto
|
||||
// @Failure 404 {object} dto.ErrorDto
|
||||
// @Failure 500 {object} dto.ErrorDto
|
||||
|
@ -68,7 +70,7 @@ func queryTrainInfoList(c *gin.Context) {
|
|||
if err := c.ShouldBind(&req); err != nil {
|
||||
panic(sys_error.New("查询失败,参数格式错误", err))
|
||||
}
|
||||
c.JSON(http.StatusOK, service.ListTrainInfoQuery(&req))
|
||||
c.JSON(http.StatusOK, service.ListTrainByProject(&req))
|
||||
}
|
||||
|
||||
// 创建列车
|
||||
|
@ -92,8 +94,9 @@ func createTrainInfo(c *gin.Context) {
|
|||
if err := c.ShouldBind(&req); err != nil {
|
||||
panic(sys_error.New("保存失败,参数格式错误", err))
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, service.CreateTrainInfo(&req))
|
||||
user, _ := c.Get(middleware.IdentityKey)
|
||||
slog.Debug("发布图形数据", user)
|
||||
c.JSON(http.StatusOK, service.CreateTrain(&req, user.(*model.User)))
|
||||
}
|
||||
|
||||
// 查询列车详情
|
||||
|
@ -107,7 +110,7 @@ func createTrainInfo(c *gin.Context) {
|
|||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path int true "列车ID"
|
||||
// @Success 200 {object} model.TrainModel
|
||||
// @Success 200 {object} dto.TrainInfoDto
|
||||
// @Failure 401 {object} dto.ErrorDto
|
||||
// @Failure 404 {object} dto.ErrorDto
|
||||
// @Failure 500 {object} dto.ErrorDto
|
||||
|
@ -118,7 +121,7 @@ func queryTrainInfo(c *gin.Context) {
|
|||
panic(sys_error.New("查询失败,缺少主键"))
|
||||
}
|
||||
int64Id, _ := strconv.ParseInt(id, 10, 64)
|
||||
c.JSON(http.StatusOK, service.QueryTrainInfo(int32(int64Id)))
|
||||
c.JSON(http.StatusOK, service.QueryTrain(int32(int64Id)))
|
||||
}
|
||||
|
||||
// 修改列车信息
|
||||
|
@ -148,7 +151,9 @@ func updateTrainInfo(c *gin.Context) {
|
|||
panic(sys_error.New("更新失败,参数格式错误", err))
|
||||
}
|
||||
int64Id, _ := strconv.ParseInt(id, 10, 64)
|
||||
c.JSON(http.StatusOK, service.UpdateTrainInfo(int32(int64Id), &req))
|
||||
user, _ := c.Get(middleware.IdentityKey)
|
||||
slog.Debug("发布图形数据", user)
|
||||
c.JSON(http.StatusOK, service.UpdateTrain(int32(int64Id), &req, user.(*model.User)))
|
||||
}
|
||||
|
||||
// 删除列车数据
|
||||
|
@ -173,6 +178,6 @@ func deleteTrainInfo(c *gin.Context) {
|
|||
if err != nil {
|
||||
panic(sys_error.New("删除失败,缺少主键"))
|
||||
}
|
||||
service.DeleteTrainInfoById(id)
|
||||
service.DeletePublishedById(int32(id))
|
||||
c.JSON(http.StatusOK, true)
|
||||
}
|
||||
|
|
|
@ -16,20 +16,20 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
Q = new(Query)
|
||||
AuthAPIPath *authAPIPath
|
||||
AuthRole *authRole
|
||||
AuthRoleAPIPath *authRoleAPIPath
|
||||
AuthRoleUser *authRoleUser
|
||||
Category *category
|
||||
Drafting *drafting
|
||||
Project *project
|
||||
ProjectPublishLink *projectPublishLink
|
||||
ProjectRunConfig *projectRunConfig
|
||||
Published *published
|
||||
PublishedVersion *publishedVersion
|
||||
TrainInfo *trainInfo
|
||||
User *user
|
||||
Q = new(Query)
|
||||
AuthAPIPath *authAPIPath
|
||||
AuthRole *authRole
|
||||
AuthRoleAPIPath *authRoleAPIPath
|
||||
AuthRoleUser *authRoleUser
|
||||
Category *category
|
||||
Drafting *drafting
|
||||
Project *project
|
||||
ProjectPublishLink *projectPublishLink
|
||||
ProjectRunConfig *projectRunConfig
|
||||
Published *published
|
||||
PublishedVersion *publishedVersion
|
||||
TrainInfo *trainInfo
|
||||
User *user
|
||||
)
|
||||
|
||||
func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
|
||||
|
@ -51,59 +51,59 @@ func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
|
|||
|
||||
func Use(db *gorm.DB, opts ...gen.DOOption) *Query {
|
||||
return &Query{
|
||||
db: db,
|
||||
AuthAPIPath: newAuthAPIPath(db, opts...),
|
||||
AuthRole: newAuthRole(db, opts...),
|
||||
AuthRoleAPIPath: newAuthRoleAPIPath(db, opts...),
|
||||
AuthRoleUser: newAuthRoleUser(db, opts...),
|
||||
Category: newCategory(db, opts...),
|
||||
Drafting: newDrafting(db, opts...),
|
||||
Project: newProject(db, opts...),
|
||||
ProjectPublishLink: newProjectPublishLink(db, opts...),
|
||||
ProjectRunConfig: newProjectRunConfig(db, opts...),
|
||||
Published: newPublished(db, opts...),
|
||||
PublishedVersion: newPublishedVersion(db, opts...),
|
||||
TrainInfo: newTrainInfo(db, opts...),
|
||||
User: newUser(db, opts...),
|
||||
db: db,
|
||||
AuthAPIPath: newAuthAPIPath(db, opts...),
|
||||
AuthRole: newAuthRole(db, opts...),
|
||||
AuthRoleAPIPath: newAuthRoleAPIPath(db, opts...),
|
||||
AuthRoleUser: newAuthRoleUser(db, opts...),
|
||||
Category: newCategory(db, opts...),
|
||||
Drafting: newDrafting(db, opts...),
|
||||
Project: newProject(db, opts...),
|
||||
ProjectPublishLink: newProjectPublishLink(db, opts...),
|
||||
ProjectRunConfig: newProjectRunConfig(db, opts...),
|
||||
Published: newPublished(db, opts...),
|
||||
PublishedVersion: newPublishedVersion(db, opts...),
|
||||
TrainInfo: newTrainInfo(db, opts...),
|
||||
User: newUser(db, opts...),
|
||||
}
|
||||
}
|
||||
|
||||
type Query struct {
|
||||
db *gorm.DB
|
||||
|
||||
AuthAPIPath authAPIPath
|
||||
AuthRole authRole
|
||||
AuthRoleAPIPath authRoleAPIPath
|
||||
AuthRoleUser authRoleUser
|
||||
Category category
|
||||
Drafting drafting
|
||||
Project project
|
||||
ProjectPublishLink projectPublishLink
|
||||
ProjectRunConfig projectRunConfig
|
||||
Published published
|
||||
PublishedVersion publishedVersion
|
||||
TrainInfo trainInfo
|
||||
User user
|
||||
AuthAPIPath authAPIPath
|
||||
AuthRole authRole
|
||||
AuthRoleAPIPath authRoleAPIPath
|
||||
AuthRoleUser authRoleUser
|
||||
Category category
|
||||
Drafting drafting
|
||||
Project project
|
||||
ProjectPublishLink projectPublishLink
|
||||
ProjectRunConfig projectRunConfig
|
||||
Published published
|
||||
PublishedVersion publishedVersion
|
||||
TrainInfo trainInfo
|
||||
User user
|
||||
}
|
||||
|
||||
func (q *Query) Available() bool { return q.db != nil }
|
||||
|
||||
func (q *Query) clone(db *gorm.DB) *Query {
|
||||
return &Query{
|
||||
db: db,
|
||||
AuthAPIPath: q.AuthAPIPath.clone(db),
|
||||
AuthRole: q.AuthRole.clone(db),
|
||||
AuthRoleAPIPath: q.AuthRoleAPIPath.clone(db),
|
||||
AuthRoleUser: q.AuthRoleUser.clone(db),
|
||||
Category: q.Category.clone(db),
|
||||
Drafting: q.Drafting.clone(db),
|
||||
Project: q.Project.clone(db),
|
||||
ProjectPublishLink: q.ProjectPublishLink.clone(db),
|
||||
ProjectRunConfig: q.ProjectRunConfig.clone(db),
|
||||
Published: q.Published.clone(db),
|
||||
PublishedVersion: q.PublishedVersion.clone(db),
|
||||
TrainInfo: q.TrainInfo.clone(db),
|
||||
User: q.User.clone(db),
|
||||
db: db,
|
||||
AuthAPIPath: q.AuthAPIPath.clone(db),
|
||||
AuthRole: q.AuthRole.clone(db),
|
||||
AuthRoleAPIPath: q.AuthRoleAPIPath.clone(db),
|
||||
AuthRoleUser: q.AuthRoleUser.clone(db),
|
||||
Category: q.Category.clone(db),
|
||||
Drafting: q.Drafting.clone(db),
|
||||
Project: q.Project.clone(db),
|
||||
ProjectPublishLink: q.ProjectPublishLink.clone(db),
|
||||
ProjectRunConfig: q.ProjectRunConfig.clone(db),
|
||||
Published: q.Published.clone(db),
|
||||
PublishedVersion: q.PublishedVersion.clone(db),
|
||||
TrainInfo: q.TrainInfo.clone(db),
|
||||
User: q.User.clone(db),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -117,54 +117,54 @@ func (q *Query) WriteDB() *Query {
|
|||
|
||||
func (q *Query) ReplaceDB(db *gorm.DB) *Query {
|
||||
return &Query{
|
||||
db: db,
|
||||
AuthAPIPath: q.AuthAPIPath.replaceDB(db),
|
||||
AuthRole: q.AuthRole.replaceDB(db),
|
||||
AuthRoleAPIPath: q.AuthRoleAPIPath.replaceDB(db),
|
||||
AuthRoleUser: q.AuthRoleUser.replaceDB(db),
|
||||
Category: q.Category.replaceDB(db),
|
||||
Drafting: q.Drafting.replaceDB(db),
|
||||
Project: q.Project.replaceDB(db),
|
||||
ProjectPublishLink: q.ProjectPublishLink.replaceDB(db),
|
||||
ProjectRunConfig: q.ProjectRunConfig.replaceDB(db),
|
||||
Published: q.Published.replaceDB(db),
|
||||
PublishedVersion: q.PublishedVersion.replaceDB(db),
|
||||
TrainInfo: q.TrainInfo.replaceDB(db),
|
||||
User: q.User.replaceDB(db),
|
||||
db: db,
|
||||
AuthAPIPath: q.AuthAPIPath.replaceDB(db),
|
||||
AuthRole: q.AuthRole.replaceDB(db),
|
||||
AuthRoleAPIPath: q.AuthRoleAPIPath.replaceDB(db),
|
||||
AuthRoleUser: q.AuthRoleUser.replaceDB(db),
|
||||
Category: q.Category.replaceDB(db),
|
||||
Drafting: q.Drafting.replaceDB(db),
|
||||
Project: q.Project.replaceDB(db),
|
||||
ProjectPublishLink: q.ProjectPublishLink.replaceDB(db),
|
||||
ProjectRunConfig: q.ProjectRunConfig.replaceDB(db),
|
||||
Published: q.Published.replaceDB(db),
|
||||
PublishedVersion: q.PublishedVersion.replaceDB(db),
|
||||
TrainInfo: q.TrainInfo.replaceDB(db),
|
||||
User: q.User.replaceDB(db),
|
||||
}
|
||||
}
|
||||
|
||||
type queryCtx struct {
|
||||
AuthAPIPath IAuthAPIPathDo
|
||||
AuthRole IAuthRoleDo
|
||||
AuthRoleAPIPath IAuthRoleAPIPathDo
|
||||
AuthRoleUser IAuthRoleUserDo
|
||||
Category ICategoryDo
|
||||
Drafting IDraftingDo
|
||||
Project IProjectDo
|
||||
ProjectPublishLink IProjectPublishLinkDo
|
||||
ProjectRunConfig IProjectRunConfigDo
|
||||
Published IPublishedDo
|
||||
PublishedVersion IPublishedVersionDo
|
||||
TrainInfo ITrainInfoDo
|
||||
User IUserDo
|
||||
AuthAPIPath IAuthAPIPathDo
|
||||
AuthRole IAuthRoleDo
|
||||
AuthRoleAPIPath IAuthRoleAPIPathDo
|
||||
AuthRoleUser IAuthRoleUserDo
|
||||
Category ICategoryDo
|
||||
Drafting IDraftingDo
|
||||
Project IProjectDo
|
||||
ProjectPublishLink IProjectPublishLinkDo
|
||||
ProjectRunConfig IProjectRunConfigDo
|
||||
Published IPublishedDo
|
||||
PublishedVersion IPublishedVersionDo
|
||||
TrainInfo ITrainInfoDo
|
||||
User IUserDo
|
||||
}
|
||||
|
||||
func (q *Query) WithContext(ctx context.Context) *queryCtx {
|
||||
return &queryCtx{
|
||||
AuthAPIPath: q.AuthAPIPath.WithContext(ctx),
|
||||
AuthRole: q.AuthRole.WithContext(ctx),
|
||||
AuthRoleAPIPath: q.AuthRoleAPIPath.WithContext(ctx),
|
||||
AuthRoleUser: q.AuthRoleUser.WithContext(ctx),
|
||||
Category: q.Category.WithContext(ctx),
|
||||
Drafting: q.Drafting.WithContext(ctx),
|
||||
Project: q.Project.WithContext(ctx),
|
||||
ProjectPublishLink: q.ProjectPublishLink.WithContext(ctx),
|
||||
ProjectRunConfig: q.ProjectRunConfig.WithContext(ctx),
|
||||
Published: q.Published.WithContext(ctx),
|
||||
PublishedVersion: q.PublishedVersion.WithContext(ctx),
|
||||
TrainInfo: q.TrainInfo.WithContext(ctx),
|
||||
User: q.User.WithContext(ctx),
|
||||
AuthAPIPath: q.AuthAPIPath.WithContext(ctx),
|
||||
AuthRole: q.AuthRole.WithContext(ctx),
|
||||
AuthRoleAPIPath: q.AuthRoleAPIPath.WithContext(ctx),
|
||||
AuthRoleUser: q.AuthRoleUser.WithContext(ctx),
|
||||
Category: q.Category.WithContext(ctx),
|
||||
Drafting: q.Drafting.WithContext(ctx),
|
||||
Project: q.Project.WithContext(ctx),
|
||||
ProjectPublishLink: q.ProjectPublishLink.WithContext(ctx),
|
||||
ProjectRunConfig: q.ProjectRunConfig.WithContext(ctx),
|
||||
Published: q.Published.WithContext(ctx),
|
||||
PublishedVersion: q.PublishedVersion.WithContext(ctx),
|
||||
TrainInfo: q.TrainInfo.WithContext(ctx),
|
||||
User: q.User.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,6 +34,9 @@ func newPublishedVersion(db *gorm.DB, opts ...gen.DOOption) publishedVersion {
|
|||
_publishedVersion.Note = field.NewString(tableName, "note")
|
||||
_publishedVersion.Version = field.NewInt32(tableName, "version")
|
||||
_publishedVersion.Code = field.NewString(tableName, "code")
|
||||
_publishedVersion.PublishID = field.NewInt32(tableName, "publish_id")
|
||||
_publishedVersion.Type = field.NewInt32(tableName, "type")
|
||||
_publishedVersion.Category = field.NewString(tableName, "category")
|
||||
|
||||
_publishedVersion.fillFieldMap()
|
||||
|
||||
|
@ -50,7 +53,10 @@ type publishedVersion struct {
|
|||
PublishAt field.Time // 发布时间
|
||||
Note field.String // 发布描述
|
||||
Version field.Int32 // 版本
|
||||
Code field.String // 数据名称
|
||||
Code field.String // 发布草稿数据名称
|
||||
PublishID field.Int32 // 对应发布图的ID
|
||||
Type field.Int32
|
||||
Category field.String
|
||||
|
||||
fieldMap map[string]field.Expr
|
||||
}
|
||||
|
@ -74,6 +80,9 @@ func (p *publishedVersion) updateTableName(table string) *publishedVersion {
|
|||
p.Note = field.NewString(table, "note")
|
||||
p.Version = field.NewInt32(table, "version")
|
||||
p.Code = field.NewString(table, "code")
|
||||
p.PublishID = field.NewInt32(table, "publish_id")
|
||||
p.Type = field.NewInt32(table, "type")
|
||||
p.Category = field.NewString(table, "category")
|
||||
|
||||
p.fillFieldMap()
|
||||
|
||||
|
@ -90,7 +99,7 @@ func (p *publishedVersion) GetFieldByName(fieldName string) (field.OrderExpr, bo
|
|||
}
|
||||
|
||||
func (p *publishedVersion) fillFieldMap() {
|
||||
p.fieldMap = make(map[string]field.Expr, 7)
|
||||
p.fieldMap = make(map[string]field.Expr, 10)
|
||||
p.fieldMap["id"] = p.ID
|
||||
p.fieldMap["proto"] = p.Proto
|
||||
p.fieldMap["user_id"] = p.UserID
|
||||
|
@ -98,6 +107,9 @@ func (p *publishedVersion) fillFieldMap() {
|
|||
p.fieldMap["note"] = p.Note
|
||||
p.fieldMap["version"] = p.Version
|
||||
p.fieldMap["code"] = p.Code
|
||||
p.fieldMap["publish_id"] = p.PublishID
|
||||
p.fieldMap["type"] = p.Type
|
||||
p.fieldMap["category"] = p.Category
|
||||
}
|
||||
|
||||
func (p publishedVersion) clone(db *gorm.DB) publishedVersion {
|
||||
|
|
|
@ -18,7 +18,10 @@ type PublishedVersion struct {
|
|||
PublishAt time.Time `gorm:"column:publish_at;not null;comment:发布时间" json:"publish_at"` // 发布时间
|
||||
Note string `gorm:"column:note;comment:发布描述" json:"note"` // 发布描述
|
||||
Version int32 `gorm:"column:version;comment:版本" json:"version"` // 版本
|
||||
Code string `gorm:"column:code;comment:数据名称" json:"code"` // 数据名称
|
||||
Code string `gorm:"column:code;comment:发布草稿数据名称" json:"code"` // 发布草稿数据名称
|
||||
PublishID int32 `gorm:"column:publish_id;comment:对应发布图的ID" json:"publish_id"` // 对应发布图的ID
|
||||
Type int32 `gorm:"column:type" json:"type"`
|
||||
Category string `gorm:"column:category" json:"category"`
|
||||
}
|
||||
|
||||
// TableName PublishedVersion's table name
|
||||
|
|
366
docs/docs.go
366
docs/docs.go
|
@ -1236,14 +1236,16 @@ const docTemplate = `{
|
|||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
3,
|
||||
4
|
||||
],
|
||||
"type": "integer",
|
||||
"x-enum-varnames": [
|
||||
"PictureType_StationLayout",
|
||||
"PictureType_Psl",
|
||||
"PictureType_RelayCabinetLayout",
|
||||
"PictureType_IBP"
|
||||
"PictureType_IBP",
|
||||
"PictureType_TrainData"
|
||||
],
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
|
@ -1504,14 +1506,16 @@ const docTemplate = `{
|
|||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
3,
|
||||
4
|
||||
],
|
||||
"type": "integer",
|
||||
"x-enum-varnames": [
|
||||
"PictureType_StationLayout",
|
||||
"PictureType_Psl",
|
||||
"PictureType_RelayCabinetLayout",
|
||||
"PictureType_IBP"
|
||||
"PictureType_IBP",
|
||||
"PictureType_TrainData"
|
||||
],
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
|
@ -1647,14 +1651,16 @@ const docTemplate = `{
|
|||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
3,
|
||||
4
|
||||
],
|
||||
"type": "integer",
|
||||
"x-enum-varnames": [
|
||||
"PictureType_StationLayout",
|
||||
"PictureType_Psl",
|
||||
"PictureType_RelayCabinetLayout",
|
||||
"PictureType_IBP"
|
||||
"PictureType_IBP",
|
||||
"PictureType_TrainData"
|
||||
],
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
|
@ -2079,16 +2085,6 @@ const docTemplate = `{
|
|||
"type": "integer",
|
||||
"name": "pid",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"description": "TODO:前端修改完成后删除",
|
||||
"name": "sids",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
@ -2174,14 +2170,14 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/projectLink/mapInfo/trainSize/{id}": {
|
||||
"/api/v1/publishedGi/:id/history": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"JwtAuth": []
|
||||
}
|
||||
],
|
||||
"description": "通过地图ID查询项目的关联列车尺寸信息",
|
||||
"description": "查询发布历史版本信息",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
|
@ -2189,13 +2185,13 @@ const docTemplate = `{
|
|||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"项目关联信息Api"
|
||||
"发布的图形数据Api"
|
||||
],
|
||||
"summary": "通过地图ID查询项目的关联列车尺寸信息",
|
||||
"summary": "查询发布历史版本信息",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "地图ID",
|
||||
"description": "id",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true
|
||||
|
@ -2205,7 +2201,7 @@ const docTemplate = `{
|
|||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.TrainSizeDto"
|
||||
"$ref": "#/definitions/dto.PublishHistoryDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
|
@ -2214,67 +2210,6 @@ const docTemplate = `{
|
|||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Not Found",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/projectLink/project/trainSize/{id}": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"JwtAuth": []
|
||||
}
|
||||
],
|
||||
"description": "通过项目ID查询项目的关联列车尺寸信息",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"项目关联信息Api"
|
||||
],
|
||||
"summary": "通过项目ID查询项目的关联列车尺寸信息",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "地图ID",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.TrainSizeDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Not Found",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
|
@ -2303,10 +2238,20 @@ const docTemplate = `{
|
|||
],
|
||||
"summary": "列表查询发布的图形数据",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"name": "category",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "name",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
@ -2315,7 +2260,7 @@ const docTemplate = `{
|
|||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.PublishedGi"
|
||||
"$ref": "#/definitions/model.Published"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2368,10 +2313,7 @@ const docTemplate = `{
|
|||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.PublishedGi"
|
||||
}
|
||||
"$ref": "#/definitions/dto.PublishedDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
|
@ -2476,6 +2418,12 @@ const docTemplate = `{
|
|||
"name": "draftId",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"description": "强制覆盖",
|
||||
"name": "force",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "发布后的名称",
|
||||
|
@ -2507,6 +2455,114 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/publishedGi/release": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"JwtAuth": []
|
||||
}
|
||||
],
|
||||
"description": "上下架发布数据",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"发布的图形数据Api"
|
||||
],
|
||||
"summary": "上下架发布数据",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "id",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "name",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "release",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/publishedGi/rename": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"JwtAuth": []
|
||||
}
|
||||
],
|
||||
"description": "修改发布数据名称",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"发布的图形数据Api"
|
||||
],
|
||||
"summary": "修改发布数据名称",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "id",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "name",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "release",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/publishedGi/saveAsDrafting/{id}": {
|
||||
"post": {
|
||||
"security": [
|
||||
|
@ -2539,6 +2595,12 @@ const docTemplate = `{
|
|||
"name": "draftId",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"description": "强制覆盖",
|
||||
"name": "force",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "发布后的名称",
|
||||
|
@ -4044,7 +4106,7 @@ const docTemplate = `{
|
|||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.TrainInfo"
|
||||
"$ref": "#/definitions/dto.TrainInfoDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
|
@ -4168,7 +4230,7 @@ const docTemplate = `{
|
|||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.TrainModel"
|
||||
"$ref": "#/definitions/dto.TrainInfoDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
|
@ -4843,13 +4905,6 @@ const docTemplate = `{
|
|||
},
|
||||
"pid": {
|
||||
"type": "integer"
|
||||
},
|
||||
"trainSizeLinks": {
|
||||
"description": "TODO:前端修改完成后删除",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/dto.TrainSizeDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -4901,6 +4956,26 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"dto.PublishHistoryDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
},
|
||||
"publishAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"publisher": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dto.PublishedDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -5133,7 +5208,7 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"dto.TrainSizeDto": {
|
||||
"dto.TrainInfoDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"carriage_length": {
|
||||
|
@ -5145,11 +5220,23 @@ const docTemplate = `{
|
|||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"max_diameter": {
|
||||
"type": "integer"
|
||||
},
|
||||
"min_diameter": {
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"total_length": {
|
||||
"type": "integer"
|
||||
},
|
||||
"train_model": {
|
||||
"type": "integer"
|
||||
},
|
||||
"train_sets": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -5214,13 +5301,15 @@ const docTemplate = `{
|
|||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
3,
|
||||
4
|
||||
],
|
||||
"x-enum-varnames": [
|
||||
"PictureType_StationLayout",
|
||||
"PictureType_Psl",
|
||||
"PictureType_RelayCabinetLayout",
|
||||
"PictureType_IBP"
|
||||
"PictureType_IBP",
|
||||
"PictureType_TrainData"
|
||||
]
|
||||
},
|
||||
"model.AuthAPIPath": {
|
||||
|
@ -5338,36 +5427,25 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"model.PublishedGi": {
|
||||
"model.Published": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"category": {
|
||||
"description": "厂家信息",
|
||||
"type": "string"
|
||||
},
|
||||
"code": {
|
||||
"description": "发布名称",
|
||||
"type": "string"
|
||||
},
|
||||
"data_id": {
|
||||
"description": "版本Id",
|
||||
"type": "integer"
|
||||
},
|
||||
"id": {
|
||||
"description": "id",
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "发布图形界面名称",
|
||||
"type": "string"
|
||||
},
|
||||
"note": {
|
||||
"description": "发布描述",
|
||||
"type": "string"
|
||||
},
|
||||
"proto": {
|
||||
"description": "图形界面数据",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"publish_at": {
|
||||
"description": "发布时间",
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "显示状态",
|
||||
"type": "integer"
|
||||
|
@ -5375,54 +5453,6 @@ const docTemplate = `{
|
|||
"type": {
|
||||
"description": "数据类型",
|
||||
"type": "integer"
|
||||
},
|
||||
"user_id": {
|
||||
"description": "发布用户id",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.TrainInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"description": {
|
||||
"description": "其他描述内容",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "id",
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "列车信息",
|
||||
"type": "string"
|
||||
},
|
||||
"proto": {
|
||||
"description": "列车参数信息",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.TrainModel": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "创建时间",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "组次名称",
|
||||
"type": "string"
|
||||
},
|
||||
"update_at": {
|
||||
"description": "更新时间",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1229,14 +1229,16 @@
|
|||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
3,
|
||||
4
|
||||
],
|
||||
"type": "integer",
|
||||
"x-enum-varnames": [
|
||||
"PictureType_StationLayout",
|
||||
"PictureType_Psl",
|
||||
"PictureType_RelayCabinetLayout",
|
||||
"PictureType_IBP"
|
||||
"PictureType_IBP",
|
||||
"PictureType_TrainData"
|
||||
],
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
|
@ -1497,14 +1499,16 @@
|
|||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
3,
|
||||
4
|
||||
],
|
||||
"type": "integer",
|
||||
"x-enum-varnames": [
|
||||
"PictureType_StationLayout",
|
||||
"PictureType_Psl",
|
||||
"PictureType_RelayCabinetLayout",
|
||||
"PictureType_IBP"
|
||||
"PictureType_IBP",
|
||||
"PictureType_TrainData"
|
||||
],
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
|
@ -1640,14 +1644,16 @@
|
|||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
3,
|
||||
4
|
||||
],
|
||||
"type": "integer",
|
||||
"x-enum-varnames": [
|
||||
"PictureType_StationLayout",
|
||||
"PictureType_Psl",
|
||||
"PictureType_RelayCabinetLayout",
|
||||
"PictureType_IBP"
|
||||
"PictureType_IBP",
|
||||
"PictureType_TrainData"
|
||||
],
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
|
@ -2072,16 +2078,6 @@
|
|||
"type": "integer",
|
||||
"name": "pid",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"description": "TODO:前端修改完成后删除",
|
||||
"name": "sids",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
@ -2167,14 +2163,14 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/projectLink/mapInfo/trainSize/{id}": {
|
||||
"/api/v1/publishedGi/:id/history": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"JwtAuth": []
|
||||
}
|
||||
],
|
||||
"description": "通过地图ID查询项目的关联列车尺寸信息",
|
||||
"description": "查询发布历史版本信息",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
|
@ -2182,13 +2178,13 @@
|
|||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"项目关联信息Api"
|
||||
"发布的图形数据Api"
|
||||
],
|
||||
"summary": "通过地图ID查询项目的关联列车尺寸信息",
|
||||
"summary": "查询发布历史版本信息",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "地图ID",
|
||||
"description": "id",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true
|
||||
|
@ -2198,7 +2194,7 @@
|
|||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.TrainSizeDto"
|
||||
"$ref": "#/definitions/dto.PublishHistoryDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
|
@ -2207,67 +2203,6 @@
|
|||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Not Found",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/projectLink/project/trainSize/{id}": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"JwtAuth": []
|
||||
}
|
||||
],
|
||||
"description": "通过项目ID查询项目的关联列车尺寸信息",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"项目关联信息Api"
|
||||
],
|
||||
"summary": "通过项目ID查询项目的关联列车尺寸信息",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "地图ID",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.TrainSizeDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Not Found",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
|
@ -2296,10 +2231,20 @@
|
|||
],
|
||||
"summary": "列表查询发布的图形数据",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"name": "category",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "name",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "type",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
@ -2308,7 +2253,7 @@
|
|||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.PublishedGi"
|
||||
"$ref": "#/definitions/model.Published"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2361,10 +2306,7 @@
|
|||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.PublishedGi"
|
||||
}
|
||||
"$ref": "#/definitions/dto.PublishedDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
|
@ -2469,6 +2411,12 @@
|
|||
"name": "draftId",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"description": "强制覆盖",
|
||||
"name": "force",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "发布后的名称",
|
||||
|
@ -2500,6 +2448,114 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/publishedGi/release": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"JwtAuth": []
|
||||
}
|
||||
],
|
||||
"description": "上下架发布数据",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"发布的图形数据Api"
|
||||
],
|
||||
"summary": "上下架发布数据",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "id",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "name",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "release",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/publishedGi/rename": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"JwtAuth": []
|
||||
}
|
||||
],
|
||||
"description": "修改发布数据名称",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"发布的图形数据Api"
|
||||
],
|
||||
"summary": "修改发布数据名称",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "id",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "name",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "release",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/dto.ErrorDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/publishedGi/saveAsDrafting/{id}": {
|
||||
"post": {
|
||||
"security": [
|
||||
|
@ -2532,6 +2588,12 @@
|
|||
"name": "draftId",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"description": "强制覆盖",
|
||||
"name": "force",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "发布后的名称",
|
||||
|
@ -4037,7 +4099,7 @@
|
|||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.TrainInfo"
|
||||
"$ref": "#/definitions/dto.TrainInfoDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
|
@ -4161,7 +4223,7 @@
|
|||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.TrainModel"
|
||||
"$ref": "#/definitions/dto.TrainInfoDto"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
|
@ -4836,13 +4898,6 @@
|
|||
},
|
||||
"pid": {
|
||||
"type": "integer"
|
||||
},
|
||||
"trainSizeLinks": {
|
||||
"description": "TODO:前端修改完成后删除",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/dto.TrainSizeDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -4894,6 +4949,26 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"dto.PublishHistoryDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
},
|
||||
"publishAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"publisher": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dto.PublishedDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -5126,7 +5201,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"dto.TrainSizeDto": {
|
||||
"dto.TrainInfoDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"carriage_length": {
|
||||
|
@ -5138,11 +5213,23 @@
|
|||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"max_diameter": {
|
||||
"type": "integer"
|
||||
},
|
||||
"min_diameter": {
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"total_length": {
|
||||
"type": "integer"
|
||||
},
|
||||
"train_model": {
|
||||
"type": "integer"
|
||||
},
|
||||
"train_sets": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -5207,13 +5294,15 @@
|
|||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
3,
|
||||
4
|
||||
],
|
||||
"x-enum-varnames": [
|
||||
"PictureType_StationLayout",
|
||||
"PictureType_Psl",
|
||||
"PictureType_RelayCabinetLayout",
|
||||
"PictureType_IBP"
|
||||
"PictureType_IBP",
|
||||
"PictureType_TrainData"
|
||||
]
|
||||
},
|
||||
"model.AuthAPIPath": {
|
||||
|
@ -5331,36 +5420,25 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"model.PublishedGi": {
|
||||
"model.Published": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"category": {
|
||||
"description": "厂家信息",
|
||||
"type": "string"
|
||||
},
|
||||
"code": {
|
||||
"description": "发布名称",
|
||||
"type": "string"
|
||||
},
|
||||
"data_id": {
|
||||
"description": "版本Id",
|
||||
"type": "integer"
|
||||
},
|
||||
"id": {
|
||||
"description": "id",
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "发布图形界面名称",
|
||||
"type": "string"
|
||||
},
|
||||
"note": {
|
||||
"description": "发布描述",
|
||||
"type": "string"
|
||||
},
|
||||
"proto": {
|
||||
"description": "图形界面数据",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"publish_at": {
|
||||
"description": "发布时间",
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "显示状态",
|
||||
"type": "integer"
|
||||
|
@ -5368,54 +5446,6 @@
|
|||
"type": {
|
||||
"description": "数据类型",
|
||||
"type": "integer"
|
||||
},
|
||||
"user_id": {
|
||||
"description": "发布用户id",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.TrainInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"description": {
|
||||
"description": "其他描述内容",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "id",
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "列车信息",
|
||||
"type": "string"
|
||||
},
|
||||
"proto": {
|
||||
"description": "列车参数信息",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.TrainModel": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "创建时间",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "组次名称",
|
||||
"type": "string"
|
||||
},
|
||||
"update_at": {
|
||||
"description": "更新时间",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -214,11 +214,6 @@ definitions:
|
|||
type: string
|
||||
pid:
|
||||
type: integer
|
||||
trainSizeLinks:
|
||||
description: TODO:前端修改完成后删除
|
||||
items:
|
||||
$ref: '#/definitions/dto.TrainSizeDto'
|
||||
type: array
|
||||
type: object
|
||||
dto.ProjectRunConfigDto:
|
||||
properties:
|
||||
|
@ -252,6 +247,19 @@ definitions:
|
|||
- mapId
|
||||
- simulationId
|
||||
type: object
|
||||
dto.PublishHistoryDto:
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
note:
|
||||
type: string
|
||||
publishAt:
|
||||
type: string
|
||||
publisher:
|
||||
type: string
|
||||
version:
|
||||
type: integer
|
||||
type: object
|
||||
dto.PublishedDto:
|
||||
properties:
|
||||
category:
|
||||
|
@ -408,7 +416,7 @@ definitions:
|
|||
token:
|
||||
type: string
|
||||
type: object
|
||||
dto.TrainSizeDto:
|
||||
dto.TrainInfoDto:
|
||||
properties:
|
||||
carriage_length:
|
||||
type: integer
|
||||
|
@ -416,10 +424,18 @@ definitions:
|
|||
type: string
|
||||
id:
|
||||
type: integer
|
||||
max_diameter:
|
||||
type: integer
|
||||
min_diameter:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
total_length:
|
||||
type: integer
|
||||
train_model:
|
||||
type: integer
|
||||
train_sets:
|
||||
type: string
|
||||
type: object
|
||||
dto.UpdateTrainReqDto:
|
||||
properties:
|
||||
|
@ -466,12 +482,14 @@ definitions:
|
|||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
type: integer
|
||||
x-enum-varnames:
|
||||
- PictureType_StationLayout
|
||||
- PictureType_Psl
|
||||
- PictureType_RelayCabinetLayout
|
||||
- PictureType_IBP
|
||||
- PictureType_TrainData
|
||||
model.AuthAPIPath:
|
||||
properties:
|
||||
id:
|
||||
|
@ -555,68 +573,26 @@ definitions:
|
|||
description: 更新时间
|
||||
type: string
|
||||
type: object
|
||||
model.PublishedGi:
|
||||
model.Published:
|
||||
properties:
|
||||
category:
|
||||
description: 厂家信息
|
||||
type: string
|
||||
code:
|
||||
description: 发布名称
|
||||
type: string
|
||||
data_id:
|
||||
description: 版本Id
|
||||
type: integer
|
||||
id:
|
||||
description: id
|
||||
type: integer
|
||||
name:
|
||||
description: 发布图形界面名称
|
||||
type: string
|
||||
note:
|
||||
description: 发布描述
|
||||
type: string
|
||||
proto:
|
||||
description: 图形界面数据
|
||||
items:
|
||||
type: integer
|
||||
type: array
|
||||
publish_at:
|
||||
description: 发布时间
|
||||
type: string
|
||||
status:
|
||||
description: 显示状态
|
||||
type: integer
|
||||
type:
|
||||
description: 数据类型
|
||||
type: integer
|
||||
user_id:
|
||||
description: 发布用户id
|
||||
type: integer
|
||||
type: object
|
||||
model.TrainInfo:
|
||||
properties:
|
||||
description:
|
||||
description: 其他描述内容
|
||||
type: string
|
||||
id:
|
||||
description: id
|
||||
type: integer
|
||||
name:
|
||||
description: 列车信息
|
||||
type: string
|
||||
proto:
|
||||
description: 列车参数信息
|
||||
items:
|
||||
type: integer
|
||||
type: array
|
||||
type: object
|
||||
model.TrainModel:
|
||||
properties:
|
||||
created_at:
|
||||
description: 创建时间
|
||||
type: string
|
||||
id:
|
||||
type: integer
|
||||
name:
|
||||
description: 组次名称
|
||||
type: string
|
||||
update_at:
|
||||
description: 更新时间
|
||||
type: string
|
||||
type: object
|
||||
request_proto.Psd_Operation:
|
||||
enum:
|
||||
|
@ -1619,6 +1595,7 @@ paths:
|
|||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
in: query
|
||||
name: type
|
||||
type: integer
|
||||
|
@ -1627,6 +1604,7 @@ paths:
|
|||
- PictureType_Psl
|
||||
- PictureType_RelayCabinetLayout
|
||||
- PictureType_IBP
|
||||
- PictureType_TrainData
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
|
@ -1746,6 +1724,7 @@ paths:
|
|||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
in: query
|
||||
name: type
|
||||
type: integer
|
||||
|
@ -1754,6 +1733,7 @@ paths:
|
|||
- PictureType_Psl
|
||||
- PictureType_RelayCabinetLayout
|
||||
- PictureType_IBP
|
||||
- PictureType_TrainData
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
|
@ -1807,6 +1787,7 @@ paths:
|
|||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
in: query
|
||||
name: type
|
||||
type: integer
|
||||
|
@ -1815,6 +1796,7 @@ paths:
|
|||
- PictureType_Psl
|
||||
- PictureType_RelayCabinetLayout
|
||||
- PictureType_IBP
|
||||
- PictureType_TrainData
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
|
@ -2159,13 +2141,6 @@ paths:
|
|||
- in: query
|
||||
name: pid
|
||||
type: integer
|
||||
- collectionFormat: csv
|
||||
description: TODO:前端修改完成后删除
|
||||
in: query
|
||||
items:
|
||||
type: integer
|
||||
name: sids
|
||||
type: array
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
|
@ -2225,13 +2200,13 @@ paths:
|
|||
summary: 查询项目的所有关联信息
|
||||
tags:
|
||||
- 项目关联信息Api
|
||||
/api/v1/projectLink/mapInfo/trainSize/{id}:
|
||||
/api/v1/publishedGi/:id/history:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: 通过地图ID查询项目的关联列车尺寸信息
|
||||
description: 查询发布历史版本信息
|
||||
parameters:
|
||||
- description: 地图ID
|
||||
- description: id
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
|
@ -2242,59 +2217,20 @@ paths:
|
|||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/dto.TrainSizeDto'
|
||||
$ref: '#/definitions/dto.PublishHistoryDto'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
"404":
|
||||
description: Not Found
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
security:
|
||||
- JwtAuth: []
|
||||
summary: 通过地图ID查询项目的关联列车尺寸信息
|
||||
summary: 查询发布历史版本信息
|
||||
tags:
|
||||
- 项目关联信息Api
|
||||
/api/v1/projectLink/project/trainSize/{id}:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
description: 通过项目ID查询项目的关联列车尺寸信息
|
||||
parameters:
|
||||
- description: 地图ID
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/dto.TrainSizeDto'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
"404":
|
||||
description: Not Found
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
security:
|
||||
- JwtAuth: []
|
||||
summary: 通过项目ID查询项目的关联列车尺寸信息
|
||||
tags:
|
||||
- 项目关联信息Api
|
||||
- 发布的图形数据Api
|
||||
/api/v1/publishedGi/{id}:
|
||||
delete:
|
||||
consumes:
|
||||
|
@ -2360,9 +2296,15 @@ paths:
|
|||
- application/json
|
||||
description: 可以通过名称过滤
|
||||
parameters:
|
||||
- in: query
|
||||
name: category
|
||||
type: string
|
||||
- in: query
|
||||
name: name
|
||||
type: string
|
||||
- in: query
|
||||
name: type
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
|
@ -2370,7 +2312,7 @@ paths:
|
|||
description: OK
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/definitions/model.PublishedGi'
|
||||
$ref: '#/definitions/model.Published'
|
||||
type: array
|
||||
"401":
|
||||
description: Unauthorized
|
||||
|
@ -2403,9 +2345,7 @@ paths:
|
|||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/definitions/model.PublishedGi'
|
||||
type: array
|
||||
$ref: '#/definitions/dto.PublishedDto'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
|
@ -2469,6 +2409,10 @@ paths:
|
|||
in: query
|
||||
name: draftId
|
||||
type: integer
|
||||
- description: 强制覆盖
|
||||
in: query
|
||||
name: force
|
||||
type: boolean
|
||||
- description: 发布后的名称
|
||||
in: query
|
||||
name: name
|
||||
|
@ -2494,6 +2438,72 @@ paths:
|
|||
summary: 从草稿发布数据
|
||||
tags:
|
||||
- 发布的图形数据Api
|
||||
/api/v1/publishedGi/release:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: 上下架发布数据
|
||||
parameters:
|
||||
- in: query
|
||||
name: id
|
||||
type: integer
|
||||
- in: query
|
||||
name: name
|
||||
type: string
|
||||
- in: query
|
||||
name: release
|
||||
type: boolean
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
security:
|
||||
- JwtAuth: []
|
||||
summary: 上下架发布数据
|
||||
tags:
|
||||
- 发布的图形数据Api
|
||||
/api/v1/publishedGi/rename:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: 修改发布数据名称
|
||||
parameters:
|
||||
- in: query
|
||||
name: id
|
||||
type: integer
|
||||
- in: query
|
||||
name: name
|
||||
type: string
|
||||
- in: query
|
||||
name: release
|
||||
type: boolean
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/dto.ErrorDto'
|
||||
security:
|
||||
- JwtAuth: []
|
||||
summary: 修改发布数据名称
|
||||
tags:
|
||||
- 发布的图形数据Api
|
||||
/api/v1/publishedGi/saveAsDrafting/{id}:
|
||||
post:
|
||||
consumes:
|
||||
|
@ -2509,6 +2519,10 @@ paths:
|
|||
in: query
|
||||
name: draftId
|
||||
type: integer
|
||||
- description: 强制覆盖
|
||||
in: query
|
||||
name: force
|
||||
type: boolean
|
||||
- description: 发布后的名称
|
||||
in: query
|
||||
name: name
|
||||
|
@ -3439,7 +3453,7 @@ paths:
|
|||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/model.TrainModel'
|
||||
$ref: '#/definitions/dto.TrainInfoDto'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
|
@ -3531,7 +3545,7 @@ paths:
|
|||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/model.TrainInfo'
|
||||
$ref: '#/definitions/dto.TrainInfoDto'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
|
|
|
@ -1,50 +1,27 @@
|
|||
package dto
|
||||
|
||||
import "joylink.club/bj-rtsts-server/db/model"
|
||||
|
||||
type PagePublishedReqDto struct {
|
||||
PageQueryDto
|
||||
Name string `json:"name" form:"name"`
|
||||
Name string `json:"name" form:"name"`
|
||||
Release bool `json:"release" form:"release"` // 是否只要上架数据
|
||||
}
|
||||
|
||||
type PublishedListReqDto struct {
|
||||
Name string `json:"name" form:"name"`
|
||||
Name string `json:"name" form:"name"`
|
||||
Type int32 `json:"type" form:"type"`
|
||||
Category string `json:"category" form:"category"`
|
||||
}
|
||||
|
||||
type PublishedDto struct {
|
||||
ID int32 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Proto []byte `json:"proto"`
|
||||
UserID int32 `json:"userID"`
|
||||
Note string `json:"note"`
|
||||
Type int32 `json:"type"`
|
||||
ID int32 `json:"id" form:"id"`
|
||||
Name string `json:"name" form:"name"`
|
||||
Proto []byte `json:"proto" form:"proto"`
|
||||
UserID int32 `json:"userID" form:"userID"`
|
||||
Note string `json:"note" form:"note"`
|
||||
Type int32 `json:"type" form:"type"`
|
||||
Category string `json:"category" form:"category"`
|
||||
PublishAt JsonTime `json:"publishAt" time_format:"2006-01-02 15:04:05"`
|
||||
}
|
||||
|
||||
func ConvertFromPublisheds(ps []*model.Published, ds []*model.PublishedVersion) []*PublishedDto {
|
||||
vm := make(map[int32]*model.PublishedVersion)
|
||||
for _, m := range ds {
|
||||
vm[m.ID] = m
|
||||
}
|
||||
var result []*PublishedDto
|
||||
for _, p := range ps {
|
||||
result = append(result, ConvertFromPublished(p, vm[p.DataID]))
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func ConvertFromPublished(gi *model.Published, d *model.PublishedVersion) *PublishedDto {
|
||||
return &PublishedDto{
|
||||
ID: gi.ID,
|
||||
Name: gi.Code,
|
||||
Category: gi.Category,
|
||||
Type: gi.Type,
|
||||
Proto: d.Proto,
|
||||
UserID: d.UserID,
|
||||
Note: d.Note,
|
||||
PublishAt: JsonTime(d.PublishAt),
|
||||
}
|
||||
PublishAt JsonTime `json:"publishAt" form:"publishAt" time_format:"2006-01-02 15:04:05"`
|
||||
Status int32 `json:"status" form:"status"`
|
||||
}
|
||||
|
||||
type PublishReqDto struct {
|
||||
|
@ -53,6 +30,14 @@ type PublishReqDto struct {
|
|||
//草稿数据的id
|
||||
DraftId int32 `json:"draftId" form:"draftId"`
|
||||
Note string `json:"note" form:"note"`
|
||||
// 强制覆盖
|
||||
Force bool `json:"force" form:"force"`
|
||||
}
|
||||
|
||||
type PublishChangeReqDto struct {
|
||||
Id int32 `json:"id" form:"id"`
|
||||
Name string `json:"name" form:"name"`
|
||||
Release bool `json:"release" form:"release"`
|
||||
}
|
||||
|
||||
// PublishedGiSingleQueryDto 单个查询发布地图数据
|
||||
|
@ -60,3 +45,11 @@ type PublishedSingleQueryDto struct {
|
|||
Name string `json:"name" form:"name"`
|
||||
Detail bool `json:"detail" form:"detail"`
|
||||
}
|
||||
|
||||
type PublishHistoryDto struct {
|
||||
Id int32 `json:"id" form:"id"`
|
||||
Publisher string `json:"publisher" form:"publisher"`
|
||||
PublishAt JsonTime `json:"publishAt" time_format:"2006-01-02 15:04:05"`
|
||||
Version int32 `json:"version" form:"version"`
|
||||
Note string `json:"note" form:"note"`
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@ package dto
|
|||
|
||||
import (
|
||||
"google.golang.org/protobuf/proto"
|
||||
"joylink.club/bj-rtsts-server/db/model"
|
||||
"joylink.club/bj-rtsts-server/ts/protos/graphicData"
|
||||
)
|
||||
|
||||
|
@ -13,6 +12,7 @@ type PageTrainInfoReqDto struct {
|
|||
|
||||
type TrainInfoReqDto struct {
|
||||
Name string `json:"name" form:"name"`
|
||||
Pid int32 `json:"pid" form:"pid"`
|
||||
}
|
||||
|
||||
type TrainInfoDto struct {
|
||||
|
@ -27,21 +27,21 @@ type TrainInfoDto struct {
|
|||
Description string `json:"description" form:"description"`
|
||||
}
|
||||
|
||||
func ConvertToTrainInfoDto(trailInfos []*model.TrainInfo) []*TrainInfoDto {
|
||||
func ConvertToTrainDto(trailInfos []*PublishedDto) []*TrainInfoDto {
|
||||
var result []*TrainInfoDto
|
||||
for _, t := range trailInfos {
|
||||
result = append(result, ConvertDtoFromTrainInfo(t))
|
||||
result = append(result, ConvertDtoFromTrain(t))
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func ConvertDtoFromTrainInfo(t *model.TrainInfo) *TrainInfoDto {
|
||||
func ConvertDtoFromTrain(t *PublishedDto) *TrainInfoDto {
|
||||
message := &graphicData.Train{}
|
||||
proto.Unmarshal(t.Proto, message)
|
||||
return &TrainInfoDto{
|
||||
Id: t.ID,
|
||||
Name: t.Name,
|
||||
Description: t.Description,
|
||||
Description: t.Note,
|
||||
TrainModel: int32(message.TrainModel),
|
||||
CarriageLength: message.CarriageLength,
|
||||
TotalLength: message.TotalLength,
|
||||
|
@ -50,18 +50,3 @@ func ConvertDtoFromTrainInfo(t *model.TrainInfo) *TrainInfoDto {
|
|||
TrainSets: message.TrainSets,
|
||||
}
|
||||
}
|
||||
|
||||
func ConvertTrainInfoFromDto(t *TrainInfoDto) *model.TrainInfo {
|
||||
info := &model.TrainInfo{Name: t.Name, Description: t.Description}
|
||||
message := &graphicData.Train{
|
||||
TrainModel: graphicData.Train_TrainModel(t.TrainModel),
|
||||
CarriageLength: t.CarriageLength,
|
||||
TotalLength: t.TotalLength,
|
||||
MinDiameter: t.MinDiameter,
|
||||
MaxDiameter: t.MaxDiameter,
|
||||
TrainSets: t.TrainSets,
|
||||
}
|
||||
b, _ := proto.Marshal(message)
|
||||
info.Proto = b
|
||||
return info
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm/clause"
|
||||
"joylink.club/bj-rtsts-server/db/dbquery"
|
||||
"joylink.club/bj-rtsts-server/db/model"
|
||||
"joylink.club/bj-rtsts-server/dto"
|
||||
|
@ -16,128 +15,157 @@ var publishMapMutex sync.Mutex
|
|||
|
||||
// 查找发布地图分页信息
|
||||
func PageQueryPublished(req *dto.PagePublishedReqDto) *dto.PageDto {
|
||||
dp := dbquery.Published
|
||||
where := dp.Where(dp.Status.Eq(1))
|
||||
p, pv := dbquery.Published, dbquery.PublishedVersion
|
||||
where := p.Select(p.ID, p.Code.As("name"), p.Type, p.Category, p.Status, pv.Note, pv.PublishAt).
|
||||
LeftJoin(pv, p.DataID.EqCol(pv.ID)).Order(pv.PublishAt.Desc())
|
||||
if req.Name != "" {
|
||||
where = where.Where(dp.Code.Like(fmt.Sprintf("%%%s%%", req.Name)))
|
||||
where = where.Where(p.Code.Like(fmt.Sprintf("%%%s%%", req.Name)))
|
||||
}
|
||||
result, count, err := where.Debug().FindByPage(req.Offset(), req.Size)
|
||||
if req.Release {
|
||||
where = where.Where(p.Status.Eq(1))
|
||||
}
|
||||
var records []*dto.PublishedDto
|
||||
count, err := where.Debug().ScanByPage(&records, req.Offset(), req.Size)
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
var dataIds []int32 // 数据列表
|
||||
for _, r := range result {
|
||||
dataIds = append(dataIds, r.DataID)
|
||||
}
|
||||
pv := dbquery.PublishedVersion
|
||||
protoDatas, err := pv.Select(pv.ID, pv.Note, pv.PublishAt).Where(pv.ID.In(dataIds...)).Find()
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
return &dto.PageDto{
|
||||
Total: int(count),
|
||||
PageQueryDto: req.PageQueryDto,
|
||||
Records: dto.ConvertFromPublisheds(result, protoDatas),
|
||||
}
|
||||
return &dto.PageDto{Total: int(count), PageQueryDto: req.PageQueryDto, Records: records}
|
||||
}
|
||||
|
||||
// 地图信息列表信息
|
||||
func ListQueryPublished(req *dto.PublishedListReqDto) []*dto.PublishedDto {
|
||||
where := dbquery.Published.Where(dbquery.Published.Status.Eq(1))
|
||||
p := dbquery.Published
|
||||
where := p.Select(p.ID, p.Code.As("name"), p.Type, p.Category).Where(p.Status.Eq(1))
|
||||
if req.Name != "" {
|
||||
where = where.Where(dbquery.Published.Code.Like(fmt.Sprintf("%%%s%%", req.Name)))
|
||||
}
|
||||
result, err := where.Debug().Find()
|
||||
if req.Type != 0 {
|
||||
where = where.Where(dbquery.Published.Type.Eq(req.Type))
|
||||
}
|
||||
if req.Category != "" {
|
||||
where = where.Where(dbquery.Published.Category.Eq(req.Category))
|
||||
}
|
||||
var records []*dto.PublishedDto
|
||||
err := where.Debug().Scan(&records)
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
var dataIds []int32 // 数据列表
|
||||
for _, r := range result {
|
||||
dataIds = append(dataIds, r.DataID)
|
||||
}
|
||||
pv := dbquery.PublishedVersion
|
||||
protoDatas, err := pv.Select(pv.ID, pv.Proto, pv.Note, pv.PublishAt).Where(pv.ID.In(dataIds...)).Find()
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
return dto.ConvertFromPublisheds(result, protoDatas)
|
||||
return records
|
||||
}
|
||||
|
||||
// 项目启动时查询发布地图信息
|
||||
func ListAllPublished() []*dto.PublishedDto {
|
||||
p := dbquery.Published
|
||||
result, err := p.Select(p.ID, p.Code, p.Type, p.DataID).Where(dbquery.Published.Status.Eq(1)).Debug().Find()
|
||||
p, pv := dbquery.Published, dbquery.PublishedVersion
|
||||
where := p.Select(p.ID, p.Code.As("name"), p.Type, p.Category, pv.Proto).
|
||||
LeftJoin(pv, p.DataID.EqCol(pv.ID)).
|
||||
Where(p.Status.Eq(1), p.Type.Neq(trainDataType)).Order(pv.PublishAt)
|
||||
var records []*dto.PublishedDto
|
||||
err := where.Debug().Scan(&records)
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
var dataIds []int32 // 数据列表
|
||||
for _, r := range result {
|
||||
dataIds = append(dataIds, r.DataID)
|
||||
}
|
||||
pv := dbquery.PublishedVersion
|
||||
protoDatas, err := pv.Select(pv.ID, pv.Proto, pv.Note, pv.PublishAt).Where(pv.ID.In(dataIds...)).Find()
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
return dto.ConvertFromPublisheds(result, protoDatas)
|
||||
return records
|
||||
}
|
||||
|
||||
// 查询详细信息
|
||||
func GetPublishedById(id int32) *dto.PublishedDto {
|
||||
data, err := dbquery.Published.Where(dbquery.Published.ID.Eq(id)).Debug().First()
|
||||
p, pv := dbquery.Published, dbquery.PublishedVersion
|
||||
where := p.Select(p.ID, p.Code.As("name"), p.Type, p.Category, pv.Proto).
|
||||
LeftJoin(pv, p.DataID.EqCol(pv.ID)).
|
||||
Where(p.ID.Eq(id), p.Status.Eq(1))
|
||||
var record dto.PublishedDto
|
||||
err := where.Debug().Scan(&record)
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
pv := dbquery.PublishedVersion
|
||||
protoData, err := pv.Where(pv.ID.Eq(data.DataID)).Debug().First()
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
return dto.ConvertFromPublished(data, protoData)
|
||||
return &record
|
||||
}
|
||||
|
||||
// 草稿发布
|
||||
func PublishFormDraft(req *dto.PublishReqDto, user *model.User) {
|
||||
publishMapMutex.Lock()
|
||||
defer publishMapMutex.Unlock()
|
||||
draft := QueryDrafting(req.DraftId)
|
||||
if draft.Proto == nil || len(draft.Proto) == 0 {
|
||||
panic(sys_error.New(fmt.Sprintf("草稿[%v]绘图数据信息为空", req.DraftId)))
|
||||
}
|
||||
// 查询版本信息
|
||||
vds, _ := dbquery.PublishedVersion.Select(dbquery.PublishedVersion.Version).
|
||||
Where(dbquery.PublishedVersion.Code.Eq(req.Name)).Order(dbquery.PublishedVersion.Version.Desc()).Find()
|
||||
var version int32 = 1
|
||||
if len(vds) > 0 {
|
||||
version = version + vds[len(vds)-1].Version
|
||||
}
|
||||
// 存入新版本数据
|
||||
err := dbquery.PublishedVersion.Save(&model.PublishedVersion{
|
||||
Code: req.Name,
|
||||
Proto: draft.Proto,
|
||||
UserID: user.ID,
|
||||
PublishAt: time.Now(),
|
||||
Note: req.Note,
|
||||
Version: version,
|
||||
})
|
||||
if err != nil {
|
||||
panic(sys_error.New("发布草稿数据失败", err))
|
||||
}
|
||||
versionData, err := dbquery.PublishedVersion.Select(dbquery.PublishedVersion.ID).
|
||||
Where(dbquery.PublishedVersion.Code.Eq(req.Name), dbquery.PublishedVersion.Version.Eq(version)).First()
|
||||
if err != nil {
|
||||
panic(sys_error.New("发布草稿数据失败", err))
|
||||
}
|
||||
// 更新发布数据
|
||||
dbquery.Published.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: dbquery.Published.Code.ColumnName().String()}},
|
||||
DoUpdates: clause.AssignmentColumns([]string{dbquery.Published.DataID.ColumnName().String()}),
|
||||
}).Create(&model.Published{Code: req.Name, Type: draft.Type, Category: draft.Category, DataID: versionData.ID, Status: 1})
|
||||
publishData(&dto.PublishedDto{
|
||||
Name: req.Name,
|
||||
Proto: draft.Proto,
|
||||
Type: draft.Type,
|
||||
Category: draft.Category,
|
||||
UserID: user.ID,
|
||||
Note: req.Note,
|
||||
}, req.Force)
|
||||
}
|
||||
|
||||
// 删除发布图
|
||||
// 发布数据
|
||||
func publishData(publishData *dto.PublishedDto, force bool) {
|
||||
publishMapMutex.Lock()
|
||||
defer publishMapMutex.Unlock()
|
||||
p, pv := dbquery.Published, dbquery.PublishedVersion
|
||||
// 查询发布图数据
|
||||
oldPs, err1 := p.Where(p.Code.Eq(publishData.Name)).Find()
|
||||
if err1 != nil {
|
||||
panic(sys_error.New("发布草稿数据失败", err1))
|
||||
}
|
||||
var pid, version int32 = 0, 1
|
||||
if len(oldPs) > 0 { // 发布图数据不为空
|
||||
pid = oldPs[0].ID
|
||||
if oldPs[0].Category != publishData.Category || publishData.Type != oldPs[0].Type {
|
||||
if !force { // 非强制覆盖
|
||||
panic(sys_error.New("草稿数据与在线数据类型不一致"))
|
||||
} else {
|
||||
p.
|
||||
Where(p.ID.Eq(pid)).
|
||||
UpdateColumns(&model.Published{ID: pid, Type: publishData.Type, Category: publishData.Category})
|
||||
}
|
||||
}
|
||||
vds, _ := pv.Select(pv.Version).Where(pv.PublishID.Eq(pid)).Order(pv.Version.Desc()).Find()
|
||||
if len(vds) > 0 { // 版本号 + 1
|
||||
version = version + vds[0].Version
|
||||
}
|
||||
}
|
||||
// 存入新版本数据
|
||||
pvd := &model.PublishedVersion{
|
||||
Code: publishData.Name,
|
||||
Proto: publishData.Proto,
|
||||
UserID: publishData.UserID,
|
||||
Note: publishData.Note,
|
||||
Type: publishData.Type,
|
||||
Category: publishData.Category,
|
||||
PublishAt: time.Now(),
|
||||
Version: version,
|
||||
PublishID: pid,
|
||||
}
|
||||
err2 := pv.Create(pvd)
|
||||
if err2 != nil {
|
||||
panic(sys_error.New("发布草稿数据失败", err2))
|
||||
}
|
||||
// 更新发布数据
|
||||
if pid == 0 {
|
||||
pd := &model.Published{
|
||||
Code: publishData.Name,
|
||||
Type: publishData.Type,
|
||||
Category: publishData.Category,
|
||||
DataID: pvd.ID,
|
||||
Status: 1,
|
||||
}
|
||||
// 保存发布信息
|
||||
err4 := p.Create(pd)
|
||||
if err4 != nil {
|
||||
panic(sys_error.New("发布草稿数据失败", err4))
|
||||
}
|
||||
// 更新发布版本信息
|
||||
pv.Where(pv.ID.Eq(pvd.ID)).UpdateColumn(pv.PublishID, pd.ID)
|
||||
} else {
|
||||
// 更新发布信息
|
||||
p.Where(p.ID.Eq(pid)).UpdateColumn(p.DataID, pvd.ID)
|
||||
}
|
||||
}
|
||||
|
||||
// 删除发布数据
|
||||
func DeletePublishedById(id int32) {
|
||||
dbquery.Published.Debug().Where(dbquery.Published.ID.Eq(id)).UpdateColumn(dbquery.Published.Status, 0)
|
||||
dbquery.Published.Where(dbquery.Published.ID.Eq(id)).Delete()
|
||||
dbquery.PublishedVersion.Where(dbquery.PublishedVersion.PublishID.Eq(id)).Delete()
|
||||
dbquery.ProjectPublishLink.Where(dbquery.ProjectPublishLink.Mid.In(id)).Delete()
|
||||
}
|
||||
|
||||
|
@ -147,22 +175,21 @@ func SaveAsDraftingFromPublish(id int32, user *model.User, name string) {
|
|||
if num > 0 { // 处理重名情况
|
||||
panic(sys_error.New(fmt.Sprintf("草稿【%s】已存在", name)))
|
||||
}
|
||||
published, err := dbquery.Published.Where(dbquery.Published.ID.Eq(id)).Debug().First()
|
||||
p, pv := dbquery.Published, dbquery.PublishedVersion
|
||||
where := p.Select(p.Type, p.Category, pv.Proto).LeftJoin(pv, p.DataID.EqCol(pv.ID)).Where(p.ID.Eq(id), p.Status.Eq(1))
|
||||
var record dto.PublishedDto
|
||||
err := where.Debug().Scan(&record)
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布数据出错", err))
|
||||
}
|
||||
versionData, err := dbquery.PublishedVersion.Where(dbquery.PublishedVersion.ID.Eq(published.DataID)).First()
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布数据出错", err))
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
err1 := dbquery.Drafting.Save(&model.Drafting{
|
||||
Name: name,
|
||||
Category: published.Category,
|
||||
Proto: versionData.Proto,
|
||||
Category: record.Category,
|
||||
Proto: record.Proto,
|
||||
CreatorID: user.ID,
|
||||
CreatedAt: time.Now(),
|
||||
UpdateAt: time.Now(),
|
||||
Type: published.Type,
|
||||
Type: record.Type,
|
||||
})
|
||||
if err1 != nil {
|
||||
panic(sys_error.New("保存草稿出错", err1))
|
||||
|
@ -172,37 +199,66 @@ func SaveAsDraftingFromPublish(id int32, user *model.User, name string) {
|
|||
// 查询项目关联的详细数据
|
||||
func QueryProjectPublished(id int32) []*model.Published {
|
||||
// 获取项目关联的发布地图
|
||||
dppl := dbquery.ProjectPublishLink
|
||||
links, _ := dppl.Select(dppl.Mid).Where(dppl.Pid.Eq(id)).Find()
|
||||
if len(links) == 0 {
|
||||
return nil
|
||||
dppl, p := dbquery.ProjectPublishLink, dbquery.Published
|
||||
var publisheds []*model.Published
|
||||
err := dppl.Select(p.ID, p.Code, p.Category, p.Type).
|
||||
LeftJoin(p, p.ID.EqCol(dppl.Mid)).
|
||||
Where(dppl.Pid.Eq(id), p.Status.Eq(1)).Debug().Order(p.Type, p.Code).Scan(&publisheds)
|
||||
if err != nil {
|
||||
panic(sys_error.New("发布草稿数据失败", err))
|
||||
}
|
||||
mids := make([]int32, len(links))
|
||||
for i, m := range links {
|
||||
mids[i] = m.Mid
|
||||
}
|
||||
dp := dbquery.Published
|
||||
publisheds, _ := dp.
|
||||
Select(dp.ID, dp.Code, dp.Category, dp.Type).
|
||||
Where(dp.ID.In(mids...), dp.Status.Eq(1)).
|
||||
Order(dp.Type, dp.Code).
|
||||
Find()
|
||||
return publisheds
|
||||
}
|
||||
|
||||
// 根据名称获取地图详细信息
|
||||
func GetPublishedGiByName(param *dto.PublishedSingleQueryDto) *dto.PublishedDto {
|
||||
published, err := dbquery.Published.Where(dbquery.Published.Code.Eq(param.Name), dbquery.Published.Status.Eq(1)).Debug().First()
|
||||
p, pv := dbquery.Published, dbquery.PublishedVersion
|
||||
where := p.Select(p.ID, p.Code.As("name"), p.Type, p.Category, pv.Proto).
|
||||
LeftJoin(pv, p.DataID.EqCol(pv.ID)).
|
||||
Where(p.Code.Eq(param.Name), p.Status.Eq(1))
|
||||
var record dto.PublishedDto
|
||||
err := where.Debug().Scan(&record)
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布数据出错", err))
|
||||
panic(sys_error.New("查询发布地图信息失败", err))
|
||||
}
|
||||
detailData := &model.PublishedVersion{}
|
||||
if param.Detail {
|
||||
versionData, err := dbquery.PublishedVersion.Where(dbquery.PublishedVersion.ID.Eq(published.DataID)).First()
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布数据出错", err))
|
||||
}
|
||||
detailData = versionData
|
||||
}
|
||||
return dto.ConvertFromPublished(published, detailData)
|
||||
return &record
|
||||
}
|
||||
|
||||
// 修改发布数据状态
|
||||
func ChangePublishStatus(id int32, release bool) {
|
||||
var status int
|
||||
if release {
|
||||
status = 1
|
||||
}
|
||||
dbquery.Published.Debug().Where(dbquery.Published.ID.Eq(id)).UpdateColumn(dbquery.Published.Status, status)
|
||||
if !release { // 下架时,删除关联关系
|
||||
dbquery.ProjectPublishLink.Where(dbquery.ProjectPublishLink.Mid.In(id)).Delete()
|
||||
}
|
||||
}
|
||||
|
||||
// 修改发布Code
|
||||
func ChangePublishCode(id int32, code string) {
|
||||
p := dbquery.Published
|
||||
count, err := p.Where(p.ID.Neq(id), p.Code.Eq(code)).Count()
|
||||
if err != nil {
|
||||
panic(sys_error.New("修改发布名称失败", err))
|
||||
}
|
||||
if count > 0 {
|
||||
panic(sys_error.New("修改名称失败:名称已存在"))
|
||||
}
|
||||
p.Debug().Where(dbquery.Published.ID.Eq(id)).UpdateColumn(dbquery.Published.Code, code)
|
||||
}
|
||||
|
||||
// 查询发布历史
|
||||
func GetPublishHistory(id int32) []*dto.PublishHistoryDto {
|
||||
u, pv := dbquery.User, dbquery.PublishedVersion
|
||||
var records []*dto.PublishHistoryDto
|
||||
err := pv.
|
||||
Select(pv.ID, pv.PublishAt, pv.Note, pv.Version, u.Name.As("publisher")).
|
||||
LeftJoin(u, u.ID.EqCol(pv.UserID)).
|
||||
Where(pv.PublishID.Eq(id)).Order(pv.Version.Desc()).Scan(&records)
|
||||
if err != nil {
|
||||
panic(sys_error.New("查询发布历史信息失败", err))
|
||||
}
|
||||
return records
|
||||
}
|
||||
|
|
|
@ -2,72 +2,127 @@ package service
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
"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"
|
||||
"joylink.club/bj-rtsts-server/ts/protos/graphicData"
|
||||
)
|
||||
|
||||
// 查询列车信息列表
|
||||
func PageTrainInfoQuery(query *dto.PageTrainInfoReqDto) *dto.PageDto {
|
||||
d := dbquery.TrainInfo
|
||||
dq := d.Where()
|
||||
if query.Name != "" {
|
||||
dq = dq.Where(d.Name.Like(fmt.Sprintf("%%%s%%", query.Name)))
|
||||
}
|
||||
records, total, err := dq.Debug().Select(d.ID, d.Name, d.Proto, d.Description).FindByPage(query.Offset(), query.Size)
|
||||
if err != nil {
|
||||
panic(dto.ErrorDto{Code: dto.QueryDBError, Message: err.Error()})
|
||||
}
|
||||
return &dto.PageDto{Total: int(total), PageQueryDto: query.PageQueryDto, Records: dto.ConvertToTrainInfoDto(records)}
|
||||
}
|
||||
var trainDataType = int32(graphicData.PictureType_TrainData)
|
||||
|
||||
// 查询列车信息列表
|
||||
func ListTrainInfoQuery(query *dto.TrainInfoReqDto) []*model.TrainInfo {
|
||||
d := dbquery.TrainInfo
|
||||
dq := d.Where()
|
||||
func PageTrainInfoByPublished(query *dto.PageTrainInfoReqDto) *dto.PageDto {
|
||||
d, dv := dbquery.Published, dbquery.PublishedVersion
|
||||
dq := d.Select(d.ID, d.Code.As("name"), dv.Note, dv.Proto).
|
||||
LeftJoin(dv, d.DataID.EqCol(dv.ID)).
|
||||
Where(d.Type.Eq(trainDataType), d.Status.Eq(1)).
|
||||
Order(dv.PublishAt)
|
||||
if query.Name != "" {
|
||||
dq = dq.Where(d.Name.Like(fmt.Sprintf("%%%s%%", query.Name)))
|
||||
dq = dq.Where(d.Code.Like(fmt.Sprintf("%%%s%%", query.Name)))
|
||||
}
|
||||
records, err := dq.Debug().Select(d.ID, d.Name, d.Proto).Find()
|
||||
var records []*dto.PublishedDto
|
||||
total, err := dq.Debug().ScanByPage(&records, query.Offset(), query.Size)
|
||||
if err != nil {
|
||||
panic(dto.ErrorDto{Code: dto.QueryDBError, Message: err.Error()})
|
||||
panic(sys_error.New("列车信息查询错误", err))
|
||||
}
|
||||
return records
|
||||
return &dto.PageDto{Total: int(total), PageQueryDto: query.PageQueryDto, Records: dto.ConvertToTrainDto(records)}
|
||||
}
|
||||
|
||||
// 创建列车信息
|
||||
func CreateTrainInfo(td *dto.TrainInfoDto) bool {
|
||||
d := dto.ConvertTrainInfoFromDto(td)
|
||||
err := dbquery.TrainInfo.Save(d)
|
||||
if err != nil {
|
||||
panic(dto.ErrorDto{Code: dto.QueryDBError, Message: err.Error()})
|
||||
// 根据项目Id查询列车信息
|
||||
func ListTrainByProject(query *dto.TrainInfoReqDto) []*dto.TrainInfoDto {
|
||||
ppl, p, pv := dbquery.ProjectPublishLink, dbquery.Published, dbquery.PublishedVersion
|
||||
where := ppl.Select(p.ID, p.Code.As("name"), pv.Note, pv.Proto).
|
||||
LeftJoin(p, ppl.Mid.EqCol(p.ID)).
|
||||
LeftJoin(pv, p.DataID.EqCol(pv.ID))
|
||||
if query.Name != "" {
|
||||
where = where.Where(p.Code.Like(fmt.Sprintf("%%%s%%", query.Name)))
|
||||
}
|
||||
if query.Pid != 0 {
|
||||
where = where.Where(ppl.Pid.Eq(query.Pid))
|
||||
}
|
||||
var records []*dto.PublishedDto
|
||||
err := where.Where(p.Type.Eq(trainDataType), p.Status.Eq(1)).Order(pv.PublishAt).Scan(&records)
|
||||
if err != nil {
|
||||
panic(sys_error.New("列车信息查询错误", err))
|
||||
}
|
||||
return dto.ConvertToTrainDto(records)
|
||||
}
|
||||
|
||||
// 发布列车信息
|
||||
func CreateTrain(td *dto.TrainInfoDto, user *model.User) bool {
|
||||
publishData(&dto.PublishedDto{
|
||||
Name: td.Name,
|
||||
Proto: convertTrainProto(td),
|
||||
Type: trainDataType,
|
||||
UserID: user.ID,
|
||||
Note: td.Description,
|
||||
}, true)
|
||||
return true
|
||||
}
|
||||
|
||||
// 转成列车proto
|
||||
func convertTrainProto(t *dto.TrainInfoDto) []byte {
|
||||
message := &graphicData.Train{
|
||||
TrainModel: graphicData.Train_TrainModel(t.TrainModel),
|
||||
CarriageLength: t.CarriageLength,
|
||||
TotalLength: t.TotalLength,
|
||||
MinDiameter: t.MinDiameter,
|
||||
MaxDiameter: t.MaxDiameter,
|
||||
TrainSets: t.TrainSets,
|
||||
}
|
||||
b, _ := proto.Marshal(message)
|
||||
return b
|
||||
}
|
||||
|
||||
// 查询列车信息
|
||||
func QueryTrainInfo(id int32) *dto.TrainInfoDto {
|
||||
dt := dbquery.TrainInfo
|
||||
data, err := dt.Where(dt.ID.Eq(id)).Debug().First()
|
||||
func QueryTrain(id int32) *dto.TrainInfoDto {
|
||||
d, dv := dbquery.Published, dbquery.PublishedVersion
|
||||
var record dto.PublishedDto
|
||||
err := d.Select(d.ID, d.Code.As("name"), dv.Note, dv.Proto).
|
||||
LeftJoin(dv, d.DataID.EqCol(dv.ID)).
|
||||
Where(d.Type.Eq(trainDataType), d.ID.Eq(id)).
|
||||
Scan(&record)
|
||||
if err != nil {
|
||||
panic(dto.ErrorDto{Code: dto.QueryDBError, Message: err.Error()})
|
||||
panic(sys_error.New("列车信息查询错误", err))
|
||||
}
|
||||
return dto.ConvertDtoFromTrainInfo(data)
|
||||
return dto.ConvertDtoFromTrain(&record)
|
||||
}
|
||||
|
||||
// 更新列车信息
|
||||
func UpdateTrainInfo(id int32, td *dto.TrainInfoDto) bool {
|
||||
d := dto.ConvertTrainInfoFromDto(td)
|
||||
d.ID = id
|
||||
_, err2 := dbquery.TrainInfo.Updates(d)
|
||||
func UpdateTrain(id int32, td *dto.TrainInfoDto, user *model.User) bool {
|
||||
p, pv := dbquery.Published, dbquery.PublishedVersion
|
||||
pd, err := p.Select(p.ID, p.Code, p.DataID).Where(p.ID.Eq(id)).First()
|
||||
if err != nil {
|
||||
panic(sys_error.New("更新列车信息错误", err))
|
||||
}
|
||||
if td.Name != pd.Code {
|
||||
ChangePublishCode(id, td.Name)
|
||||
}
|
||||
pvd, err := pv.Select(pv.Version).Where(pv.ID.Eq(pd.DataID)).First()
|
||||
if err != nil {
|
||||
panic(sys_error.New("更新列车信息错误", err))
|
||||
}
|
||||
pvdn := &model.PublishedVersion{
|
||||
Proto: convertTrainProto(td),
|
||||
UserID: user.ID,
|
||||
PublishAt: time.Now(),
|
||||
Note: td.Description,
|
||||
Version: pvd.Version + 1,
|
||||
Code: td.Name,
|
||||
PublishID: id,
|
||||
Type: trainDataType,
|
||||
}
|
||||
err2 := pv.Create(pvdn)
|
||||
if err2 != nil {
|
||||
panic(dto.ErrorDto{Code: dto.QueryDBError, Message: err2.Error()})
|
||||
panic(sys_error.New("更新列车信息错误", err2))
|
||||
}
|
||||
_, err3 := p.Where(p.ID.Eq(id)).UpdateColumn(p.DataID, pvdn.ID)
|
||||
if err3 != nil {
|
||||
panic(sys_error.New("更新列车信息错误", err3))
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// 删除列车信息
|
||||
func DeleteTrainInfoById(id int) {
|
||||
_, _ = dbquery.TrainInfo.Debug().Where(dbquery.TrainInfo.ID.Eq(int32(id))).Delete()
|
||||
}
|
||||
|
|
|
@ -31,6 +31,8 @@ const (
|
|||
PictureType_RelayCabinetLayout PictureType = 2
|
||||
// * IBP盘
|
||||
PictureType_IBP PictureType = 3
|
||||
// * 列车数据
|
||||
PictureType_TrainData PictureType = 4
|
||||
)
|
||||
|
||||
// Enum value maps for PictureType.
|
||||
|
@ -40,12 +42,14 @@ var (
|
|||
1: "Psl",
|
||||
2: "RelayCabinetLayout",
|
||||
3: "IBP",
|
||||
4: "TrainData",
|
||||
}
|
||||
PictureType_value = map[string]int32{
|
||||
"StationLayout": 0,
|
||||
"Psl": 1,
|
||||
"RelayCabinetLayout": 2,
|
||||
"IBP": 3,
|
||||
"TrainData": 4,
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -80,13 +84,14 @@ var File_picture_proto protoreflect.FileDescriptor
|
|||
|
||||
var file_picture_proto_rawDesc = []byte{
|
||||
0x0a, 0x0d, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
|
||||
0x4a, 0x0a, 0x0b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11,
|
||||
0x59, 0x0a, 0x0b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11,
|
||||
0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x10,
|
||||
0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x73, 0x6c, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x65,
|
||||
0x6c, 0x61, 0x79, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74,
|
||||
0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x42, 0x50, 0x10, 0x03, 0x42, 0x19, 0x5a, 0x17, 0x2e,
|
||||
0x2f, 0x74, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68,
|
||||
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x42, 0x50, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x54,
|
||||
0x72, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0x04, 0x42, 0x19, 0x5a, 0x17, 0x2e, 0x2f,
|
||||
0x74, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
|
||||
0x63, 0x44, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue