package logic import ( "context" "errors" "fmt" "github.com/fonchain_enterprise/fonchain-main/api/approval" "github.com/fonchain_enterprise/fonchain-main/pkg/es" "github.com/fonchain_enterprise/fonchain-main/pkg/service/es_service/approval/common" "github.com/fonchain_enterprise/fonchain-main/pkg/service/es_service/approval/model" "github.com/jinzhu/copier" "go.uber.org/zap" ) func CreateIndexApprovalDoc(index string, approval *approval.CreateRequest) error { if approval.ID == 0 { return nil } fmt.Println("===================================== 开始插入 1 ======================================") doc := model.EsApproval{} copyWithOptionErr := copier.CopyWithOption(&doc, approval, copier.Option{DeepCopy: true}) if copyWithOptionErr != nil { fmt.Println("======================= CopyWithOption es err =======================") fmt.Println("err : ", copyWithOptionErr.Error()) zap.L().Error("CreateIndexApprovalDoc CopyWithOption", zap.Error(copyWithOptionErr)) fmt.Println("======================= CopyWithOption es err =======================") return errors.New(common.ErrorCopierApproval) } fmt.Println("===================================== 开始插入 2 ======================================") copyUserWithOptionErr := copier.CopyWithOption(&doc.CopyUsers, approval.CopyUsers, copier.Option{DeepCopy: true}) if copyUserWithOptionErr != nil { fmt.Println("======================= CopyWithOption es err =======================") fmt.Println("err : ", copyUserWithOptionErr.Error()) fmt.Println("======================= CopyWithOption es err =======================") } fmt.Println("===================================== 开始插入 3 ======================================") customizeInfoWithOptionErr := copier.CopyWithOption(&doc.CustomizeInfo, approval.CustomizeInfo, copier.Option{DeepCopy: true}) if customizeInfoWithOptionErr != nil { fmt.Println("======================= CopyWithOption es err =======================") fmt.Println("err : ", customizeInfoWithOptionErr.Error()) fmt.Println("======================= CopyWithOption es err =======================") } fmt.Println("===================================== create es doc 4 ======================================") fmt.Println("approval es doc : ", doc) fmt.Println("===================================== create es doc 4 ======================================") _, createErr := es.ElasticClient.Index().Index(index).Id(fmt.Sprintf("%d", approval.ID)).BodyJson(doc).Do(context.Background()) if createErr != nil { fmt.Println("======================= create es err =======================") fmt.Println("err : ", createErr.Error()) zap.L().Error("CreateIndexApprovalDoc create", zap.Error(createErr)) fmt.Println("======================= create es err =======================") return errors.New(common.ErrorCreateApproval) } fmt.Println("===================================== create es doc 5 ======================================") return nil }