Procházet zdrojové kódy

获取和设置气象站开关时间,编辑删除液位传感器,素材列表

zhj před 2 roky
rodič
revize
2ee0163ce0

+ 2 - 0
src/main/java/com/welampiot/common/InterfaceResultEnum.java

@@ -148,6 +148,8 @@ public enum InterfaceResultEnum {
     AC_NAME_UNIQUE_ERROR("0341","AC设备名称已存在","The AC device name already exists","Название оборудования AC уже существует"),
     STRIP_GROUP_NAME_UNIQUE_ERROR("0342","灯带分组名称已存在","The lamp band group name already exists","Названия групп ламп уже существуют"),
     STRIP_GROUP_NUMBER_UNIQUE_ERROR("0343","灯带分组编号已存在","The strip group number already exists","Номера ламп уже существуют"),
+    WATER_LEVEL_NAME_UNIQUE_ERROR("0344","液位传感器名称已存在","The liquid level sensor name already exists","Имя жидкого датчика уже существует"),
+    WATER_LEVEL_NUMBER_UNIQUE_ERROR("0345","液位传感器编号已存在","The liquid level sensor number exists","Номер жидкого датчика уже существует"),
     ;
     private String code;
     private String msgCn;

+ 30 - 0
src/main/java/com/welampiot/controller/NewLampPoleController.java

@@ -70,6 +70,8 @@ public class NewLampPoleController {
     private LampPoleSnService lampPoleSnService;
     @Autowired
     private UserService userService;
+    @Autowired
+    private ProgramService programService;
 
     @RequestMapping(value = "/info",method = RequestMethod.POST)
     public BaseResult info(HttpServletRequest request){
@@ -1190,4 +1192,32 @@ public class NewLampPoleController {
         }
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
     }
+
+    /**
+     * 素材列表
+     * @param request username
+     * @return 素材列表
+     */
+    @RequestMapping(value = "/sourceList", method = RequestMethod.POST)
+    public BaseResult<?> sourceList(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request, "version", 1);
+        String username = (String) toolUtils.getRequestContent(request, "username", 2);
+        if (username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        UserDTO userDTO = userService.queryUserIdByUsername(username);
+        if (userDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        List<ProgramDTO> programList = programService.getProgramListByUserid(userDTO.getId());
+        List<ProgramDTO> imageList = new ArrayList<>();
+        List<ProgramDTO> videoList = new ArrayList<>();
+        programList.forEach(dto -> {
+            if (dto.getFileType() == 1) {
+                imageList.add(dto);
+            } else if (dto.getFileType() == 2) {
+                videoList.add(dto);
+            }
+        });
+        ProgramVO programVO = new ProgramVO();
+        programVO.setImageList(imageList);
+        programVO.setVideoList(videoList);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,programVO);
+    }
 }

+ 68 - 0
src/main/java/com/welampiot/controller/WaterLevelController.java

@@ -171,4 +171,72 @@ public class WaterLevelController {
         waterLevelDevInfoLogVO.setDepthList(depthList);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, version, waterLevelDevInfoLogVO);
     }
