123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- package edb_inspection
- import (
- "eta/eta_api/global"
- "eta/eta_api/utils"
- "time"
- "github.com/rdlucklib/rdluck_tools/paging"
- )
- // EdbInspectionMessage
- // @Description: 巡检消息表
- type EdbInspectionMessage struct {
- MessageId int64 `gorm:"column:message_id;primaryKey;autoIncrement"`
- InspectionRecordId int64 `gorm:"column:inspection_record_id"`
- AdminId int64 `gorm:"column:admin_id"`
- Message string `gorm:"column:message"`
- IsRead int8 `gorm:"column:is_read"`
- Source int8 `gorm:"column:source"`
- TerminalCode string `gorm:"column:terminal_code"`
- InspectionTime time.Time `gorm:"column:inspection_time"`
- CreateTime time.Time `gorm:"column:create_time"`
- ModifyTime time.Time `gorm:"column:modify_time"`
- }
- // Add
- // @Description: 添加巡检消息
- // @receiver m
- // @return err error
- func (m *EdbInspectionMessage) Add() (err error) {
- m.CreateTime = time.Now()
- m.ModifyTime = time.Now()
- err = global.DbMap[utils.DbNameIndex].Create(m).Error
- return
- }
- // Update
- // @Description: 更新巡检消息
- // @receiver m
- // @param cols []string
- // @return err error
- func (m *EdbInspectionMessage) Update(cols []string) (err error) {
- m.ModifyTime = time.Now()
- err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
- return
- }
- // GetById
- // @Description: 根据ID获取巡检消息
- // @param messageId int64
- // @return item *EdbInspectionMessage
- // @return err error
- func GetMessageById(messageId int64) (item *EdbInspectionMessage, err error) {
- sql := `SELECT * FROM edb_inspection_message WHERE message_id = ?`
- err = global.DbMap[utils.DbNameIndex].Raw(sql, messageId).First(&item).Error
- return
- }
- // GetListByInspectionRecordId
- // @Description: 根据巡检记录ID获取巡检消息列表
- // @param inspectionRecordId int64
- // @return list []*EdbInspectionMessage
- // @return err error
- func GetMessageListByInspectionRecordId(inspectionRecordId int64) (list []*EdbInspectionMessage, err error) {
- sql := `SELECT * FROM edb_inspection_message WHERE inspection_record_id = ? ORDER BY create_time DESC`
- err = global.DbMap[utils.DbNameIndex].Raw(sql, inspectionRecordId).Find(&list).Error
- return
- }
- // GetListBySendStatus
- // @Description: 根据发送状态获取巡检消息列表
- // @param sendStatus int8
- // @return list []*EdbInspectionMessage
- // @return err error
- func GetMessageListBySendStatus(sendStatus int8) (list []*EdbInspectionMessage, err error) {
- sql := `SELECT * FROM edb_inspection_message WHERE send_status = ? ORDER BY create_time DESC`
- err = global.DbMap[utils.DbNameIndex].Raw(sql, sendStatus).Find(&list).Error
- return
- }
- // UpdateSendStatus
- // @Description: 更新消息发送状态
- // @receiver m
- // @param sendStatus int8
- // @return err error
- func (m *EdbInspectionMessage) UpdateSendStatus(sendStatus int8) (err error) {
- sql := `UPDATE edb_inspection_message SET send_status = ?, modify_time = ? WHERE message_id = ?`
- err = global.DbMap[utils.DbNameIndex].Exec(sql, sendStatus, time.Now(), m.MessageId).Error
- return
- }
- // GetCountByCondition
- // @Description: 根据条件获取巡检消息数量
- // @param cond string
- // @param pars []interface{}
- // @return int64
- // @return err error
- func (m *EdbInspectionMessage) GetCountByCondition(cond string, pars []interface{}) (count int64, err error) {
- sql := `SELECT COUNT(*) FROM edb_inspection_message WHERE 1=1` + cond
- err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&count).Error
- return
- }
- type EdbInspectionMessageResp struct {
- MessageId int64
- AdminId int64
- InspectionRecordId int64
- Content string
- Remark string
- IsRead int8
- Source int8
- TerminalCode string
- InspectionTime string
- }
- type EdbInspectionMessageListResp struct {
- List []*EdbInspectionMessageResp
- Paging *paging.PagingItem
- UnreadTotal int
- }
- type EdbInspectionMessageReadReq struct {
- MessageId int64
- }
- func BatchModifyEdbInspectionMessageIsRead(ids []int64, adminId int) (err error) {
- if len(ids) == 0 {
- return
- }
- o := global.DbMap[utils.DbNameIndex]
- sql := `UPDATE edb_inspection_message SET is_read =1, modify_time = ? WHERE admin_id =? AND is_read = 0 AND message_id IN (` + utils.GetOrmInReplace(len(ids)) + `)`
- err = o.Exec(sql, time.Now(), adminId, ids).Error
- return
- }
- func GetEdbInspectionMessageById(id int) (item *EdbInspectionMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_inspection_message WHERE message_id =?"
- err = o.Raw(sql, id).First(&item).Error
- return
- }
- func GetEdbInspectionMessageByAdminId(adminId int) (items []*EdbInspectionMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_inspection_message WHERE admin_id =? AND is_read = 0 ORDER BY create_time DESC"
- err = o.Raw(sql, adminId).Find(&items).Error
- return
- }
- func GetEdbInspectionMessageUnreadCountByAdminId(adminId int) (count int, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT COUNT(*) FROM edb_inspection_message WHERE admin_id =? AND is_read = 0 ORDER BY is_read ASC, create_time DESC"
- err = o.Raw(sql, adminId).Scan(&count).Error
- return
- }
- func GetEdbInspectionMessageCountByAdminId(adminId int) (count int, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT COUNT(*) FROM edb_inspection_message WHERE admin_id =? ORDER BY is_read ASC, create_time DESC"
- err = o.Raw(sql, adminId).Scan(&count).Error
- return
- }
- func GetEdbInspectionMessagePageByAdminId(adminId, startSize, pageSize int) (items []*EdbInspectionMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_inspection_message WHERE admin_id =? ORDER BY is_read ASC, create_time DESC LIMIT ?,?"
- err = o.Raw(sql, adminId, startSize, pageSize).Find(&items).Error
- return
- }
- func GetUnreadInspectionMessageList(adminIds []int) (items []*EdbInspectionMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_inspection_message WHERE admin_id IN (?) AND is_read = 0 ORDER BY create_time DESC, message_id DESC"
- err = o.Raw(sql, adminIds).Find(&items).Error
- return
- }
- func GetUnreadInspectionMessageListByAdminId(adminId int) (items []*EdbInspectionMessage, err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "SELECT * FROM edb_inspection_message WHERE admin_id =? AND is_read = 0 ORDER BY create_time DESC, message_id DESC"
- err = o.Raw(sql, adminId).Find(&items).Error
- return
- }
- func SetEdbInspectionMessageRead(messageId []int64) (err error) {
- o := global.DbMap[utils.DbNameIndex]
- sql := "UPDATE edb_inspection_message SET is_read = 1, modify_time = ? WHERE message_id IN (?) AND is_read = 0"
- err = o.Exec(sql, time.Now(), messageId).Error
- return
- }
|