499 lines
17 KiB
Go
499 lines
17 KiB
Go
|
package translator
|
||
|
|
||
|
import (
|
||
|
"finclip-app-manager/domain/entity"
|
||
|
"finclip-app-manager/infrastructure/db/entity/mongo"
|
||
|
)
|
||
|
|
||
|
type MgoTranslator struct {
|
||
|
}
|
||
|
|
||
|
func NewMgoTranslator() *MgoTranslator {
|
||
|
return &MgoTranslator{}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertAppToMgo(info *entity.App) *mongo.App {
|
||
|
if info == nil {
|
||
|
return nil
|
||
|
}
|
||
|
return &mongo.App{
|
||
|
AppID: info.AppID,
|
||
|
Name: info.Name,
|
||
|
Sequence: info.Sequence,
|
||
|
AppClass: info.AppClass,
|
||
|
AppTag: info.AppTag,
|
||
|
AppType: info.AppType,
|
||
|
Status: mtr.CovertStatusToMgo(info.Status),
|
||
|
//todo 这是个啥
|
||
|
//ApplyStatus:
|
||
|
PublishedStatus: mtr.CovertSpecificStatusToMgo(info.PublishedStatus),
|
||
|
UnpublishedStatus: mtr.CovertSpecificStatusToMgo(info.UnpublishedStatus),
|
||
|
ActionStatus: mtr.CovertSpecificStatusToMgo(info.ActionStatus),
|
||
|
DeveloperID: info.DeveloperID,
|
||
|
GroupID: info.GroupID,
|
||
|
Created: info.Created,
|
||
|
CreatedBy: info.CreatedBy,
|
||
|
DetailDescription: info.CustomData.DetailDescription,
|
||
|
CoreDescription: info.CoreDescription,
|
||
|
Logo: info.Logo,
|
||
|
Expire: info.Expire,
|
||
|
IsForbidden: info.IsForbidden,
|
||
|
PrivacySettingType: info.PrivacySettingType,
|
||
|
ProjectType: info.ProjectType,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertAppToEntity(info *mongo.App) *entity.App {
|
||
|
if info == nil {
|
||
|
return nil
|
||
|
}
|
||
|
return &entity.App{
|
||
|
AppID: info.AppID,
|
||
|
Name: info.Name,
|
||
|
Version: info.Version,
|
||
|
Sequence: info.Sequence,
|
||
|
AppClass: info.AppClass,
|
||
|
AppTag: info.AppTag,
|
||
|
AppType: info.AppType,
|
||
|
Status: mtr.CovertStatusToEntity(info.Status),
|
||
|
//todo 这是个啥
|
||
|
//ApplyStatus:
|
||
|
PublishedStatus: mtr.CovertSpecificStatusToEntity(info.PublishedStatus),
|
||
|
UnpublishedStatus: mtr.CovertSpecificStatusToEntity(info.UnpublishedStatus),
|
||
|
ActionStatus: mtr.CovertSpecificStatusToEntity(info.ActionStatus),
|
||
|
DeveloperID: info.DeveloperID,
|
||
|
GroupID: info.GroupID,
|
||
|
Created: info.Created,
|
||
|
CreatedBy: info.CreatedBy,
|
||
|
CustomData: entity.CustomDataInfo{
|
||
|
DetailDescription: info.DetailDescription,
|
||
|
SourceFile: make([]entity.CustomDataSourceFile, 0),
|
||
|
},
|
||
|
CoreDescription: info.CoreDescription,
|
||
|
Logo: info.Logo,
|
||
|
Expire: info.Expire,
|
||
|
IsForbidden: info.IsForbidden,
|
||
|
PrivacySettingType: info.PrivacySettingType,
|
||
|
ProjectType: info.ProjectType,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertAppVerToMgo(info *entity.AppVersion) *mongo.AppVersion {
|
||
|
if info == nil {
|
||
|
return nil
|
||
|
}
|
||
|
return &mongo.AppVersion{
|
||
|
AppID: info.AppID,
|
||
|
Name: info.Name,
|
||
|
AppClass: info.AppClass,
|
||
|
AppTag: info.AppTag,
|
||
|
AppType: info.AppType,
|
||
|
Status: mtr.CovertStatusToMgo(info.Status),
|
||
|
PublishingStatus: mtr.CovertSpecificStatusToMgo(info.PublishingStatus),
|
||
|
//todo 这是个啥
|
||
|
//ApplyStatus:
|
||
|
PublishingApprovalStatus: mtr.CovertSpecificStatusToMgo(info.PublishingApprovalStatus),
|
||
|
UnpublishingApprovalStatus: mtr.CovertSpecificStatusToMgo(info.UnpublishingApprovalStatus),
|
||
|
PublishedStatus: mtr.CovertSpecificStatusToMgo(info.PublishedStatus),
|
||
|
UnpublishedStatus: mtr.CovertUnpublishedStatusToMgo(info.UnpublishedStatus),
|
||
|
ApprovalStatus: mtr.CovertSpecificStatusToMgo(info.ApprovalStatus),
|
||
|
ActionStatus: mtr.CovertSpecificStatusToMgo(info.ActionStatus),
|
||
|
DeveloperID: info.DeveloperID,
|
||
|
GroupID: info.GroupID,
|
||
|
Created: info.Created,
|
||
|
CreatedBy: info.CreatedBy,
|
||
|
CustomData: mtr.CovertCustomDataToMgo(info.CustomData),
|
||
|
Version: info.Version,
|
||
|
Sequence: info.Sequence,
|
||
|
CorporationID: info.CorporationID,
|
||
|
CoreDescription: info.CoreDescription,
|
||
|
Logo: info.Logo,
|
||
|
TestInfo: mtr.CovertTestInfoToMgo(info.TestInfo),
|
||
|
NeedAutoPub: info.NeedAutoPub,
|
||
|
InGrayRelease: info.InGrayRelease,
|
||
|
Expire: info.Expire,
|
||
|
AppBuildID: info.AppBuildID,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertAppVerToEntity(info *mongo.AppVersion) *entity.AppVersion {
|
||
|
if info == nil {
|
||
|
return nil
|
||
|
}
|
||
|
return &entity.AppVersion{
|
||
|
AppID: info.AppID,
|
||
|
Name: info.Name,
|
||
|
AppClass: info.AppClass,
|
||
|
AppTag: info.AppTag,
|
||
|
AppType: info.AppType,
|
||
|
Status: mtr.CovertStatusToEntity(info.Status),
|
||
|
PublishingStatus: mtr.CovertSpecificStatusToEntity(info.PublishingStatus),
|
||
|
//todo 这是个啥
|
||
|
//ApplyStatus:
|
||
|
PublishingApprovalStatus: mtr.CovertSpecificStatusToEntity(info.PublishingApprovalStatus),
|
||
|
UnpublishingApprovalStatus: mtr.CovertSpecificStatusToEntity(info.UnpublishingApprovalStatus),
|
||
|
PublishedStatus: mtr.CovertSpecificStatusToEntity(info.PublishedStatus),
|
||
|
UnpublishedStatus: mtr.CovertUnpublishedStatusToEntity(info.UnpublishedStatus),
|
||
|
ApprovalStatus: mtr.CovertSpecificStatusToEntity(info.ApprovalStatus),
|
||
|
ActionStatus: mtr.CovertSpecificStatusToEntity(info.ActionStatus),
|
||
|
DeveloperID: info.DeveloperID,
|
||
|
GroupID: info.GroupID,
|
||
|
Created: info.Created,
|
||
|
CreatedBy: info.CreatedBy,
|
||
|
CustomData: mtr.CovertCustomDataToEntity(info.CustomData),
|
||
|
Version: info.Version,
|
||
|
Sequence: info.Sequence,
|
||
|
CorporationID: info.CorporationID,
|
||
|
CoreDescription: info.CoreDescription,
|
||
|
Logo: info.Logo,
|
||
|
TestInfo: mtr.CovertTestInfoToEntity(info.TestInfo),
|
||
|
NeedAutoPub: info.NeedAutoPub,
|
||
|
InGrayRelease: info.InGrayRelease,
|
||
|
IsRollback: info.IsRollback,
|
||
|
Expire: info.Expire,
|
||
|
AppBuildID: info.AppBuildID,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertStatusToMgo(info entity.Status) mongo.Status {
|
||
|
return mongo.Status{
|
||
|
Value: info.Value,
|
||
|
Reason: info.Reason,
|
||
|
LastUpdated: info.LastUpdated,
|
||
|
ModifiedBy: info.ModifiedBy,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertStatusToEntity(info mongo.Status) entity.Status {
|
||
|
return entity.Status{
|
||
|
Value: info.Value,
|
||
|
Reason: info.Reason,
|
||
|
LastUpdated: info.LastUpdated,
|
||
|
ModifiedBy: info.ModifiedBy,
|
||
|
}
|
||
|
}
|
||
|
func (mtr *MgoTranslator) CovertSpecificStatusToMgo(info entity.SpecificStatus) mongo.SpecificStatus {
|
||
|
return mongo.SpecificStatus{
|
||
|
Reason: info.Reason,
|
||
|
LastUpdated: info.LastUpdated,
|
||
|
ModifiedBy: info.ModifiedBy,
|
||
|
}
|
||
|
}
|
||
|
func (mtr *MgoTranslator) CovertSpecificStatusToEntity(info mongo.SpecificStatus) entity.SpecificStatus {
|
||
|
return entity.SpecificStatus{
|
||
|
Reason: info.Reason,
|
||
|
LastUpdated: info.LastUpdated,
|
||
|
ModifiedBy: info.ModifiedBy,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertUnpublishedStatusToMgo(info entity.UnpublishedStatus) mongo.UnpublishedStatus {
|
||
|
return mongo.UnpublishedStatus{
|
||
|
Reason: info.Reason,
|
||
|
LastUpdated: info.LastUpdated,
|
||
|
ModifiedBy: info.ModifiedBy,
|
||
|
Type: info.Type,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertUnpublishedStatusToEntity(info mongo.UnpublishedStatus) entity.UnpublishedStatus {
|
||
|
return entity.UnpublishedStatus{
|
||
|
Reason: info.Reason,
|
||
|
LastUpdated: info.LastUpdated,
|
||
|
ModifiedBy: info.ModifiedBy,
|
||
|
Type: info.Type,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertTestInfoToMgo(info entity.TestInfo) mongo.TestInfo {
|
||
|
return mongo.TestInfo{
|
||
|
Account: info.Account,
|
||
|
Password: info.Password,
|
||
|
Description: info.Description,
|
||
|
Images: info.Images,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertTestInfoToEntity(info mongo.TestInfo) entity.TestInfo {
|
||
|
return entity.TestInfo{
|
||
|
Account: info.Account,
|
||
|
Password: info.Password,
|
||
|
Description: info.Description,
|
||
|
Images: info.Images,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertCustomDataToMgo(info entity.CustomDataInfo) mongo.CustomDataInfo {
|
||
|
result := mongo.CustomDataInfo{
|
||
|
DetailDescription: info.DetailDescription,
|
||
|
SourceFile: make([]mongo.CustomDataSourceFile, 0),
|
||
|
VersionDescription: info.VersionDescription,
|
||
|
Developer: info.Developer,
|
||
|
}
|
||
|
for _, v := range info.SourceFile {
|
||
|
customInfo := mongo.CustomDataSourceFile{
|
||
|
FileMd5: v.FileMd5,
|
||
|
Name: v.Name,
|
||
|
SourceFileUrl: v.SourceFileUrl,
|
||
|
UploadDate: v.UploadDate,
|
||
|
Url: v.Url,
|
||
|
EncryptedUrl: v.EncryptedUrl,
|
||
|
EncryptedFileMd5: v.EncryptedFileMd5,
|
||
|
EncryptedFileSha256: v.EncryptedFileSha256,
|
||
|
BasicPackVer: v.BasicPackVer,
|
||
|
Packages: make([]mongo.Package, 0),
|
||
|
EncryptPackages: make([]mongo.Package, 0),
|
||
|
}
|
||
|
for _, p := range v.Packages {
|
||
|
customInfo.Packages = append(customInfo.Packages, mongo.Package{
|
||
|
Root: p.Root,
|
||
|
Name: p.Name,
|
||
|
Pages: p.Pages,
|
||
|
Independent: p.Independent,
|
||
|
Filename: p.Filename,
|
||
|
FileUrl: p.FileUrl,
|
||
|
FileMd5: p.FileMd5,
|
||
|
})
|
||
|
}
|
||
|
for _, p := range v.EncryptPackages {
|
||
|
customInfo.EncryptPackages = append(customInfo.EncryptPackages, mongo.Package{
|
||
|
Root: p.Root,
|
||
|
Name: p.Name,
|
||
|
Pages: p.Pages,
|
||
|
Independent: p.Independent,
|
||
|
Filename: p.Filename,
|
||
|
FileUrl: p.FileUrl,
|
||
|
FileMd5: p.FileMd5,
|
||
|
})
|
||
|
}
|
||
|
result.SourceFile = append(result.SourceFile, customInfo)
|
||
|
}
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertCustomDataToEntity(info mongo.CustomDataInfo) entity.CustomDataInfo {
|
||
|
result := entity.CustomDataInfo{
|
||
|
DetailDescription: info.DetailDescription,
|
||
|
SourceFile: make([]entity.CustomDataSourceFile, 0),
|
||
|
VersionDescription: info.VersionDescription,
|
||
|
Developer: info.Developer,
|
||
|
}
|
||
|
for _, v := range info.SourceFile {
|
||
|
customInfo := entity.CustomDataSourceFile{
|
||
|
FileMd5: v.FileMd5,
|
||
|
Name: v.Name,
|
||
|
SourceFileUrl: v.SourceFileUrl,
|
||
|
UploadDate: v.UploadDate,
|
||
|
Url: v.Url,
|
||
|
EncryptedUrl: v.EncryptedUrl,
|
||
|
EncryptedFileMd5: v.EncryptedFileMd5,
|
||
|
EncryptedFileSha256: v.EncryptedFileSha256,
|
||
|
BasicPackVer: v.BasicPackVer,
|
||
|
Packages: make([]entity.Package, 0),
|
||
|
EncryptPackages: make([]entity.Package, 0),
|
||
|
}
|
||
|
for _, p := range v.Packages {
|
||
|
customInfo.Packages = append(customInfo.Packages, entity.Package{
|
||
|
Root: p.Root,
|
||
|
Name: p.Name,
|
||
|
Pages: p.Pages,
|
||
|
Independent: p.Independent,
|
||
|
Filename: p.Filename,
|
||
|
FileUrl: p.FileUrl,
|
||
|
FileMd5: p.FileMd5,
|
||
|
})
|
||
|
}
|
||
|
for _, p := range v.EncryptPackages {
|
||
|
customInfo.EncryptPackages = append(customInfo.EncryptPackages, entity.Package{
|
||
|
Root: p.Root,
|
||
|
Name: p.Name,
|
||
|
Pages: p.Pages,
|
||
|
Independent: p.Independent,
|
||
|
Filename: p.Filename,
|
||
|
FileUrl: p.FileUrl,
|
||
|
FileMd5: p.FileMd5,
|
||
|
})
|
||
|
}
|
||
|
result.SourceFile = append(result.SourceFile, customInfo)
|
||
|
}
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertAppBuildInfoToMgo(info *entity.AppBuildInfo) *mongo.AppBuildInfo {
|
||
|
result := &mongo.AppBuildInfo{
|
||
|
Id: info.Id,
|
||
|
BuildInfoId: info.BuildInfoId,
|
||
|
Source: info.Source,
|
||
|
AppID: info.AppID,
|
||
|
GroupID: info.GroupID,
|
||
|
Created: info.Created,
|
||
|
UserId: info.UserId,
|
||
|
CreatedBy: info.CreatedBy,
|
||
|
CustomData: mongo.CustomDataInfo{
|
||
|
Developer: info.CustomData.Developer,
|
||
|
SourceFile: make([]mongo.CustomDataSourceFile, 0),
|
||
|
VersionDescription: info.CustomData.VersionDescription,
|
||
|
DetailDescription: info.CustomData.DetailDescription,
|
||
|
},
|
||
|
Version: info.Version,
|
||
|
StartParams: mongo.AppStartParams{
|
||
|
PathAndQuery: info.StartParams.PathAndQuery,
|
||
|
},
|
||
|
Status: info.Status,
|
||
|
}
|
||
|
for _, v := range info.CustomData.SourceFile {
|
||
|
item := mongo.CustomDataSourceFile{
|
||
|
FileMd5: v.FileMd5,
|
||
|
Name: v.Name,
|
||
|
SourceFileUrl: v.SourceFileUrl,
|
||
|
UploadDate: info.Created,
|
||
|
Url: v.Url,
|
||
|
EncryptedUrl: v.EncryptedUrl,
|
||
|
EncryptedFileMd5: v.EncryptedFileMd5,
|
||
|
EncryptedFileSha256: v.EncryptedFileSha256,
|
||
|
BasicPackVer: v.BasicPackVer,
|
||
|
Packages: make([]mongo.Package, 0),
|
||
|
EncryptPackages: make([]mongo.Package, 0),
|
||
|
}
|
||
|
for _, p := range v.Packages {
|
||
|
item.Packages = append(item.Packages, mongo.Package{
|
||
|
Root: p.Root,
|
||
|
Name: p.Name,
|
||
|
Pages: p.Pages,
|
||
|
Independent: p.Independent,
|
||
|
Filename: p.Filename,
|
||
|
FileUrl: p.FileUrl,
|
||
|
FileMd5: p.FileMd5,
|
||
|
})
|
||
|
}
|
||
|
for _, p := range v.EncryptPackages {
|
||
|
item.EncryptPackages = append(item.EncryptPackages, mongo.Package{
|
||
|
Root: p.Root,
|
||
|
Name: p.Name,
|
||
|
Pages: p.Pages,
|
||
|
Independent: p.Independent,
|
||
|
Filename: p.Filename,
|
||
|
FileUrl: p.FileUrl,
|
||
|
FileMd5: p.FileMd5,
|
||
|
})
|
||
|
}
|
||
|
result.CustomData.SourceFile = append(result.CustomData.SourceFile, item)
|
||
|
}
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertAppBuildInfoToEntity(info *mongo.AppBuildInfo) *entity.AppBuildInfo {
|
||
|
result := &entity.AppBuildInfo{
|
||
|
Id: info.Id,
|
||
|
BuildInfoId: info.BuildInfoId,
|
||
|
Source: info.Source,
|
||
|
AppID: info.AppID,
|
||
|
GroupID: info.GroupID,
|
||
|
Created: info.Created,
|
||
|
UserId: info.UserId,
|
||
|
CreatedBy: info.CreatedBy,
|
||
|
CustomData: entity.CustomDataInfo{
|
||
|
Developer: info.CustomData.Developer,
|
||
|
SourceFile: make([]entity.CustomDataSourceFile, 0),
|
||
|
VersionDescription: info.CustomData.VersionDescription,
|
||
|
DetailDescription: info.CustomData.DetailDescription,
|
||
|
},
|
||
|
Version: info.Version,
|
||
|
StartParams: entity.AppStartParams{
|
||
|
PathAndQuery: info.StartParams.PathAndQuery,
|
||
|
},
|
||
|
Status: info.Status,
|
||
|
}
|
||
|
for _, v := range info.CustomData.SourceFile {
|
||
|
item := entity.CustomDataSourceFile{
|
||
|
FileMd5: v.FileMd5,
|
||
|
Name: v.Name,
|
||
|
SourceFileUrl: v.SourceFileUrl,
|
||
|
UploadDate: v.UploadDate,
|
||
|
Url: v.Url,
|
||
|
EncryptedUrl: v.EncryptedUrl,
|
||
|
EncryptedFileMd5: v.EncryptedFileMd5,
|
||
|
EncryptedFileSha256: v.EncryptedFileSha256,
|
||
|
BasicPackVer: v.BasicPackVer,
|
||
|
Packages: make([]entity.Package, 0),
|
||
|
EncryptPackages: make([]entity.Package, 0),
|
||
|
}
|
||
|
for _, p := range v.Packages {
|
||
|
item.Packages = append(item.Packages, entity.Package{
|
||
|
Root: p.Root,
|
||
|
Name: p.Name,
|
||
|
Pages: p.Pages,
|
||
|
Independent: p.Independent,
|
||
|
Filename: p.Filename,
|
||
|
FileUrl: p.FileUrl,
|
||
|
FileMd5: p.FileMd5,
|
||
|
})
|
||
|
}
|
||
|
for _, p := range v.EncryptPackages {
|
||
|
item.EncryptPackages = append(item.EncryptPackages, entity.Package{
|
||
|
Root: p.Root,
|
||
|
Name: p.Name,
|
||
|
Pages: p.Pages,
|
||
|
Independent: p.Independent,
|
||
|
Filename: p.Filename,
|
||
|
FileUrl: p.FileUrl,
|
||
|
FileMd5: p.FileMd5,
|
||
|
})
|
||
|
}
|
||
|
result.CustomData.SourceFile = append(result.CustomData.SourceFile, item)
|
||
|
}
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertPrivacySettingInfoToEntity(info *mongo.PrivacySettingInfoMongo) *entity.PrivacySettingInfo {
|
||
|
if info == nil {
|
||
|
return nil
|
||
|
}
|
||
|
result := entity.PrivacySettingInfo{
|
||
|
AppId: info.AppId,
|
||
|
CommitType: info.CommitType,
|
||
|
UserMessageType: info.UserMessageType,
|
||
|
SdkMessage: info.SdkMessage,
|
||
|
ContactInfoPhone: info.ContactInfoPhone,
|
||
|
ContactInfoEmail: info.ContactInfoEmail,
|
||
|
ContactInfoWeChat: info.ContactInfoWeChat,
|
||
|
ContactInfoOther: info.ContactInfoOther,
|
||
|
FixedStorageTime: info.FixedStorageTime,
|
||
|
IsShortestTime: info.IsShortestTime,
|
||
|
AdditionalDocName: info.AdditionalDocName,
|
||
|
AdditionalDocNetDiskId: info.AdditionalDocNetDiskId,
|
||
|
AdditionalDocContent: info.AdditionalDocContent,
|
||
|
IsFirstSave: info.IsFirstSave,
|
||
|
EffectiveTime: info.EffectiveTime,
|
||
|
CreateTime: info.CreateTime,
|
||
|
UpdateTime: info.UpdateTime,
|
||
|
}
|
||
|
return &result
|
||
|
}
|
||
|
|
||
|
func (mtr *MgoTranslator) CovertPrivacySettingInfoToMongo(info *entity.PrivacySettingInfo) *mongo.PrivacySettingInfoMongo {
|
||
|
if info == nil {
|
||
|
return nil
|
||
|
}
|
||
|
result := mongo.PrivacySettingInfoMongo{
|
||
|
AppId: info.AppId,
|
||
|
CommitType: info.CommitType,
|
||
|
UserMessageType: info.UserMessageType,
|
||
|
SdkMessage: info.SdkMessage,
|
||
|
ContactInfoPhone: info.ContactInfoPhone,
|
||
|
ContactInfoEmail: info.ContactInfoEmail,
|
||
|
ContactInfoWeChat: info.ContactInfoWeChat,
|
||
|
ContactInfoOther: info.ContactInfoOther,
|
||
|
FixedStorageTime: info.FixedStorageTime,
|
||
|
IsShortestTime: info.IsShortestTime,
|
||
|
AdditionalDocName: info.AdditionalDocName,
|
||
|
AdditionalDocNetDiskId: info.AdditionalDocNetDiskId,
|
||
|
AdditionalDocContent: info.AdditionalDocContent,
|
||
|
IsFirstSave: info.IsFirstSave,
|
||
|
EffectiveTime: info.EffectiveTime,
|
||
|
CreateTime: info.CreateTime,
|
||
|
UpdateTime: info.UpdateTime,
|
||
|
}
|
||
|
return &result
|
||
|
}
|