12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package orchard
- import (
- "active/tools"
- "gorm.io/gorm"
- )
- type OrchardMsg struct {
- Id int64 `json:"id"`
- CreateTime int64 `json:"create_time"`
- PlayerId int64 `json:"player_id"`
- Msg string `json:"msg"`
- UserId int64 `json:"user_id"`
- IsRead bool `json:"is_read"`
- }
- func (this *OrchardMsg) TableName() string {
- return "orchard_msg"
- }
- func GetRecentMsgList(userid int64, open bool) (*[]OrchardMsg, int64) {
- var orchardMsgList []OrchardMsg
- db := tools.NewConn(MysqlExtDb)
- var odInt []int64
- db.Where("user_id = ?", userid).Order("create_time desc").Limit(OrchardConf.Limit).Find(&orchardMsgList)
- for i := range orchardMsgList {
- if !orchardMsgList[i].IsRead {
- odInt = append(odInt, orchardMsgList[i].Id)
- }
- }
- if len(odInt) > 0 && open {
- index := 0
- for index < len(odInt) {
- if index+20 < len(odInt) {
- db.Table(orchardMsgList[0].TableName()).Where("id in ?", odInt[index:index+20]).Update("is_read", true)
- } else {
- db.Table(orchardMsgList[0].TableName()).Where("id in ?", odInt[index:]).Update("is_read", true)
- }
- index += 20
- }
- }
- return &orchardMsgList, int64(len(odInt))
- }
- func (this *OrchardMsg) Insert(db *gorm.DB) error {
- //db := tools.NewConn(MysqlExtDb)
- return db.Create(this).Error
- }
|