From 991e6e3da063c07c47f1cb951bc08a22fda588ed Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Thu, 29 Aug 2019 09:55:32 +0800
Subject: [PATCH] 站点排名

---
 src/main/java/com/moral/mapper/AccountMapper.java              |    1 
 src/main/java/com/moral/service/impl/AccountServiceImpl.java   |    7 +++
 src/main/java/com/moral/service/HistoryService.java            |    2 +
 src/main/java/com/moral/mapper/OrganizationRelationMapper.java |    9 ++++
 src/main/java/com/moral/service/impl/HistoryServiceImpl.java   |   38 +++++++++++++++++++
 src/main/resources/mapper/OrganizationRelationMapper.xml       |   12 ++++++
 src/main/java/com/moral/controller/MobileController.java       |   15 +++++++
 src/main/resources/mapper/AccountMapper.xml                    |    6 +++
 src/main/java/com/moral/service/AccountService.java            |    2 +
 9 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java
index 69d12d8..7ce2738 100644
--- a/src/main/java/com/moral/controller/MobileController.java
+++ b/src/main/java/com/moral/controller/MobileController.java
@@ -356,5 +356,20 @@
 		ResultBean resultBean = new ResultBean(parameters);
 		return resultBean;
 	}
+	
+	@GetMapping("mointorPointRank")
+	@ApiOperation(value = "������������������", notes = "������������������")
+	@ApiImplicitParams(value = {
+			@ApiImplicitParam(name = "accountId", value = "������id", required = true, paramType = "query", dataType = "String")
+	})
+	public ResultBean<Map<String, Object>> getMointorPointRank(HttpServletRequest request){
+		Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+		String id = parameters.get("accountId").toString();
+		Map<String, Object> account = accountService.getOrganizationIdByAccountId(id);
+		//������������id������������������������������
+		System.out.println(account);
+		historyService.getMointorPointRankByOrganizationId(account);
+		return new ResultBean<Map<String, Object>>(account);
+	}
 
 }
diff --git a/src/main/java/com/moral/mapper/AccountMapper.java b/src/main/java/com/moral/mapper/AccountMapper.java
index c3a65b1..4bb4c92 100644
--- a/src/main/java/com/moral/mapper/AccountMapper.java
+++ b/src/main/java/com/moral/mapper/AccountMapper.java
@@ -9,4 +9,5 @@
 public interface AccountMapper extends BaseMapper<Account> {
 	List<Map<String, Object>> getRoleNameByAccountId(Integer accountId);
 	Account getByAccountName(String name);
+	Map<String, Object> getOrganizationIdByAccountId(Integer accountId);
 }
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/OrganizationRelationMapper.java b/src/main/java/com/moral/mapper/OrganizationRelationMapper.java
index d72c0aa..801d2f1 100644
--- a/src/main/java/com/moral/mapper/OrganizationRelationMapper.java
+++ b/src/main/java/com/moral/mapper/OrganizationRelationMapper.java
@@ -1,7 +1,16 @@
 package com.moral.mapper;
 
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Param;
+
+
 import com.moral.common.mapper.BaseMapper;
 import com.moral.entity.OrganizationRelation;
 
 public interface OrganizationRelationMapper extends BaseMapper<OrganizationRelation> {
+	
+	List<Map<String, Object>> getChildIdByParentId(@Param("parentIdList") List<Object> parentIdList);
+	
 }
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/AccountService.java b/src/main/java/com/moral/service/AccountService.java
index 5ac31a0..e93747f 100644
--- a/src/main/java/com/moral/service/AccountService.java
+++ b/src/main/java/com/moral/service/AccountService.java
@@ -28,4 +28,6 @@
 	Optional<Account> queryAccountByName(String accountName);
 
 	Account companyLogin(Map<String, Object> parameters);
+	
+	Map<String, Object> getOrganizationIdByAccountId(String id);
 }
diff --git a/src/main/java/com/moral/service/HistoryService.java b/src/main/java/com/moral/service/HistoryService.java
index fafef75..b619064 100644
--- a/src/main/java/com/moral/service/HistoryService.java
+++ b/src/main/java/com/moral/service/HistoryService.java
@@ -24,5 +24,7 @@
 	Map<String, Object> getSensorUnitByDeviceMac(Map<String, Object> parameters);
 	
 	Map<String, Object> gitHourlyAQIByMacAndTimeslot(Map<String, Object> parameters);
