sys_dept.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package model
  2. import (
  3. model2 "cold-delivery/common/model"
  4. "errors"
  5. log "gogs.baozhida.cn/zoie/OAuth-core/logger"
  6. "gogs.baozhida.cn/zoie/OAuth-core/sdk"
  7. "gogs.baozhida.cn/zoie/OAuth-core/sdk/config"
  8. "gorm.io/gorm"
  9. )
  10. var GetCompanyKeyErr = errors.New("获取公司秘钥失败")
  11. type SysDept struct {
  12. model2.Model
  13. ParentId int `json:"parentId" gorm:""` // 上级部门
  14. Path string `json:"-" gorm:"size:255;comment:路径" swaggerignore:"true"` // 路径
  15. Name string `json:"name" gorm:"size:128;comment:部门名称"` // 部门名称
  16. AppName string `json:"appName" gorm:"size:128;comment:app名称"` // 部门名称
  17. Sort int `json:"-" gorm:"size:4;"` // 排序
  18. Status int `json:"-" gorm:"size:4;"` // 状态 1-停用 2-正常
  19. Remark string `json:"remark" gorm:"size:1024;"` // 备注
  20. ColdKey string `json:"coldKey" gorm:"size:128;"` // 冷链3.0key
  21. ColdPid int `json:"coldPid" gorm:"size:128;"` // 冷链3.0公司id
  22. IsIceReleaseCold bool `json:"isIceReleaseCold" gorm:"type:boolean;default:false"` //冰排是否释冷
  23. IsCoolerReleaseCold bool `json:"isCoolerReleaseCold" gorm:"type:boolean;default:false"` //保温箱是否释冷
  24. IsCoolerShow bool `json:"isCoolerShow" gorm:"type:boolean;default:false"` //保温箱是否展示开始使用时间
  25. IsOutStorage bool `json:"isOutStorage" gorm:"type:boolean;default:true"` //是否可以出库 true 需要验证 false 随时出库
  26. IceRaftManage bool `json:"iceRaftManage" gorm:"type:boolean;default:false"` //false 全部有 true 只有冰排管理
  27. Children []SysDept `json:"children" gorm:"-"`
  28. CompanyAddress string `json:"companyAddress"` //公司地址
  29. model2.ControlBy
  30. model2.ModelTime
  31. }
  32. func (SysDept) TableName() string {
  33. return "sys_dept"
  34. }
  35. type SysDeptOmit struct {
  36. Id int `json:"id,omitempty"`
  37. Path string `json:"path,omitempty"` // 路径
  38. Name string `json:"name,omitempty"` // 部门名称
  39. }
  40. func (SysDeptOmit) TableName() string {
  41. return "sys_dept"
  42. }
  43. func (e *SysDept) Generate() model2.ActiveRecord {
  44. o := *e
  45. return &o
  46. }
  47. func (e *SysDept) GetId() interface{} {
  48. return e.Id
  49. }
  50. func (e *SysDept) BeforeDelete(_ *gorm.DB) (err error) {
  51. if e.Id == 1 {
  52. return errors.New("禁止删除系统部门")
  53. }
  54. return
  55. }
  56. func GetCompanyById(id int) (SysDept, error) {
  57. var err error
  58. var deptModel SysDept
  59. //准备db
  60. db := sdk.Runtime.GetDbByKey(config.ApplicationConfig.Host)
  61. if db == nil {
  62. err = errors.New("db not exist")
  63. log.Errorf("host[%s]'s %s", err.Error())
  64. return deptModel, err
  65. }
  66. err = db.First(&deptModel, id).Error
  67. if err != nil {
  68. log.Errorf("db error: %s", err)
  69. err = errors.New("获取企业信息失败")
  70. return deptModel, err
  71. }
  72. return deptModel, nil
  73. }