+
+    /**
+     * 编辑液位传感器
+     * @param request 液位传感器属性
+     * @return 编辑液位传感器
+     */
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public BaseResult<?> save(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        Integer model = (Integer) toolUtils.getRequestContent(request,"model",1);
+        String number = (String) toolUtils.getRequestContent(request,"number",2);
+        String name = (String) toolUtils.getRequestContent(request,"name",2);
+        String address = (String) toolUtils.getRequestContent(request,"address",2);
+        String screenNumber = (String) toolUtils.getRequestContent(request,"screenNumber",2);
+        String safeDepth = (String) toolUtils.getRequestContent(request,"safeDepth",2);
+        String broadcastAddress = (String) toolUtils.getRequestContent(request,"broadcastAddress",2);
+        String installDate = (String) toolUtils.getRequestContent(request,"installDate",2);
+        String expirationDate = (String) toolUtils.getRequestContent(request,"expirationDate",2);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        if (number.length() == 0 || name.length() == 0 || address.length() == 0)
+            return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        if (screenNumber.length() == 0 || safeDepth.length() == 0 || broadcastAddress.length() == 0)
+            return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        if (installDate.length() == 0 || expirationDate.length() == 0)
+            return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        WaterLevelDevInfoDTO water = waterLevelDevInfoService.getWaterLevelDTOById(id);
+        WaterLevelDevInfoDTO dto = new WaterLevelDevInfoDTO();
+        dto.setNumber(number);
+        dto.setSectionId(water.getSectionId());
+        dto.setId(id);
+        if (waterLevelDevInfoService.checkWaterLevelData(dto) > 0)
+            return toolUtils.response(InterfaceResultEnum.WATER_LEVEL_NUMBER_UNIQUE_ERROR,version);
+        dto = new WaterLevelDevInfoDTO();
+        dto.setName(name);
+        dto.setSectionId(water.getSectionId());
+        dto.setId(id);
+        if (waterLevelDevInfoService.checkWaterLevelData(dto) > 0)
+            return toolUtils.response(InterfaceResultEnum.WATER_LEVEL_NAME_UNIQUE_ERROR,version);
+        WaterLevelDevInfoDTO waterLevelDevInfoDTO = new WaterLevelDevInfoDTO();
+        waterLevelDevInfoDTO.setId(id);
+        waterLevelDevInfoDTO.setModel(model);
+        waterLevelDevInfoDTO.setName(name);
+        waterLevelDevInfoDTO.setNumber(number);
+        waterLevelDevInfoDTO.setAddress(address);
+        waterLevelDevInfoDTO.setScreenNumber(screenNumber);
+        waterLevelDevInfoDTO.setSafeDepth(safeDepth);
+        waterLevelDevInfoDTO.setBroadcastAddress(broadcastAddress);
+        waterLevelDevInfoDTO.setInstallDate(installDate);
+        waterLevelDevInfoDTO.setExpirationDate(expirationDate);
+        waterLevelDevInfoService.updateWaterLevelData(waterLevelDevInfoDTO);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
+    /**
+     * 删除液位传感器
+     * @param request 液位传感器id
+     * @return 删除液位传感器
+     */
+    @RequestMapping(value = "/del", method = RequestMethod.POST)
+    public BaseResult<?> del(HttpServletRequest request){
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        String id = (String) toolUtils.getRequestContent(request,"id",2);
+        if (id.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        List<String> ids = Arrays.asList(id.split(","));
+        waterLevelDevInfoService.deleteWaterLevelData(ids);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
 }

+ 81 - 0
src/main/java/com/welampiot/controller/WeatherController.java

@@ -0,0 +1,81 @@
+package com.welampiot.controller;
+
+import com.welampiot.common.BaseResult;
+import com.welampiot.common.InterfaceResultEnum;
+import com.welampiot.dto.EnvmonitorDTO;
+import com.welampiot.service.EnvmonitorService;
+import com.welampiot.utils.ToolUtils;
+import com.welampiot.vo.EnvmonitorVO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * ClassName: WeatherController
+ * Package: com.welampiot.controller
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/7 - 17:10
+ * @Version: v1.0
+ */
+@RestController
+@CrossOrigin
+@RequestMapping("/weather")
+public class WeatherController {
+    @Autowired
+    private ToolUtils toolUtils;
+    @Autowired
+    private EnvmonitorService envmonitorService;
+
+    /**
+     * 设置plc气象站开、关灯时间
+     * @param request 气象站属性
+     * @return 设置plc气象站开、关灯时间
+     */
+    @RequestMapping(value = "/set", method = RequestMethod.POST)
+    public BaseResult<?> set(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        Integer mpStatus = (Integer) toolUtils.getRequestContent(request,"mpStatus",1);
+        Integer mpBright = (Integer) toolUtils.getRequestContent(request,"mpBright",1);
+        Integer mpIllumination = (Integer) toolUtils.getRequestContent(request,"mpIllumination",1);
+        String mpStartTime = (String) toolUtils.getRequestContent(request,"mpStartTime",2);
+        String mpEndTime = (String) toolUtils.getRequestContent(request,"mpEndTime",2);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        if (mpStartTime.length() == 0 || mpEndTime.length() == 0)
+            return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        EnvmonitorDTO envmonitorDTO = new EnvmonitorDTO();
+        envmonitorDTO.setId(id);
+        envmonitorDTO.setMpStatus(mpStatus);
+        envmonitorDTO.setMpBright(mpBright);
+        envmonitorDTO.setMpIllumination(mpIllumination);
+        envmonitorDTO.setMpStartTime(mpStartTime);
+        envmonitorDTO.setMpEndTime(mpEndTime);
+        envmonitorService.updateEnvmonitorMpData(envmonitorDTO);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
+    /**
+     * 获取plc气象站开、关时间
+     * @param request 气象站id
+     * @return 获取plc气象站开、关时间
+     */
+    @RequestMapping(value = "/get", method = RequestMethod.POST)
+    public BaseResult<?> get(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        EnvmonitorDTO envmonitorDTO = envmonitorService.getEnvmonitorMpDataById(id);
+        EnvmonitorVO envmonitorVO = new EnvmonitorVO();
+        if (envmonitorDTO == null)
+            return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,envmonitorVO);
+        BeanUtils.copyProperties(envmonitorDTO,envmonitorVO);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,envmonitorVO);
+    }
+}

+ 4 - 0
src/main/java/com/welampiot/dao/EnvmonitorDao.java

@@ -43,4 +43,8 @@ public interface EnvmonitorDao {
     void updateLampPoleEnvmonitorData(EnvmonitorDTO dto);
 
     Integer checkEnvmonitorData(EnvmonitorDTO dto);
+
+    void updateEnvmonitorMpData(EnvmonitorDTO dto);
+
+    EnvmonitorDTO getEnvmonitorMpDataById(@Param("id") Integer id);
 }

+ 9 - 0
src/main/java/com/welampiot/dao/WaterLevelDevInfoDao.java

@@ -1,6 +1,7 @@
 package com.welampiot.dao;
 
 import com.welampiot.dto.WaterLevelDevInfoDTO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -17,4 +18,12 @@ public interface WaterLevelDevInfoDao {
     List<WaterLevelDevInfoDTO> getWaterLevelListByDTO(WaterLevelDevInfoDTO dto);
 
     Integer getWaterLevelTotalByDTO(WaterLevelDevInfoDTO dto);
+
+    void updateWaterLevelData(WaterLevelDevInfoDTO dto);
+
+    WaterLevelDevInfoDTO getWaterLevelDTOById(@Param("id") Integer id);
+
+    Integer checkWaterLevelData(WaterLevelDevInfoDTO dto);
+
+    void deleteWaterLevelData(@Param("ids") List<String> ids);
 }

+ 1 - 1
src/main/java/com/welampiot/dto/ProgramDTO.java

@@ -46,7 +46,7 @@ public class ProgramDTO implements Serializable {
 
     private String createTime;
 
-    private String time; // 播放时长
+    private Integer time; // 播放时长
 
     private Integer size; // 字体大小
 

+ 2 - 0
src/main/java/com/welampiot/dto/WaterLevelDevInfoDTO.java

@@ -105,5 +105,7 @@ public class WaterLevelDevInfoDTO implements Serializable {
 
     private Integer version;
 
+    private Integer sectionId;
+
     private static final long serialVersionUID = 1L;
 }

+ 4 - 0
src/main/java/com/welampiot/service/EnvmonitorService.java

@@ -41,4 +41,8 @@ public interface EnvmonitorService {
     void updateLampPoleEnvmonitorData(EnvmonitorDTO dto);
 
     Integer checkEnvmonitorData(EnvmonitorDTO dto);
+
+    void updateEnvmonitorMpData(EnvmonitorDTO dto);
+
+    EnvmonitorDTO getEnvmonitorMpDataById(Integer id);
 }

+ 11 - 0
src/main/java/com/welampiot/service/WaterLevelDevInfoService.java

@@ -2,6 +2,9 @@ package com.welampiot.service;
 
 import com.welampiot.dto.WaterLevelDevInfoDTO;
 import com.welampiot.vo.WaterLevelDevInfoVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * ClassName: WaterLevelDevInfoService
@@ -14,4 +17,12 @@ import com.welampiot.vo.WaterLevelDevInfoVO;
  */
 public interface WaterLevelDevInfoService {
     WaterLevelDevInfoVO getWaterLevelListByDTO(WaterLevelDevInfoDTO dto);
+
+    void updateWaterLevelData(WaterLevelDevInfoDTO dto);
+
+    WaterLevelDevInfoDTO getWaterLevelDTOById(@Param("id") Integer id);
+
+    Integer checkWaterLevelData(WaterLevelDevInfoDTO dto);
+
+    void deleteWaterLevelData(List<String> ids);
 }

+ 11 - 1
src/main/java/com/welampiot/service/impl/EnvmonitorServiceImpl.java

@@ -237,11 +237,21 @@ public class EnvmonitorServiceImpl implements EnvmonitorService {
 
     @Override
     public void updateLampPoleEnvmonitorData(EnvmonitorDTO dto) {
-        envmonitorDao.checkEnvmonitorData(dto);
+        envmonitorDao.updateLampPoleEnvmonitorData(dto);
     }
 
     @Override
     public Integer checkEnvmonitorData(EnvmonitorDTO dto) {
         return envmonitorDao.checkEnvmonitorData(dto);
     }
+
+    @Override
+    public void updateEnvmonitorMpData(EnvmonitorDTO dto) {
+        envmonitorDao.updateEnvmonitorMpData(dto);
+    }
+
+    @Override
+    public EnvmonitorDTO getEnvmonitorMpDataById(Integer id) {
+        return envmonitorDao.getEnvmonitorMpDataById(id);
+    }
 }

+ 20 - 0
src/main/java/com/welampiot/service/impl/WaterLevelDevInfoServiceImpl.java

@@ -106,4 +106,24 @@ public class WaterLevelDevInfoServiceImpl implements WaterLevelDevInfoService {
         vo.setList(list);
         return vo;
     }
+
+    @Override
+    public void updateWaterLevelData(WaterLevelDevInfoDTO dto) {
+        waterLevelDevInfoDao.updateWaterLevelData(dto);
+    }
+
+    @Override
+    public WaterLevelDevInfoDTO getWaterLevelDTOById(Integer id) {
+        return waterLevelDevInfoDao.getWaterLevelDTOById(id);
+    }
+
+    @Override
+    public Integer checkWaterLevelData(WaterLevelDevInfoDTO dto) {
+        return waterLevelDevInfoDao.checkWaterLevelData(dto);
+    }
+
+    @Override
+    public void deleteWaterLevelData(List<String> ids) {
+        waterLevelDevInfoDao.deleteWaterLevelData(ids);
+    }
 }

+ 10 - 0
src/main/java/com/welampiot/vo/EnvmonitorVO.java

@@ -25,5 +25,15 @@ public class EnvmonitorVO implements Serializable {
 
     private List<EnvmonitorDTO> list;
 
+    private Integer mpStatus;
+
+    private String mpStartTime;
+
+    private String mpEndTime;
+
+    private Integer mpBright;
+
+    private Integer mpIllumination;
+
     private static final long serialVersionUID = 1L;
 }

+ 4 - 0
src/main/java/com/welampiot/vo/ProgramVO.java

@@ -20,4 +20,8 @@ public class ProgramVO implements Serializable {
     private static final long serialVersionUID = 1L;
 
     private List<ProgramDTO> dataList;
+
+    private List<ProgramDTO> imageList;
+
+    private List<ProgramDTO> videoList;
 }

+ 25 - 0
src/main/resources/mapper/EnvmonitorMapper.xml

@@ -227,4 +227,29 @@
         where e.lamp_pole_id = #{lampPoleId}
     </select>
 
+    <update id="updateEnvmonitorMpData" parameterType="EnvmonitorDTO">
+        update
+            envmonitor e
+        set
+            e.mp_status = #{mpStatus},
+            e.mp_start_time = #{mpStartTime},
+            e.mp_end_time = #{mpEndTime},
+            e.mp_bright = #{mpBright},
+            e.mp_illumination = #{mpIllumination}
+        where
+            e.id = #{id}
+    </update>
+    
+    <select id="getEnvmonitorMpDataById" resultType="EnvmonitorDTO">
+        select
+            e.mp_status as mpStatus,
+            e.mp_start_time as mpStartTime,
+            e.mp_end_time as mpEndTime,
+            e.mp_bright as mpBright,
+            e.mp_illumination as mpIllumination
+        from envmonitor e
+        where
+            e.id = #{id}
+    </select>
+
 </mapper>

+ 1 - 1
src/main/resources/mapper/ProgramMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.welampiot.dao.ProgramDao">
 
     <select id="getProgramListByUserid" resultType="ProgramDTO">
-        select p.id,p.name,p.type,p.fileType,p.createtime as createTime,p.path
+        select p.id,p.name,p.type,p.fileType,p.createtime as createTime,p.path,p.time
         from program p
         where p.userid = #{userid}
     </select>

+ 49 - 0
src/main/resources/mapper/WaterLevelDevInfoMapper.xml

@@ -56,4 +56,53 @@
         </if>
     </select>
 
+    <update id="updateWaterLevelData" parameterType="WaterLevelDevInfoDTO">
+        update
+            water_level_dev_info w
+        set
+            w.number = #{number},
+            w.name = #{name},
+            w.model = #{model},
+            w.address = #{address},
+            w.screen_number = #{screenNumber},
+            w.safe_depth = #{safeDepth},
+            w.broadcast_address = #{broadcastAddress},
+            w.install_date = #{installDate},
+            w.expiration_date = #{expirationDate}
+        where
+            w.id = #{id}
+    </update>
+
+    <select id="checkWaterLevelData" resultType="Integer">
+        select count(*)
+        from water_level_dev_info w
+        left join lamp_pole lp on lp.id = w.lamp_pole_id
+        where 1=1
+        <if test="sectionId != null and sectionId != 0">
+            and lp.sectionid = #{sectionId}
+        </if>
+        <if test="name != null and name != ''">
+            and w.name = #{name}
+        </if>
+        <if test="number != null and number != ''">
+            and w.number = #{number}
+        </if>
+    </select>
+
+    <select id="getWaterLevelDTOById" resultType="WaterLevelDevInfoDTO">
+        select w.id,lp.sectionid as sectionId
+        from water_level_dev_info w
+        left join lamp_pole lp on lp.id = w.lamp_pole_id
+        where w.id = #{id}
+    </select>
+
+    <delete id="deleteWaterLevelData">
+        delete
+        from water_level_dev_info
+        where id in
+        <foreach collection="ids" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </delete>
+
 </mapper>