feat: 添加工单请求接口
This commit is contained in:
@@ -13,6 +13,6 @@ type Ticket struct {
|
||||
type WebTicketModel struct {
|
||||
Id int64 `json:"id"`
|
||||
Content string `json:"content"`
|
||||
IsDone bool `json:"isDone"`
|
||||
FromQQ string `json:from`
|
||||
CreatedAt string `json:"created_at"`
|
||||
}
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
package ticket
|
||||
|
||||
import "git.lxtend.com/qqbot/sqlite3"
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"git.lxtend.com/qqbot/sqlite3"
|
||||
)
|
||||
|
||||
func init() {
|
||||
createTableQuery := `CREATE TABLE IF NOT EXISTS ticket (
|
||||
@@ -49,3 +53,26 @@ func setTicketDone(id int) error {
|
||||
tx.Commit()
|
||||
return nil
|
||||
}
|
||||
|
||||
func getAllTicket() ([]WebTicketModel, error) {
|
||||
tx, err := sqlite3.GetTran()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer tx.Rollback()
|
||||
var ticketList []Ticket
|
||||
if _, err = tx.NamedQuery("SELECT * FROM ticket WHERE isDone=false", ticketList); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tx.Commit()
|
||||
var webTickets []WebTicketModel
|
||||
for _, v := range ticketList {
|
||||
webTicket := WebTicketModel{
|
||||
Id: v.Id,
|
||||
Content: v.Content,
|
||||
FromQQ: strconv.Itoa(int(v.FromQQ/10000)) + "****",
|
||||
}
|
||||
webTickets = append(webTickets, webTicket)
|
||||
}
|
||||
return webTickets, nil
|
||||
}
|
||||
|
||||
15
handler/ticket/ticker_gin_handler.go
Normal file
15
handler/ticket/ticker_gin_handler.go
Normal file
@@ -0,0 +1,15 @@
|
||||
package ticket
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func TicketHandler(c *gin.Context) {
|
||||
tickets, err := getAllTicket()
|
||||
if err != nil {
|
||||
c.AbortWithError(http.StatusInternalServerError, err)
|
||||
}
|
||||
c.JSON(200, tickets)
|
||||
}
|
||||
Reference in New Issue
Block a user