package sync import ( "cid/model/dto/copydata" ) type DataConverter struct{} func NewDataConverter() *DataConverter { return &DataConverter{} } func (c *DataConverter) ConvertToSumItem(apiData *CampaignReportSum, dataType string) *copydata.CidAccountReportSumItem { if apiData == nil { return nil } return ©data.CidAccountReportSumItem{ DataType: dataType, T0OrderPaymentAmt: apiData.T0OrderPaymentAmt, CreativeMaterialType: apiData.CreativeMaterialType, LiveName: apiData.LiveName, AuthorId: apiData.AuthorId, PicUrl: apiData.PicUrl, PicName: apiData.PicName, PicId: apiData.PicId, CoverUrl: apiData.CoverUrl, CoverId: apiData.CoverId, ItemOrderConversionRatio: apiData.ItemOrderConversionRatio, ItemCardClickRatio: apiData.ItemCardClickRatio, ItemCardClkCnt: apiData.ItemCardClkCnt, LivePlayCntCost: apiData.LivePlayCntCost, AdMerchantFollowCost: apiData.AdMerchantFollowCost, AdMerchantFollow: apiData.AdMerchantFollow, NetT0OrderCnt: apiData.NetT0OrderCnt, NetT0Roi: apiData.NetT0Roi, NetT0Gmv: apiData.NetT0Gmv, PhotoName: apiData.PhotoName, PhotoIdStr: apiData.PhotoIdStr, PhotoId: apiData.PhotoId, ModPriceSegment: apiData.ModPriceSegment, AgeSegment: apiData.AgeSegment, Province: apiData.Province, Gender: apiData.Gender, AdPhotoPlayedFiveRatio: apiData.AdPhotoPlayedFiveRatio, AdPhotoPlayedThreeRatio: apiData.AdPhotoPlayedThreeRatio, OrderSubmitRoi: apiData.OrderSubmitRoi, OrderSubmitAmt: apiData.OrderSubmitAmt, EventOrderSubmitCost: apiData.EventOrderSubmitCost, EventOrderSubmit: apiData.EventOrderSubmit, EventOrderPaidRoi: apiData.EventOrderPaidRoi, EventAppInvoked: apiData.EventAppInvoked, EventAddShoppingCart: apiData.EventAddShoppingCart, ConversionNumCost: apiData.ConversionNumCost, AdEffectivePlayNum: apiData.AdEffectivePlayNum, AdItemClick: apiData.AdItemClick, MerchantProductId: apiData.MerchantProductId, CostTotal: apiData.CostTotal, AdShow: apiData.AdShow, AdShow1kCost: apiData.AdShow1kCost, Impression: apiData.Impression, PhotoClick: apiData.PhotoClick, PhotoClickRatio: apiData.PhotoClickRatio, Click: apiData.Click, ActionbarClick: apiData.ActionbarClick, ActionbarClickCost: apiData.ActionbarClickCost, EspClickRatio: apiData.EspClickRatio, ActionRatio: apiData.ActionRatio, AdItemClickCount: apiData.AdItemClickCount, EspLivePlayedSeconds: apiData.EspLivePlayedSeconds, PlayedThreeSeconds: apiData.PlayedThreeSeconds, Play3sRatio: apiData.Play3sRatio, PlayedFiveSeconds: apiData.PlayedFiveSeconds, Play5sRatio: apiData.Play5sRatio, PlayedEnd: apiData.PlayedEnd, PlayEndRatio: apiData.PlayEndRatio, Share: apiData.Share, Comment: apiData.Comment, Likes: apiData.Likes, Report: apiData.Report, Block: apiData.Block, ItemNegative: apiData.ItemNegative, LiveShare: apiData.LiveShare, LiveComment: apiData.LiveComment, LiveReward: apiData.LiveReward, EffectivePlayCount: apiData.EffectivePlayCount, EffectivePlayRatio: apiData.EffectivePlayRatio, ConversionNum: apiData.ConversionNum, ConversionCostEsp: apiData.ConversionCostEsp, Roi: apiData.Roi, Gmv: apiData.Gmv, T0Gmv: apiData.T0Gmv, T1Gmv: apiData.T1Gmv, T3Gmv: apiData.T3Gmv, T7Gmv: apiData.T7Gmv, T15Gmv: apiData.T15Gmv, T30Gmv: apiData.T30Gmv, T0Roi: apiData.T0Roi, T1Roi: apiData.T1Roi, T3Roi: apiData.T3Roi, T7Roi: apiData.T7Roi, T15Roi: apiData.T15Roi, T30Roi: apiData.T30Roi, PaiedOrder: apiData.PaiedOrder, OrderRatio: apiData.OrderRatio, T0OrderCnt: apiData.T0OrderCnt, T0OrderCntCost: apiData.T0OrderCntCost, T0OrderCntRatio: apiData.T0OrderCntRatio, T1OrderCnt: apiData.T1OrderCnt, T3OrderCnt: apiData.T3OrderCnt, T7OrderCnt: apiData.T7OrderCnt, T15OrderCnt: apiData.T15OrderCnt, T30OrderCnt: apiData.T30OrderCnt, MerchantRecoFans: apiData.MerchantRecoFans, T1Retention: apiData.T1Retention, T7Retention: apiData.T7Retention, T15Retention: apiData.T15Retention, T30Retention: apiData.T30Retention, T1RetentionRatio: apiData.T1RetentionRatio, T7RetentionRatio: apiData.T7RetentionRatio, T15RetentionRatio: apiData.T15RetentionRatio, T30RetentionRatio: apiData.T30RetentionRatio, ReservationSuccess: apiData.ReservationSuccess, ReservationCost: apiData.ReservationCost, StandardLivePlayedStarted: apiData.StandardLivePlayedStarted, AdLivePlayCnt: apiData.AdLivePlayCnt, AdLivePlayCntCost: apiData.AdLivePlayCntCost, LiveAudienceCost: apiData.LiveAudienceCost, LiveEventGoodsView: apiData.LiveEventGoodsView, GoodsClickRatio: apiData.GoodsClickRatio, DirectAttrPlatNewBuyerCnt: apiData.DirectAttrPlatNewBuyerCnt, T30AttrPlatTotalBuyerCnt: apiData.T30AttrPlatTotalBuyerCnt, DirectAttrSellerNewBuyerCnt: apiData.DirectAttrSellerNewBuyerCnt, T30AttrSellerTotalBuyerCnt: apiData.T30AttrSellerTotalBuyerCnt, T7IndirectOrderAmt: apiData.T7IndirectOrderAmt, T7IndirectOrderCnt: apiData.T7IndirectOrderCnt, FansT0GmvPerFans: apiData.FansT0GmvPerFans, FansT3GmvPerFans: apiData.FansT3GmvPerFans, FansT7GmvPerFans: apiData.FansT7GmvPerFans, FansT15GmvPerFans: apiData.FansT15GmvPerFans, FansT30GmvPerFans: apiData.FansT30GmvPerFans, RecoFansCost: apiData.RecoFansCost, QcpxWhiteboxDirectOrderPaymentAmt: apiData.QcpxWhiteboxDirectOrderPaymentAmt, QcpxWhiteboxDirectOrderCnt: apiData.QcpxWhiteboxDirectOrderCnt, FansT0Gmv: apiData.FansT0Gmv, FansT1Gmv: apiData.FansT1Gmv, FansT7Gmv: apiData.FansT7Gmv, FansT15Gmv: apiData.FansT15Gmv, FansT30Gmv: apiData.FansT30Gmv, FansT0Roi: apiData.FansT0Roi, FansT1Roi: apiData.FansT1Roi, FansT7Roi: apiData.FansT7Roi, FansT15Roi: apiData.FansT15Roi, FansT30Roi: apiData.FansT30Roi, T0ShopNewBuyerOrderPaymentAmt: apiData.T0ShopNewBuyerOrderPaymentAmt, T1ShopNewBuyerOrderPaymentAmt: apiData.T1ShopNewBuyerOrderPaymentAmt, T3ShopNewBuyerOrderPaymentAmt: apiData.T3ShopNewBuyerOrderPaymentAmt, T7ShopNewBuyerOrderPaymentAmt: apiData.T7ShopNewBuyerOrderPaymentAmt, T15ShopNewBuyerOrderPaymentAmt: apiData.T15ShopNewBuyerOrderPaymentAmt, T30ShopNewBuyerOrderPaymentAmt: apiData.T30ShopNewBuyerOrderPaymentAmt, T0ShopNewBuyerOrderCnt: apiData.T0ShopNewBuyerOrderCnt, T1ShopNewBuyerOrderCnt: apiData.T1ShopNewBuyerOrderCnt, T3ShopNewBuyerOrderCnt: apiData.T3ShopNewBuyerOrderCnt, T7ShopNewBuyerOrderCnt: apiData.T7ShopNewBuyerOrderCnt, T15ShopNewBuyerOrderCnt: apiData.T15ShopNewBuyerOrderCnt, T30ShopNewBuyerOrderCnt: apiData.T30ShopNewBuyerOrderCnt, T1NewBuyerRepurchaseRatio: apiData.T1NewBuyerRepurchaseRatio, T3NewBuyerRepurchaseRatio: apiData.T3NewBuyerRepurchaseRatio, T7NewBuyerRepurchaseRatio: apiData.T7NewBuyerRepurchaseRatio, T15NewBuyerRepurchaseRatio: apiData.T15NewBuyerRepurchaseRatio, T30NewBuyerRepurchaseRatio: apiData.T30NewBuyerRepurchaseRatio, T0ShopNewBuyerRoi: apiData.T0ShopNewBuyerRoi, T1ShopNewBuyerRoi: apiData.T1ShopNewBuyerRoi, T3ShopNewBuyerRoi: apiData.T3ShopNewBuyerRoi, T7ShopNewBuyerRoi: apiData.T7ShopNewBuyerRoi, T15ShopNewBuyerRoi: apiData.T15ShopNewBuyerRoi, T30ShopNewBuyerRoi: apiData.T30ShopNewBuyerRoi, CreateCardOrderCnt: apiData.CreateCardOrderCnt, ForwardTsCreateCardOrderCnt: apiData.ForwardTsCreateCardOrderCnt, CreateCardOrderCost: apiData.CreateCardOrderCost, ForwardTsCreateCardOrderCost: apiData.ForwardTsCreateCardOrderCost, ActivateCardOrderCnt: apiData.ActivateCardOrderCnt, ForwardTsActivateCardOrderCnt: apiData.ForwardTsActivateCardOrderCnt, ActivateCardOrderCost: apiData.ActivateCardOrderCost, ForwardTsActivateCardOrderCost: apiData.ForwardTsActivateCardOrderCost, CreateCardOrderRatio: apiData.CreateCardOrderRatio, ForwardTsCreateCardOrderRatio: apiData.ForwardTsCreateCardOrderRatio, ActivateCardOrderCntRatio: apiData.ActivateCardOrderCntRatio, ForwardTsActivateCardOrderRatio: apiData.ForwardTsActivateCardOrderRatio, LivePlayCnt: apiData.LivePlayCnt, ItemEntranceClkCnt: apiData.ItemEntranceClkCnt, ShowCnt: apiData.ShowCnt, ReportDateStr: apiData.ReportDateStr, CampaignId: apiData.CampaignId, CampaignName: apiData.CampaignName, UnitId: apiData.UnitId, UnitName: apiData.UnitName, CreativeId: apiData.CreativeId, CreativeName: apiData.CreativeName, CidActualRoiAfterSubsidy: apiData.CidActualRoiAfterSubsidy, CidCouponAmount: apiData.CidCouponAmount, CidCouponCallbackPaidRefundAmount: apiData.CidCouponCallbackPaidRefundAmount, CidVoucherCost: apiData.CidVoucherCost, } } func (c *DataConverter) ConvertToDetailItems(apiItems []*CampaignReportItem, dataType string) []*copydata.CidAccountReportDetailItem { if len(apiItems) == 0 { return nil } result := make([]*copydata.CidAccountReportDetailItem, 0, len(apiItems)) for _, item := range apiItems { detailItem := c.convertItemToDetail(item, dataType) result = append(result, detailItem) } return result } func (c *DataConverter) convertItemToDetail(apiItem *CampaignReportItem, dataType string) *copydata.CidAccountReportDetailItem { if apiItem == nil { return nil } item := (*CampaignReportSum)(apiItem) sumItem := c.ConvertToSumItem(item, dataType) return ©data.CidAccountReportDetailItem{ DataType: sumItem.DataType, T0OrderPaymentAmt: sumItem.T0OrderPaymentAmt, CreativeMaterialType: sumItem.CreativeMaterialType, LiveName: sumItem.LiveName, AuthorId: sumItem.AuthorId, PicUrl: sumItem.PicUrl, PicName: sumItem.PicName, PicId: sumItem.PicId, CoverUrl: sumItem.CoverUrl, CoverId: sumItem.CoverId, ItemOrderConversionRatio: sumItem.ItemOrderConversionRatio, ItemCardClickRatio: sumItem.ItemCardClickRatio, ItemCardClkCnt: sumItem.ItemCardClkCnt, LivePlayCntCost: sumItem.LivePlayCntCost, AdMerchantFollowCost: sumItem.AdMerchantFollowCost, AdMerchantFollow: sumItem.AdMerchantFollow, NetT0OrderCnt: sumItem.NetT0OrderCnt, NetT0Roi: sumItem.NetT0Roi, NetT0Gmv: sumItem.NetT0Gmv, PhotoName: sumItem.PhotoName, PhotoIdStr: sumItem.PhotoIdStr, PhotoId: sumItem.PhotoId, ModPriceSegment: sumItem.ModPriceSegment, AgeSegment: sumItem.AgeSegment, Province: sumItem.Province, Gender: sumItem.Gender, AdPhotoPlayedFiveRatio: sumItem.AdPhotoPlayedFiveRatio, AdPhotoPlayedThreeRatio: sumItem.AdPhotoPlayedThreeRatio, OrderSubmitRoi: sumItem.OrderSubmitRoi, OrderSubmitAmt: sumItem.OrderSubmitAmt, EventOrderSubmitCost: sumItem.EventOrderSubmitCost, EventOrderSubmit: sumItem.EventOrderSubmit, EventOrderPaidRoi: sumItem.EventOrderPaidRoi, EventAppInvoked: sumItem.EventAppInvoked, EventAddShoppingCart: sumItem.EventAddShoppingCart, ConversionNumCost: sumItem.ConversionNumCost, AdEffectivePlayNum: sumItem.AdEffectivePlayNum, AdItemClick: sumItem.AdItemClick, MerchantProductId: sumItem.MerchantProductId, CostTotal: sumItem.CostTotal, AdShow: sumItem.AdShow, AdShow1kCost: sumItem.AdShow1kCost, Impression: sumItem.Impression, PhotoClick: sumItem.PhotoClick, PhotoClickRatio: sumItem.PhotoClickRatio, Click: sumItem.Click, ActionbarClick: sumItem.ActionbarClick, ActionbarClickCost: sumItem.ActionbarClickCost, EspClickRatio: sumItem.EspClickRatio, ActionRatio: sumItem.ActionRatio, AdItemClickCount: sumItem.AdItemClickCount, EspLivePlayedSeconds: sumItem.EspLivePlayedSeconds, PlayedThreeSeconds: sumItem.PlayedThreeSeconds, Play3sRatio: sumItem.Play3sRatio, PlayedFiveSeconds: sumItem.PlayedFiveSeconds, Play5sRatio: sumItem.Play5sRatio, PlayedEnd: sumItem.PlayedEnd, PlayEndRatio: sumItem.PlayEndRatio, Share: sumItem.Share, Comment: sumItem.Comment, Likes: sumItem.Likes, Report: sumItem.Report, Block: sumItem.Block, ItemNegative: sumItem.ItemNegative, LiveShare: sumItem.LiveShare, LiveComment: sumItem.LiveComment, LiveReward: sumItem.LiveReward, EffectivePlayCount: sumItem.EffectivePlayCount, EffectivePlayRatio: sumItem.EffectivePlayRatio, ConversionNum: sumItem.ConversionNum, ConversionCostEsp: sumItem.ConversionCostEsp, Roi: sumItem.Roi, Gmv: sumItem.Gmv, T0Gmv: sumItem.T0Gmv, T1Gmv: sumItem.T1Gmv, T3Gmv: sumItem.T3Gmv, T7Gmv: sumItem.T7Gmv, T15Gmv: sumItem.T15Gmv, T30Gmv: sumItem.T30Gmv, T0Roi: sumItem.T0Roi, T1Roi: sumItem.T1Roi, T3Roi: sumItem.T3Roi, T7Roi: sumItem.T7Roi, T15Roi: sumItem.T15Roi, T30Roi: sumItem.T30Roi, PaiedOrder: sumItem.PaiedOrder, OrderRatio: sumItem.OrderRatio, T0OrderCnt: sumItem.T0OrderCnt, T0OrderCntCost: sumItem.T0OrderCntCost, T0OrderCntRatio: sumItem.T0OrderCntRatio, T1OrderCnt: sumItem.T1OrderCnt, T3OrderCnt: sumItem.T3OrderCnt, T7OrderCnt: sumItem.T7OrderCnt, T15OrderCnt: sumItem.T15OrderCnt, T30OrderCnt: sumItem.T30OrderCnt, MerchantRecoFans: sumItem.MerchantRecoFans, T1Retention: sumItem.T1Retention, T7Retention: sumItem.T7Retention, T15Retention: sumItem.T15Retention, T30Retention: sumItem.T30Retention, T1RetentionRatio: sumItem.T1RetentionRatio, T7RetentionRatio: sumItem.T7RetentionRatio, T15RetentionRatio: sumItem.T15RetentionRatio, T30RetentionRatio: sumItem.T30RetentionRatio, ReservationSuccess: sumItem.ReservationSuccess, ReservationCost: sumItem.ReservationCost, StandardLivePlayedStarted: sumItem.StandardLivePlayedStarted, AdLivePlayCnt: sumItem.AdLivePlayCnt, AdLivePlayCntCost: sumItem.AdLivePlayCntCost, LiveAudienceCost: sumItem.LiveAudienceCost, LiveEventGoodsView: sumItem.LiveEventGoodsView, GoodsClickRatio: sumItem.GoodsClickRatio, DirectAttrPlatNewBuyerCnt: sumItem.DirectAttrPlatNewBuyerCnt, T30AttrPlatTotalBuyerCnt: sumItem.T30AttrPlatTotalBuyerCnt, DirectAttrSellerNewBuyerCnt: sumItem.DirectAttrSellerNewBuyerCnt, T30AttrSellerTotalBuyerCnt: sumItem.T30AttrSellerTotalBuyerCnt, T7IndirectOrderAmt: sumItem.T7IndirectOrderAmt, T7IndirectOrderCnt: sumItem.T7IndirectOrderCnt, FansT0GmvPerFans: sumItem.FansT0GmvPerFans, FansT3GmvPerFans: sumItem.FansT3GmvPerFans, FansT7GmvPerFans: sumItem.FansT7GmvPerFans, FansT15GmvPerFans: sumItem.FansT15GmvPerFans, FansT30GmvPerFans: sumItem.FansT30GmvPerFans, RecoFansCost: sumItem.RecoFansCost, QcpxWhiteboxDirectOrderPaymentAmt: sumItem.QcpxWhiteboxDirectOrderPaymentAmt, QcpxWhiteboxDirectOrderCnt: sumItem.QcpxWhiteboxDirectOrderCnt, FansT0Gmv: sumItem.FansT0Gmv, FansT1Gmv: sumItem.FansT1Gmv, FansT7Gmv: sumItem.FansT7Gmv, FansT15Gmv: sumItem.FansT15Gmv, FansT30Gmv: sumItem.FansT30Gmv, FansT0Roi: sumItem.FansT0Roi, FansT1Roi: sumItem.FansT1Roi, FansT7Roi: sumItem.FansT7Roi, FansT15Roi: sumItem.FansT15Roi, FansT30Roi: sumItem.FansT30Roi, T0ShopNewBuyerOrderPaymentAmt: sumItem.T0ShopNewBuyerOrderPaymentAmt, T1ShopNewBuyerOrderPaymentAmt: sumItem.T1ShopNewBuyerOrderPaymentAmt, T3ShopNewBuyerOrderPaymentAmt: sumItem.T3ShopNewBuyerOrderPaymentAmt, T7ShopNewBuyerOrderPaymentAmt: sumItem.T7ShopNewBuyerOrderPaymentAmt, T15ShopNewBuyerOrderPaymentAmt: sumItem.T15ShopNewBuyerOrderPaymentAmt, T30ShopNewBuyerOrderPaymentAmt: sumItem.T30ShopNewBuyerOrderPaymentAmt, T0ShopNewBuyerOrderCnt: sumItem.T0ShopNewBuyerOrderCnt, T1ShopNewBuyerOrderCnt: sumItem.T1ShopNewBuyerOrderCnt, T3ShopNewBuyerOrderCnt: sumItem.T3ShopNewBuyerOrderCnt, T7ShopNewBuyerOrderCnt: sumItem.T7ShopNewBuyerOrderCnt, T15ShopNewBuyerOrderCnt: sumItem.T15ShopNewBuyerOrderCnt, T30ShopNewBuyerOrderCnt: sumItem.T30ShopNewBuyerOrderCnt, T1NewBuyerRepurchaseRatio: sumItem.T1NewBuyerRepurchaseRatio, T3NewBuyerRepurchaseRatio: sumItem.T3NewBuyerRepurchaseRatio, T7NewBuyerRepurchaseRatio: sumItem.T7NewBuyerRepurchaseRatio, T15NewBuyerRepurchaseRatio: sumItem.T15NewBuyerRepurchaseRatio, T30NewBuyerRepurchaseRatio: sumItem.T30NewBuyerRepurchaseRatio, T0ShopNewBuyerRoi: sumItem.T0ShopNewBuyerRoi, T1ShopNewBuyerRoi: sumItem.T1ShopNewBuyerRoi, T3ShopNewBuyerRoi: sumItem.T3ShopNewBuyerRoi, T7ShopNewBuyerRoi: sumItem.T7ShopNewBuyerRoi, T15ShopNewBuyerRoi: sumItem.T15ShopNewBuyerRoi, T30ShopNewBuyerRoi: sumItem.T30ShopNewBuyerRoi, CreateCardOrderCnt: sumItem.CreateCardOrderCnt, ForwardTsCreateCardOrderCnt: sumItem.ForwardTsCreateCardOrderCnt, CreateCardOrderCost: sumItem.CreateCardOrderCost, ForwardTsCreateCardOrderCost: sumItem.ForwardTsCreateCardOrderCost, ActivateCardOrderCnt: sumItem.ActivateCardOrderCnt, ForwardTsActivateCardOrderCnt: sumItem.ForwardTsActivateCardOrderCnt, ActivateCardOrderCost: sumItem.ActivateCardOrderCost, ForwardTsActivateCardOrderCost: sumItem.ForwardTsActivateCardOrderCost, CreateCardOrderRatio: sumItem.CreateCardOrderRatio, ForwardTsCreateCardOrderRatio: sumItem.ForwardTsCreateCardOrderRatio, ActivateCardOrderCntRatio: sumItem.ActivateCardOrderCntRatio, ForwardTsActivateCardOrderRatio: sumItem.ForwardTsActivateCardOrderRatio, LivePlayCnt: sumItem.LivePlayCnt, ItemEntranceClkCnt: sumItem.ItemEntranceClkCnt, ShowCnt: sumItem.ShowCnt, ReportDateStr: sumItem.ReportDateStr, CampaignId: sumItem.CampaignId, CampaignName: sumItem.CampaignName, UnitId: sumItem.UnitId, UnitName: sumItem.UnitName, CreativeId: sumItem.CreativeId, CreativeName: sumItem.CreativeName, CidActualRoiAfterSubsidy: sumItem.CidActualRoiAfterSubsidy, CidCouponAmount: sumItem.CidCouponAmount, CidCouponCallbackPaidRefundAmount: sumItem.CidCouponCallbackPaidRefundAmount, CidVoucherCost: sumItem.CidVoucherCost, } }