Browse Source

广告主端首页的更改

Signed-off-by: you.chen <you.chen@cloudcross.com>
you.chen 9 years ago
parent
commit
e77fe09715

+ 38 - 46
src/main/java/com/cloudcross/ssp/model/mapper/report.sql.xml

@@ -123,16 +123,16 @@
 		</where>
 	</select>
 		<select id="findCountForDeliverEffectAnalysisOperator" parameterType="map" resultType="int">
-		select count(date) from ((
-		select distinct date 
+		select count(date) 
 		from t_rpt_zone  
 		<where>
-		operator_id = #{operatorId} and date &gt;= #{startDate} and #{endDate} &gt;=date
+		<if test="zoneId==null">
+		operator_id = #{operatorId} and zone_id = 0 and date &gt;= #{startDate} and #{endDate} &gt;=date
+		</if>
 		<if test="zoneId!=null">
-		and zone_id=#{zoneId}
+		zone_id=#{zoneId} and operator_id = #{operatorId} and date &gt;= #{startDate} and #{endDate} &gt;=date
 		</if>
 		</where>
-		) as a)
 	</select>
 	
 	
@@ -193,20 +193,21 @@
 		</where>
 	</select>
 	
-<select id="findDeliverEffectAnalysis" parameterType="map" resultType="com.cloudcross.ssp.model.DeliverAnalysis">
+	<select id="findDeliverEffectAnalysis" parameterType="map" resultType="com.cloudcross.ssp.model.DeliverAnalysis">
 		select 
-		zone_id as zoneId,date as reportDate,sum(pv) as pv,sum(uv) as uv,sum(impression) as impression,sum(uimpression) as uImpression,
-		sum(uclick) as uClick,
-		100*sum(impression)/sum(pv) as fillRate,
-        sum(click) as click,100* sum(click)/sum(impression) as clickRate,sum(ecpm) as eCpm,sum(income) as income
+		zone_id as zoneId,date as reportDate,pv,uv,impression,uImpression,
+		uClick,
+		100*impression/pv as fillRate,
+        click as click,100* click/impression as clickRate,ecpm as eCpm,income as income
 		from t_rpt_zone 
 		<where>
-		operator_id = #{operatorId} and date &gt;= #{startDate} and #{endDate} &gt;=date
+		<if test="zoneId==null">
+		operator_id = #{operatorId} and zone_id = 0 and date &gt;= #{startDate} and #{endDate} &gt;=date
+		</if>
 		<if test="zoneId!=null">
-		and zone_id=#{zoneId}
+		operator_id = #{operatorId} and zone_id=#{zoneId} and date &gt;= #{startDate} and #{endDate} &gt;=date
 		</if>
 		</where>
-		group by date
 		limit #{pager.offset}, #{pager.limit}
 	</select>
 	
@@ -214,13 +215,11 @@
 		select sum(pv) as pv, sum(uv) as uv, sum(impression) as impression, sum(click) as click, sum(income) as income
 		from t_rpt_zone 
 		<where>
-		operator_id = #{operatorId}
-		<if test="zoneId!=null">
-		and zone_id=#{zoneId}
+		<if test="zoneId==null">
+		operator_id = #{operatorId} and zone_id = 0 and date &gt;= #{startDate} and #{endDate} &gt;=date
 		</if>
-		
-		<if test="startDate!=null and endDate!=null"> 
-            and date &gt;= #{startDate} and #{endDate} &gt;=date
+		<if test="zoneId!=null">
+		operator_id = #{operatorId} and zone_id=#{zoneId} and date &gt;= #{startDate} and #{endDate} &gt;=date
 		</if>
 		</where>
 	</select>
@@ -1128,22 +1127,21 @@
 	
 	
 	<select id="findByAdvertiser" parameterType="map" resultType="map">
-		select ad.name as advertiserName,date as reportDate,a.consume as totalConsume,a.impression as totalImpression,
-click as totalClick, if(a.impression > 0,a.click/a.impression,0)
+		select ad.name as advertiserName,date as reportDate,sum(a.consume) as totalConsume,sum(a.impression) as totalImpression,
+sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression),0)
 		as clickRate from t_rpt_advertiser as a left join t_advertiser ad on a.advertiser_id=ad.id
-		where a.advertiser_id=#{advertiserId} and a.order_id = 0 and a.campaign_id = 0
-		and a.adgroup_id = 0 and a.banner_id = 0
+		where a.advertiser_id=#{advertiserId}
 		and a.date >= #{startDate} and a.date &lt;=#{endDate}
+		group by date(a.date)
 	</select>
 	
 	<select id="findByAdvertiser3" parameterType="map" resultType="map">
-		select ad.name as advertiserName,date as reportDate,a.consume as totalConsume,a.impression as totalImpression,
-click as totalClick, if(a.impression > 0,a.click/a.impression,0)
+		select ad.name as advertiserName,date as reportDate,sum(a.consume) as totalConsume,sum(a.impression) as totalImpression,
+sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression),0)
 		as clickRate from t_rpt_advertiser as a left join t_advertiser ad on a.advertiser_id=ad.id
 		where a.advertiser_id=#{advertiserId}
-		and a.order_id = 0 and a.campaign_id = 0
-		and a.adgroup_id = 0 and a.banner_id = 0
 		and a.date >= #{startDate} and a.date &lt;=#{endDate}
