.idea/git_toolbox_prj.xml
@@ -6,10 +6,10 @@ <option name="enabled" value="true" /> </BoolValueOverride> </option> <option name="commitMessageValidationConfigOverride"> <CommitMessageValidationOverride> <option name="commitMessageValidationEnabledOverride"> <BoolValueOverride> <option name="enabled" value="true" /> </CommitMessageValidationOverride> </BoolValueOverride> </option> </component> </project> .idea/misc.xml
@@ -24,7 +24,7 @@ </list> </option> </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="jdk8u322-b06" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="temurin-1.8" project-jdk-type="JavaSDK" /> <component name="ProjectType"> <option name="id" value="jpab" /> </component> .idea/sonarlint/issuestore/index.pb
@@ -0,0 +1,3 @@ c 3src/main/java/api/controller/WeatherController.java,a\6\a679d63f2053a2d504b84084e321ec7f09f6cf28 pom.xml
@@ -86,7 +86,12 @@ <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.6</version> <version>4.4.15</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.5</version> </dependency> <!--å页æä»¶--> src/main/java/api/APIApplication.java
@@ -3,6 +3,7 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; /** * @program: wog @@ -13,6 +14,7 @@ @SpringBootApplication @MapperScan(basePackages = "api.dao") @EnableScheduling public class APIApplication { public static void main(String[] args) { src/main/java/api/bean/AccessEntity.java
@@ -25,14 +25,8 @@ private Date updateTime; @Override public String toString() { return "AccessEntity{" + "userId=" + userId + ", accessId=" + accessId + ", accessKey='" + accessKey + '\'' + ", accessSercet='" + accessSercet + '\'' + ", accessToken='" + accessToken + '\'' + '}'; } private String ys7AccessToken; private String ys7AccountId; } src/main/java/api/bean/PoleSensorV2SoilVOEntity.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ package api.bean; import lombok.Data; import java.util.Date; /** * @author van * @version 1.0 * msgï¼ * @date 2022/9/1 15:20 */ @Data public class PoleSensorV2SoilVOEntity { private Long id; private String mac; //å壤ä½ç§¯å«æ°´é private Double soilMoisture; //å壤温度 private Double soilTemperature; //çµå¯¼ç private Double soilEc; private Date soilCreateDate; //ph private Double soilPh; private String deviceType; private String streetlightName; private Long streetlightId; } src/main/java/api/bean/PoleSensorV2VOEntity.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,70 @@ package api.bean; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * èåå¤§æ° åçå·¥å®å¶ 7ç¸æ° * HCD6817ä¸è¦ç´ å¾®æ°è±¡ä»ªï¼æ¸©åº¦ã湿度ã大æ°ååãé£éãé£åãéé¨éãå ç §åº¦ï¼ */ @Data public class PoleSensorV2VOEntity implements Serializable { /** * 主é®ID */ private Integer id; private String streetlightName; /** * è·¯ç¯ID */ private Integer streetlightId; /** * ç©ºæ°æ¸©åº¦ */ private BigDecimal airTemperature; /** * ç©ºæ°æ¹¿åº¦ */ private BigDecimal airHumidity; /** * 大æ°å强 */ private BigDecimal airPressure; /** * é£å */ private BigDecimal windDirection; /** * é£é */ private BigDecimal windSpeed; /** * ååéé¨é */ private BigDecimal tenRainfallMin; /** * å ç § */ private BigDecimal illumination; /** * å建æ¶é´ */ private Date createTime; } src/main/java/api/bean/ReqParams.java
@@ -3,6 +3,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Timer; /** * @program: wog @@ -33,7 +34,18 @@ private String key; // æ§ç¯æ¥æ¶ private PoleLightBatchEntity poleLightBatch; // 宿¶ä»»å¡æ¥æ¶ private TimerRequest timerRequest; private Long[] streetlightIds; private Integer timerId; // 宿¶åç§° private String timerName; // 宿¶è¡¨è¾¾å¼ private String timerExp; // ç¯å¤´åºå· private Integer lightNumber; public String getApiKey() { return "84b5f9d6b37c47edb1adae628aaaf3e5"; } src/main/java/api/bean/TimerRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ package api.bean; import lombok.Data; import java.util.List; /** * @author van * @version 1.0 * msgï¼ * @date 2022/6/9 15:01 */ @Data public class TimerRequest { // 宿¶åç§° private String timerName; // 宿¶è¡¨è¾¾å¼ private String timerExp; // ç»ID private Long groupId; // ç¯æIDå表 private List<Long> ids; // 页ç private Integer page; // é¡¹æ° private Integer limit; // æç´¢è¯ private String key; // 宿¶ID private Integer timerId; // æ¶é´æ³ private Long timestamp; // æä½æ¶ private String operateHour; // ç¯å¤´åºå· private Integer lightNumber; } src/main/java/api/controller/CameraController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,71 @@ package api.controller; import api.bean.ReqParams; import api.result.Msg; import api.service.AccessService; import api.utils.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.common.util.concurrent.RateLimiter; import com.google.gson.Gson; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; /** * @author van * @version 1.0 * msgï¼ * @date 2022/8/9 13:57 */ @RestController @RequestMapping("/Camera") public class CameraController { @Autowired private AccessService accessService; RateLimiter rateLimiter = RateLimiter.create(10.0); @RequestMapping(value = "/getToken",method = RequestMethod.POST) public Msg listWithNotStatus(@RequestBody ReqParams reqParams){ rateLimiter.acquire(1); Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null){ return Msg.error("accessToken exception!!!"); } //ç¶accesstoken Map<String, String> parms =new HashMap<>(2); parms.put("appKey","51a534ebadf54c31a0848dc575dfa206"); parms.put("appSecret","8c32c67a73c87b9e461b2e3bdf58967a"); String post = HttpUtil.httpRequestToString("https://open.ys7.com/api/lapp/token/get","post",parms); String accessToken= JSON.parseObject(JSON.parseObject(post).getString("data")).getString("accessToken"); //åaccesstoken String ys7AccountId = accessService.getYs7AccountId(reqParams.getAccessToken()); Map<String, String> parms02 =new HashMap<>(2); parms02.put("accessToken",accessToken); parms02.put("accountId",ys7AccountId); String post02 = HttpUtil.httpRequestToString("https://open.ys7.com/api/lapp/ram/token/get","post",parms02); System.out.println(post02); JSONObject data = JSON.parseObject(JSON.parseObject(post02).getString("data")); return Msg.ok(data); } } src/main/java/api/controller/SinglelampDataController.java
@@ -36,13 +36,13 @@ @RequestMapping(value = "/list",method = RequestMethod.POST) public Msg list(@RequestBody ReqParams reqParams){ rateLimiter.acquire(1); if (reqParams.getLimit()>50){ if (reqParams.getLimit()>200){ return Msg.error("limit exception!!!"); } Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null){ return Msg.error("server exception!!!"); return Msg.error("accessToken exception!!!"); } reqParams.toString(); @@ -50,7 +50,9 @@ Map data = new HashMap(); data.put("total",info.getTotal()); data.put("dataSize",info.getStartRow()); data.put("lampSize",info.getEndRow()); data.put("totalPage",Math.ceil(info.getStartRow()*1.0/reqParams.getLimit())); data.put("list",info.getList()); return Msg.ok().put("data",data); @@ -65,7 +67,7 @@ Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null){ return Msg.error("server exception!!!"); return Msg.error("accessToken exception!!!"); } PageInfo<SinglelampDataEntity> info = singlelampDataServer.selectByStreetlightId(reqParams); src/main/java/api/controller/TimerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,268 @@ package api.controller; import api.bean.PoleLightBatchEntity; import api.bean.ReqParams; import api.bean.TimerRequest; import api.result.Msg; import api.service.AccessService; import api.utils.HttpUtil; import com.alibaba.fastjson.JSON; import com.google.common.util.concurrent.RateLimiter; import com.google.gson.Gson; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * @author van * @version 1.0 * msgï¼åç¯å®æ¶ä»»å¡æ§å¶å± * @date 2021/11/2 15:04 */ @RestController @RequestMapping("/pole/timer") public class TimerController { @Autowired private AccessService accessService; RateLimiter rateLimiter = RateLimiter.create(10.0); /** * 宿¶ä»»å¡å表 * */ @RequestMapping(value = "list",method = RequestMethod.POST) public Msg listWithNotStatus(@RequestBody ReqParams reqParams){ rateLimiter.acquire(1); if (reqParams.getLimit()>50){ return Msg.error("limit exception!!!"); } Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null){ return Msg.error("accessToken exception!!!"); } reqParams.setApiKey(reqParams.getApiKey()); reqParams.setUserId(userId); TimerRequest timerRequest = new TimerRequest(); timerRequest.setLimit(reqParams.getLimit()); timerRequest.setPage(reqParams.getPage()); timerRequest.setIds(new ArrayList<>()); timerRequest.setKey(reqParams.getKey()); reqParams.setTimerRequest(timerRequest); String result = HttpUtil.Post( "http://127.0.0.1:8888/machine-fast/serv/api/timer/list", new Gson().toJson(reqParams) ); Map msg = JSON.parseObject(result, HashMap.class); if (msg.get("msg").equals("success")){ return Msg.ok().put("data",msg.get("list")); } else { return Msg.error(msg.get("msg").toString()); } } /** * æ¥ç宿¶ä»»å¡ID对åºç»å®çç¯æå表 * */ @RequestMapping(value = "listByTimerId",method = RequestMethod.POST) public Msg getStreetlightListByTimerId(@RequestBody ReqParams reqParams){ System.out.println(reqParams); rateLimiter.acquire(1); Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null){ return Msg.error("accessToken exception!!!"); } reqParams.setApiKey(reqParams.getApiKey()); reqParams.setUserId(userId); TimerRequest timerRequest = new TimerRequest(); timerRequest.setTimerId(reqParams.getTimerId()); reqParams.setTimerRequest(timerRequest); String result = HttpUtil.Post( "http://127.0.0.1:8888/machine-fast/serv/api/timer/listByTimerId", new Gson().toJson(reqParams) ); Map msg = JSON.parseObject(result, HashMap.class); if (msg.get("msg").equals("success")){ return Msg.ok().put("data",msg.get("list")); } else { return Msg.error(msg.get("msg").toString()); } } /** * å é¤å®æ¶ä»»å¡ * */ @RequestMapping(value = "deleteTimerByTimerId",method = RequestMethod.POST) public Msg deleteTimerByTimerId(@RequestBody ReqParams reqParams){ rateLimiter.acquire(1); Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null){ return Msg.error("accessToken exception!!!"); } reqParams.setApiKey(reqParams.getApiKey()); reqParams.setUserId(userId); TimerRequest timerRequest = new TimerRequest(); timerRequest.setTimerId(reqParams.getTimerId()); reqParams.setTimerRequest(timerRequest); String result = HttpUtil.Post( "http://127.0.0.1:8888/machine-fast/serv/api/timer/deleteTimerByTimerId", new Gson().toJson(reqParams) ); Map msg = JSON.parseObject(result, HashMap.class); assert msg != null; if (msg.get("msg").equals("success")){ return Msg.ok().put("data",msg.get("data")); } else { return Msg.error(msg.get("msg").toString()); } } /** * æ·»å 宿¶ä»»å¡ * */ @RequestMapping(value = "addTimer",method = RequestMethod.POST) public Msg addTimer(@RequestBody ReqParams reqParams){ rateLimiter.acquire(1); Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null){ return Msg.error("accessToken exception!!!"); } reqParams.setApiKey(reqParams.getApiKey()); reqParams.setUserId(userId); TimerRequest timerRequest = new TimerRequest(); timerRequest.setIds(Arrays.asList(reqParams.getStreetlightIds())); timerRequest.setTimerExp(reqParams.getTimerExp()); timerRequest.setTimerName(reqParams.getTimerName()); timerRequest.setLightNumber(reqParams.getLightNumber()); reqParams.setTimerRequest(timerRequest); String result = HttpUtil.Post( "http://127.0.0.1:8888/machine-fast/serv/api/timer/addTimer", new Gson().toJson(reqParams) ); Map msg = JSON.parseObject(result, HashMap.class); assert msg != null; if (msg.get("msg").equals("success")){ return Msg.ok().put("data",msg.get("data")); } else { return Msg.error(msg.get("msg").toString()); } } /** * ä¿®æ¹å®æ¶ä»»å¡ * */ @RequestMapping(value = "updateTimer",method = RequestMethod.POST) public Msg updateTimer(@RequestBody ReqParams reqParams){ rateLimiter.acquire(1); Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null){ return Msg.error("accessToken exception!!!"); } reqParams.setApiKey(reqParams.getApiKey()); reqParams.setUserId(userId); TimerRequest timerRequest = new TimerRequest(); timerRequest.setTimerId(reqParams.getTimerId()); timerRequest.setIds(Arrays.asList(reqParams.getStreetlightIds())); timerRequest.setTimerExp(reqParams.getTimerExp()); timerRequest.setTimerName(reqParams.getTimerName()); timerRequest.setLightNumber(reqParams.getLightNumber()); reqParams.setTimerRequest(timerRequest); String result = HttpUtil.Post( "http://127.0.0.1:8888/machine-fast/serv/api/timer/updateTimer", new Gson().toJson(reqParams) ); Map msg = JSON.parseObject(result, HashMap.class); assert msg != null; if (msg.get("msg").equals("success")){ return Msg.ok().put("data",msg.get("data")); } else { return Msg.error(msg.get("msg").toString()); } } } src/main/java/api/controller/WeatherV2Controller.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,81 @@ package api.controller; import api.bean.PoleSensorV2SoilVOEntity; import api.bean.PoleSensorV2VOEntity; import api.bean.ReqParams; import api.bean.WeatherEntity; import api.result.Msg; import api.service.AccessService; import api.service.WeatherService; import api.service.WeatherV2Service; import com.github.pagehelper.PageInfo; import com.google.common.util.concurrent.RateLimiter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RestController @RequestMapping("/weather/v2") public class WeatherV2Controller { @Autowired private AccessService accessService; @Autowired private WeatherV2Service weatherV2Service; RateLimiter rateLimiter = RateLimiter.create(10.0); @RequestMapping(value = "/list") public Msg list(@RequestBody ReqParams reqParams){ rateLimiter.acquire(1); if(reqParams.getLimit() > 200){ return Msg.error("limit exception!!!"); } Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null) { return Msg.error("server exception"); } PageInfo<PoleSensorV2VOEntity> info = weatherV2Service.list(userId, reqParams); Map data = new HashMap(); data.put("total",info.getTotal()); data.put("list",info.getList()); return Msg.ok().put("data",data); } @RequestMapping(value = "/soil/list") public Msg soilList(@RequestBody ReqParams reqParams){ rateLimiter.acquire(1); if(reqParams.getLimit() > 200){ return Msg.error("limit exception!!!"); } Long userId = accessService.getUserId(reqParams.getAccessToken()); if(userId == null) { return Msg.error("server exception"); } PageInfo<PoleSensorV2SoilVOEntity> info = weatherV2Service.soilList(userId, reqParams); Map data = new HashMap(); data.put("total",info.getTotal()); data.put("list",info.getList()); return Msg.ok().put("data",data); } } src/main/java/api/dao/AccessDao.java
@@ -26,4 +26,6 @@ @Select("select role_id from sys_user_role where user_id = #{userId}") Long selectRoleIdByUserId(@Param("userId") Long userId); @Select("select ys7_account_id from wog_user_access where access_token = #{accessToken} limit 1") String selectYs7AccountIdByAccessToken(String accessToken); } src/main/java/api/dao/SinglelampDataDao.java
@@ -4,6 +4,7 @@ import api.bean.SinglelampDataEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import java.util.List; @@ -26,4 +27,7 @@ //List<SinglelampDataEntity> selectByUserId(Long userId); /**åä¸ªç¯ææ°æ®*/ List<SinglelampDataEntity> selectByStreetlightId(String mac); @Select("select count(*) from pole_streetlight ps where ps.streetlight_id in(select pus.streetlight_id from pole_user_streetlight pus where pus.company_id in(select suc.company_id from sys_user_company suc where suc.user_id=#{userId}))") Integer countByCompany(@Param("userId") Long userId); } src/main/java/api/dao/WeatherV2Dao.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package api.dao; import api.bean.PoleSensorV2SoilVOEntity; import api.bean.PoleSensorV2VOEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; import java.util.List; /** * èå åçå·¥ **/ @Mapper @Repository public interface WeatherV2Dao { List<PoleSensorV2VOEntity> selectAll(); List<PoleSensorV2VOEntity> selectByCompany(Long userId); List<PoleSensorV2VOEntity> selectByUserId(Long userId); List<PoleSensorV2VOEntity> getSensorByPoleId(Long poleId); List<PoleSensorV2SoilVOEntity> selectAllForSoil(); List<PoleSensorV2SoilVOEntity> selectByCompanyForSoil(Long userId); List<PoleSensorV2SoilVOEntity> selectByUserIdForSoil(Long userId); List<PoleSensorV2SoilVOEntity> getSensorByMac(String mac); } src/main/java/api/service/AccessService.java
@@ -51,7 +51,7 @@ return Msg.error("secret mistake"); } if(new Date().getTime() - accessData.getUpdateTime().getTime() > OUT_EXPRESS_TIME) { if(System.currentTimeMillis() - accessData.getUpdateTime().getTime() > OUT_EXPRESS_TIME) { accessData.setAccessToken(UUID.randomUUID().toString()); accessData.setUpdateTime(new Date()); @@ -61,4 +61,13 @@ } return Msg.ok().put("accessToken",accessData.getAccessToken()); } public String getYs7AccountId(String accessKey) { String ys7AccountId = accessDao.selectYs7AccountIdByAccessToken(accessKey); return ys7AccountId; } } src/main/java/api/service/SinglelampDataServer.java
@@ -3,6 +3,7 @@ import api.bean.ReqParams; import api.bean.SinglelampDataEntity; import api.dao.SinglelampDataDao; import cn.hutool.core.collection.ListUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; @@ -27,21 +28,41 @@ public PageInfo<SinglelampDataEntity> selectList(Long userId, ReqParams reqParams) { Long roleId = accessService.getRoleId(userId); if(roleId == null || roleId == 0){ if (roleId == null || roleId == 0) { return null; } List<SinglelampDataEntity> list = null; if(roleId.longValue() == 1 ){ PageHelper.startPage(reqParams.getPage(),reqParams.getLimit()); Integer count = null; if (roleId.longValue() == 1) { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = singlelampDao.selectAll(); }else if (roleId.longValue() == 2 || roleId.longValue() == 3){ PageHelper.startPage(reqParams.getPage(),reqParams.getLimit()); list = singlelampDao.selectByCompany(reqParams.getPage(),reqParams.getLimit(),userId); } else if (roleId.longValue() == 2 || roleId.longValue() == 3) { count = singlelampDao.countByCompany(userId); list = singlelampDao.selectByCompany(1, count, userId); } PageInfo<SinglelampDataEntity> page = new PageInfo<>(list); Integer listLimit = reqParams.getLimit(); Integer listPage = reqParams.getPage(); if ((listLimit > listPage * listLimit) || listLimit < listPage){ listLimit = count; } List<SinglelampDataEntity> pageList = ListUtil.sortByProperty(list,"streetlightId"); List<SinglelampDataEntity> finalList = ListUtil.page(listPage-1, listLimit, pageList); PageInfo<SinglelampDataEntity> page = new PageInfo<>(finalList); page.setStartRow(list.size()); page.setEndRow(count); return page; } src/main/java/api/service/WeatherV2Service.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,101 @@ package api.service; import api.bean.PoleSensorV2SoilVOEntity; import api.bean.PoleSensorV2VOEntity; import api.bean.ReqParams; import api.bean.WeatherEntity; import api.dao.WeatherDao; import api.dao.WeatherV2Dao; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * èå åçå·¥ **/ @Service public class WeatherV2Service { @Autowired private AccessService accessService; @Autowired private WeatherV2Dao weatherV2Dao; public PageInfo<PoleSensorV2VOEntity> list(Long userId, ReqParams reqParams) { Long roleId = accessService.getRoleId(userId); if (roleId == null || roleId == 0) { return null; } List<PoleSensorV2VOEntity> list = null; Long poleId = reqParams.getLightId(); if(null == poleId || poleId.equals("")){ if (roleId.longValue() == 1) { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = weatherV2Dao.selectAll(); } else if (roleId.longValue() == 2) { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = weatherV2Dao.selectByCompany(userId); } else if (roleId.longValue() == 3) { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = weatherV2Dao.selectByUserId(userId); } }else { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = weatherV2Dao.getSensorByPoleId(poleId); } PageInfo<PoleSensorV2VOEntity> page = new PageInfo<>(list); return page; } public PageInfo<PoleSensorV2SoilVOEntity> soilList(Long userId, ReqParams reqParams) { Long roleId = accessService.getRoleId(userId); if (roleId == null || roleId == 0) { return null; } List<PoleSensorV2SoilVOEntity> list = null; String mac = reqParams.getMac(); if(null == mac || mac.equals("")){ if (roleId.longValue() == 1) { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = weatherV2Dao.selectAllForSoil(); } else if (roleId.longValue() == 2) { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = weatherV2Dao.selectByCompanyForSoil(userId); } else if (roleId.longValue() == 3) { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = weatherV2Dao.selectByUserIdForSoil(userId); } }else { PageHelper.startPage(reqParams.getPage(), reqParams.getLimit()); list = weatherV2Dao.getSensorByMac(mac); } PageInfo<PoleSensorV2SoilVOEntity> page = new PageInfo<>(list); return page; } } src/main/java/api/utils/httpClient.java
ÎļþÒÑɾ³ý src/main/resources/mapper/PoleSinglelampDataMapper.xml
@@ -71,4 +71,6 @@ psd.singlelamp_data_id DESC </select> </mapper> src/main/resources/mapper/WeatherV2Dao.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,257 @@ <?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="api.dao.WeatherV2Dao"> <select id="selectAll" resultType="api.bean.PoleSensorV2VOEntity"> SELECT p1.streetlight_name,p1.link_method, p2.* FROM pole_streetlight p1 LEFT JOIN pole_sensor_v2 p2 ON p1.streetlight_id = p2.streetlight_id WHERE id IN ( SELECT max(id) FROM pole_sensor_v2 GROUP BY streetlight_id ) </select> <select id="selectByCompany" resultType="api.bean.PoleSensorV2VOEntity" parameterType="java.lang.Long"> SELECT p1.streetlight_name,p1.link_method, p2.* FROM pole_streetlight p1 LEFT JOIN pole_sensor_v2 p2 ON p1.streetlight_id = p2.streetlight_id WHERE id IN ( SELECT max(id) FROM pole_sensor_v2 WHERE streetlight_id IN ( SELECT streetlight_id FROM pole_user_streetlight WHERE company_id = ( SELECT company_id FROM sys_user_company WHERE user_id = #{userId} ) ) GROUP BY streetlight_id ) </select> <select id="selectByUserId" resultType="api.bean.PoleSensorV2VOEntity" parameterType="java.lang.Long"> SELECT p1.streetlight_name,p1.link_method, p2.* FROM pole_streetlight p1 LEFT JOIN pole_sensor_v2 p2 ON p1.streetlight_id = p2.streetlight_id WHERE id IN ( SELECT max(id) FROM pole_sensor_v2 WHERE streetlight_id IN ( SELECT streetlight_id FROM pole_user_streetlight WHERE user_id = #{userId} ) GROUP BY streetlight_id ) </select> <select id="getSensorByPoleId" resultType="api.bean.PoleSensorV2VOEntity" parameterType="java.lang.Long"> SELECT p1.streetlight_name,p1.link_method, p2.* FROM pole_streetlight p1 LEFT JOIN pole_sensor_v2 p2 ON p1.streetlight_id = p2.streetlight_id WHERE id IN ( SELECT id FROM pole_sensor_v2 WHERE streetlight_id = #{poleId} ) ORDER BY create_time DESC </select> <!-- å壤 --> <select id="selectAllForSoil" resultType="api.bean.PoleSensorV2SoilVOEntity"> select * from pole_sensor_v2_soil psvs join( select max(id) as id from pole_sensor_v2_soil group by mac ) maxid on psvs.id = maxid.id and psvs.device_type = '51' join pole_streetlight ps on ps.code_number = psvs.mac order by psvs.id desc </select> <select id="selectByCompanyForSoil" resultType="api.bean.PoleSensorV2SoilVOEntity" parameterType="java.lang.Long"> select * from pole_sensor_v2_soil psvs join( select max(id) as id from pole_sensor_v2_soil group by mac ) maxid on psvs.id = maxid.id and psvs.device_type = '51' and mac in ( select ps.code_number from pole_streetlight ps where ps.streetlight_id in ( select pus.streetlight_id from pole_user_streetlight pus where pus.company_id in( select suc.company_id from sys_user_company suc where suc.user_id = #{userId} ) ) ) join pole_streetlight ps on ps.code_number = psvs.mac order by psvs.id desc </select> <select id="selectByUserIdForSoil" resultType="api.bean.PoleSensorV2SoilVOEntity" parameterType="java.lang.Long"> select * from pole_sensor_v2_soil psvs join( select max(id) as id from pole_sensor_v2_soil group by mac ) maxid on psvs.id = maxid.id and psvs.device_type = '51' and mac in ( select ps.code_number from pole_streetlight ps where ps.streetlight_id in ( select pus.streetlight_id from pole_user_streetlight pus where pus.company_id in( select suc.company_id from sys_user_company suc where suc.user_id = #{userId} ) ) ) join pole_streetlight ps on ps.code_number = psvs.mac order by psvs.id desc </select> <select id="getSensorByMac" resultType="api.bean.PoleSensorV2SoilVOEntity" parameterType="java.lang.String"> select * from pole_sensor_v2_soil psvs join pole_streetlight ps on ps.code_number = psvs.mac where device_type = '51' and mac = #{mac} order by psvs.id desc </select> </mapper> target/api-1.0-SNAPSHOT.jar.originalBinary files differ
target/classes/mapper/PoleSinglelampDataMapper.xml
@@ -71,4 +71,6 @@ psd.singlelamp_data_id DESC </select> </mapper> target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -2,22 +2,29 @@ api\service\PoleService.class api\bean\SinglelampDataEntity.class api\controller\PoleController.class api\dao\WeatherV2Dao.class api\service\WeatherService.class api\utils\httpClient.class api\bean\PoleLightBatchEntity.class api\bean\TimerRequest.class api\bean\ReqParams.class api\service\SinglelampDataServer.class api\controller\CameraController.class api\service\WeatherV2Service.class api\utils\HttpUtil.class api\controller\WeatherController.class api\controller\SinglelampDataController.class api\dao\SinglelampDataDao.class api\bean\PoleSensorV2VOEntity.class api\controller\TimerController.class api\dao\AccessDao.class api\service\AccessService.class api\bean\PoleSensorV2SoilVOEntity.class api\bean\LampEntity.class api\result\Msg.class api\bean\AccessEntity.class api\utils\CommonHeader.class api\APIApplication.class api\dao\WeatherDao.class api\controller\WeatherV2Controller.class api\bean\WeatherEntity.class api\controller\AccessController.class target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,23 +1,30 @@ D:\Coding\api\src\main\java\api\dao\SinglelampDataDao.java D:\Coding\api\src\main\java\api\service\WeatherService.java D:\Coding\api\src\main\java\api\bean\AccessEntity.java D:\Coding\api\src\main\java\api\service\AccessService.java D:\Coding\api\src\main\java\api\bean\ReqParams.java D:\Coding\api\src\main\java\api\controller\PoleController.java D:\Coding\api\src\main\java\api\service\PoleService.java D:\Coding\api\src\main\java\api\service\WeatherV2Service.java D:\Coding\api\src\main\java\api\service\SinglelampDataServer.java D:\Coding\api\src\main\java\api\utils\httpClient.java D:\Coding\api\src\main\java\api\utils\HttpUtil.java D:\Coding\api\src\main\java\api\bean\TimerRequest.java D:\Coding\api\src\main\java\api\controller\SinglelampDataController.java D:\Coding\api\src\main\java\api\dao\AccessDao.java D:\Coding\api\src\main\java\api\controller\AccessController.java D:\Coding\api\src\main\java\api\bean\LampEntity.java D:\Coding\api\src\main\java\api\dao\LampDao.java D:\Coding\api\src\main\java\api\bean\PoleSensorV2SoilVOEntity.java D:\Coding\api\src\main\java\api\dao\SinglelampDataDao.java D:\Coding\api\src\main\java\api\bean\AccessEntity.java D:\Coding\api\src\main\java\api\service\AccessService.java D:\Coding\api\src\main\java\api\dao\WeatherV2Dao.java D:\Coding\api\src\main\java\api\bean\ReqParams.java D:\Coding\api\src\main\java\api\utils\HttpUtil.java D:\Coding\api\src\main\java\api\controller\TimerController.java D:\Coding\api\src\main\java\api\bean\PoleSensorV2VOEntity.java D:\Coding\api\src\main\java\api\dao\WeatherDao.java D:\Coding\api\src\main\java\api\bean\SinglelampDataEntity.java D:\Coding\api\src\main\java\api\bean\WeatherEntity.java D:\Coding\api\src\main\java\api\bean\PoleLightBatchEntity.java D:\Coding\api\src\main\java\api\dao\AccessDao.java D:\Coding\api\src\main\java\api\controller\CameraController.java D:\Coding\api\src\main\java\api\controller\WeatherV2Controller.java D:\Coding\api\src\main\java\api\result\Msg.java D:\Coding\api\src\main\java\api\utils\CommonHeader.java D:\Coding\api\src\main\java\api\controller\AccessController.java D:\Coding\api\src\main\java\api\bean\LampEntity.java D:\Coding\api\src\main\java\api\controller\WeatherController.java D:\Coding\api\src\main\java\api\dao\LampDao.java D:\Coding\api\src\main\java\api\APIApplication.java