Merge branch 'main' of ssh://127.0.0.1:2222/lixiangwuxian/qq_bot

This commit is contained in:
lixiangwuxian
2024-10-25 01:38:21 +08:00
5 changed files with 61 additions and 7 deletions

View File

@@ -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"`
}

View File

@@ -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
}

View 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)
}