node.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. Order int `json:"order" form:"order" gorm:"-"`
  13. }
  14. func (Node) TableName() string {
  15. return "node"
  16. }
  17. func QueryAllNode() (nodes []Node, err error) {
  18. err = global.GVA_DB.Model(&Node{}).Preload("Approver").Find(&nodes).Error
  19. return nodes, err
  20. }
  21. func QueryNodeList(limit, offset int) (nodes []Node, total int64, err error) {
  22. // 创建db
  23. db := global.GVA_DB.Model(&Node{})
  24. // 如果有条件搜索 下方会自动创建搜索语句
  25. err = db.Count(&total).Error
  26. if err != nil {
  27. return
  28. }
  29. err = db.Order("id desc").Limit(limit).Offset(offset).Preload("Approver").Find(&nodes).Error
  30. return nodes, total, err
  31. }
  32. func QueryNodeById(id int) (node Node, err error) {
  33. err = global.GVA_DB.Model(&Node{}).Where("id = ?", id).Preload("Approver").First(&node).Error
  34. return node, err
  35. }
  36. func QueryNodeByApproverId(approverId int) (nodes []Node, err error) {
  37. err = global.GVA_DB.Model(&Node{}).Where("approver_id = ?", approverId).Preload("Approver").Find(&nodes).Error
  38. return nodes, err
  39. }
  40. func QueryNodeAndProcess(id int) (processId []int, err error) {
  41. err = global.GVA_DB.Table("process_nodes").Where("node_id = ?", id).Find(&processId).Error
  42. return processId, err
  43. }
  44. func (n Node) CreateNode() error {
  45. return global.GVA_DB.Create(&n).Error
  46. }
  47. func (n Node) UpdateNode() error {
  48. return global.GVA_DB.Where("id = ?", n.ID).Updates(&n).Error
  49. }
  50. func (n Node) DeleteNode() error {
  51. return global.GVA_DB.Unscoped().Delete(&n).Error
  52. }