56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package ticket
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
|
|
"git.lxtend.com/qqbot/handler"
|
|
"git.lxtend.com/qqbot/model"
|
|
)
|
|
|
|
func init() {
|
|
// Register the handler with the server
|
|
handler.RegisterHandler("提单", newTicket)
|
|
handler.RegisterHandler("结单", doneTicket)
|
|
}
|
|
|
|
func newTicket(msg model.Message) model.Reply {
|
|
id, err := storeTicket(msg.RawMsg[len("提单 "):], msg.UserId, msg.GroupInfo.GroupId)
|
|
if err != nil {
|
|
return model.Reply{
|
|
ReplyMsg: fmt.Sprintf("提单失败: %s", err.Error()),
|
|
ReferOriginMsg: true,
|
|
FromMsg: msg,
|
|
}
|
|
}
|
|
return model.Reply{
|
|
ReplyMsg: fmt.Sprintf("提单成功,可以至 https://lxtend.com/qbot/ticket?id=%d 查看工单", id),
|
|
ReferOriginMsg: true,
|
|
FromMsg: msg,
|
|
}
|
|
}
|
|
|
|
func doneTicket(msg model.Message) model.Reply {
|
|
id, err := strconv.Atoi(msg.RawMsg[len("结单 "):])
|
|
if err != nil {
|
|
return model.Reply{
|
|
ReplyMsg: fmt.Sprintf("结单失败: %s", err.Error()),
|
|
ReferOriginMsg: true,
|
|
FromMsg: msg,
|
|
}
|
|
}
|
|
err = setTicketDone(id)
|
|
if err != nil {
|
|
return model.Reply{
|
|
ReplyMsg: fmt.Sprintf("结单失败: %s", err.Error()),
|
|
ReferOriginMsg: true,
|
|
FromMsg: msg,
|
|
}
|
|
}
|
|
return model.Reply{
|
|
ReplyMsg: "结单成功",
|
|
ReferOriginMsg: true,
|
|
FromMsg: msg,
|
|
}
|
|
}
|