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