+	
+	Map<String, Object> getMointorPointRankByOrganizationId(Map<String, Object> parameters);
 
 }
diff --git a/src/main/java/com/moral/service/impl/AccountServiceImpl.java b/src/main/java/com/moral/service/impl/AccountServiceImpl.java
index 243ac98..a3c53db 100644
--- a/src/main/java/com/moral/service/impl/AccountServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AccountServiceImpl.java
@@ -199,4 +199,11 @@
 		account.setPassword(parameters.get("password").toString());
 		return account;
 	}
+
+	@Override
+	public Map<String, Object> getOrganizationIdByAccountId(String id) {
+		Integer accountId = Integer.parseInt(id);
+		Map<String, Object> map = accountMapper.getOrganizationIdByAccountId(accountId);
+		return map;
+	}
 }
diff --git a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
index 6628fe1..2b23155 100644
--- a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
@@ -33,6 +33,7 @@
 import com.moral.entity.Sensor;
 import com.moral.mapper.DeviceMapper;
 import com.moral.mapper.HistoryMapper;
+import com.moral.mapper.OrganizationRelationMapper;
 import com.moral.mapper.SensorMapper;
 import com.moral.mapper.SensorUnitMapper;
 import com.moral.service.AccountService;
@@ -57,6 +58,9 @@
 
     @Resource
     private ProfessionService professionService;
+    
+    @Resource
+    private OrganizationRelationMapper organizationRelationMapper;
 
 	@Override
 	public Map<String, Object> getAllSensorAverageByDevice(Map<String, Object> parameters) throws Exception {
@@ -376,4 +380,38 @@
 		
 		return returnMap;
 	}
+
+	@Override
+	public Map<String, Object> getMointorPointRankByOrganizationId(Map<String, Object> parameters) {
+		//������������id
+		String organizationId = parameters.get("organization_id").toString();
+		//������������������������������������������������������id
+		List<Object> organizationIdList = new ArrayList<>();
+		organizationIdList.add(organizationId);
+		//���������������������������������id
+		List<Object> parentIdList = new ArrayList<>();
+		parentIdList.add(organizationId);
+		
+		//������������
+		for(int i=0;i<10;i++) {
+			if(!parentIdList.isEmpty()) {
+				//������������������������������
+				System.out.println("parentIdList:"+parentIdList);
+				List<Map<String, Object>> childIdList = organizationRelationMapper.getChildIdByParentId(parentIdList);
+				//���������������id������
+				parentIdList.clear();
+				System.out.println("childIdList:"+childIdList);
+				//������������id������������������
+				for (Map<String, Object> map : childIdList) {
+					organizationIdList.add(map.get("child_id"));
+					parentIdList.add(map.get("child_id"));
+				}
+			}else {
+				break;
+			}
+		}
+		System.out.println(organizationIdList);
+		
+		return null;
+	}
 }
diff --git a/src/main/resources/mapper/AccountMapper.xml b/src/main/resources/mapper/AccountMapper.xml
index 715d8f4..8a19033 100644
--- a/src/main/resources/mapper/AccountMapper.xml
+++ b/src/main/resources/mapper/AccountMapper.xml
@@ -39,4 +39,10 @@
 			ar.role_id = r.id
 		AND ar.account_id = #{accountId}
 	</select>
+	
+	<select id="getOrganizationIdByAccountId" resultType="java.util.Map">
+		SELECT organization_id
+		FROM account
+		WHERE id=#{id}
+	</select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/OrganizationRelationMapper.xml b/src/main/resources/mapper/OrganizationRelationMapper.xml
new file mode 100644
index 0000000..d5159c4
--- /dev/null
+++ b/src/main/resources/mapper/OrganizationRelationMapper.xml
@@ -0,0 +1,12 @@
+<?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="com.moral.mapper.OrganizationRelationMapper">
+	<select id="getChildIdByParentId" resultType="java.util.Map">
+		SELECT child_id
+		FROM organization_relation
+		WHERE parent_id IN 
+			<foreach collection="parentIdList" index="index" item="parentId" open="(" separator="," close=")">  
+            	#{parentId}  
+        	</foreach>
+	</select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0