2023-07-18 17:19:03 +08:00
|
|
|
package service
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
2023-07-31 18:20:00 +08:00
|
|
|
"time"
|
|
|
|
|
2023-07-18 17:19:03 +08:00
|
|
|
"joylink.club/bj-rtsts-server/db/dbquery"
|
|
|
|
"joylink.club/bj-rtsts-server/db/model"
|
|
|
|
"joylink.club/bj-rtsts-server/dto"
|
|
|
|
)
|
|
|
|
|
|
|
|
func PageQueryPublishedGi(req *dto.PublishedGiReqDto) (*dto.PageDto, error) {
|
2023-07-31 18:20:00 +08:00
|
|
|
w := dbquery.PublishedGi.Where()
|
2023-07-18 17:19:03 +08:00
|
|
|
if req.Name != "" {
|
2023-07-31 18:20:00 +08:00
|
|
|
w = w.Where(dbquery.PublishedGi.Name.Like(fmt.Sprintf("%%%s%%", req.Name)))
|
2023-07-18 17:19:03 +08:00
|
|
|
}
|
2023-07-31 18:20:00 +08:00
|
|
|
result, count, err := w.Debug().FindByPage(req.Offset(), req.Size)
|
2023-07-18 17:19:03 +08:00
|
|
|
return &dto.PageDto{
|
|
|
|
Total: int(count),
|
|
|
|
PageQueryDto: req.PageQueryDto,
|
|
|
|
Records: result,
|
|
|
|
}, err
|
|
|
|
}
|
|
|
|
|
|
|
|
func ListQueryPublishedGi(req *dto.PublishedGiReqDto) ([]*model.PublishedGi, error) {
|
|
|
|
where := dbquery.PublishedGi.Where()
|
|
|
|
if req.Name != "" {
|
|
|
|
where.Where(dbquery.PublishedGi.Name.Like(fmt.Sprintf("%%%s%%", req.Name)))
|
|
|
|
}
|
|
|
|
return where.Debug().Find()
|
|
|
|
}
|
|
|
|
|
|
|
|
func GetPublishedGiById(id int) (*model.PublishedGi, error) {
|
|
|
|
return dbquery.PublishedGi.Where(dbquery.PublishedGi.ID.Eq(int32(id))).Debug().First()
|
|
|
|
}
|
|
|
|
|
2023-07-28 17:24:58 +08:00
|
|
|
func PublishFormDraft(req *dto.PublishReqDto, user *model.User) {
|
2023-07-18 17:19:03 +08:00
|
|
|
draft := QueryDrafting(req.DraftId)
|
|
|
|
if draft.Proto == nil || len(draft.Proto) == 0 {
|
|
|
|
panic(fmt.Sprintf("草稿[%v]绘图数据信息为空", req.DraftId))
|
|
|
|
}
|
|
|
|
entity := model.PublishedGi{
|
|
|
|
Name: req.Name,
|
|
|
|
Proto: draft.Proto,
|
|
|
|
UserID: user.ID,
|
|
|
|
PublishAt: time.Now(),
|
|
|
|
}
|
2023-07-31 10:15:02 +08:00
|
|
|
//删除同名数据
|
|
|
|
dbquery.PublishedGi.Debug().Where(dbquery.PublishedGi.Name.Eq(req.Name)).Delete()
|
|
|
|
//插入新数据
|
|
|
|
err := dbquery.PublishedGi.Debug().Create(&entity)
|
|
|
|
if err != nil {
|
|
|
|
panic(dto.ErrorDto{Code: dto.DataOperationError, Message: fmt.Sprintf("数据创建失败:\n%s", err.Error())})
|
2023-07-18 17:19:03 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func DeletePublishedGiById(id int) {
|
|
|
|
_, _ = dbquery.PublishedGi.Debug().Where(dbquery.PublishedGi.ID.Eq(int32(id))).Delete()
|
|
|
|
}
|