From e294ea312fe1994c3ddfe26595ee414e6612eb0c Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 04 Dec 2020 11:37:36 +0800 Subject: [PATCH] 大屏report_avg_datas接口24点无数据处理 --- src/main/java/com/moral/controller/MobileController.java | 360 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 333 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java index d178bc7..23a1a9c 100644 --- a/src/main/java/com/moral/controller/MobileController.java +++ b/src/main/java/com/moral/controller/MobileController.java @@ -1,71 +1,377 @@ 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.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.github.pagehelper.PageHelper; -import com.moral.common.bean.PageBean; +import com.moral.common.bean.AppData; import com.moral.common.bean.ResultBean; +import com.moral.common.util.Crypto; +import com.moral.common.util.WebUtils; +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; - // 1������ - @GetMapping(value = "accountlogin") - public ResultBean<OperateUser> mobileLogin(String username, String password) { + /** The organization service. */ + @Resource + private OrganizationService organizationService; + + /** The monitor point service. */ + @Resource + private MonitorPointService monitorPointService; + + @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()); + deviceService.saveOrUpdate4Mobile(equDeviceAdapter.toDevice(), equDeviceAdapter.getDeviceProperty()); + 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 void getEquInfoByMac(String mac) { + @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 void getMpointsByAreaName(String areaName) { + @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); + } + + @GetMapping("profession-provincecode") + @ApiOperation(value = "���������code������������������", notes = "���������code������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "provinceCode", value = "���code", required = true, paramType = "query", dataType = "String") + }) + public ResultBean<List<Profession>> getProfessionByProvinceCode(HttpServletRequest request){ + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + List<Profession> professions = professionService.getProfessiontList(parameters); + return new ResultBean<List<Profession>>(professions); } - @GetMapping(value = "getOrgsByAreaName") - public void getOrgsByAreaName(String areaName) { - + @PostMapping("update-maintenance") + @ApiOperation(value = "������������������������������������", notes = "������������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "id", value = "������ID", required = true, paramType = "query", dataType = "int") , + @ApiImplicitParam(name = "old_state", value = "������������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "new_state", value = "������������������", required = true, paramType = "query", dataType = "String") + + }) + public ResultBean offLinToMaintenance(HttpServletRequest request) { + Map<String, Object> parameters = getParametersStartingWith(request, null); + deviceService.offLinToMaintenance(parameters); + ResultBean resultBean = new ResultBean(parameters); + return resultBean; } + + @GetMapping("mointorPointRank") + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "accountId", value = "������id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensor", value = "������", required = true, paramType = "query", dataType = "String") + }) + public ResultBean<List<Map<String, Object>>> getMointorPointRank(HttpServletRequest request){ + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String id = parameters.get("accountId").toString(); + String sensor = parameters.get("sensor").toString(); + Map<String, Object> account = accountService.getOrganizationIdByAccountId(id); + //������������id������������������������������ + account.put("sensor", sensor); + List<Map<String, Object>> returnList = historyService.getMointorPointRankByOrganizationId(account); + return new ResultBean<List<Map<String, Object>>>(returnList); + } + } -- Gitblit v1.8.0