101 lines
2.7 KiB
Go
101 lines
2.7 KiB
Go
|
package model
|
||
|
|
||
|
import (
|
||
|
"database/sql/driver"
|
||
|
"encoding/json"
|
||
|
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||
|
"gorm.io/plugin/soft_delete"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
type CopyUser struct {
|
||
|
ID uint64
|
||
|
Name string
|
||
|
}
|
||
|
|
||
|
type CopyUsers []CopyUser
|
||
|
|
||
|
// DepartmentApprovalSetting 部门抄送人设置
|
||
|
type DepartmentApprovalSetting struct {
|
||
|
ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID
|
||
|
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除标记
|
||
|
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
||
|
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
||
|
DepartmentID uint64 `gorm:"column:department_id" json:"departmentId"` // 绑定的部门ID
|
||
|
CopyUsers CopyUsers `gorm:"column:copy_users" json:"copyUsers"` // 抄送人
|
||
|
ApproverID uint64 `gorm:"column:approver_id" json:"approverId"` // 审批人ID
|
||
|
ApproverName string `gorm:"column:approver_name" json:"approverName"` // 审批人名称
|
||
|
Domain string `gorm:"column:domain" json:"domain"` // 环境env
|
||
|
}
|
||
|
|
||
|
// TableName get sql table name.获取数据库表名
|
||
|
func (m *DepartmentApprovalSetting) TableName() string {
|
||
|
return "department_approval_setting"
|
||
|
}
|
||
|
|
||
|
type JSON json.RawMessage
|
||
|
|
||
|
func (j *CopyUsers) Scan(src interface{}) error {
|
||
|
return json.Unmarshal(src.([]byte), j)
|
||
|
}
|
||
|
|
||
|
func (j CopyUsers) Value() (driver.Value, error) {
|
||
|
|
||
|
v, err := json.Marshal(j)
|
||
|
|
||
|
return string(v), err
|
||
|
}
|
||
|
|
||
|
func FormatCopyUsers(copyUsers []*approval.CopyUser) CopyUsers {
|
||
|
var res CopyUsers
|
||
|
|
||
|
// copyer
|
||
|
for _, copyUser := range copyUsers {
|
||
|
temp := CopyUser{
|
||
|
ID: copyUser.ID,
|
||
|
Name: copyUser.Name,
|
||
|
}
|
||
|
res = append(res, temp)
|
||
|
}
|
||
|
|
||
|
return res
|
||
|
}
|
||
|
|
||
|
func FormatToResponse(copyUsers CopyUsers) []*approval.CopyUser {
|
||
|
var res []*approval.CopyUser
|
||
|
|
||
|
for _, copyUser := range copyUsers {
|
||
|
temp := &approval.CopyUser{
|
||
|
ID: copyUser.ID,
|
||
|
Name: copyUser.Name,
|
||
|
}
|
||
|
|
||
|
res = append(res, temp)
|
||
|
}
|
||
|
|
||
|
return res
|
||
|
}
|
||
|
|
||
|
// DepartmentApprovalSettingColumns get sql column name.获取数据库列名
|
||
|
var DepartmentApprovalSettingColumns = struct {
|
||
|
ID string
|
||
|
DeletedAt string
|
||
|
CreatedAt string
|
||
|
UpdatedAt string
|
||
|
DepartmentID string
|
||
|
CopyUsers string
|
||
|
ApproverID string
|
||
|
ApproverName string
|
||
|
Domain string
|
||
|
}{
|
||
|
ID: "id",
|
||
|
DeletedAt: "deleted_at",
|
||
|
CreatedAt: "created_at",
|
||
|
UpdatedAt: "updated_at",
|
||
|
DepartmentID: "department_id",
|
||
|
CopyUsers: "copy_users",
|
||
|
ApproverID: "approver_id",
|
||
|
ApproverName: "approver_name",
|
||
|
Domain: "domain",
|
||
|
}
|