From 606c896c1b7c9d986cfb13d8464f3482160a1389 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 08 May 2018 09:47:40 +0800
Subject: [PATCH] 手机 设备 保存 api
---
src/main/java/com/moral/controller/MobileController.java | 162 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 141 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java
index ff56619..9bc8e52 100644
--- a/src/main/java/com/moral/controller/MobileController.java
+++ b/src/main/java/com/moral/controller/MobileController.java
@@ -2,17 +2,19 @@
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.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.util.Crypto;
+import com.moral.util.MessageUtils;
+import com.taobao.api.ApiException;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.cglib.beans.BeanMap;
+import org.springframework.web.bind.annotation.*;
import com.moral.common.bean.AppData;
import com.moral.entity.Device;
@@ -55,7 +57,7 @@
* @param password the password
* @return the result bean
*/
- @GetMapping("accountlogin")
+ @PostMapping("accountlogin")
public AppData<OperateUser> mobileLogin(String username, String password) {
OperateUser operateUser = operateUserService.mobileLogin(username,password);
return new AppData<OperateUser>(operateUser);
@@ -69,20 +71,44 @@
* @param newpassword the newpassword
* @return the result bean
*/
- @GetMapping("upPassword")
+ @PostMapping("upPassword")
public AppData<OperateUser> updatePassword(Integer uid, String password, String newpassword) {
OperateUser operateUser = operateUserService.updatePassword(uid,password,newpassword);
return new AppData<OperateUser>(operateUser);
}
- /**
- * Install device.������������
- *
- * @param device the device
- * @return the result bean
- */
- @GetMapping("reportDevice")
- public AppData<String> installDevice(Device device) {
+ /**
+ *
+ * @param request
+ * @param uid
+ * @param deviceName
+ * @param address
+ * @param longitude
+ * @param latitude
+ * @param mac
+ * @param monitorpoint
+ * @return
+ */
+ @PostMapping("reportDevice")
+ public AppData<String> installDevice(
+ HttpServletRequest request ,
+ @RequestParam(value ="uid") Integer uid,
+ @RequestParam(value ="device_name") String deviceName,
+ @RequestParam(value ="address") String address,
+ @RequestParam(value ="longitude") double longitude,
+ @RequestParam(value ="latitude") double latitude,
+ @RequestParam(value ="mac") String mac,
+ @RequestParam(value ="monitorpoint") Integer monitorpoint
+ ) {
+ // device ������
+ Device device = new Device();
+ device.setOperateUserId(uid);
+ device.setName(deviceName);
+ device.setAddress(address);
+ device.setLongitude(longitude);
+ device.setLatitude(latitude);
+ device.setMac(mac);
+ device.setMonitorPointId(monitorpoint);
deviceService.saveOrUpdateDevice(device);
return new AppData<String>("");
}
@@ -95,7 +121,7 @@
* @param pageSize the page size
* @return the install devices by operate user
*/
- @GetMapping("myRelease")
+ @PostMapping("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);
@@ -109,15 +135,18 @@
* @return the device by mac
*/
@GetMapping("getEquInfoByMac")
- public AppData<Device> getDeviceByMac(@RequestParam(value="mac", required=true)String mac) {
- Device device = deviceService.getDeviceByMac(mac);
- return new AppData<Device>(device);
+ public AppData<Map> getDeviceByMac(@RequestParam(value="mac", required=true)String mac) {
+ Device device = deviceService.getDeviceByMac(mac,false);//���������������
+ Map<String,Object> deviceMap = new HashMap<>(BeanMap.create(device));
+ deviceMap.put("monitorpointDetail",deviceMap.get("monitorPoint"));
+ deviceMap.remove("monitorPoint");
+ return new AppData<Map>(deviceMap);
}
/**
* Gets the monitor points by area name.
*
- * @param areaName the area name
+ * @param request the area name
* @return the monitor points by area name
*/
@GetMapping("getMpointsByAreaName")
@@ -130,7 +159,7 @@
/**
* Gets the organizations by area name.
*
- * @param areaName the area name
+ * @param request the area name
* @return the organizations by area name
*/
@GetMapping("getOrgsByAreaName")
@@ -139,4 +168,95 @@
List<Organization> organizations = organizationService.getOrganizationsByAreaName(parameters);
return new AppData<List<Organization>>(organizations);
}
+
+ /**
+ * Send SMS
+ *
+ * @param mobile
+ * @return
+ */
+ @PostMapping("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
+ */
+ @PostMapping("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;
+ }
+ }
}
--
Gitblit v1.8.0