Browse Source

wifi新报表

jun.zhou 9 years ago
parent
commit
e89fa6e527

+ 91 - 0
src/main/java/com/cloudcross/ssp/model/WifiSum.java

@@ -0,0 +1,91 @@
+package com.cloudcross.ssp.model;
+/**
+ * 创建人:周俊
+ * 创建时间:2015-12-15 18:00
+ * 统计每个城市有多少个数据场景
+ *
+ */
+public class WifiSum {
+
+	private Long id;
+	
+	private String location;
+	
+	private Long placeId;
+	
+	private Long sum;
+	
+	private String cn;
+	
+	private String cnCity;
+	
+	private String placeName;
+	
+	
+	public String getPlaceName() {
+		return placeName;
+	}
+
+	public void setPlaceName(String placeName) {
+		this.placeName = placeName;
+	}
+
+	public String getCn() {
+		return cn;
+	}
+
+	public void setCn(String cn) {
+		this.cn = cn;
+	}
+
+	public String getCnCity() {
+		return cnCity;
+	}
+
+	public void setCnCity(String cnCity) {
+		this.cnCity = cnCity;
+	}
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getLocation() {
+		return location;
+	}
+
+	public void setLocation(String location) {
+		this.location = location;
+	}
+
+	public Long getPlaceId() {
+		return placeId;
+	}
+
+	public void setPlaceId(Long placeId) {
+		this.placeId = placeId;
+	}
+
+	public Long getSum() {
+		return sum;
+	}
+
+	public void setSum(Long sum) {
+		this.sum = sum;
+	}
+
+	@Override
+	public String toString() {
+		return "WifiSum [id=" + id + ", location=" + location + ", placeId="
+				+ placeId + ", sum=" + sum + ", cn=" + cn + ", cnCity="
+				+ cnCity + ", placeName=" + placeName + "]";
+	}
+
+	
+	
+	
+}

+ 60 - 0
src/main/java/com/cloudcross/ssp/model/mapper/wifi-sum.sql.xml

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="wifiSumSqlMapper">
+	<select id="queryWifiSum" parameterType="java.util.Map" resultType="com.cloudcross.ssp.model.WifiSum">
+		SELECT
+			tl.cn cn,
+			tl.cn_city cnCity,
+			tpci.NAME placeName,
+			count(tw.id) sum
+		FROM
+			t_place_class_info tpci,
+			t_place_class tpc,
+			t_wifi tw,
+			t_location tl
+		WHERE
+			  tpci.id = tpc.class_id
+		and tpc.place_id = tw.place_id
+		and tw.location = tl.location
+		<if test="cn != null">
+			and tl.cn = #{cn}
+		</if>
+		<if test="cnCity != null">
+			and tl.cn_city = #{cnCity}
+		</if>
+		<if test="placeId != null">
+			and tpci.id = #{placeId}
+		</if>
+		GROUP BY tl.cn,tl.cn_city,tpci.NAME
+		limit #{pager.offset}, #{pager.limit}
+	</select>
+	
+	<select id="queryWifiSumCount" parameterType="java.util.Map" resultType="java.lang.Integer">
+		select count(1) from (
+		SELECT
+			tl.cn cn,
+			tl.cn_city cnCity,
+			tpci.NAME placeName,
+			count(tw.id) sum
+		FROM
+			t_place_class_info tpci,
+			t_place_class tpc,
+			t_wifi tw,
+			t_location tl
+		WHERE
+			  tpci.id = tpc.class_id
+		and tpc.place_id = tw.place_id
+		and tw.location = tl.location
+		<if test="cn != null">
+			and tl.cn = #{cn}
+		</if>
+		<if test="cnCity != null">
+			and tl.cn_city = #{cnCity}
+		</if>
+		<if test="placeId != null">
+			and tpci.id = #{placeId}
+		</if>
+		GROUP BY tl.cn,tl.cn_city,tpci.NAME
+		) t
+	</select>
+</mapper>

+ 11 - 0
src/main/java/com/cloudcross/ssp/service/IWifiSumService.java

@@ -0,0 +1,11 @@
+package com.cloudcross.ssp.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.cloudcross.ssp.model.WifiSum;
+
+public interface IWifiSumService {
+	public List<WifiSum> queryWifiSumByCondition(Map<String,Object>condition);
+	public Integer queryWifiSumCountByCondition(Map<String,Object>condition);
+}

