diff --git a/pkg/model/approval_oa.go b/pkg/model/approval_oa.go index 367b565..0254e09 100644 --- a/pkg/model/approval_oa.go +++ b/pkg/model/approval_oa.go @@ -1,6 +1,8 @@ package model import ( + "database/sql/driver" + "encoding/json" "errors" "fmt" "github.com/fonchain_enterprise/fonchain-approval/api/approval" @@ -43,6 +45,17 @@ type LeaveApply struct { CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"` } +func (la *LeaveApply) Scan(src interface{}) error { + return json.Unmarshal(src.([]byte), la) +} + +func (la *LeaveApply) Value() (driver.Value, error) { + + v, err := json.Marshal(la) + + return string(v), err +} + // OutWorkApply // 外勤申请 type OutWorkApply struct { @@ -64,6 +77,17 @@ type OutWorkApply struct { CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"` } +func (owa *OutWorkApply) Scan(src interface{}) error { + return json.Unmarshal(src.([]byte), owa) +} + +func (owa *OutWorkApply) Value() (driver.Value, error) { + + v, err := json.Marshal(owa) + + return string(v), err +} + // MakeUpApply // 补卡申请 type MakeUpApply struct { @@ -82,6 +106,17 @@ type MakeUpApply struct { CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"` } +func (mua *MakeUpApply) Scan(src interface{}) error { + return json.Unmarshal(src.([]byte), mua) +} + +func (mua *MakeUpApply) Value() (driver.Value, error) { + + v, err := json.Marshal(mua) + + return string(v), err +} + // TurnoverApply // 离职申请 type TurnoverApply struct { @@ -102,6 +137,17 @@ type TurnoverApply struct { CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"` } +func (ta *TurnoverApply) Scan(src interface{}) error { + return json.Unmarshal(src.([]byte), ta) +} + +func (ta *TurnoverApply) Value() (driver.Value, error) { + + v, err := json.Marshal(ta) + + return string(v), err +} + // OverTimeApply // 加班申请 type OverTimeApply struct { @@ -121,6 +167,17 @@ type OverTimeApply struct { CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"` } +func (ota *OverTimeApply) Scan(src interface{}) error { + return json.Unmarshal(src.([]byte), ota) +} + +func (ota *OverTimeApply) Value() (driver.Value, error) { + + v, err := json.Marshal(ota) + + return string(v), err +} + // Leave // 请假 type Leave struct { @@ -141,6 +198,17 @@ type Leave struct { CopyUsers CopyUsers `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"` } +func (l *Leave) Scan(src interface{}) error { + return json.Unmarshal(src.([]byte), l) +} + +func (l *Leave) Value() (driver.Value, error) { + + v, err := json.Marshal(l) + + return string(v), err +} + type VerifyFiles []string type ApplyTime struct { @@ -211,7 +279,7 @@ func (oa *ApprovalOA) SaveApprovalContent(in *approval.CreateRequest, a *Approva if err != nil { return err } - + // TODO 序列化 leave_apply 等 fmt.Println("存入 数据库 approval_oa 信息 ") return DB.Create(&approvalOA).Error