Browse Source

整合后首页功能的更新

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

+ 27 - 20
src/main/java/com/cloudcross/ssp/model/mapper/report.sql.xml

@@ -1128,21 +1128,22 @@
 	
 	
 	
 	
 	<select id="findByAdvertiser" parameterType="map" resultType="map">
 	<select id="findByAdvertiser" parameterType="map" resultType="map">
-		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)
+		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)
 		as clickRate from t_rpt_advertiser as a left join t_advertiser ad on a.advertiser_id=ad.id
 		as clickRate from t_rpt_advertiser as a left join t_advertiser ad on a.advertiser_id=ad.id
-		where a.advertiser_id=#{advertiserId}
+		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}
 		and a.date >= #{startDate} and a.date &lt;=#{endDate}
-		group by date(a.date)
 	</select>
 	</select>
 	
 	
 	<select id="findByAdvertiser3" parameterType="map" resultType="map">
 	<select id="findByAdvertiser3" parameterType="map" resultType="map">
-		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)
+		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)
 		as clickRate from t_rpt_advertiser as a left join t_advertiser ad on a.advertiser_id=ad.id
 		as clickRate from t_rpt_advertiser as a left join t_advertiser ad on a.advertiser_id=ad.id
 		where a.advertiser_id=#{advertiserId}
 		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}
 		and a.date >= #{startDate} and a.date &lt;=#{endDate}
-		group by date(a.date)
 		limit #{pager.offset}, #{pager.limit} 
 		limit #{pager.offset}, #{pager.limit} 
 	</select>
 	</select>
 	
 	
@@ -1162,11 +1163,11 @@ sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression
 	</select>
 	</select>
 	
 	
 	<select id="findByAdvertiser1" parameterType="map" resultType="map">
 	<select id="findByAdvertiser1" parameterType="map" resultType="map">
-		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)
+		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)
 		as clickRate from t_rpt_advertiser_hour as a left join t_advertiser ad on a.advertiser_id=ad.id
 		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}
-		group by a.hour
+		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
 	</select>
 	</select>
 	
 	
 	<select id="countByPlace" parameterType="map" resultType="int">
 	<select id="countByPlace" parameterType="map" resultType="int">
@@ -1176,11 +1177,12 @@ sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression
 	
 	
 	
 	
 	<select id="findByAdvertiser2" parameterType="map" resultType="map">
 	<select id="findByAdvertiser2" parameterType="map" resultType="map">
-		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)
+		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)
 		as clickRate from t_rpt_advertiser_hour as a left join t_advertiser ad on a.advertiser_id=ad.id
 		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}
 		where a.advertiser_id=#{advertiserId} and a.date = #{startDate}
-		group by a.hour
+		and a.order_id = 0 and a.campaign_id = 0
+		and a.adgroup_id = 0 and a.banner_id = 0
 		limit #{pager.offset}, #{pager.limit} 
 		limit #{pager.offset}, #{pager.limit} 
 	</select>
 	</select>
 	
 	
@@ -1200,8 +1202,9 @@ sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression
 	</select>
 	</select>
 	
 	
 	<select id="findCountForChart" parameterType="map" resultType="int">
 	<select id="findCountForChart" parameterType="map" resultType="int">
-	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 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>
 	</select>
 	
 	
 		<select id="findByPlace1" parameterType="map" resultType="com.cloudcross.ssp.model.DeliverAnalysis">
 		<select id="findByPlace1" parameterType="map" resultType="com.cloudcross.ssp.model.DeliverAnalysis">
@@ -1218,13 +1221,16 @@ sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression
 	</select>
 	</select>
 	
 	
 	<select id="findCountForChart1" parameterType="map" resultType="int">
 	<select id="findCountForChart1" parameterType="map" resultType="int">
