From b95fd235f28073131ffc4b9417219bdd576d3c7c Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 16 Jul 2018 15:26:49 +0800
Subject: [PATCH] 大屏登录 返回地址信息,超级管理员组织,返回 中国
---
src/main/java/com/moral/controller/MobileController.java | 310 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 278 insertions(+), 32 deletions(-)
diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java
index 8fcf666..a15ddaf 100644
--- a/src/main/java/com/moral/controller/MobileController.java
+++ b/src/main/java/com/moral/controller/MobileController.java
@@ -1,84 +1,330 @@
package com.moral.controller;
+import static com.moral.common.util.WebUtils.getParametersStartingWith;
+
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.cglib.beans.BeanMap;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import com.moral.common.bean.AppData;
import com.moral.common.bean.ResultBean;
+import com.moral.common.util.Crypto;
+import com.moral.entity.Account;
import com.moral.entity.Device;
import com.moral.entity.MonitorPoint;
import com.moral.entity.OperateUser;
import com.moral.entity.Organization;
+import com.moral.entity.Profession;
+import com.moral.entity.adapter.EquDeviceAdapter;
+import com.moral.service.AccountService;
import com.moral.service.DeviceService;
+import com.moral.service.HistoryService;
import com.moral.service.MonitorPointService;
import com.moral.service.OperateUserService;
import com.moral.service.OrganizationService;
+import com.moral.service.ProfessionService;
+import com.moral.util.MessageUtils;
+import com.taobao.api.ApiException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * The Class MobileController.
+ */
@RestController
-@RequestMapping(value = "mobile")
+@RequestMapping("mobile")
@CrossOrigin(origins = "*", maxAge = 3600)
+@Api(tags = "Mobile", description = "APP������")
public class MobileController {
+ /** The operate user service. */
@Resource
private OperateUserService operateUserService;
+ /** The device service. */
@Resource
private DeviceService deviceService;
+ /** The organization service. */
@Resource
private OrganizationService organizationService;
+ /** The monitor point service. */
@Resource
private MonitorPointService monitorPointService;
- // 1������
- @GetMapping(value = "accountlogin")
- public ResultBean<OperateUser> mobileLogin(String username, String password) {
+ @Resource
+ private ProfessionService professionService;
+
+ @Resource
+ private AccountService accountService;
+
+ @Resource
+ private HistoryService historyService;
+
+ /**
+ * Mobile login.������
+ *
+ * @param username the username
+ * @param password the password
+ * @return the result bean
+ */
+ @RequestMapping("accountlogin")
+ public AppData<OperateUser> mobileLogin(String username, String password) {
OperateUser operateUser = operateUserService.mobileLogin(username,password);
- return new ResultBean<OperateUser>(operateUser);
+ return new AppData<OperateUser>(operateUser);
}
- // 4������������
- @GetMapping(value = "upPassword")
- public ResultBean<OperateUser> updatePassword(Integer uid, String password, String newpassword) {
+ /**
+ * Update password.������������
+ *
+ * @param uid the uid
+ * @param password the password
+ * @param newpassword the newpassword
+ * @return the result bean
+ */
+ @RequestMapping("upPassword")
+ public AppData<OperateUser> updatePassword(Integer uid, String password, String newpassword) {
OperateUser operateUser = operateUserService.updatePassword(uid,password,newpassword);
- return new ResultBean<OperateUser>(operateUser);
+ return new AppData<OperateUser>(operateUser);
+ }
+ /**
+ * ������ ������id ���������������������
+ */
+ @RequestMapping("deviceInfo")
+ public AppData<Device> deviceInfo(Integer id){
+ Device device = deviceService.queryById(id);
+ return new AppData<Device>(device);
+ }
+ /**
+ *
+ * @param equDeviceAdapter
+ * @return
+ */
+ @RequestMapping("reportDevice")
+ public AppData<String> installDevice(EquDeviceAdapter equDeviceAdapter) {
+ deviceService.addOrModify(equDeviceAdapter.toDevice());
+ return new AppData<String>("");
}
- // 11������������
- @GetMapping(value = "reportDevice")
- public ResultBean<String> installDevice(Device device) {
- deviceService.saveOrUpdateDevice(device);
- return new ResultBean<String>("");
+ /**
+ * Gets the install devices by operate user.������������
+ *
+ * @param uid the uid
+ * @param pageIndex the page index
+ * @param pageSize the page size
+ * @return the install devices by operate user
+ */
+ @RequestMapping("myRelease")
+ public AppData<List<Device>> getInstallDevicesByOperateUser(@RequestParam(value="uid", required=true)Integer uid,
+ @RequestParam(defaultValue="0")Integer pageIndex, @RequestParam(defaultValue="0")Integer pageSize) {
+ List<Device> devices = deviceService.getInstallDevicesByOperateUser(uid, pageIndex, pageSize);
+ return new AppData<List<Device>>(devices);
}
- // 5������������������(������)
- @GetMapping(value = "myRelease")
- public ResultBean<List<Device>> getInstallDevicesByOperateUser(Integer uid, Integer pageIndex, Integer pageSize) {
- List<Device> devices = deviceService.getInstallDevicesByOperateUser(uid,pageIndex,pageSize);
+ /**
+ * Gets the device by mac.
+ *
+ * @param mac the mac
+ * @return the device by mac
+ */
+ @RequestMapping("getEquInfoByMac")
+ public AppData<Map> getDeviceByMac(@RequestParam(value="mac", required=true)String mac) {
+ Device device = deviceService.getDeviceByMac(mac,false);//���������������
+ if(device!=null){
+ Map<String,Object> deviceMap = new HashMap<>(BeanMap.create(device));
+ deviceMap.put("monitorpointDetail",deviceMap.get("monitorPoint"));
+ deviceMap.remove("monitorPoint");
+ return new AppData<Map>(deviceMap);
+ }else{
+ return new AppData("mac���������������",AppData.FAIL);
+ }
+ }
+
+ /**
+ * Gets the monitor points by area name.
+ *
+ * @param request the area name
+ * @return the monitor points by area name
+ */
+ @RequestMapping("getMpointsByAreaName")
+ public AppData<List<MonitorPoint>> getMonitorPointsByAreaName(HttpServletRequest request) {
+ Map<String, Object> parameters = getParametersStartingWith(request, null);
+ List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByAreaName(parameters);
+ return new AppData<List<MonitorPoint>>(monitorPoints);
+ }
+
+ /**
+ * Gets the organizations by area name.
+ *
+ * @param request the area name
+ * @return the organizations by area name
+ */
+ @RequestMapping("getOrgsByAreaName")
+ public AppData<List<Organization>> getOrganizationsByAreaName(HttpServletRequest request) {
+ Map<String, Object> parameters = getParametersStartingWith(request, null);
+ List<Organization> organizations = organizationService.getOrganizationsByAreaName(parameters);
+ return new AppData<List<Organization>>(organizations);
+ }
+
+ /**
+ * Send SMS
+ *
+ * @param mobile
+ * @return
+ */
+ @RequestMapping("sendSms")
+ public AppData<String> sendSms(String mobile) {
+ AppData apiData = new AppData();
+
+ if (StringUtils.isBlank(mobile)){
+ apiData.setErrno(1);
+ apiData.setMessage("������������������������");
+ apiData.setData("{}");
+ return apiData;
+ }
+ OperateUser user = operateUserService.getOperateUserByMobile(mobile);
+ if (user==null){
+ apiData.setErrno(1);
+ apiData.setMessage("���������������������������");
+ apiData.setData("{}");
+ return apiData;
+ }
+ //���������������
+ int code = (int)((Math.random() * 9 + 1) * 100000);
+ user.setCode(String.valueOf(code));
+ operateUserService.updateOperateUser(user);
+
+ //���������������
+ try {
+ int state = MessageUtils.sendMsg(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 new AppData<String>("");
+ }
+
+ /**
+ *
+ * @param username
+ * @param password
+ * @param code
+ * @return
+ */
+ @RequestMapping("password")
+ public AppData<String> password(String username, String password, String code){
+ AppData apiData = new AppData();
+
+ if (StringUtils.isBlank(code)){
+ apiData.setErrno(1);
+ apiData.setMessage("������������������������������������������");
+ apiData.setData("{}");
+ return apiData;
+ }
+ OperateUser user = operateUserService.getOperateUserByMobile(username);
+ if (user==null){
+ apiData.setErrno(1);
+ apiData.setMessage("���������������������������");
+ apiData.setData("{}");
+ return apiData;
+ }
+ if (user.getCode().equals(code)){
+ user.setPassword(Crypto.md5(password));
+ int new_code = (int)((Math.random() * 9 + 1) * 100000);
+ user.setCode(String.valueOf(new_code));
+ operateUserService.updateOperateUser(user);
+
+ apiData.setErrno(0);
+ apiData.setMessage("������������������");
+ apiData.setData("{}");
+ return apiData;
+ } else {
+ apiData.setErrno(1);
+ apiData.setMessage("������������������������");
+ apiData.setData("{}");
+ return apiData;
+ }
+ }
+
+ @RequestMapping("profession")
+ public AppData<List<Profession>> profession(){
+
+ List<Profession> professions = professionService.getProfessiontList();
+ return new AppData<List<Profession>>(professions);
+ }
+
+ @GetMapping("login")
+ @ApiOperation(value = "������������������", notes = "������������������")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "account", value = "������", required = true, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "password", value = "������", required = true, paramType = "query", dataType = "String")
+ })
+ public ResultBean<Account> companyLogin(HttpServletRequest request){
+ Map<String, Object> parameters = getParametersStartingWith(request, null);
+ Account account = accountService.companyLogin(parameters);
+ return new ResultBean<Account>(account);
+ }
+
+ @GetMapping("devices")
+ @ApiOperation(value = "������������������")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "organizationId", value = "������Id", required = true, paramType = "query", dataType = "String"),
+ })
+ public ResultBean<List<Device>> getDevicesByOrganizationId(HttpServletRequest request){
+ Map<String, Object> parameters = getParametersStartingWith(request, null);
+ List<Device> devices = deviceService.getDevicesByOrganizationId(parameters);
return new ResultBean<List<Device>>(devices);
}
- @GetMapping(value = "getEquInfoByMac")
- public ResultBean<Device> getDeviceByMac(String mac) {
- Device device = deviceService.getDeviceByMac(mac);
- return new ResultBean<Device>(device);
+ @GetMapping("sensors")
+ @ApiOperation(value = "���������������������������")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "deviceVersionId", value = "������������Id", required = true, paramType = "query", dataType = "int"),
+ @ApiImplicitParam(name = "mac", value = "������mac", required = true, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "deviceId", value = "������id", required = true, paramType = "query", dataType = "int"),
+ })
+ public ResultBean<List<Map<String, Object>>> getSensorsDataByDevice(HttpServletRequest request){
+ Map<String, Object> parameters = getParametersStartingWith(request, null);
+ List<Map<String, Object>> sensors = historyService.getSensorsDataByDevice(parameters);
+ return new ResultBean<List<Map<String, Object>>>(sensors);
}
- @GetMapping(value = "getMpointsByAreaName")
- public ResultBean<List<MonitorPoint>> getMonitorPointsByAreaName(String areaName) {
- List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByAreaName(areaName);
- return new ResultBean<List<MonitorPoint>>(monitorPoints);
- }
-
- @GetMapping(value = "getOrgsByAreaName")
- public ResultBean<List<Organization>> getOrganizationsByAreaName(String areaName) {
- List<Organization> organizations = organizationService.getOrganizationsByAreaName(areaName);
- return new ResultBean<List<Organization>>(organizations);
+ @GetMapping("sensor")
+ @ApiOperation(value = "���������������������������")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "mac", value = "������mac", required = true, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "size", value = "������������������", required = true, paramType = "query", dataType = "int"),
+ })
+ public ResultBean<List<Map<String, Object>>> getSensorDataBySensorKey(HttpServletRequest request){
+ Map<String, Object> parameters = getParametersStartingWith(request, null);
+ List<Map<String, Object>> sensors = historyService.getSensorDataBySensorKey(parameters);
+ return new ResultBean<List<Map<String, Object>>>(sensors);
}
}
--
Gitblit v1.8.0