+ 26 - 0
src/main/java/com/cloudcross/ssp/service/impl/WifiSumService.java

@@ -0,0 +1,26 @@
+package com.cloudcross.ssp.service.impl;
+
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.cloudcross.ssp.base.dao.GenericIBatisDao;
+import com.cloudcross.ssp.model.WifiSum;
+import com.cloudcross.ssp.service.IWifiSumService;
+
+@Service
+public class WifiSumService implements IWifiSumService {
+	
+	@Autowired
+	private GenericIBatisDao myBatisDao;
+	
+	public Integer queryWifiSumCountByCondition(Map<String,Object>condition){
+		return myBatisDao.get("wifiSumSqlMapper.queryWifiSumCount", condition);
+	}
+	public List<WifiSum> queryWifiSumByCondition(Map<String,Object>condition){
+		return myBatisDao.getList("wifiSumSqlMapper.queryWifiSum", condition);
+	}
+
+}

+ 27 - 1
src/main/java/com/cloudcross/ssp/web/back/main/ap/ApmacController.java

@@ -37,6 +37,7 @@ import com.cloudcross.ssp.model.Log;
 import com.cloudcross.ssp.model.PlaceClassInformation;
 import com.cloudcross.ssp.model.PlaceOperator;
 import com.cloudcross.ssp.model.Wifi;
+import com.cloudcross.ssp.model.WifiSum;
 import com.cloudcross.ssp.service.ILocationService;
 import com.cloudcross.ssp.service.ILogService;
 import com.cloudcross.ssp.service.IOperatorService;
@@ -44,6 +45,7 @@ import com.cloudcross.ssp.service.IPlaceClassInformationService;
 import com.cloudcross.ssp.service.IPlaceOperatorService;
 import com.cloudcross.ssp.service.IPlaceService;
 import com.cloudcross.ssp.service.IWifiService;
+import com.cloudcross.ssp.service.IWifiSumService;
 
 /**
  * 热点管理相关控制器
@@ -71,7 +73,8 @@ public class ApmacController extends SimpleController {
 	private IOperatorService operatorService;
 	@Autowired
 	private IPlaceClassInformationService placeClassInformationService;
-	
+	@Autowired
+	private IWifiSumService wifiSumService;
 	/**
 	 * 热点详情的列表页
 	 * 前端要传递几个参数,分别所选媒体的媒体Id(变量名为selectedOperatorId),省(变量名为cn),市(变量名为cnCity),场景(变量名为place,这个是运营商定义的场景名称,传过来传个场景名称就行),
@@ -813,4 +816,27 @@ public class ApmacController extends SimpleController {
 			e.printStackTrace();
 		}
 	}
+	
+	@RequestMapping("wifisum")
+	public String queryWifiSumList(Model model,String cn,String cnCity,Integer place,@RequestParam(defaultValue = "1") int page){
+		Map<String,Object>condition = new HashMap<String,Object>();
+		if(cn != null && !"".equals(cn)){
+			condition.put("cn", cn);
+		}
+		if(cnCity != null && !"".equals(cnCity)){
+			condition.put("cnCity", cnCity);
+		}
+		if(place != null && !"".equals(place) && place>0){
+			condition.put("place", place);
+		}
+		Integer count = this.wifiSumService.queryWifiSumCountByCondition(condition);
+		Pager pager = new Pager();
+		pager.setPage(page);
+		pager.setTotalRow(count);
+		condition.put("pager", pager);
+		List<WifiSum> wifiSumList = this.wifiSumService.queryWifiSumByCondition(condition);
+		model.addAttribute("pager", pager);
+		model.addAttribute("wifiSumList", wifiSumList);
+		return page("wifiSum");
+	}
 }

+ 2 - 2
src/main/resources/application.properties

@@ -5,8 +5,8 @@ global.encoding=UTF-8
 #database setting
 jdbc.driver=com.mysql.jdbc.Driver
 jdbc.username=ssp_test
-jdbc.password=1q2w3e4r
-jdbc.url=jdbc:mysql://test.dc.loc:3306/ssp?useUnicode=true&amp;characterEncoding=UTF-8
+jdbc.password=1234qwer
+jdbc.url=jdbc:mysql://122.144.134.135:3306/ssp?useUnicode=true&amp;characterEncoding=UTF-8
 
 #mail server setting
 mail.server=smtp.163.com

+ 0 - 0
src/main/webapp/WEB-INF/pages/back/main/ap/apmac/wifiSum.ftl