node.go 1.8 KB

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