-		select count(hour) from ((select distinct hour from t_rpt_advertiser_hour where advertiser_id=#{advertiserId} and date = #{startDate}) as a) 
+		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>
 	</select>
 	
 	
 	<select id="findTotalImpressionAndClickByAdvertiserId" parameterType="map" resultType="map">
 	<select id="findTotalImpressionAndClickByAdvertiserId" parameterType="map" resultType="map">
-		select sum(impression) as totalImpression, sum(click) as totalClick
+		select impression as totalImpression, click as totalClick
 		from t_rpt_advertiser 
 		from t_rpt_advertiser 
-		where advertiser_id = #{advertiserId} and date = #{date}
+		where advertiser_id = #{advertiserId} and date = #{date} and order_id = 0 and campaign_id = 0
+		and adgroup_id = 0 and banner_id = 0
 	</select>
 	</select>
 	
 	
 	<select id="countByApmac" parameterType="map" resultType="int">
 	<select id="countByApmac" parameterType="map" resultType="int">
@@ -1236,7 +1242,8 @@ sum(click) as totalClick, if(sum(a.impression) > 0,sum(a.click)/sum(a.impression
 		select sum(a.impression) as totalImpression, sum(a.click) as totalClick
 		select sum(a.impression) as totalImpression, sum(a.click) as totalClick
 		from t_rpt_advertiser  a,t_advertiser b
 		from t_rpt_advertiser  a,t_advertiser b
 		where b.id = a.advertiser_id and b.agent_id = #{agentId}
 		where b.id = a.advertiser_id and b.agent_id = #{agentId}
-		and a.date = #{date}
+		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
 	
 	
 	</select>
 	</select>
 	
 	

+ 4 - 6
src/main/java/com/cloudcross/ssp/service/impl/AdReportService.java

@@ -155,8 +155,6 @@ public class AdReportService implements IAdReportService {
 		} else {
 		} else {
 			if (paramMap.get("agentId") != null
 			if (paramMap.get("agentId") != null
 					&& !"".equals(paramMap.get("agentId"))) {
 					&& !"".equals(paramMap.get("agentId"))) {
-				System.out.println("chenyou:paramMap" + paramMap );
-				
 				agentId = Long.parseLong(String.valueOf(paramMap.get("agentId")));
 				agentId = Long.parseLong(String.valueOf(paramMap.get("agentId")));
 			} else {
 			} else {
 				agentId = null;
 				agentId = null;
@@ -171,6 +169,7 @@ public class AdReportService implements IAdReportService {
 		Map<String,Object> compareMap = new HashMap<String,Object>();
 		Map<String,Object> compareMap = new HashMap<String,Object>();
 		/**
 		/**
 		 * 先判断传递进来的是一个广告主id,还是代理商id
 		 * 先判断传递进来的是一个广告主id,还是代理商id
+		 * 如果广告主id不为空,则为广告主账号,如果是代理商id不为空则为代理商账号
 		 */
 		 */
 		if(null != advertiserId) {
 		if(null != advertiserId) {
 			Map<String, Object> map = null;
 			Map<String, Object> map = null;
@@ -184,10 +183,10 @@ public class AdReportService implements IAdReportService {
 			Long yesterdayImpressionSum = null;
 			Long yesterdayImpressionSum = null;
 			Long yesterdayClickSum = null;
 			Long yesterdayClickSum = null;
 			
 			
-			map = findTotalImpressionAndClickByAgentId(paramMap);
+			map = findTotalImpressionAndClickByAdvertiserId(paramMap);
 			
 			
 			/**
 			/**
-			 * 对于查询的结果进行判断,如果m找到的结果是空的,则两个值都设为0
+			 * 对于查询的结果进行判断,如果找到的结果是空的,则两个值都设为0
 			 * 如果找到其中的一个值为空就把这个值设为0
 			 * 如果找到其中的一个值为空就把这个值设为0
 			 */
 			 */
 			if(null == map) {
 			if(null == map) {
@@ -204,7 +203,7 @@ public class AdReportService implements IAdReportService {
 			paramMap.put("date", sdf.format(new Date().getTime() - 2 * 24 * 60 * 60 * 1000));
 			paramMap.put("date", sdf.format(new Date().getTime() - 2 * 24 * 60 * 60 * 1000));
 			Long beforeYesterdayImpressionSum = null;
 			Long beforeYesterdayImpressionSum = null;
 			Long beforeYesterdayClickSum = null;
 			Long beforeYesterdayClickSum = null;
-			map = findTotalImpressionAndClickByAgentId(paramMap);
+			map = findTotalImpressionAndClickByAdvertiserId(paramMap);
 			
 			
 			/**
 			/**
 			 * 对于查询的结果进行判断,如果m找到的结果是空的,则两个值都设为0
 			 * 对于查询的结果进行判断,如果m找到的结果是空的,则两个值都设为0
@@ -268,7 +267,6 @@ public class AdReportService implements IAdReportService {
 				yesterdayClickSum = new Long(0);
 				yesterdayClickSum = new Long(0);
 				yesterdayImpressionSum = new Long(0);
 				yesterdayImpressionSum = new Long(0);
 			} else {
 			} else {
-				System.out.println("chenyou:map" + map);
 				yesterdayClickSum = Long.parseLong(map.get("totalClick").toString());
 				yesterdayClickSum = Long.parseLong(map.get("totalClick").toString());
 				yesterdayImpressionSum = Long.parseLong(map.get("totalImpression").toString());
 				yesterdayImpressionSum = Long.parseLong(map.get("totalImpression").toString());
 			}
 			}

+ 10 - 7
src/main/java/com/cloudcross/ssp/web/advertiser/main/DashboardController.java

@@ -87,16 +87,13 @@ public class DashboardController extends SimpleController {
 			model.addAttribute("agentId", account.getAgentId());
 			model.addAttribute("agentId", account.getAgentId());
 			model.addAttribute("accountId", account.getId());
 			model.addAttribute("accountId", account.getId());
 			model.addAttribute("compareMap", findCompareAjax(model,paramMap));
 			model.addAttribute("compareMap", findCompareAjax(model,paramMap));
-			
-			System.out.println("chenyou:jiantou");
-			System.out.println( findCompareAjax(model,paramMap));
 		}
 		}
 		return index;
 		return index;
 	}
 	}
 	
 	
 	/**
 	/**
 	 * 当对于选定广告主之后查询账户余额和判断箭头等数据
 	 * 当对于选定广告主之后查询账户余额和判断箭头等数据
-	 * 这个方法的功能有两个一个是首页刚登陆之后要找登陆账号的余额等信息,另一个就是当登陆账号是代理商时,下拉框选则了一个广告主,查询该广告主的余额
+	 * 这个方法的功能有两个一个是首页刚登陆之后要找登陆账号的余额等信息,另一个就是当登陆账号是代理商时,下拉框选则了一个广告主,查询该广告主的余额
 	 * @param model
 	 * @param model
 	 * @param paramMap
 	 * @param paramMap
 	 * @return
 	 * @return
@@ -119,7 +116,8 @@ public class DashboardController extends SimpleController {
 		return compareMap;
 		return compareMap;
 	}
 	}
 	
 	
-	/**返回图标的数据
+	/**
+	 * 返回图标的数据
 	 * @param paramMap 这里面包含了要查询的广告主id,查询的选择的起始时间和截止时间
 	 * @param paramMap 这里面包含了要查询的广告主id,查询的选择的起始时间和截止时间
 	 * 注意这里的startDate和endDate传递的前端往后端传递的格式为yyyy-MM-dd
 	 * 注意这里的startDate和endDate传递的前端往后端传递的格式为yyyy-MM-dd
 	 * @return
 	 * @return
@@ -161,6 +159,13 @@ public class DashboardController extends SimpleController {
 		 
 		 
 	}
 	}
 	
 	
+	/**
+	 * 首页列表模式显示数据
+	 * @param model
+	 * @param paramMap 这里面包含了要查询的广告主id,查询的选择的起始时间和截止时间
+	 * @param page
+	 * @return
+	 */
 	@RequestMapping("/list")
 	@RequestMapping("/list")
 	public String list(Model model,
 	public String list(Model model,
 			@RequestParam HashMap<String, Object> paramMap,
 			@RequestParam HashMap<String, Object> paramMap,
@@ -198,8 +203,6 @@ public class DashboardController extends SimpleController {
 		int totalRow = 0;
 		int totalRow = 0;
 		totalRow = adReportService.findCountForChart(startDate, endDate, advertiserId);
 		totalRow = adReportService.findCountForChart(startDate, endDate, advertiserId);
 		
 		
-		System.out.println("chenyou:totalRow" + totalRow);
-		
 		Pager pager = new Pager();
 		Pager pager = new Pager();
 		pager.setPage(page);
 		pager.setPage(page);
 		pager.setTotalRow(totalRow);
 		pager.setTotalRow(totalRow);