12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package dao
- import (
- "fmt"
- . "gitdxz.51daxuetong.cn/go_dev/jjl-tools/tinodeService/lib"
- "time"
- )
- type ISubscriptionsDao interface {
- }
- type SubscriptionsDao struct {
- }
- type Subscriptions struct {
- ID int `json:"id"`
- Userid int64 `json:"userid"`
- Topic string `json:"topic"`
- From string `json:"from"` //返回用户的usr 例如: usrxxx, 不是数据库表字段
- Recvseqid int `json:"recvseqid"`
- Readseqid int `json:"readseqid"`
- Star int `json:"star"`
- Avatar string `json:"avatar"`
- Nickname string `json:"nickname"`
- Status int `json:"status"`
- Createdat string `json:"createdat"`
- Updatedat time.Time `json:"updatedat"`
- OsEnd string `json:"os_end"`
- }
- type Subs struct {
- Subscriptions
- Updateat time.Time `json:"updateat"` //根据用户uid获取所有的客服sub,这里需要去2个时间做对比,获得最后的聊天时间
- }
- //根据用户uid获取所有的客服sub
- func (subDao SubscriptionsDao) GetSubsCoutomerList(uid string) (subList []Subs, err error) {
- res := GetTiNodeDbInstance().Debug().Select("s.id, s.userid, s.topic, s.recvseqid, s.readseqid, s.star, s.createdat, s.updatedat, u.realname as nickname, u.avatar_file, u.status, sub.updatedat as updateat").
- Table("subscriptions s").Joins("LEFT JOIN subscriptions sub ON sub.topic = s.topic").
- Joins("LEFT JOIN go_user u ON u.chat_uid = s.userid").
- Where("s.deletedat is null AND u.status = 0 AND u.deleted_on = 0 AND sub.userid = ?", uid)
- res = res.Order("s.id desc").Find(&subList)
- if err = res.Error; err != nil {
- fmt.Println("===GetSubsCoutomerList=====",err)
- }
- return
- }
|