company_approval_message.go 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package company_approval_message
  2. import (
  3. "encoding/json"
  4. "hongze/hongze_yb/models/tables/company_approval_message"
  5. "time"
  6. )
  7. //消息来源类型,1:客户,2:合同,3:用印,4:指标替换,5:问答社区,6:问答评论
  8. const (
  9. CompanyApprovalMessageSourceTypeByCompany = 1
  10. CompanyApprovalMessageSourceTypeByContract = 2
  11. CompanyApprovalMessageSourceTypeBySeal = 3
  12. CompanyApprovalMessageSourceTypeByEdbInfo = 4
  13. CompanyApprovalMessageSourceTypeByQuestion = 5
  14. CompanyApprovalMessageSourceTypeByQuestionComment = 6
  15. )
  16. // 1:申请消息,2:审批结果,3:消息通知
  17. const (
  18. CompanyApprovalMessageMessageTypeByApply = 1
  19. CompanyApprovalMessageMessageTypeByApprovalResult = 2
  20. CompanyApprovalMessageMessageTypeByMessage = 3
  21. )
  22. //审批状态,1:待审批,2:已审批,3:已驳回
  23. const (
  24. CompanyApprovalMessageApprovalStatusByPending = 1
  25. CompanyApprovalMessageApprovalStatusByApproved = 2
  26. CompanyApprovalMessageApprovalStatusByRejected = 3
  27. )
  28. // MessageInfo 消息主要内容
  29. type MessageInfo struct {
  30. CompanyName string `json:"company_name"`
  31. ProductId int `json:"product_id"`
  32. CompanyProductStatus string `json:"company_product_status"`
  33. Title string `json:"title"`
  34. Content string `json:"content"`
  35. UserId uint64 `json:"user_id"`
  36. UserName string `json:"user_name"`
  37. CreateTime time.Time `json:"create_time"`
  38. }
  39. // AddCompanyApprovalMessage 添加系统消息
  40. // @params createUserId int "消息创建人id"
  41. // @params receiveUserId int "消息接收人id"
  42. // @params companyApprovalId int "消息对应的id"
  43. func AddCompanyApprovalMessage(createUserId, receiveUserId, companyId, companyApprovalId int, msgType, sourceType, approvalStatus int8, companyName, remark, content string, messageInfo MessageInfo) (err error) {
  44. messageInfoStr, err := json.Marshal(messageInfo)
  45. if err != nil {
  46. return
  47. }
  48. msgItem := &company_approval_message.CompanyApprovalMessage{
  49. //ID: 0,
  50. CreateUserID: createUserId,
  51. ReceiveUserID: receiveUserId,
  52. MessageStatus: 0, //消息状态:0未读,1:已读,2:作废
  53. Remark: remark,
  54. Content: content,
  55. CompanyID: companyId,
  56. CompanyName: companyName,
  57. CreateTime: time.Now(),
  58. ModifyTime: time.Now(),
  59. CompanyApprovalID: companyApprovalId,
  60. ApprovalStatus: approvalStatus, //审批状态,1:待审批,2:已审批,3:已驳回
  61. OperationStatus: 1, //消息状态:1:待审批,2:已审批
  62. MessageType: msgType, //1:申请消息,2:审批结果,3:消息通知
  63. SourceType: sourceType, //消息来源,1:客户,2:合同,3:用印
  64. MessageInfo: string(messageInfoStr), //消息主要内容,json数据
  65. }
  66. err = msgItem.Create()
  67. return
  68. }
  69. // CancelCompanyApprovalMessage 消息作废
  70. func CancelCompanyApprovalMessage(companyApprovalId int, sourceType int8) (err error) {
  71. err = company_approval_message.Cancel(companyApprovalId, sourceType)
  72. return
  73. }