From 46670e34c1105649da6091a0829b9451c9fe5b37 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 07 May 2018 14:44:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java | 122 +++++++++++
lib/taobao-sdk-java-auto_1455552377940-20160607.jar | 0
src/main/java/com/moral/controller/ReportController.java | 14 +
src/main/resources/mapper/AlarmDailyMapper.xml | 97 ++++++++
src/main/java/com/moral/controller/MobileController.java | 114 +++++++++-
src/main/java/com/moral/mapper/AlarmDailyMapper.java | 15 +
src/main/java/com/moral/service/OperateUserService.java | 2
src/main/java/com/moral/service/AlarmDailyService.java | 13 +
src/main/java/com/moral/service/impl/OperateUserServiceImpl.java | 5
pom.xml | 27 ++
src/main/java/com/moral/entity/AlarmDaily.java | 35 +++
src/main/resources/mapper/AlarmMapper.xml | 74 ------
src/main/java/com/moral/entity/OperateUser.java | 4
src/main/java/com/moral/mapper/AlarmMapper.java | 1
src/main/java/com/moral/service/impl/AlarmServiceImpl.java | 67 -----
src/main/java/com/moral/util/MessageUtils.java | 43 +++
src/main/java/com/moral/service/AlarmService.java | 6
src/main/java/com/moral/controller/ScreenController.java | 9
src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java | 5
19 files changed, 488 insertions(+), 165 deletions(-)
diff --git a/lib/taobao-sdk-java-auto_1455552377940-20160607.jar b/lib/taobao-sdk-java-auto_1455552377940-20160607.jar
new file mode 100644
index 0000000..1b5f22f
--- /dev/null
+++ b/lib/taobao-sdk-java-auto_1455552377940-20160607.jar
Binary files differ
diff --git a/pom.xml b/pom.xml
index 45eb35b..7125301 100644
--- a/pom.xml
+++ b/pom.xml
@@ -177,6 +177,15 @@
<artifactId>jjwt</artifactId>
<version>0.9.0</version>
</dependency>
+
+ <!-- ������������ -->
+ <dependency>
+ <groupId>com.taobao.api</groupId>
+ <artifactId>taobao-sdk</artifactId>
+ <version>1.0.0</version>
+ <scope>system</scope>
+ <systemPath>${project.basedir}/lib/taobao-sdk-java-auto_1455552377940-20160607.jar</systemPath>
+ </dependency>
</dependencies>
<build>
@@ -204,6 +213,24 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.1.0</version>
+ <executions>
+ <execution>
+ <id>copy-dependencies</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
+ <includeScope>system</includeScope>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
\ No newline at end of file
diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java
index 1f4e182..61740c2 100644
--- a/src/main/java/com/moral/controller/MobileController.java
+++ b/src/main/java/com/moral/controller/MobileController.java
@@ -8,11 +8,11 @@
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.web.bind.annotation.*;
import com.moral.common.bean.AppData;
import com.moral.entity.Device;
@@ -55,7 +55,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,7 +69,7 @@
* @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);
@@ -81,7 +81,7 @@
* @param device the device
* @return the result bean
*/
- @GetMapping("reportDevice")
+ @PostMapping("reportDevice")
public AppData<String> installDevice(Device device) {
deviceService.saveOrUpdateDevice(device);
return new AppData<String>("");
@@ -95,7 +95,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);
@@ -108,7 +108,7 @@
* @param mac the mac
* @return the device by mac
*/
- @GetMapping("getEquInfoByMac")
+ @PostMapping("getEquInfoByMac")
public AppData<Device> getDeviceByMac(@RequestParam(value="mac", required=true)String mac) {
Device device = deviceService.getDeviceByMac(mac);
return new AppData<Device>(device);
@@ -120,7 +120,7 @@
* @param request the area name
* @return the monitor points by area name
*/
- @GetMapping("getMpointsByAreaName")
+ @PostMapping("getMpointsByAreaName")
public AppData<List<MonitorPoint>> getMonitorPointsByAreaName(HttpServletRequest request) {
Map<String, Object> parameters = getParametersStartingWith(request, null);
List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByAreaName(parameters);
@@ -133,10 +133,100 @@
* @param request the area name
* @return the organizations by area name
*/
- @GetMapping("getOrgsByAreaName")
+ @PostMapping("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
+ */
+ @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>("");
+ }
+
+ /**
+ * Send SMS
+ *
+ * @param mobile
+ * @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;
+ }
+ }
}
diff --git a/src/main/java/com/moral/controller/ReportController.java b/src/main/java/com/moral/controller/ReportController.java
index cd4165a..39b6a6a 100644
--- a/src/main/java/com/moral/controller/ReportController.java
+++ b/src/main/java/com/moral/controller/ReportController.java
@@ -21,7 +21,7 @@
import com.moral.common.bean.ResultBean;
import com.moral.entity.charts.LineChartCriteria;
-import com.moral.service.AlarmService;
+import com.moral.service.AlarmDailyService;
import com.moral.service.HistoryMinutelyService;
@SuppressWarnings({ "unchecked", "rawtypes" })
@@ -34,7 +34,7 @@
private HistoryMinutelyService historyMinutelyService;
@Resource
- private AlarmService alarmService;
+ private AlarmDailyService alarmDailyService;
@GetMapping("compare")
public ResultBean<Map<String, List>> getCompareReport(HttpServletRequest request) throws Exception {
@@ -74,9 +74,17 @@
@GetMapping("pie")
public ResultBean<Map<String, Object>> getPieData(HttpServletRequest request) throws Exception {
Map<String, Object> parameters = getParametersStartingWith(request, null);
- Map pieData = alarmService.getPieData(parameters);
+ Map pieData = alarmDailyService.getPieData(parameters);
return new ResultBean<Map<String, Object>>(pieData);
}
+ @GetMapping("alarm-year")
+ public ResultBean<List<Integer>> getAlarmDataByYear(HttpServletRequest request) throws Exception {
+ Map<String, Object> parameters = getParametersStartingWith(request, null);
+ List<Integer> alarmDataByYear = alarmDailyService.getAlarmDataByYear(parameters);
+
+ return new ResultBean<List<Integer>>(alarmDataByYear);
+ }
+
}
diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 5957588..4da099f 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -7,9 +7,6 @@
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.net.InetAddress;
-import java.net.URL;
-import java.net.URLConnection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -58,7 +55,7 @@
import com.moral.entity.alarm.AlarmSensorLevel;
import com.moral.service.AccountService;
import com.moral.service.AlarmConfigService;
-import com.moral.service.AlarmService;
+import com.moral.service.AlarmDailyService;
import com.moral.service.AreaService;
import com.moral.service.DeviceService;
import com.moral.service.HistoryMinutelyService;
@@ -116,7 +113,7 @@
private String levelKey = "alarm_";
@Resource
- private AlarmService alarmService;
+ private AlarmDailyService alarmDailyService;
/**
* Screen login. ������������
*
@@ -493,7 +490,7 @@
parameters.remove("organizationId");
}
}
- Map pieData = alarmService.getPieData(parameters);
+ Map pieData = alarmDailyService.getPieData(parameters);
List<Map<String, Object>> list = (List<Map<String, Object>>) pieData.get(sensorKey);
return new ResultBean<List<Map<String, Object>>>(list);
}
diff --git a/src/main/java/com/moral/entity/AlarmDaily.java b/src/main/java/com/moral/entity/AlarmDaily.java
new file mode 100644
index 0000000..0c493fb
--- /dev/null
+++ b/src/main/java/com/moral/entity/AlarmDaily.java
@@ -0,0 +1,35 @@
+package com.moral.entity;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class AlarmDaily {
+ /**
+ *
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column alarm.mac
+ *
+ * @mbg.generated Mon Apr 16 09:27:36 CST 2018
+ */
+ private String mac;
+ private Integer state;
+ /**
+ *
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column alarm.json
+ *
+ * @mbg.generated Mon Apr 16 09:27:36 CST 2018
+ */
+ private String json;
+
+ /**
+ *
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column alarm.time
+ *
+ * @mbg.generated Mon Apr 16 09:27:36 CST 2018
+ */
+ private Date time;
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/entity/OperateUser.java b/src/main/java/com/moral/entity/OperateUser.java
index 4f79eba..99b413f 100644
--- a/src/main/java/com/moral/entity/OperateUser.java
+++ b/src/main/java/com/moral/entity/OperateUser.java
@@ -30,7 +30,9 @@
private Date createTime;
private Date expireTime;
-
+
+ private String code;
+
public Integer getUid() {
return id;
}
diff --git a/src/main/java/com/moral/mapper/AlarmDailyMapper.java b/src/main/java/com/moral/mapper/AlarmDailyMapper.java
new file mode 100644
index 0000000..1fc7606
--- /dev/null
+++ b/src/main/java/com/moral/mapper/AlarmDailyMapper.java
@@ -0,0 +1,15 @@
+package com.moral.mapper;
+
+import java.util.List;
+import java.util.Map;
+
+import com.moral.common.mapper.BaseMapper;
+import com.moral.entity.AlarmDaily;
+
+public interface AlarmDailyMapper extends BaseMapper<AlarmDaily> {
+
+ List<Map<String, Object>> getAlarmData(Map<String, Object> parameters);
+
+ List<Map<String, Object>> getAlarmDataByYear(Map<String, Object> parameters);
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/AlarmMapper.java b/src/main/java/com/moral/mapper/AlarmMapper.java
index 1783b24..aac5662 100644
--- a/src/main/java/com/moral/mapper/AlarmMapper.java
+++ b/src/main/java/com/moral/mapper/AlarmMapper.java
@@ -10,6 +10,5 @@
public interface AlarmMapper extends BaseMapper<Alarm> {
- List<Map<String, Object>> getAlarmData(Map<String, Object> parameters);
List<Map> countByTimes(@Param("start")Date start, @Param("end")Date end, @Param("format")String format);
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/AlarmDailyService.java b/src/main/java/com/moral/service/AlarmDailyService.java
new file mode 100644
index 0000000..1108fd6
--- /dev/null
+++ b/src/main/java/com/moral/service/AlarmDailyService.java
@@ -0,0 +1,13 @@
+package com.moral.service;
+
+import java.util.List;
+import java.util.Map;
+
+@SuppressWarnings("rawtypes")
+public interface AlarmDailyService {
+
+ Map getPieData(Map<String, Object> parameters);
+
+ List<Integer> getAlarmDataByYear(Map<String, Object> parameters);
+
+}
diff --git a/src/main/java/com/moral/service/AlarmService.java b/src/main/java/com/moral/service/AlarmService.java
index 4433a59..dcad103 100644
--- a/src/main/java/com/moral/service/AlarmService.java
+++ b/src/main/java/com/moral/service/AlarmService.java
@@ -1,16 +1,14 @@
package com.moral.service;
-import com.moral.entity.charts.TimeUnits;
-
import java.util.Date;
import java.util.List;
import java.util.Map;
+
+import com.moral.entity.charts.TimeUnits;
@SuppressWarnings("rawtypes")
public interface AlarmService {
List<Map> countByTimes(Date start, Date end, TimeUnits timeUnits);
-
- Map getPieData(Map<String, Object> parameters);
}
diff --git a/src/main/java/com/moral/service/OperateUserService.java b/src/main/java/com/moral/service/OperateUserService.java
index ea6e908..4c8e577 100644
--- a/src/main/java/com/moral/service/OperateUserService.java
+++ b/src/main/java/com/moral/service/OperateUserService.java
@@ -25,4 +25,6 @@
Integer deleteOperateUsersByLogic(List<Integer> ids);
PageBean queryByPageBean(PageBean pageBean);
+
+ Integer updateOperateUser(OperateUser operateUser);
}
diff --git a/src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java
new file mode 100644
index 0000000..de4d232
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/AlarmDailyServiceImpl.java
@@ -0,0 +1,122 @@
+package com.moral.service.impl;
+
+import java.text.ParseException;
+import java.time.LocalDate;
+import java.time.temporal.TemporalAdjusters;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import com.moral.mapper.AlarmDailyMapper;
+import com.moral.mapper.SensorMapper;
+import com.moral.service.AlarmDailyService;
+import com.moral.service.HistoryMinutelyService;
+
+@Service
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class AlarmDailyServiceImpl implements AlarmDailyService {
+
+ @Resource
+ private AlarmDailyMapper alarmDailyMapper;
+
+ @Resource
+ private SensorMapper sensorMapper;
+
+ @Resource
+ private HistoryMinutelyService historyMinutelyService;
+
+ @Override
+ public Map getPieData(Map<String, Object> parameters) {
+ Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
+ try {
+ historyMinutelyService.convertQueryParam(parameters);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ List<Map<String, Object>> alarmDatas = alarmDailyMapper.getAlarmData(parameters);
+ Object dimension = parameters.get("dimension");
+ if ("monitorPoint".equals(dimension)) {
+ for (Map<String, Object> alarmData : alarmDatas) {
+ String name = alarmData.remove("name").toString();
+ alarmData.remove("sum");
+ for (Map.Entry<String, Object> entry : alarmData.entrySet()) {
+ String key = entry.getKey();
+ Object value = entry.getValue().toString();
+ if (!"0".equals(value)) {
+ List list;
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (ObjectUtils.isEmpty(resultMap.get(key))) {
+ list = new ArrayList();
+ } else {
+ list = (List) resultMap.get(key);
+ }
+ map.put("name", name);
+ map.put("value", value);
+ list.add(map);
+ resultMap.put(key, list);
+ }
+ }
+ }
+ } else {
+ Map<String, Object> alarmData = alarmDatas.get(0);
+ List<String> sensors = (List<String>) parameters.get("sensors");
+ List list = new ArrayList();
+ if (!ObjectUtils.isEmpty(alarmData)) {
+ for (String key : alarmData.keySet()) {
+ for (String sensor : sensors) {
+ String[] split = sensor.split("-");
+ if (key.equals(split[0]) && !"0".equals(alarmData.get(key).toString())) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (parameters.containsKey("description")) {
+ map.put("name", split[3]);
+ } else {
+ map.put("name", split[1]);
+ }
+ map.put("value", alarmData.get(key));
+ list.add(map);
+ }
+ }
+ }
+ }
+ resultMap.put("list", list);
+ }
+ return resultMap;
+ }
+
+ @Override
+ public List<Integer> getAlarmDataByYear(Map<String, Object> parameters) {
+ LocalDate localDate = LocalDate.now();
+ parameters.put("start", localDate.with(TemporalAdjusters.firstDayOfYear()));
+ parameters.put("end", localDate.with(TemporalAdjusters.firstDayOfNextYear()));
+ parameters.put("sensorKeys",
+ sensorMapper.selectAll().stream().map(sensor -> sensor.getSensorKey()).collect(Collectors.toList()));
+ List<Map<String, Object>> list = alarmDailyMapper.getAlarmDataByYear(parameters);
+ Integer[] result = new Integer[12];
+ for (int i = 0; i < result.length; i++) {
+ if (ObjectUtils.isEmpty(list)) {
+ break;
+ }
+ for (Map<String, Object> map : list) {
+ Integer month = Integer.valueOf(map.get("time").toString().substring(5));
+ if (i + 1 < month) {
+ break;
+ } else if (i + 1 == month) {
+ result[i] = Integer.valueOf(map.get("sum").toString());
+ list.remove(map);
+ break;
+ }
+ }
+ }
+ return Arrays.asList(result);
+ }
+
+}
diff --git a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java
index 8b97ca5..3386740 100644
--- a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java
@@ -1,20 +1,20 @@
package com.moral.service.impl;
-import java.text.ParseException;
-import java.util.*;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
import javax.annotation.Resource;
-import com.moral.entity.charts.TimeUnits;
import org.springframework.stereotype.Service;
-import org.springframework.util.ObjectUtils;
+import com.moral.entity.charts.TimeUnits;
import com.moral.mapper.AlarmMapper;
import com.moral.service.AlarmService;
import com.moral.service.HistoryMinutelyService;
@Service
-@SuppressWarnings({ "rawtypes", "unchecked" })
+@SuppressWarnings({ "rawtypes" })
public class AlarmServiceImpl implements AlarmService {
@Resource
@@ -33,63 +33,6 @@
}
return alarmMapper.countByTimes(start, end, format);
- }
- @Override
- public Map getPieData(Map<String, Object> parameters) {
- Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
- try {
- historyMinutelyService.convertQueryParam(parameters);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- List<Map<String, Object>> alarmDatas = alarmMapper.getAlarmData(parameters);
- Object dimension = parameters.get("dimension");
- if ("monitorPoint".equals(dimension)) {
- for (Map<String, Object> alarmData : alarmDatas) {
- String name = alarmData.remove("name").toString();
- alarmData.remove("sum");
- for (Map.Entry<String, Object> entry : alarmData.entrySet()) {
- String key = entry.getKey();
- Object value = entry.getValue().toString();
- if (!"0".equals(value)) {
- List list;
- Map<String, Object> map = new HashMap<String, Object>();
- if (ObjectUtils.isEmpty(resultMap.get(key))) {
- list = new ArrayList();
- } else {
- list = (List) resultMap.get(key);
- }
- map.put("name", name);
- map.put("value", value);
- list.add(map);
- resultMap.put(key, list);
- }
- }
- }
- } else {
- Map<String, Object> alarmData = alarmDatas.get(0);
- List<String> sensors = (List<String>) parameters.get("sensors");
- List list = new ArrayList();
- if (!ObjectUtils.isEmpty(alarmData)) {
- for (String key : alarmData.keySet()) {
- for (String sensor : sensors) {
- String[] split = sensor.split("-");
- if (key.equals(split[0]) && !"0".equals(alarmData.get(key).toString())) {
- Map<String, Object> map = new HashMap<String, Object>();
- if (parameters.containsKey("description")) {
- map.put("name", split[3]);
- } else {
- map.put("name", split[1]);
- }
- map.put("value", alarmData.get(key));
- list.add(map);
- }
- }
- }
- }
- resultMap.put("list", list);
- }
- return resultMap;
}
}
diff --git a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
index 4058715..efacd53 100644
--- a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
@@ -44,6 +44,7 @@
import com.moral.entity.charts.DataCondition;
import com.moral.entity.charts.LineChartCriteria;
import com.moral.entity.charts.TimePeriod;
+import com.moral.mapper.AlarmDailyMapper;
import com.moral.mapper.AlarmMapper;
import com.moral.mapper.DeviceMapper;
import com.moral.mapper.HistoryMinutelyMapper;
@@ -64,7 +65,7 @@
private SensorMapper sensorMapper;
@Resource
- private AlarmMapper alarmMapper;
+ private AlarmDailyMapper alarmDailyMapper;
@Override
public Map<String, Object> getDayAQIByDevice(Map<String, Object> parameters) {
@@ -287,7 +288,7 @@
Object type = parameters.get("type");
if ("year".equals(type) || "month".equals(type)) {
parameters.put("sensorKeys", Arrays.asList("e1", "e2", "e10", "e11", "e15", "e16"));
- resultMap.put("alarmData" + part, alarmMapper.getAlarmData(parameters).get(0));
+ resultMap.put("alarmData" + part, alarmDailyMapper.getAlarmData(parameters).get(0));
}
return resultMap;
}
diff --git a/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java b/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java
index 9ef3df8..1f4a2f0 100644
--- a/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java
@@ -130,4 +130,9 @@
public PageBean queryByPageBean(PageBean pageBean) {
return MyBatisBaseMapUtil.queryPage(operateUserMapper,pageBean,ENTITY_CLASS);
}
+
+ @Override
+ public Integer updateOperateUser(OperateUser operateUser) {
+ return operateUserMapper.updateByPrimaryKeySelective(operateUser);
+ }
}
diff --git a/src/main/java/com/moral/util/MessageUtils.java b/src/main/java/com/moral/util/MessageUtils.java
new file mode 100644
index 0000000..5d096cf
--- /dev/null
+++ b/src/main/java/com/moral/util/MessageUtils.java
@@ -0,0 +1,43 @@
+package com.moral.util;
+
+import com.taobao.api.ApiException;
+import com.taobao.api.DefaultTaobaoClient;
+import com.taobao.api.TaobaoClient;
+import com.taobao.api.domain.BizResult;
+import com.taobao.api.request.AlibabaAliqinFcSmsNumSendRequest;
+import com.taobao.api.response.AlibabaAliqinFcSmsNumSendResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MessageUtils {
+
+ private static Logger logger = LoggerFactory.getLogger(MessageUtils.class);
+
+ public static int sendMsg(String mobile,String code) throws ApiException {
+ String url = "http://gw.api.taobao.com/router/rest";
+ String appkey = "23531128";
+ String secret = "b079269785183c5a7520da9b8047bb42";
+ TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
+ AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
+ req.setExtend("");
+ req.setSmsType("normal");
+ req.setSmsFreeSignName("������������");
+ //${address}������������������������������${level}���������������������
+ //req.setSmsParamString("{address:'" + "addre" + "',level:'" + 2 + "'}");
+ req.setSmsParamString("{code:'" + code + "'}");
+ req.setRecNum(mobile);
+ req.setSmsTemplateCode("SMS_25781236");
+ AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
+ BizResult result = rsp.getResult();
+ if (result == null) {
+ logger.warn("������������������������" + rsp.getBody());
+ return 1;
+ }
+ Boolean success = result.getSuccess();
+ if (!success) {
+ logger.warn("������������������" + rsp.getBody());
+ return 1;
+ }
+ return 0;
+ }
+}
diff --git a/src/main/resources/mapper/AlarmDailyMapper.xml b/src/main/resources/mapper/AlarmDailyMapper.xml
new file mode 100644
index 0000000..db13fc0
--- /dev/null
+++ b/src/main/resources/mapper/AlarmDailyMapper.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.AlarmDailyMapper">
+ <select id="getAlarmData" resultType="java.util.LinkedHashMap">
+ SELECT
+ <if test="dimension=='monitorPoint'">
+ `name`,
+ </if>
+ <choose>
+ <when test="sensorKeys.size > 0">
+ <foreach collection="sensorKeys" separator="," item="sensorKey">
+ SUM( ${sensorKey} ) AS '${sensorKey}'
+ </foreach>
+ <foreach collection="sensorKeys" open="," separator="+" close=" AS 'sum' " item="sensorKey">
+ SUM( ${sensorKey} )
+ </foreach>
+ </when>
+ <otherwise>
+ time
+ </otherwise>
+ </choose>
+ FROM
+ (
+ SELECT
+ <if test="dimension=='monitorPoint'">
+ mp.`name`,
+ </if>
+ <choose>
+ <when test="sensorKeys.size > 0">
+ <foreach collection="sensorKeys" separator="," item="sensorKey">
+ CASE COUNT( json -> '$.${sensorKey}' ) WHEN 0 THEN 0 ELSE 1 END AS '${sensorKey}'
+ </foreach>
+ </when>
+ <otherwise>
+ h.time
+ </otherwise>
+ </choose>
+ FROM
+ alarm_daily h,
+ device d,
+ monitor_point mp
+ WHERE d.monitor_point_id = mp.id
+ AND h.mac = d.mac
+ AND h.time >= #{start}
+ AND h.time <![CDATA[<]]> #{end}
+ <if test="provinceCode != null">
+ AND mp.province_code = #{provinceCode}
+ </if>
+ <if test="cityCode != null">
+ AND mp.city_code = #{cityCode}
+ </if>
+ <if test="areaCode != null">
+ AND mp.area_code = #{areaCode}
+ </if>
+ <if test="monitorPointId != null">
+ AND mp.id = #{monitorPointId}
+ </if>
+ <if test="organizationId != null">
+ AND mp.organization_id = #{organizationId}
+ </if>
+ <if test="mac != null">
+ AND d.mac = #{mac}
+ </if>
+ <if test="level != null">
+ AND h.state = #{level}
+ </if>
+ GROUP BY
+ <if test="dimension=='monitorPoint'">
+ mp.id,
+ </if>
+ h.time
+ ) a
+ <if test="dimension=='monitorPoint'">
+ GROUP BY name
+ </if>
+
+ </select>
+
+ <select id="getAlarmDataByYear" resultType="java.util.Map">
+ SELECT
+ DATE_FORMAT(h.time, '%Y-%m') AS 'time'
+ <foreach collection="sensorKeys" open="," separator="+" close=" AS 'sum' " item="sensorKey">
+ COUNT(json -> '$.${sensorKey}')
+ </foreach>
+ FROM
+ alarm_daily h
+ WHERE
+ h.time >= #{start}
+ AND h.time <![CDATA[<]]> #{end}
+ <if test="state != null">
+ AND h.state = #{state}
+ </if>
+ GROUP BY
+ DATE_FORMAT(h.time, '%Y-%m')
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml
index b3baecf..e2a7007 100644
--- a/src/main/resources/mapper/AlarmMapper.xml
+++ b/src/main/resources/mapper/AlarmMapper.xml
@@ -1,80 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.moral.mapper.AlarmMapper">
- <select id="getAlarmData" resultType="java.util.LinkedHashMap">
- SELECT
- <if test="dimension=='monitorPoint'">
- `name`,
- </if>
- <choose>
- <when test="sensorKeys.size > 0">
- <foreach collection="sensorKeys" separator="," item="sensorKey">
- SUM( ${sensorKey} ) AS '${sensorKey}'
- </foreach>
- <foreach collection="sensorKeys" open="," separator="+" close=" AS 'sum' " item="sensorKey">
- SUM( ${sensorKey} )
- </foreach>
- </when>
- <otherwise>
- time
- </otherwise>
- </choose>
- FROM
- (
- SELECT
- <if test="dimension=='monitorPoint'">
- mp.`name`,
- </if>
- <choose>
- <when test="sensorKeys.size > 0">
- <foreach collection="sensorKeys" separator="," item="sensorKey">
- CASE COUNT( json -> '$.${sensorKey}' ) WHEN 0 THEN 0 ELSE 1 END AS '${sensorKey}'
- </foreach>
- </when>
- <otherwise>
- h.time
- </otherwise>
- </choose>
- FROM
- alarm_daily h,
- device d,
- monitor_point mp
- WHERE d.monitor_point_id = mp.id
- AND h.mac = d.mac
- AND h.time >= #{start}
- AND h.time <![CDATA[<]]> #{end}
- <if test="provinceCode != null">
- AND mp.province_code = #{provinceCode}
- </if>
- <if test="cityCode != null">
- AND mp.city_code = #{cityCode}
- </if>
- <if test="areaCode != null">
- AND mp.area_code = #{areaCode}
- </if>
- <if test="monitorPointId != null">
- AND mp.id = #{monitorPointId}
- </if>
- <if test="organizationId != null">
- AND mp.organization_id = #{organizationId}
- </if>
- <if test="mac != null">
- AND d.mac = #{mac}
- </if>
- <if test="level != null">
- AND h.state = #{level}
- </if>
- GROUP BY
- <if test="dimension=='monitorPoint'">
- mp.id,
- </if>
- h.time
- ) a
- <if test="dimension=='monitorPoint'">
- GROUP BY name
- </if>
-
- </select>
<select id="countByTimes" resultType="java.util.Map">
select
<if test="format !=null">
--
Gitblit v1.8.0