+		group by date(a.date)
 		limit #{pager.offset}, #{pager.limit} 
 	</select>
 	
@@ -1163,11 +1161,11 @@ click as totalClick, if(a.impression > 0,a.click/a.impression,0)
 	</select>
 	
 	<select id="findByAdvertiser1" parameterType="map" resultType="map">
-		select ad.name as advertiserName,date as reportDate, a.hour as hour,a.consume as totalConsume,a.impression as totalImpression,
-click as totalClick, if(a.impression > 0,a.click/a.impression,0)
+		select ad.name as advertiserName,date as reportDate, a.hour as hour,sum(a.consume) as totalConsume,sum(a.impression) as totalImpression,
+sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression),0)
 		as clickRate from t_rpt_advertiser_hour as a left join t_advertiser ad on a.advertiser_id=ad.id
-		where a.advertiser_id=#{advertiserId} and a.date = #{startDate} and a.order_id = 0 and a.campaign_id = 0
-		and a.adgroup_id = 0 and a.banner_id = 0
+		where a.advertiser_id=#{advertiserId} and a.date = #{startDate}
+		group by a.hour
 	</select>
 	
 	<select id="countByPlace" parameterType="map" resultType="int">
@@ -1177,12 +1175,11 @@ click as totalClick, if(a.impression > 0,a.click/a.impression,0)
 	
 	
 	<select id="findByAdvertiser2" parameterType="map" resultType="map">
-		select ad.name as advertiserName,date as reportDate, a.hour as hour,a.consume as totalConsume,a.impression as totalImpression,
-click as totalClick, if(a.impression > 0,a.click/a.impression,0)
+		select ad.name as advertiserName,date as reportDate, a.hour as hour,sum(a.consume) as totalConsume,sum(a.impression) as totalImpression,
+sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression),0)
 		as clickRate from t_rpt_advertiser_hour as a left join t_advertiser ad on a.advertiser_id=ad.id
 		where a.advertiser_id=#{advertiserId} and a.date = #{startDate}
-		and a.order_id = 0 and a.campaign_id = 0
-		and a.adgroup_id = 0 and a.banner_id = 0
+		group by a.hour
 		limit #{pager.offset}, #{pager.limit} 
 	</select>
 	
@@ -1202,9 +1199,8 @@ click as totalClick, if(a.impression > 0,a.click/a.impression,0)
 	</select>
 	
 	<select id="findCountForChart" parameterType="map" resultType="int">
-	select count(date) from t_rpt_advertiser where advertiser_id=#{advertiserId} and
-		order_id = 0 and campaign_id = 0 and adgroup_id = 0 and banner_id = 0
-		and date >= #{startDate} and date &lt;=#{endDate}
+	select count(date) from((select distinct date from t_rpt_advertiser where advertiser_id=#{advertiserId}
+		and date >= #{startDate} and date &lt;=#{endDate}) as a)
 	</select>
 	
 		<select id="findByPlace1" parameterType="map" resultType="com.cloudcross.ssp.model.DeliverAnalysis">
@@ -1221,16 +1217,13 @@ click as totalClick, if(a.impression > 0,a.click/a.impression,0)
 	</select>
 	
 	<select id="findCountForChart1" parameterType="map" resultType="int">
-		select count(hour) from t_rpt_advertiser_hour where advertiser_id=#{advertiserId} and
-		order_id = 0 and campaign_id = 0 and adgroup_id = 0 and banner_id = 0
-		and date = #{startDate}
+		select count(hour) from ((select distinct hour from t_rpt_advertiser_hour where advertiser_id=#{advertiserId} and date = #{startDate}) as a) 
 	</select>
 	
 	<select id="findTotalImpressionAndClickByAdvertiserId" parameterType="map" resultType="map">
-		select impression as totalImpression, click as totalClick
+		select sum(impression) as totalImpression, sum(click) as totalClick
 		from t_rpt_advertiser 
-		where advertiser_id = #{advertiserId} and date = #{date} and order_id = 0 and campaign_id = 0
-		and adgroup_id = 0 and banner_id = 0
+		where advertiser_id = #{advertiserId} and date = #{date}
 	</select>
 	
 	<select id="countByApmac" parameterType="map" resultType="int">
@@ -1242,8 +1235,7 @@ click as totalClick, if(a.impression > 0,a.click/a.impression,0)
 		select sum(a.impression) as totalImpression, sum(a.click) as totalClick
 		from t_rpt_advertiser  a,t_advertiser b
 		where b.id = a.advertiser_id and b.agent_id = #{agentId}
-		and a.date = #{date} and a.advertiser_id != 0 and a.order_id = 0 and a.campaign_id = 0
-		and a.adgroup_id = 0 and a.banner_id = 0
+		and a.date = #{date}
 	
 	</select>
 	

+ 0 - 1
src/main/java/com/cloudcross/ssp/web/advertiser/main/DashboardController.java

@@ -110,7 +110,6 @@ public class DashboardController extends SimpleController {
 			paramMap.put("agentId", String.valueOf(account.getAgentId()));
 		}
 		
-		
 		Map compareMap = adReportService.findCompare(paramMap);
 		
 		return compareMap;