修改 copier复制

main
jhc 1 year ago
parent 4b03c73db0
commit d8271cbbda

@ -70,6 +70,21 @@ func (m *FinancialFrom) SaveApprovalContent(in *approval.CreateRequest, a *Appro
copier.CopyWithOption(&m, in.FinancialFrom, copier.Option{DeepCopy: true}) copier.CopyWithOption(&m, in.FinancialFrom, copier.Option{DeepCopy: true})
m.ApprovalID = a.ID m.ApprovalID = a.ID
costInfos := make([]*CostInfo, 0)
for i := 0; i < len(in.FinancialFrom.CostInfo); i++ {
costInfo := new(CostInfo)
copier.CopyWithOption(&costInfo, in.FinancialFrom.CostInfo[i], copier.Option{DeepCopy: true})
costInfos = append(costInfos, costInfo)
}
m.CostInfo = costInfos
invoiceInfos := make([]*InvoiceInfo, 0)
for i := 0; i < len(in.FinancialFrom.InvoiceInfo); i++ {
invoiceInfo := new(InvoiceInfo)
copier.CopyWithOption(&invoiceInfo, in.FinancialFrom.InvoiceInfo[i], copier.Option{DeepCopy: true})
invoiceInfos = append(invoiceInfos, invoiceInfo)
}
m.InvoiceInfo = invoiceInfos
return DB.Create(&m).Error return DB.Create(&m).Error
} }
@ -85,6 +100,22 @@ func (m *FinancialFrom) UpdateApprovalContent(in *approval.CreateRequest, a *App
copier.CopyWithOption(&m, in.FinancialFrom, copier.Option{DeepCopy: true}) copier.CopyWithOption(&m, in.FinancialFrom, copier.Option{DeepCopy: true})
m.ID = entity.ID m.ID = entity.ID
costInfos := make([]*CostInfo, 0)
for i := 0; i < len(in.FinancialFrom.CostInfo); i++ {
costInfo := new(CostInfo)
copier.CopyWithOption(&costInfo, in.FinancialFrom.CostInfo[i], copier.Option{DeepCopy: true})
costInfos = append(costInfos, costInfo)
}
m.CostInfo = costInfos
invoiceInfos := make([]*InvoiceInfo, 0)
for i := 0; i < len(in.FinancialFrom.InvoiceInfo); i++ {
invoiceInfo := new(InvoiceInfo)
copier.CopyWithOption(&invoiceInfo, in.FinancialFrom.InvoiceInfo[i], copier.Option{DeepCopy: true})
invoiceInfos = append(invoiceInfos, invoiceInfo)
}
m.InvoiceInfo = invoiceInfos
return DB.Model(&m).Updates(m).Error return DB.Model(&m).Updates(m).Error
} }
@ -92,6 +123,24 @@ func (m *FinancialFrom) BuildResContent(a *Approval, request *approval.CreateReq
if a.FinancialFrom != nil { if a.FinancialFrom != nil {
copier.CopyWithOption(&request.FinancialFrom, a.FinancialFrom, copier.Option{DeepCopy: true}) copier.CopyWithOption(&request.FinancialFrom, a.FinancialFrom, copier.Option{DeepCopy: true})
costInfos := make([]*approval.CostInfo, 0)
for i := 0; i < len(a.FinancialFrom.CostInfo); i++ {
costInfo := new(approval.CostInfo)
copier.CopyWithOption(&costInfo, a.FinancialFrom.CostInfo[i], copier.Option{DeepCopy: true})
costInfos = append(costInfos, costInfo)
}
request.FinancialFrom.CostInfo = costInfos
invoiceInfos := make([]*approval.InvoiceInfo, 0)
for i := 0; i < len(a.FinancialFrom.InvoiceInfo); i++ {
invoiceInfo := new(approval.InvoiceInfo)
copier.CopyWithOption(&invoiceInfo, a.FinancialFrom.InvoiceInfo[i], copier.Option{DeepCopy: true})
invoiceInfos = append(invoiceInfos, invoiceInfo)
}
request.FinancialFrom.InvoiceInfo = invoiceInfos
} }
} }

Loading…
Cancel
Save