From dce0021131e955bac968cb2a7e24ce3673eb1a3b Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 02 Aug 2021 17:22:15 +0800 Subject: [PATCH] 监测因子趋势图 --- screen-api/src/main/java/com/moral/api/controller/WebController.java | 238 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 128 insertions(+), 110 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/WebController.java b/screen-api/src/main/java/com/moral/api/controller/WebController.java index 225d1a5..0345043 100644 --- a/screen-api/src/main/java/com/moral/api/controller/WebController.java +++ b/screen-api/src/main/java/com/moral/api/controller/WebController.java @@ -5,154 +5,172 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -import com.moral.api.entity.Group; -import com.moral.api.entity.User; -import com.moral.api.service.GroupService; -import com.moral.api.service.UserService; +import com.moral.api.service.DeviceService; +import com.moral.api.service.HistoryDailyService; +import com.moral.api.service.HistoryFiveMinutelyService; +import com.moral.api.service.HistoryHourlyService; +import com.moral.api.service.SysAreaService; +import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; -import com.moral.redis.RedisUtil; import com.moral.util.WebUtils; +/** + * web��������� + * + * @author moral + * @version v1.0 + */ @Slf4j -@Api(tags = {"������"}) +@Api(tags = {"web���������"}) @RestController -@RequestMapping("/api") +@RequestMapping("/web") public class WebController { @Autowired - private UserService userService; + private HistoryHourlyService historyHourlyService; @Autowired - private GroupService groupService; + private HistoryDailyService historyDailyService; - @ApiOperation(value = "������", notes = "������") - @ApiImplicitParams({ - @ApiImplicitParam(name = "account", value = "������", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "password", value = "������", required = true, paramType = "query", dataType = "String") + @Autowired + private HistoryFiveMinutelyService historyFiveMinutelyService; + + @Autowired + private DeviceService deviceService; + + @Autowired + private SysAreaService sysAreaService; + + /** + * @param request ������������ + * @return ������������������������������������ + */ + @GetMapping("getHourlyAqi") + @ApiOperation(value = "���������������AQI", notes = "���������������AQI") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), + @ApiImplicitParam(name = "mac", value = "������mac", required = true, paramType = "query", dataType = "String") }) - @RequestMapping(value = "login", method = RequestMethod.POST) - public ResultMessage login(HttpServletRequest request) { - Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); - if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { - return ResultMessage.fail("������������������������������������"); + public ResultMessage getHourlyAqi(HttpServletRequest request) { + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("mac")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - Map<String, Object> map = userService.login(parameters); - if (map.get("token") == null) { - return ResultMessage.fail(map.get("msg").toString()); - } - return ResultMessage.ok(map); + Map<String, Object> response = historyHourlyService.getHourlyAqiByMac(params.get("mac").toString()); + return ResultMessage.ok(response); } - @ApiOperation(value = "������", notes = "������") - @RequestMapping(value = "logout", method = RequestMethod.POST) - public ResultMessage logout(HttpServletRequest request) { - String token = request.getHeader("token"); - if (token == null) { - return ResultMessage.fail("���������"); + /** + * @param request ������������ + * @return ������������������������������������ + */ + @GetMapping("getMonthAvg") + @ApiOperation(value = "������������������������������������", notes = "������������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), + @ApiImplicitParam(name = "mac", value = "������mac", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorCode", value = "������code", required = true, paramType = "query", dataType = "String") + }) + public ResultMessage getMonthAvg(HttpServletRequest request) { + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("mac") || !params.containsKey("sensorCode")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - RedisUtil.del(token); - return ResultMessage.ok(); + Map<String, Object> response = historyDailyService.getMonthAvg(params); + return ResultMessage.ok(response); } - @ApiOperation(value = "������������", notes = "������������") - @ApiImplicitParams({ - @ApiImplicitParam(name = "account", value = "������", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "password", value = "������", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "userName", value = "������������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "email", value = "������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "mobile", value = "���������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "wechat", value = "������", required = false, paramType = "query", dataType = "String") + /** + * @param request ������������ + * @return ������������������������������������ + */ + @GetMapping("getWindData") + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), + @ApiImplicitParam(name = "monitorPointId", value = "������id", required = true, paramType = "query", dataType = "String") }) - @RequestMapping(value = "addUser", method = RequestMethod.POST) - public ResultMessage addUser(User user, HttpServletRequest request) { - Integer currentUserId = Integer.parseInt(request.getHeader("uid")); - Map<String, Object> map = userService.addUser(user, currentUserId); - String msg = map.get("msg").toString(); - boolean flag = Boolean.parseBoolean(map.get("flag").toString()); - if (flag) { - return ResultMessage.ok(msg); + public ResultMessage getWindData(HttpServletRequest request) { + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("monitorPointIds")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - return ResultMessage.fail(msg); + String[] monitorPointIds = params.remove("monitorPointIds").toString().split(","); + params.put("monitorPointIds", monitorPointIds); + List<Object> response = historyFiveMinutelyService.getAreaWindData(params); + return ResultMessage.ok(response); } - @ApiOperation(value = "������������", notes = "������������") - @ApiImplicitParams({ - @ApiImplicitParam(name = "userId", value = "������id", required = true, paramType = "path", dataType = "String") + /** + * @param request ������������ + * @return ������������������������������������ + */ + @GetMapping("getMacSensors") + @ApiOperation(value = "������������mac������������������", notes = "������������mac������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), + @ApiImplicitParam(name = "macs", value = "������mac���������������������", required = true, paramType = "query", dataType = "String") }) - @RequestMapping(value = "deleteUser/{userId}", method = RequestMethod.GET) - public ResultMessage deleteUser(@PathVariable("userId") String userId, HttpServletRequest request) { - Integer currentUserId = Integer.parseInt(request.getHeader("uid")); - Map<String, Object> map = userService.deleteUser(Integer.parseInt(userId), currentUserId); - String msg = map.get("msg").toString(); - boolean flag = Boolean.parseBoolean(map.get("flag").toString()); - if (flag) { - return ResultMessage.ok(msg); + public ResultMessage getMacSensors(HttpServletRequest request) { + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("macs")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - return ResultMessage.fail(msg); + Map<String, Object> response = deviceService.getSensorsByMac(params); + return ResultMessage.ok(response); } - @ApiOperation(value = "������������������", notes = "������������������") - @ApiImplicitParams({ - @ApiImplicitParam(name = "account", value = "������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "password", value = "������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "userName", value = "������������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "email", value = "������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "mobile", value = "���������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "wechat", value = "������", required = false, paramType = "query", dataType = "String") + /** + * @param request ������������ + * @return ������������������������������������ + */ + @GetMapping("getTrendChartData") + @ApiOperation(value = "���������������������������������", notes = "���������������������������������.") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), + @ApiImplicitParam(name = "macs", value = "������mac���������������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorCode", value = "������code", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "type", value = "���������������������day���,������month���,������year���", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "times", value = "���������������������2021-07-29������������2021-07������������2021������������������������", required = true, paramType = "query", dataType = "String") }) - @RequestMapping(value = "updateUser", method = RequestMethod.POST) - public ResultMessage updateUser(User user, HttpServletRequest request) { - Integer currentUserId = Integer.parseInt(request.getHeader("uid")); - Map<String, Object> map = userService.updateUser(user, currentUserId); - String msg = map.get("msg").toString(); - boolean flag = Boolean.parseBoolean(map.get("flag").toString()); - if (flag) { - return ResultMessage.ok(msg); + public ResultMessage getTrendChartData(HttpServletRequest request) { + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("macs") || !params.containsKey("sensorCode") || !params.containsKey("type") || !params.containsKey("times")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - return ResultMessage.fail(msg); + List<Map<String, Object>> response = deviceService.getTrendChartData(params); + return ResultMessage.ok(response); } - @ApiOperation(value = "������������������", notes = "������������������") - @ApiImplicitParams({ - @ApiImplicitParam(name = "userId", value = "������id", required = false, paramType = "path", dataType = "String") + /** + * @param request ������������ + * @return ������������������������������������ + */ + @GetMapping("getMapPath") + @ApiOperation(value = "������������������������������", notes = "������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), + @ApiImplicitParam(name = "organizationId", value = "������id", required = true, paramType = "query", dataType = "String") }) - @RequestMapping(value = "getUserInfo/{userId}", method = RequestMethod.GET) - public ResultMessage getUserInfo(@PathVariable("userId") String userId, HttpServletRequest request) { - Integer currentUserId = Integer.parseInt(request.getHeader("uid")); - if (userId == null) { - List<User> users = userService.getUsersByOrgId(currentUserId); - return ResultMessage.ok(users); + public ResultMessage getMapPath(HttpServletRequest request) { + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("organizationId")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } - User user = userService.getUserById(Integer.parseInt(userId), currentUserId); - return ResultMessage.ok(user); - } - - @ApiOperation(value = "���������", notes = "���������") - @ApiImplicitParams({ - @ApiImplicitParam(name = "groupName", value = "������", required = true, paramType = "query", dataType = "String") - }) - @RequestMapping(value = "addGroup", method = RequestMethod.POST) - private ResultMessage addGroup(Group group, HttpServletRequest request) { - String currentUserId = request.getHeader("uid"); - Map<String, Object> map = groupService.addGroup(group, currentUserId); - String msg = map.get("msg").toString(); - boolean flag = Boolean.parseBoolean(map.get("flag").toString()); - if (flag) { - return ResultMessage.ok(msg); - } - return ResultMessage.fail(msg); + List<Map<String, Object>> response = sysAreaService.getMapPath(Integer.parseInt(params.get("organizationId").toString())); + return ResultMessage.ok(response); } } -- Gitblit v1.8.0