@@ -180,45 +180,50 @@ private function getImpressionParams(Experiment $experiment, $variationId)
180180 private function getConversionParams ($ config , $ eventKey , $ experimentVariationMap , $ eventTags )
181181 {
182182 $ conversionParams = [];
183+ $ singleSnapshot = [];
184+ $ decisions = [];
185+
183186 foreach ($ experimentVariationMap as $ experimentId => $ variationId ) {
184- $ singleSnapshot = [];
187+
188+
185189 $ experiment = $ config ->getExperimentFromId ($ experimentId );
186190 $ eventEntity = $ config ->getEvent ($ eventKey );
187191
188- $ singleSnapshot [DECISIONS ] = [
189- [
190- CAMPAIGN_ID => $ experiment ->getLayerId (),
191- EXPERIMENT_ID => $ experiment ->getId (),
192- VARIATION_ID => $ variationId
193- ]
194- ];
195-
196- $ singleSnapshot [EVENTS ] = [
197- [
198- ENTITY_ID => $ eventEntity ->getId (),
199- TIMESTAMP => time ()*1000 ,
200- UUID => GeneratorUtils::getRandomUuid (),
201- KEY => $ eventKey
202- ]
192+ $ decision = [
193+ CAMPAIGN_ID => $ experiment ->getLayerId (),
194+ EXPERIMENT_ID => $ experiment ->getId (),
195+ VARIATION_ID => $ variationId
203196 ];
197+ $ decisions [] = $ decision ;
198+ }
204199
205- if (!is_null ($ eventTags )) {
206- $ revenue = EventTagUtils::getRevenueValue ($ eventTags , $ this ->_logger );
207- if (!is_null ($ revenue )) {
208- $ singleSnapshot [EVENTS ][0 ][EventTagUtils::REVENUE_EVENT_METRIC_NAME ] = $ revenue ;
209- }
200+ $ eventDict = [
201+ ENTITY_ID => $ eventEntity ->getId (),
202+ TIMESTAMP => time ()*1000 ,
203+ UUID => GeneratorUtils::getRandomUuid (),
204+ KEY => $ eventKey
205+ ];
210206
211- $ eventValue = EventTagUtils::getNumericValue ($ eventTags , $ this ->_logger );
212- if (!is_null ($ eventValue )) {
213- $ singleSnapshot [EVENTS ][0 ][EventTagUtils::NUMERIC_EVENT_METRIC_NAME ] = $ eventValue ;
214- }
207+ if (!is_null ($ eventTags )) {
208+ $ revenue = EventTagUtils::getRevenueValue ($ eventTags , $ this ->_logger );
209+ if (!is_null ($ revenue )) {
210+ $ eventDict [EventTagUtils::REVENUE_EVENT_METRIC_NAME ] = $ revenue ;
211+ }
215212
216- $ singleSnapshot [EVENTS ][0 ]['tags ' ] = $ eventTags ;
213+ $ eventValue = EventTagUtils::getNumericValue ($ eventTags , $ this ->_logger );
214+ if (!is_null ($ eventValue )) {
215+ $ eventDict [EventTagUtils::NUMERIC_EVENT_METRIC_NAME ] = $ eventValue ;
217216 }
218217
219- $ conversionParams [] = $ singleSnapshot ;
218+ if (count ($ eventTags ) > 0 ) {
219+ $ eventDict ['tags ' ] = $ eventTags ;
220+ }
220221 }
221222
223+ $ singleSnapshot [DECISIONS ] = $ decisions ;
224+ $ singleSnapshot [EVENTS ] [] = $ eventDict ;
225+ $ conversionParams [] = $ singleSnapshot ;
226+
222227 return $ conversionParams ;
223228 }
224229
0 commit comments