From dfd8993cd8a3756952db49545e6a45eb33ebdbb0 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 21 Sep 2017 10:31:48 +0800
Subject: [PATCH] 第一次

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

diff --git a/src/main/java/com/moral/monitor/controller/ApiController.java b/src/main/java/com/moral/monitor/controller/ApiController.java
new file mode 100644
index 0000000..a57ad4b
--- /dev/null
+++ b/src/main/java/com/moral/monitor/controller/ApiController.java
@@ -0,0 +1,478 @@
+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.DateConvert;
+import com.taobao.api.ApiException;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import org.apache.commons.lang3.StringUtils;
+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;
+
+/**
+ * Created by a on 2017/4/24.
+ */
+@Controller
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class ApiController {
+    @Resource
+    ApiService apiService;
+
+    //11������������
+    @RequestMapping(value = "reportDevice")
+    @ResponseBody
+    public ApiData reportDevice(HttpServletRequest request ,
+                             @RequestParam(value ="uid") String uid,
+                             @RequestParam(value ="device_name")  String device_name,
+                             @RequestParam(value ="address")  String address,
+                             @RequestParam(value ="longitude")  String longitude,
+                             @RequestParam(value ="latitude")  String latitude,
+                             @RequestParam(value ="mac")  String mac ){
+
+        try {
+        	System.out.println("");
+        	System.out.println("");
+        	System.out.println("");
+            request.setCharacterEncoding("UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        //������������������������������
+        ApiData apiData = new ApiData();
+        if(StringUtils.isBlank(mac)){
+            apiData.setData("");
+            apiData.setMessage("MAC������������");
+            apiData.setErrno(0);
+            return apiData;
+        }
+
+
+
+        Equipment equipment = apiService.selectFromequipmentBymac(mac);
+        if (equipment==null){
+            if (StringUtils.isBlank(longitude)){ longitude="0"; }
+            if (StringUtils.isBlank(latitude)) { latitude="0"; }
+            //������
+            apiService.insertIntoequipment(device_name,address,longitude,latitude,uid,mac);
+            apiData.setData("");
+            apiData.setMessage("������������������");
+            apiData.setErrno(0);
+            return apiData;
+
+        }
+
+
+
+        //������
+        if (!StringUtils.isBlank(mac)) {
+
+            if (StringUtils.isBlank(longitude)){ longitude="0"; }
+            if (StringUtils.isBlank(latitude)) { latitude="0"; }
+
+            apiService.updateFromequipmentBymac(device_name, address, longitude, latitude, uid, mac);
+            apiData.setData("");
+            apiData.setMessage("������������������");
+            apiData.setErrno(0);
+            return apiData;
+        }
+
+            return null;
+    }
+
+
+
+    //1������
+    @RequestMapping(value = "accountlogin")
+    @ResponseBody
+    public ApiData login(String username, String password ){
+
+        ApiData apiData = new ApiData();
+
+        //������������
+        User user = apiService.selectFromuserBynameAndpassword(username, password);//username���mobile
+        if (user==null){
+                apiData.setErrno(1);
+                apiData.setMessage("������������������������������������");
+                apiData.setData("{}");
+                return apiData;
+
+        }else {
+            ApiUser apiUser = new ApiUser();
+
+             apiUser.setUid(user.getId());
+             apiUser.setUsername(user.getName());
+             apiUser.setOrganization_name(user.getOrganization());
+             apiUser.setEmail(user.getEmail());
+             apiUser.setWeixin(user.getWeixin());
+             apiUser.setTel(user.getMobile());
+             apiUser.setUser_type(user.getUser_type());
+             apiUser.setCreate_time(DateConvert.dateConvert(user.getCreate_time()));
+             apiUser.setNickname(user.getNickname());
+
+             JSONObject json = JSONObject.fromObject(apiUser);
+             String strJson=json.toString();
+
+             apiData.setErrno(0);
+             apiData.setMessage("������������������");
+             apiData.setData(strJson);
+             return apiData;
+
+        }
+
+    }
+
+
+
+    //2������������������������
+    @RequestMapping(value = "sendSms")
+    @ResponseBody
+    public ApiData sendSms(String mobile){
+        ApiData apiData = new ApiData();
+
+        if (StringUtils.isBlank(mobile)){
+            apiData.setErrno(1);
+            apiData.setMessage("������������������������");
+            apiData.setData("{}");
+            return  apiData;
+        }
+
+        //������mobile ������������
+        User user = apiService.selectFromUserBymobile(mobile);
+        if (user==null){
+            apiData.setErrno(1);
+            apiData.setMessage("���������������������������");
+            apiData.setData("{}");
+            return  apiData;
+        }
+
+        //���������������
+        int code = (int) ((Math.random() * 9 + 1) * 100000);
+        //���������������
+        apiService.updateusercode(mobile,String.valueOf(code));
+        //���������������
+        try {
+            int state = Captcha.captcha(mobile,String.valueOf(code));
+            if(state==0){
+                apiData.setErrno(0);
+                apiData.setMessage("���������������������");
+                apiData.setData("{}");
+                return  apiData;
+
+            }
+
+            if(state==1){
+                apiData.setErrno(1);
+                apiData.setMessage("���������������������");
+                apiData.setData("{}");
+                return  apiData;
+
+            }
+
+        } catch (ApiException e) {
+            e.printStackTrace();
+
+        }
+
+        return null;
+    }
+
+
+    //3������������������������������
+    @RequestMapping(value = "password")
+    @ResponseBody
+    public ApiData password(String username,String password,String code){//username-->mobile
+        ApiData apiData = new ApiData();
+
+        if (StringUtils.isBlank(code)){
+            apiData.setErrno(1);
+            apiData.setMessage("������������������������������������������");
+            apiData.setData("{}");
+            return  apiData;
+        }
+
+        //������mobile ������������
+        User user = apiService.selectFromUserBymobile(username);
+        if (user==null){
+            apiData.setErrno(1);
+            apiData.setMessage("������������������������������������������������");
+            apiData.setData("{}");
+            return  apiData;
+        }
+
+        if (user.getCode().equals(code)){
+            apiService.updateuserByid(password,String.valueOf(user.getId()));
+            apiData.setErrno(0);
+            apiData.setMessage("������������������");
+            apiData.setData("{}");
+
+            int rcode = (int) ((Math.random() * 9 + 1) * 100000);
+            apiService.updateusercode(username,String.valueOf(rcode));
+
+            return  apiData;
+        }else {
+            apiData.setErrno(1);
+            apiData.setMessage("������������������������");
+            apiData.setData("{}");
+            return  apiData;
+        }
+
+    }
+
+
+
+
+    //4������������
+    @RequestMapping(value = "upPassword")
+    @ResponseBody
+    public ApiData upPassword(String uid,String password,String newpassword){
+        ApiData apiData = new ApiData();
+        //������uid ��� password ������������
+        User user = apiService.selectFromuserByidAndpassword(uid, password);
+        JSONObject jsonObject = JSONObject.fromObject(user);
+        String s = jsonObject.toString();
+
+        if (user!=null){
+            //������password������
+            apiService.updateuserByid(newpassword,uid);
+            apiData.setErrno(0);
+            apiData.setMessage("������������������");
+            apiData.setData(s);
+            return apiData;
+        }
+
+
+        apiData.setMessage("���������������������������������");
+        apiData.setData(s);
+        apiData.setErrno(1);
+
+        return apiData;
+    }
+
+
+    //5������������������(������)
+    @RequestMapping(value = "myRelease")
+    @ResponseBody
+    public ApiData myRelease(String uid,String pageIndex,String pageSize){
+        ApiData apiData = new ApiData();
+
+        int pindex=Integer.parseInt(pageIndex);
+        int psize=Integer.parseInt(pageSize);
+        int index =(pindex-1)*psize;
+        List<Equipment> equipments = apiService.selectFromequipmentByinstaller(uid,index,psize);
+
+        if (equipments.size()==0){
+            JSONArray jsonArray1 = JSONArray.fromObject(equipments);
+            String s1 = jsonArray1.toString();
+            apiData.setData(s1);
+            apiData.setMessage("������������������������������������");
+            apiData.setErrno(0);
+            return apiData;
+        }
+
+        ArrayList<ApiEquipment> apiEquipments = new ArrayList<ApiEquipment>();
+
+        for(Equipment e: equipments){
+            ApiEquipment ae = new ApiEquipment();
+            ae.setId(e.getId());
+            ae.setDevice_name(e.getName());
+            ae.setMac(e.getMac());
+            ae.setStatus(e.getState());
+            ae.setFei(e.getFei());
+           // ae.setCreate_time(DateConvert.dateConvert(e.getTime()));
+            apiEquipments.add(ae);
+
+        }
+
+        JSONArray jsonArray = JSONArray.fromObject(apiEquipments);
+        String s = jsonArray.toString();
+
+        apiData.setData(s);
+        apiData.setMessage("���������������������");
+        apiData.setErrno(0);
+
+        return apiData;
+    }
+
+
+
+
+
+    //6������������������������������������ ���    ���������������
+    @RequestMapping(value = "myRepair")
+    @ResponseBody
+    public ApiData myRepair(RepairQuery repairQuery ){
+        ApiData apiData = new ApiData();
+
+       /* int index=Integer.parseInt(pageIndex);
+        int size=Integer.parseInt(pageSize);
+        int t=Integer.parseInt(type);*/
+
+        int pageIndex = repairQuery.getPageIndex();
+        int pageSize = repairQuery.getPageSize();
+        int index=(pageIndex-1)*pageSize;
+        repairQuery.setPageIndex(index);
+
+
+        List<Equipment> equipments = apiService.selectFromequipmentByrepairman(repairQuery);
+
+        if (equipments.size()==0){
+            JSONArray jsonArray = JSONArray.fromObject(equipments);
+            String s = jsonArray.toString();
+            apiData.setData(s);
+            apiData.setMessage("������������������������������������");
+            apiData.setErrno(0);
+            return apiData;
+        }
+
+        ArrayList<ApiEquipment> apiEquipments = new ArrayList<ApiEquipment>();
+
+        for(Equipment e: equipments){
+            ApiEquipment ae = new ApiEquipment();
+            ae.setId(e.getId());
+            ae.setDevice_name(e.getName());
+            ae.setMac(e.getMac());
+            ae.setStatus(e.getState());
+            ae.setFei(e.getFei());
+            ae.setCreate_time(DateConvert.dateConvert(e.getTime()));
+            apiEquipments.add(ae);
+
+        }
+
+        JSONArray jsonArray = JSONArray.fromObject(apiEquipments);
+        String s = jsonArray.toString();
+
+        apiData.setData(s);
+        apiData.setMessage("���������������������");
+        apiData.setErrno(0);
+
+        return apiData;
+    }
+
+
+
+    //7���������������������������
+
+
+    //8���������������,���������������������������������
+    @RequestMapping(value = "deviceInfo")
+    @ResponseBody
+    public ApiData deviceInfo(String id){
+        ApiData apiData = new ApiData();
+        ApiEquipmentInfo apiEquipmentInfo = new ApiEquipmentInfo();
+
+        Equipment equipment = apiService.selectFromequipmentByid(id);
+
+
+        if (equipment==null){
+            JSONObject json = JSONObject.fromObject(equipment);
+            String strJson=json.toString();
+
+            apiData.setErrno(0);
+            apiData.setMessage("������������������������");
+            apiData.setData(strJson);
+            return apiData;
+
+        }
+
+        apiEquipmentInfo.setId(equipment.getId());
+        apiEquipmentInfo.setDevice_name(equipment.getName());
+        apiEquipmentInfo.setAddress(equipment.getAddress());
+        apiEquipmentInfo.setMac(equipment.getMac());
+        apiEquipmentInfo.setLongitude(String.valueOf(equipment.getLongitude()));
+        apiEquipmentInfo.setLatitude(String.valueOf(equipment.getLatitude()));
+        apiEquipmentInfo.setCreate_time(DateConvert.dateConvert(equipment.getTime()));
+        apiEquipmentInfo.setStatus(equipment.getState());
+
+
+        String installer = equipment.getInstaller();
+        if (!(installer==null||StringUtils.isBlank(installer))){
+            //������id������User���
+            User user = apiService.selectFromuserByid(installer);
+            if (user!=null){
+                apiEquipmentInfo.setRelease_uid(String.valueOf(user.getId()));
+                apiEquipmentInfo.setRelease_name(user.getName());
+            }
+        }
+
+        String repairman = equipment.getRepairman();
+        if(!(repairman==null||StringUtils.isBlank(repairman))){
+            User user = apiService.selectFromuserByid(repairman);
+            if (user!=null){
+                apiEquipmentInfo.setRepair_uid(String.valueOf(user.getId()));
+                apiEquipmentInfo.setRepair_name(user.getName());
+            }
+        }
+
+
+        JSONObject json = JSONObject.fromObject(apiEquipmentInfo);
+        String strJson=json.toString();
+        apiData.setErrno(0);
+        apiData.setData(strJson);
+        apiData.setMessage("������������������������");
+
+        return apiData;
+    }
+
+    //9������������������
+    @RequestMapping(value = "report")
+    @ResponseBody
+    public ApiData report(String uid,String device_mac,String device_name,String device_status,String device_ext,String device_data1,String device_data2){
+        ApiData apiData = new ApiData();
+
+        if(StringUtils.isBlank(uid)||StringUtils.isBlank(device_mac)){
+            apiData.setErrno(0);
+            apiData.setMessage("������������������������������������������������������������");
+            apiData.setData("");
+            return apiData;
+        }
+        apiData.setErrno(0);
+        apiData.setMessage("���������������������");
+        apiData.setData("");
+        apiService.insertIntoreport(uid, device_mac, device_name, device_status, device_ext, device_data1, device_data2);
+        return apiData;
+    }
+
+
+    //10���������������������������
+    @RequestMapping(value = "reportList")
+    @ResponseBody
+    public ApiData reportList(String uid,String pageIndex,String pageSize){
+        ApiData apiData = new ApiData();
+
+        int pindex=Integer.parseInt(pageIndex);
+        int psize=Integer.parseInt(pageSize);
+        int index =(pindex-1)*psize;
+
+        List<Report> reports = apiService.selectAllfromreportByrepaiman(uid,index,psize);
+        for (Report r: reports){
+            String create_time = r.getCreate_time();
+            if (create_time!=null){
+                String substring = create_time.substring(0, create_time.lastIndexOf("."));
+                r.setCreate_time(substring);
+
+            }
+        }
+
+        JSONArray jsonArray = JSONArray.fromObject(reports);
+        String s = jsonArray.toString();
+        apiData.setErrno(0);
+        apiData.setMessage("������������������������");
+        apiData.setData(s);
+        return apiData;
+    }
+}
+

--
Gitblit v1.8.0