node.go 2.0 KB

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