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
commit 904a1fefff
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)
}

View File

@ -4,7 +4,6 @@ import (
"log"
"time"
"git.lxtend.com/qqbot/health"
"git.lxtend.com/qqbot/service/exec"
"git.lxtend.com/qqbot/sqlite3"
wsclient "git.lxtend.com/qqbot/ws_client"
@ -26,10 +25,7 @@ func main() {
log.Print("Error creating WebSocket client:", err)
}
defer client.Close()
ginServer := gin.New()
engine := ginServer.Group("/health")
engine.GET("/ping", health.HealthHandler)
go ginServer.Run(":3434")
startRouter()
for {
time.Sleep(1000 * time.Second)
}

16
router.go Normal file
View File

@ -0,0 +1,16 @@
package main
import (
"git.lxtend.com/qqbot/handler/ticket"
"git.lxtend.com/qqbot/health"
"github.com/gin-gonic/gin"
)
func startRouter() {
ginServer := gin.New()
healthEngine := ginServer.Group("/health")
healthEngine.GET("/ping", health.HealthHandler)
ticketEngine := ginServer.Group("/ticket")
ticketEngine.GET("", ticket.TicketHandler)
go ginServer.Run(":3434")
}