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