1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package biapprove
- import (
- biapprove "eta_gn/eta_api/models/bi_approve"
- "eta_gn/eta_api/models/bi_approve/response"
- "eta_gn/eta_api/utils"
- "fmt"
- "time"
- )
- func GetBiApproveMessage(adminId, startSize, pageSize int) (list []*response.BiApproveMessageItem, total, unread int, msg string, err error) {
- cond := fmt.Sprintf(` AND %s = ?`, biapprove.BiApproveMessageCols.ReceiveUserId)
- pars := make([]interface{}, 0)
- pars = append(pars, adminId)
- order := fmt.Sprintf(`%s ASC, %s DESC`, biapprove.BiApproveMessageCols.IsRead, biapprove.BiApproveMessageCols.CreateTime)
- messageOb := new(biapprove.BiApproveMessage)
- total, e := messageOb.GetCountByCondition(cond, pars)
- if e != nil {
- msg = "获取失败"
- err = fmt.Errorf("message.GetCountByCondition, Err: %s", e.Error())
- return
- }
- tmpList, e := messageOb.GetPageItemsByCondition(cond, pars, []string{}, order, startSize, pageSize)
- if e != nil {
- msg = "获取失败"
- err = fmt.Errorf("message.GetPageItemsByCondition, Err: %s", e.Error())
- return
- }
- for _, v := range tmpList {
- t := FormatBiApproveMessage2Item(v)
- list = append(list, t)
- }
- // 未读消息数
- cond += fmt.Sprintf(` AND %s = ?`, biapprove.BiApproveMessageCols.IsRead)
- pars = append(pars, 0)
- unreadTotal, e := messageOb.GetCountByCondition(cond, pars)
- if e != nil {
- msg = "获取失败"
- err = fmt.Errorf("message.GetCountByCondition, Err: %s", e.Error())
- return
- }
- unread = unreadTotal
- return
- }
- func ReadBiMessage(msgId int, adminId int) (msg string, err error) {
- messageOb := new(biapprove.BiApproveMessage)
- messageItem, e := messageOb.GetItemById(msgId)
- if e != nil {
- if utils.IsErrNoRow(e) {
- msg = "消息不存在, 请刷新页面"
- err = e
- return
- }
- msg = "获取失败"
- err = fmt.Errorf("message.GetItemById, Err: %s", e.Error())
- return
- }
- messageItem.IsRead = 1
- messageItem.ModifyTime = time.Now().Local()
- cols := []string{"IsRead", "ModifyTime"}
- if e = messageItem.Update(cols); e != nil {
- msg = "操作失败"
- err = fmt.Errorf("message.Update, Err: %s", e.Error())
- return
- }
- return
- }
- // FormatBiApproveMessage2Item 格式化报告审批消息
- func FormatBiApproveMessage2Item(origin *biapprove.BiApproveMessage) (item *response.BiApproveMessageItem) {
- item = new(response.BiApproveMessageItem)
- if origin == nil {
- return
- }
- item.Id = origin.Id
- item.SendUserId = origin.SendUserId
- item.ReceiveUserId = origin.ReceiveUserId
- item.Content = origin.Content
- item.Remark = origin.Remark
- item.BiApproveId = origin.BiApproveId
- item.ApproveState = origin.ApproveState
- item.IsRead = origin.IsRead
- item.CreateTime = utils.TimeTransferString(utils.FormatDateTime, origin.CreateTime)
- item.ModifyTime = utils.TimeTransferString(utils.FormatDateTime, origin.ModifyTime)
- return
- }
|