node.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package dao
  2. import (
  3. "server/global"
  4. )
  5. type Node struct {
  6. global.GVA_MODEL
  7. NodeName string `json:"nodeName" form:"nodeName" gorm:"comment:审批节点名称"`
  8. ApproverId int `json:"approverId" form:"approverId" gorm:"comment:审批人id"`
  9. Approver SysUser `json:"approver" form:"approver" gorm:"foreignKey:ApproverId;references:id;"`
  10. NodeDescription string `json:"nodeDescription" form:"nodeDescription" gorm:"comment:节点描述"`
  11. Processes []*Process `json:"processes" form:"processes" gorm:"many2many:process_nodes;"`
  12. }
  13. func (Node) TableName() string {
  14. return "node"
  15. }
  16. func QueryAllNode() (nodes []Node, err error) {
  17. err = global.GVA_DB.Model(&Node{}).Preload("Approver").Find(&nodes).Error
  18. return nodes, err
  19. }
  20. func QueryNodeList(limit, offset int) (nodes []Node, total int64, err error) {
  21. // 创建db
  22. db := global.GVA_DB.Model(&Node{})
  23. // 如果有条件搜索 下方会自动创建搜索语句
  24. err = db.Count(&total).Error
  25. if err != nil {
  26. return
  27. }
  28. err = db.Order("id desc").Limit(limit).Offset(offset).Preload("Approver").Find(&nodes).Error
  29. return nodes, total, err
  30. }
  31. func QueryNodeById(id int) (node Node, err error) {
  32. err = global.GVA_DB.Model(&Node{}).Where("id = ?", id).Preload("Approver").First(&node).Error
  33. return node, err
  34. }
  35. func QueryNodeByApproverId(approverId int) (nodes []Node, err error) {
  36. err = global.GVA_DB.Model(&Node{}).Where("approver_id = ?", approverId).Preload("Approver").Find(&nodes).Error
  37. return nodes, err
  38. }
  39. func QueryNodeAndProcess(id int) (processId []int, err error) {
  40. err = global.GVA_DB.Table("process_nodes").Where("node_id = ?", id).Find(&processId).Error
  41. return processId, err
  42. }
  43. func (n Node) CreateNode() error {
  44. return global.GVA_DB.Create(&n).Error
  45. }
  46. func (n Node) UpdateNode() error {
  47. return global.GVA_DB.Where("id = ?", n.ID).Updates(&n).Error
  48. }
  49. func (n Node) DeleteNode() error {
  50. return global.GVA_DB.Unscoped().Delete(&n).Error
  51. }