dao/src/main/java/com/sandu/ximon/dao/domain/WaterQualityData.java
@@ -11,20 +11,18 @@ public class WaterQualityData implements Serializable { @TableId(type = IdType.AUTO) private Long id; //设å¤ID private Long equipmentId; //水质设å¤ç¼ç private String waterQualityEquipmentCode; //æå±ç¯æ private String belongTo; //æ°´è´¨é ¸ç¢±åº¦pH private Double waterQualityPh; private String waterQualityPh; //水质溶解度DOï¼mg/Lï¼ private Double waterQualityDo; private String waterQualityDo; //æ°´è´¨çµå¯¼çEC(10^(-6)S) private Double waterQualityEc; private String waterQualityEc; //æ°´è´¨æµåº¦ï¼NTUï¼ private Double waterQualityNtu; private String waterQualityNtu; //䏿¥æ¶é´ private LocalDateTime updateTime; //å建æ¶é´ dao/src/main/java/com/sandu/ximon/dao/domain/WaterQualityEquipment.java
@@ -20,6 +20,4 @@ private int equipmentState; //æ¥å ¥æ¶é´ private LocalDateTime createTime; //æå±äºº private Long userId; } dao/src/main/resources/mapper/WaterQualityDataMapper.xml
@@ -6,13 +6,12 @@ <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.WaterQualityData"> <id property="id" column="id" jdbcType="BIGINT"/> <result property="equipmentId" column="equipment_id" jdbcType="BIGINT"/> <result property="waterQualityEquipmentCode" column="water_quality_equipment_code" jdbcType="VARCHAR"/> <result property="belongTo" column="belong_to" jdbcType="VARCHAR"/> <result property="waterQualityPh" column="water_quality_ph" jdbcType="DOUBLE"/> <result property="waterQualityDo" column="water_quality_do" jdbcType="DOUBLE"/> <result property="waterQualityEc" column="water_quality_ec" jdbcType="DOUBLE"/> <result property="waterQualityNtu" column="water_quality_ntu" jdbcType="DOUBLE"/> <result property="waterQualityPh" column="water_quality_ph" jdbcType="VARCHAR"/> <result property="waterQualityDo" column="water_quality_do" jdbcType="VARCHAR"/> <result property="waterQualityEc" column="water_quality_ec" jdbcType="VARCHAR"/> <result property="waterQualityNtu" column="water_quality_ntu" jdbcType="VARCHAR"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> </resultMap> dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml
@@ -10,7 +10,6 @@ <result property="waterQualityEquipmentCode" column="water_quality_equipment_code" jdbcType="VARCHAR"/> <result property="equipmentState" column="equipment_state" jdbcType="INTEGER"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="userId" column="user_id" jdbcType="BIGINT"/> </resultMap> </mapper> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -6,7 +6,7 @@ import com.sandu.ximon.admin.param.MonitorParam; import com.sandu.ximon.admin.service.MonitorService; import com.sandu.ximon.dao.domain.Monitor; import com.sandu.ximon.dao.domain.YSY_MonitorDto; import com.sandu.ximon.admin.dto.YSY_MonitorDto; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityDataController.java
@@ -2,13 +2,11 @@ import com.sandu.common.domain.ResponseVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.dto.WaterQualityDataDto; import com.sandu.ximon.admin.service.WaterQualityDataService; import com.sandu.ximon.dao.domain.WaterQualityData; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -38,4 +36,10 @@ return ResponseUtil.successPage(list); } @PostMapping("/getWaterQualityDataInfo/{waterQualityEquipmentCode}") public ResponseVO<Object> getWaterQualityDataInfo(@PathVariable String waterQualityEquipmentCode) { WaterQualityDataDto waterQualityDataDto = waterQualityDataService.getWaterQualityDataInfo(waterQualityEquipmentCode); return ResponseUtil.success(waterQualityDataDto); } } ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityEquipmentController.java
@@ -2,6 +2,7 @@ import com.sandu.common.domain.ResponseVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.WaterQualityEquipmentParam; import com.sandu.ximon.admin.service.WaterQualityEquipmentService; import com.sandu.ximon.dao.domain.WaterQualityEquipment; import lombok.AllArgsConstructor; @@ -44,4 +45,15 @@ return ResponseUtil.fail("æä½å¤±è´¥"); } } @PostMapping("/add") public ResponseVO<Object> addQualityEquipment(@RequestBody WaterQualityEquipment waterQualityEquipment) { boolean result = waterQualityEquipmentService.addWaterQualityEquipment(waterQualityEquipment); if (result) { return ResponseUtil.success(null); } else { return ResponseUtil.fail("æä½å¤±è´¥"); } } } ximon-admin/src/main/java/com/sandu/ximon/admin/dto/WaterQualityDataDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,59 @@ package com.sandu.ximon.admin.dto; import lombok.Data; import java.io.Serializable; import java.util.List; /** * @author ZZQ * @date 2021/12/22 17:05 */ @Data public class WaterQualityDataDto { private String code; private String msg; private String did; private List<WaterQualityBean> data; public class WaterQualityBean { private String unit; private String code; private String name; private String value; public String getUnit() { return unit; } public void setUnit(String unit) { this.unit = unit; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } } } ximon-admin/src/main/java/com/sandu/ximon/admin/dto/YSY_AccessTokenDto.java
ÎļþÃû´Ó dao/src/main/java/com/sandu/ximon/dao/domain/YSY_AccessTokenDto.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.sandu.ximon.dao.domain; package com.sandu.ximon.admin.dto; import lombok.Data; ximon-admin/src/main/java/com/sandu/ximon/admin/dto/YSY_MonitorDto.java
ÎļþÃû´Ó dao/src/main/java/com/sandu/ximon/dao/domain/YSY_MonitorDto.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.sandu.ximon.dao.domain; package com.sandu.ximon.admin.dto; import lombok.Data; import lombok.NoArgsConstructor; ximon-admin/src/main/java/com/sandu/ximon/admin/param/WaterQualityEquipmentParam.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package com.sandu.ximon.admin.param; import lombok.Data; /** * @author ZZQ * @date 2021/12/22 11:03 */ @Data public class WaterQualityEquipmentParam { private String waterQualityEquipmentCode; private int equipmentState; private String belongTo; } ximon-admin/src/main/java/com/sandu/ximon/admin/schedule/WaterQualityDataSchedule.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package com.sandu.ximon.admin.schedule; import com.sandu.ximon.admin.service.WaterQualityDataService; import com.sandu.ximon.admin.service.WaterQualityEquipmentService; import com.sandu.ximon.dao.domain.WaterQualityEquipment; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.List; /** * @author ZZQ * @date 2021/12/23 14:45 */ @Component @Slf4j @AllArgsConstructor @EnableScheduling public class WaterQualityDataSchedule { private WaterQualityEquipmentService waterQualityEquipmentService; private WaterQualityDataService waterQualityDataService; @Scheduled(cron = "0 0 0/1 * * ?") public void UserSubjectRefund() { List<WaterQualityEquipment> waterQualityEquipmentList = waterQualityEquipmentService.listWaterQualityEquipment(); for (WaterQualityEquipment waterQualityEquipment : waterQualityEquipmentList) { waterQualityDataService.getWaterQualityDataInfo(waterQualityEquipment.getWaterQualityEquipmentCode()); } } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -9,8 +9,8 @@ import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.MonitorParam; import com.sandu.ximon.dao.domain.Monitor; import com.sandu.ximon.dao.domain.YSY_AccessTokenDto; import com.sandu.ximon.dao.domain.YSY_MonitorDto; import com.sandu.ximon.admin.dto.YSY_AccessTokenDto; import com.sandu.ximon.admin.dto.YSY_MonitorDto; import com.sandu.ximon.dao.mapper.MonitorMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java
@@ -1,13 +1,13 @@ package com.sandu.ximon.admin.service; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.execption.BusinessException; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.dto.WaterQualityDataDto; import com.sandu.ximon.dao.domain.WaterQualityData; import com.sandu.ximon.dao.domain.WaterQualityEquipment; import com.sandu.ximon.dao.mapper.WaterQualityDataMapper; import com.sandu.ximon.dao.mapper.WaterQualityEquipmentMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -16,6 +16,8 @@ @Service @AllArgsConstructor public class WaterQualityDataService extends BaseServiceImpl<WaterQualityDataMapper, WaterQualityData> { //æ°´è´¨åæ°è·åç½åï¼ä¾å¦ï¼"http://iot.ainongye.cn/json/设å¤ç¼å·.json" private final String WATER_QUALITY_DATA_URL = "http://iot.ainongye.cn/json/"; /** * æ¥è¯¢å ¨é¨æ°´è´¨è®¾å¤æ°æ® @@ -33,12 +35,49 @@ public List<WaterQualityData> listWaterQualityDataByKeyword(String keyword) { LambdaQueryWrapper<WaterQualityData> wrapper = Wrappers.lambdaQuery(WaterQualityData.class); if(keyword != null){ wrapper.like(WaterQualityData::getBelongTo,keyword); if (keyword != null) { wrapper.like(WaterQualityData::getBelongTo, keyword); } List<WaterQualityData> waterQualityDataList = list(wrapper); return waterQualityDataList; } /** * è·åæ°´è´¨æ°æ® * * @param waterQualityEquipmentCode 设å¤ç¼å· */ public WaterQualityDataDto getWaterQualityDataInfo(String waterQualityEquipmentCode) { WaterQualityDataDto waterQualityDataDto = null; try { String s = HttpUtil.get(WATER_QUALITY_DATA_URL + waterQualityEquipmentCode + ".json"); System.out.println(s); waterQualityDataDto = JSON.parseObject(s, WaterQualityDataDto.class); WaterQualityData waterQualityData = new WaterQualityData(); for (WaterQualityDataDto.WaterQualityBean bean : waterQualityDataDto.getData()) { switch (bean.getCode()) { case "A211"://æ°´è´¨PH waterQualityData.setWaterQualityPh(bean.getValue()); break; case "A203"://水质溶解氧 waterQualityData.setWaterQualityDo(bean.getValue()); break; case "A343"://æµåº¦ waterQualityData.setWaterQualityNtu(bean.getValue()); break; case "A209"://çµå¯¼ç waterQualityData.setWaterQualityEc(bean.getValue()); break; default: } } waterQualityData.setWaterQualityEquipmentCode(waterQualityDataDto.getDid()); save(waterQualityData); } catch (Exception e) { e.printStackTrace(); } return waterQualityDataDto; } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.execption.BusinessException; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.WaterQualityEquipmentParam; import com.sandu.ximon.dao.domain.AirEquipment; import com.sandu.ximon.dao.domain.Monitor; import com.sandu.ximon.dao.domain.WaterQualityEquipment; import com.sandu.ximon.dao.mapper.AirEquipmentMapper; import com.sandu.ximon.dao.mapper.WaterQualityEquipmentMapper; @@ -33,8 +35,8 @@ public List<WaterQualityEquipment> listWaterQualityEquipmentByKeyword(String keyword) { LambdaQueryWrapper<WaterQualityEquipment> wrapper = Wrappers.lambdaQuery(WaterQualityEquipment.class); if(keyword != null){ wrapper.like(WaterQualityEquipment::getBelongTo,keyword); if (keyword != null) { wrapper.like(WaterQualityEquipment::getBelongTo, keyword); } List<WaterQualityEquipment> airDataList = list(wrapper); return airDataList; @@ -53,4 +55,25 @@ } return removeById(Id); } /** * æ·»å æ°´è´¨è®¾å¤ * * @param waterQualityEquipment * @return */ public boolean addWaterQualityEquipment(WaterQualityEquipment waterQualityEquipment) { if (waterQualityEquipment.getWaterQualityEquipmentCode() == null) { throw new BusinessException("ç¼ºå°æ°´è´¨è®¾å¤å·åæ°"); } WaterQualityEquipment one = getOne(Wrappers.lambdaQuery(WaterQualityEquipment.class).eq(WaterQualityEquipment::getWaterQualityEquipmentCode, waterQualityEquipment.getWaterQualityEquipmentCode())); if (one == null) { return save(waterQualityEquipment); } else { waterQualityEquipment.setId(one.getId()); return updateById(waterQualityEquipment); } } }