department.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package dao
  2. import (
  3. "server/dao/system"
  4. "server/global"
  5. )
  6. type Department struct {
  7. Id int `gorm:"primarykey" from:"id" json:"ID"`
  8. Name string `json:"name" from:"name" gorm:"comment:部门名称"`
  9. Desc string `json:"desc" from:"desc" gorm:"comment:部门描述"`
  10. PrincipalId int `json:"principalId" from:"principal_id" gorm:"comment:负责人id"`
  11. Principal system.SysUser `json:"principal" from:"principal" gorm:"foreignKey:PrincipalId;references:id;"`
  12. Users []system.SysUser `json:"users" gorm:"-"`
  13. IsStart bool `json:"isStart" from:"is_start" gorm:"comment:是否启用"`
  14. }
  15. func (Department) TableName() string {
  16. return "department"
  17. }
  18. // TODO:部门查询
  19. // QueryAllDep 查询所有部门
  20. func QueryAllDep() (deps []Department, err error) {
  21. err = global.GVA_DB.Model(&Department{}).Preload("Principal").Find(&deps).Error
  22. return deps, err
  23. }
  24. // QueryDepByStart 查询启用部门
  25. func QueryDepByStart() (deps []Department, err error) {
  26. err = global.GVA_DB.Model(&Department{}).Where("is_start = ?", true).Find(&deps).Error
  27. return deps, err
  28. }
  29. // QueryUsersByDepId 查询部门下的用户
  30. func QueryUsersByDepId(depId int) (users []system.SysUser, err error) {
  31. err = global.GVA_DB.Model(&system.SysUser{}).Where("department_id =?", depId).Find(&users).Error
  32. return users, err
  33. }
  34. func QueryDepById(id int) (dep Department, err error) {
  35. err = global.GVA_DB.Model(&Department{}).Where("id = ?", id).Preload("Principal").First(&dep).Error
  36. return dep, err
  37. }
  38. // TODO:部门新增
  39. // CreateDep 创建部门
  40. func (d Department) CreateDep() error {
  41. return global.GVA_DB.Create(&d).Error
  42. }
  43. // TODO:部门修改
  44. // UpdateDep 修改部门
  45. func (d Department) UpdateDep() error {
  46. return global.GVA_DB.Model(&d).Where("id = ?", d.Id).Updates(&d).Error
  47. }
  48. // UpdateDepStatus 修改部门状态
  49. func UpdateDepStatus(depId int, isStart bool) error {
  50. return global.GVA_DB.Model(&Department{}).Where("id = ?", depId).Update("is_start", isStart).Error
  51. }
  52. // TODO:部门删除
  53. // DeleteDep 删除部门
  54. func DeleteDep(depId int) error {
  55. return global.GVA_DB.Where("id = ?", depId).Delete(&Department{}).Error
  56. }