company_approval_message.go 3.3 KB

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