department.go 2.1 KB

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