From 9e74359927be420258b454e8914d7cf4f6a11bf9 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Wed, 28 Feb 2018 16:26:10 +0800
Subject: [PATCH] test

---
 src/main/java/com/moral/monitor/controller/ApiController.java |  220 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 187 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/moral/monitor/controller/ApiController.java b/src/main/java/com/moral/monitor/controller/ApiController.java
index ef4e3ad..196d33e 100644
--- a/src/main/java/com/moral/monitor/controller/ApiController.java
+++ b/src/main/java/com/moral/monitor/controller/ApiController.java
@@ -1,28 +1,49 @@
 package com.moral.monitor.controller;
 
-import com.moral.monitor.entity.Equipment;
-import com.moral.monitor.entity.User;
-import com.moral.monitor.entity.apientity.*;
-import com.moral.monitor.listener.message.Captcha;
-import com.moral.monitor.service.ApiService;
-import com.moral.monitor.util.ApiData;
-import com.moral.monitor.util.Crypto;
-import com.moral.monitor.util.DateConvert;
-import com.taobao.api.ApiException;
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.CrossOrigin;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
+import com.alibaba.fastjson.JSON;
+import com.moral.monitor.entity.Equipment;
+import com.moral.monitor.entity.EquipmentExample;
+import com.moral.monitor.entity.MonitorPoint;
+import com.moral.monitor.entity.MonitorPointExample;
+import com.moral.monitor.entity.Organization;
+import com.moral.monitor.entity.OrganizationExample;
+import com.moral.monitor.entity.User;
+import com.moral.monitor.entity.apientity.ApiEquipment;
+import com.moral.monitor.entity.apientity.ApiEquipmentInfo;
+import com.moral.monitor.entity.apientity.ApiUser;
+import com.moral.monitor.entity.apientity.RepairQuery;
+import com.moral.monitor.entity.apientity.Report;
+import com.moral.monitor.listener.message.Captcha;
+import com.moral.monitor.service.ApiService;
+import com.moral.monitor.service.EquipmentService;
+import com.moral.monitor.service.MonitorpointService;
+import com.moral.monitor.service.OrganizationService;
+import com.moral.monitor.util.ApiData;
+import com.moral.monitor.util.Crypto;
+import com.moral.monitor.util.DateConvert;
+import com.taobao.api.ApiException;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 
 /**
  * Created by a on 2017/4/24.
@@ -30,9 +51,9 @@
 @Controller
 @CrossOrigin(origins = "*", maxAge = 3600)
 public class ApiController {
+	private static Logger log = Logger.getLogger(ApiController.class);
     @Resource
     ApiService apiService;
-
     //11������������
     @RequestMapping(value = "reportDevice")
     @ResponseBody
@@ -42,14 +63,10 @@
                              @RequestParam(value ="address")  String address,
                              @RequestParam(value ="longitude")  String longitude,
                              @RequestParam(value ="latitude")  String latitude,
-                             @RequestParam(value ="mac")  String mac ){
-
-        try {
-            request.setCharacterEncoding("UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        }
-
+                             @RequestParam(value ="mac")  String mac,
+                             @RequestParam(value ="monitorpoint")  String monitorpoint,
+                             @RequestParam(value ="ownerId")  String ownerId
+                             ){
         //������������������������������
         ApiData apiData = new ApiData();
         if(StringUtils.isBlank(mac)){
@@ -58,26 +75,66 @@
             apiData.setErrno(0);
             return apiData;
         }
-
         if (StringUtils.isBlank(longitude)){ longitude="0"; }
         if (StringUtils.isBlank(latitude)) { latitude="0"; }
-
-        Equipment equipment = apiService.selectFromequipmentBymac(mac);
-        if (equipment==null){ //������
-            apiService.insertIntoequipment(device_name,address,longitude,latitude,uid,mac);
+    	Equipment equipment =new Equipment();
+    	equipment.setInstaller(uid);
+    	equipment.setName(device_name);
+    	equipment.setAddress(address);
+    	equipment.setLongitude(Double.valueOf(longitude));
+    	equipment.setLatitude(Double.valueOf(latitude));
+    	equipment.setMac(mac);
+    	equipment.setMonitorpoint(monitorpoint);
+    	equipment.setOwnerId(ownerId);
+    	//������������
+    	equipment.setTime(new Date());
+          EquipmentExample example = new EquipmentExample();
+          example.or().andMacEqualTo(mac);
+          long count = equipmentService.queryCountByExample(example);
+          
+        if (count==0){ //������
+        	equipmentService.insertRecord(equipment);
             apiData.setData("");
             apiData.setMessage("������������������");
             apiData.setErrno(0);
         } else { //������
             apiService.updateFromequipmentBymac(device_name, address, longitude, latitude, uid, mac);
             apiData.setData("");
+            equipmentService.updateByMac(equipment);
             apiData.setMessage("������������������");
             apiData.setErrno(0);
+
+            /////////////////////////////////////////////////////////
+            // ������ - ������������������������
+            updateLocation(device_name, address, mac, longitude, latitude);
+            /////////////////////////////////////////////////////////
         }
         return apiData;
     }
 
-
+    public void updateLocation(String device, String address, String mac, String lng, String lat) {
+        Connection conn = null;
+        String sql;
+        String url = "jdbc:mysql://47.96.19.115:3306/monitor_db?characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&user=root&password=xOlx8z9L7Pt6y9YI";
+        try {
+            Class.forName("com.mysql.jdbc.Driver");
+            conn = DriverManager.getConnection(url);
+            Statement stmt = conn.createStatement();
+            sql = "UPDATE device SET `name`='" + device + "', address='" + address + "', longitude='" + lng + "', latitude='" + lat + "' WHERE mac='" + mac + "'";
+            int result = stmt.executeUpdate(sql);
+            System.out.println("Update the location of the equipment: " + result);
+        } catch (SQLException e) {
+            e.printStackTrace();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                conn.close();
+            } catch (SQLException e) {
+                e.printStackTrace();
+            }
+        }
+    }
 
     //1������
     @RequestMapping(value = "accountlogin")
@@ -275,7 +332,7 @@
             ae.setDevice_name(e.getName());
             ae.setMac(e.getMac());
             ae.setStatus(e.getState());
-            ae.setFei(e.getFei());
+//            ae.setFei(e.get);
            // ae.setCreate_time(DateConvert.dateConvert(e.getTime()));
             apiEquipments.add(ae);
 
@@ -330,7 +387,7 @@
             ae.setDevice_name(e.getName());
             ae.setMac(e.getMac());
             ae.setStatus(e.getState());
-            ae.setFei(e.getFei());
+//            ae.setFei(e.getFei());
             ae.setCreate_time(DateConvert.dateConvert(e.getTime()));
             apiEquipments.add(ae);
 
@@ -458,5 +515,102 @@
         apiData.setData(s);
         return apiData;
     }
+    @Resource
+    private EquipmentService equipmentService;
+    //11���������mac������������������������������������������������
+    @RequestMapping(value = "getEquInfoByMac")
+    @ResponseBody 
+    public ApiData getEquInfoByMac(String mac) {
+    	ApiData apiData = new ApiData();
+    	try {
+        	if(!StringUtils.isEmpty(mac)) {
+        		EquipmentExample example =	new EquipmentExample();
+        		example.or().andMacEqualTo(mac);
+        		List<Equipment> equList = equipmentService.queryListByExample(example);
+        		if(equList!=null&&equList.size()>0) {
+        			Equipment equipment = equList.get(0);
+        			apiData.setErrno(0);
+        			apiData.setMessage("������mac������������������������������");
+        			apiData.setData(JSON.toJSONString(equipment));
+        		}else {
+        			apiData.setErrno(0);
+        			apiData.setMessage("������mac������������������������������");
+        			apiData.setData(null);
+        		}
+        	}else {
+    			apiData.setErrno(0);
+    			apiData.setMessage("mac������������������");
+    			apiData.setData(null);
+        	}
+		} catch (Exception e) {
+			e.printStackTrace();
+			log.error(e);
+		}
+    	return apiData;
+    }
+    @Resource
+    private MonitorpointService monitorpointService;
+    //12���������������������������������������������������������
+    @RequestMapping(value = "getMpointsByAreaName")
+    @ResponseBody 
+    public ApiData getMpointsByAreaName(String areaName) {
+    	ApiData apiData = new ApiData();
+    	try {
+        	if(!StringUtils.isEmpty(areaName)) {
+        		MonitorPointExample example =	new MonitorPointExample();
+//        		example.or().andTbAreaNameEqualTo(areaName);
+        		List<MonitorPoint> list = monitorpointService.queryListByExample(example);
+        		if(list!=null&&list.size()>0) {
+        			apiData.setErrno(0);
+        			apiData.setMessage("���������������(������������)������������������������");
+        			apiData.setData(JSON.toJSONString(list));
+        		}else {
+        			apiData.setErrno(0);
+        			apiData.setMessage("������������(������������)������������������");
+        			apiData.setData(null);
+        		}
+        	}else {
+    			apiData.setErrno(0);
+    			apiData.setMessage("���������(������������)������������������");
+    			apiData.setData(null);
+        	}
+		} catch (Exception e) {
+			e.printStackTrace();
+			log.error(e);
+		}
+    	return apiData;
+    }
+    @Resource
+    OrganizationService organizationService;
+    //13������������������������������������������������������
+    @RequestMapping(value = "getOrgsByAreaName")
+    @ResponseBody 
+    public ApiData getOrgsByAreaName(String areaName) {
+    	ApiData apiData = new ApiData();
+    	try {
+        	if(!StringUtils.isEmpty(areaName)) {
+        		OrganizationExample example =	new OrganizationExample();
+        		example.or().andTbAreaNameEqualTo(areaName).andEnableEqualTo(1);
+        		List<Organization> list = organizationService.queryListByExample(example);
+        		if(list!=null&&list.size()>0) {
+        			apiData.setErrno(0);
+        			apiData.setMessage("������������(������������)������������������������");
+        			apiData.setData(JSON.toJSONString(list));
+        		}else {
+        			apiData.setErrno(0);
+        			apiData.setMessage("������������(������������)���������������������");
+        			apiData.setData(null);
+        		}
+        	}else {
+    			apiData.setErrno(0);
+    			apiData.setMessage("���������(������������)������������������");
+    			apiData.setData(null);
+        	}
+		} catch (Exception e) {
+			e.printStackTrace();
+			log.error(e);
+		}
+    	return apiData;
+    }
 }
 

--
Gitblit v1.8.0