rts-sim-testing-service/service/trainManage.go
2023-11-21 13:33:41 +08:00

74 lines
2.0 KiB
Go

package service
import (
"fmt"
"joylink.club/bj-rtsts-server/db/dbquery"
"joylink.club/bj-rtsts-server/db/model"
"joylink.club/bj-rtsts-server/dto"
)
// 查询列车信息列表
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)}
}
// 查询列车信息列表
func ListTrainInfoQuery(query *dto.TrainInfoReqDto) []*model.TrainInfo {
d := dbquery.TrainInfo
dq := d.Where()
if query.Name != "" {
dq = dq.Where(d.Name.Like(fmt.Sprintf("%%%s%%", query.Name)))
}
records, err := dq.Debug().Select(d.ID, d.Name, d.Proto).Find()
if err != nil {
panic(dto.ErrorDto{Code: dto.QueryDBError, Message: err.Error()})
}
return 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()})
}
return true
}
// 查询列车信息
func QueryTrainInfo(id int32) *dto.TrainInfoDto {
dt := dbquery.TrainInfo
data, err := dt.Where(dt.ID.Eq(id)).Debug().First()
if err != nil {
panic(dto.ErrorDto{Code: dto.QueryDBError, Message: err.Error()})
}
return dto.ConvertDtoFromTrainInfo(data)
}
// 更新列车信息
func UpdateTrainInfo(id int32, td *dto.TrainInfoDto) bool {
d := dto.ConvertTrainInfoFromDto(td)
d.ID = id
_, err2 := dbquery.TrainInfo.Updates(d)
if err2 != nil {
panic(dto.ErrorDto{Code: dto.QueryDBError, Message: err2.Error()})
}
return true
}
// 删除列车信息
func DeleteTrainInfoById(id int) {
_, _ = dbquery.TrainInfo.Debug().Where(dbquery.TrainInfo.ID.Eq(int32(id))).Delete()
}