| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package transaction
- import (
- "runtime/debug"
- "bet24.com/database"
- "bet24.com/log"
- )
- type trans_serviceMsg_in struct {
- UserID int `binding:"required"`
- MessageID int `binding:"required"`
- }
- type serviceMsg struct {
- MessageID int
- UserID int
- ToUserID int
- Msg string
- Crdate int
- }
- type serviceMsgList struct {
- MessageID int
- ServiceMsgs []serviceMsg
- }
- type trans_getServiceMsgList struct {
- database.Trans_base
- IN trans_serviceMsg_in
- OUT serviceMsgList
- }
- func NewTransServiceMsgList() *trans_getServiceMsgList {
- return &trans_getServiceMsgList{}
- }
- func (this *trans_getServiceMsgList) DoAction(ch chan<- interface{}) {
- defer func() {
- if err := recover(); err != nil {
- log.Release("transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- if ch != nil {
- ch <- this
- }
- }()
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_ServiceMessage_GetList")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, this.IN.UserID)
- statement.AddParamter("@MessageID", database.AdParamInput, database.AdInteger, 4, this.IN.MessageID)
- sqlstring := statement.GenSql()
- //log.Debug(sqlstring)
- retRows := CenterDB.ExecSql(sqlstring)
- rowsLen := len(retRows)
- this.State = true
- if rowsLen <= 0 {
- return
- }
- this.OUT.ServiceMsgs = make([]serviceMsg, rowsLen)
- for i := 0; i < rowsLen; i++ {
- ret := retRows[i]
- out := &this.OUT.ServiceMsgs[i]
- out.MessageID = int((ret[0]).(int64))
- out.UserID = int((ret[1]).(int64))
- out.ToUserID = int((ret[2]).(int64))
- out.Msg = (ret[3]).(string)
- out.Crdate = int((ret[4]).(int64))
- // 把最大值赋给上层读取
- if out.MessageID > this.OUT.MessageID {
- this.OUT.MessageID = out.MessageID
- }
- }
- }
|