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