From 6d213aaf0040dc8f309d6847a584d09b662abc37 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 01 Mar 2024 09:59:10 +0800
Subject: [PATCH] fix:手持设备补充提交

---
 screen-api/src/main/java/com/moral/api/controller/HandDeviceController.java    |   33 +---------------
 screen-api/src/main/java/com/moral/api/service/impl/HandDeviceServiceImpl.java |   81 +++++++++++++++++++---------------------
 screen-api/src/main/resources/mapper/HandDeviceMapper.xml                      |    2 
 screen-api/src/main/java/com/moral/api/service/HandDeviceService.java          |    2 
 4 files changed, 44 insertions(+), 74 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/HandDeviceController.java b/screen-api/src/main/java/com/moral/api/controller/HandDeviceController.java
index 4903b6a..fd03a5d 100644
--- a/screen-api/src/main/java/com/moral/api/controller/HandDeviceController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/HandDeviceController.java
@@ -10,26 +10,20 @@
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.moral.api.entity.Device;
 import com.moral.api.entity.HandDevice;
 import com.moral.api.pojo.query.handdevice.HandDevicePageCond;
-import com.moral.api.service.DeviceService;
 import com.moral.api.service.HandDeviceService;
-import com.moral.api.service.SpecialDeviceService;
 import com.moral.api.utils.EasyExcelUtils;
 import com.moral.api.utils.NoModelWriteData;
 import com.moral.constant.PageResult;
-import com.moral.constant.ResponseCodeEnum;
 import com.moral.constant.ResultMessage;
 import com.moral.util.WebUtils;
 
@@ -49,12 +43,6 @@
 
     @Autowired
     private HandDeviceService handDeviceService;
-
-    @Autowired
-    private DeviceService deviceService;
-
-    @Autowired
-    private SpecialDeviceService specialDeviceService;
 
     @PostMapping("/page")
     @ApiOperation("������")
@@ -81,24 +69,9 @@
 
     @PostMapping("/update")
     @ApiOperation("������������������")
-    public  ResultMessage update(@RequestBody Device device){
-        if (device.getId() == null) {
-            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
-                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
-        }
-     /*   if (device.getMac() != null) {
-            //������mac���������������,���������������������������������������������
-            QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("mac", device.getMac()).eq("is_delete", Constants.NOT_DELETE);
-
-            QueryWrapper<SpecialDevice> specialDeviceQueryWrapper = new QueryWrapper<>();
-            specialDeviceQueryWrapper.eq("mac", device.getMac()).eq("is_delete", Constants.NOT_DELETE);
-            if (deviceService.getOne(queryWrapper) != null || specialDeviceService.getOne(specialDeviceQueryWrapper) != null) {
-                return ResultMessage.fail(ResponseCodeEnum.MAC_IS_EXIST.getCode(), ResponseCodeEnum.MAC_IS_EXIST.getMsg());
-            }
-        }*/
-        handDeviceService.update(device);
-        return ResultMessage.ok();
+    public  ResultMessage update(@RequestBody HandDevice handDevice){
+        HandDevice handDevice1 = handDeviceService.update(handDevice);
+        return ResultMessage.ok(handDevice1);
     }
 
     @GetMapping("/details")
diff --git a/screen-api/src/main/java/com/moral/api/service/HandDeviceService.java b/screen-api/src/main/java/com/moral/api/service/HandDeviceService.java
index 4043c7a..7e6c583 100644
--- a/screen-api/src/main/java/com/moral/api/service/HandDeviceService.java
+++ b/screen-api/src/main/java/com/moral/api/service/HandDeviceService.java
@@ -30,7 +30,7 @@
      * ������������������
      * @return
      */
-    void update(Device device);
+    HandDevice update(HandDevice handDevice);
 
     /**
      * ������mac������
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HandDeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HandDeviceServiceImpl.java
index 3c7bc5d..e7e23f1 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HandDeviceServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HandDeviceServiceImpl.java
@@ -1,9 +1,7 @@
 package com.moral.api.service.impl;
 
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 import java.util.ArrayList;
 import java.util.Date;
@@ -11,6 +9,7 @@
 import java.util.List;
 import java.util.Map;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -79,51 +78,34 @@
      */
     @Override
     public List<Device> check() {
-        List<Device> organizationDevice = deviceService.getOrganizationDevice(123);
-        return organizationDevice;
+        LambdaQueryWrapper<Device> wrapper = new LambdaQueryWrapper<>();
+        wrapper.select(Device::getMac,Device::getName,Device::getId);
+        wrapper.eq(Device::getMonitorPointId,123);
+        wrapper.eq(Device::getIsDelete,Constants.NOT_DELETE);
+        wrapper.orderByAsc(Device::getCreateTime);
+        List<Device> devices = deviceMapper.selectList(wrapper);
+        return devices;
     }
 
     /**
      * ������������������
      *
-     * @param device
+     * @param handDevice
      * @return
      */
     @Override
-    @Transactional
-    public void update(Device device) {
-        QxUser currentUser = UserHelper.getCurrentUser();
-        deviceMapper.updateById(device);
-        QueryWrapper<HandDevice> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("mac",device.getMac());
-        queryWrapper.orderByDesc("create_time");
-        List<HandDevice> handDevices = handDeviceMapper.selectList(queryWrapper);
-        HandDevice handDevice = new HandDevice();
-        handDevice.setAddress(device.getAddress());
-        handDevice.setName(device.getName());
-        handDevice.setMac(device.getMac());
-        handDevice.setLongitude(device.getLongitude());
-        handDevice.setLatitude(device.getLatitude());
-        handDevice.setIsDelete(Constants.NOT_DELETE);
-        handDevice.setUpdateName(currentUser.getUserName());
-        handDevice.setStartTime(new Date());
-        handDevice.setUpdateTime(new Date());
-        handDevice.setCreateTime(new Date());
-        handDevice.setState("1");
-        if (!ObjectUtils.isEmpty(handDevices)){
-            HandDevice handDevice1 = handDevices.get(0);
-            String state = handDevice1.getState();
-            if (state.equals("1")){
-                handDevice1.setState("0");
-                handDevice1.setEndTime(new Date());
-                handDeviceMapper.updateById(handDevice1);
-            }else {
-            handDeviceMapper.insert(handDevice);
-            }
+    public HandDevice update(HandDevice handDevice) {
+        String state = handDevice.getState();
+        if (state.equals("0")){
+            HandDevice handDevice1 = getHand(handDevice);
+            handDeviceMapper.insert(handDevice1);
+            return handDevice1;
         }else {
-            handDeviceMapper.insert(handDevice);
+            handDevice.setEndTime(new Date());
+            handDevice.setState("0");
+            handDeviceMapper.updateById(handDevice);
+            return handDevice;
         }
-
     }
 
     @Override
@@ -136,7 +118,8 @@
         if (ObjectUtils.isEmpty(handDevices)){
             handDevice = new HandDevice();
             Device deviceByMac = deviceService.getDeviceByMac(mac);
-            BeanUtils.copyProperties(deviceByMac,handDevice);
+            handDevice.setName(deviceByMac.getName());
+            handDevice.setMac(deviceByMac.getMac());
             handDevice.setState("0");
         }else {
             handDevice = handDevices.get(0);
@@ -156,8 +139,6 @@
     public List<Map<String, Object>> details(String mac, String startTime, String endTime,String type) {
         Date startDate = DateUtils.getDate(startTime,DateUtils.yyyy_MM_dd_HH_mm_EN);
         Date endDate = DateUtils.getDate(endTime,DateUtils.yyyy_MM_dd_HH_mm_EN);
-//        Date startDate = DateUtils.getDate("2024-01-02 00:00:00",DateUtils.yyyy_MM_dd_HH_mm_EN);
-//        Date endDate = DateUtils.getDate("2024-01-03 05:00:00",DateUtils.yyyy_MM_dd_HH_mm_EN);
         List<Map<String, Object>> rsMap = new ArrayList<>();
 
         if (type.equals("hour")){
@@ -196,8 +177,6 @@
         String mac = params.get("mac").toString();
         Date startDate = DateUtils.getDate(params.get("startTime").toString(),DateUtils.yyyy_MM_dd_HH_mm_EN);
         Date endDate = DateUtils.getDate(params.get("endTime").toString(),DateUtils.yyyy_MM_dd_HH_mm_EN);
-//        Date startDate = DateUtils.getDate("2024-01-02 00:00:00",DateUtils.yyyy_MM_dd_HH_mm_EN);
-//        Date endDate = DateUtils.getDate("2024-01-03 05:00:00",DateUtils.yyyy_MM_dd_HH_mm_EN);
         List<Map<String, Object>> rsMap = new ArrayList<>();
         if (type.equals("hour")){
             List<HistoryHourly> valueByMacAndTime = historyHourlyService.getValueByMacAndTime(mac, startDate, endDate);
@@ -246,4 +225,22 @@
     }
 
 
+    private HandDevice getHand(HandDevice handDevice){
+        QxUser currentUser = UserHelper.getCurrentUser();
+        HandDevice rsHandDevice = new HandDevice();
+        rsHandDevice.setName(handDevice.getName());
+        rsHandDevice.setMac(handDevice.getMac());
+        rsHandDevice.setAddress(handDevice.getAddress());
+        rsHandDevice.setLatitude(handDevice.getLatitude());
+        rsHandDevice.setLongitude(handDevice.getLongitude());
+        rsHandDevice.setIsDelete(Constants.NOT_DELETE);
+        rsHandDevice.setUpdateName(currentUser.getUserName());
+        rsHandDevice.setStartTime(new Date());
+        rsHandDevice.setUpdateTime(new Date());
+        rsHandDevice.setCreateTime(new Date());
+        rsHandDevice.setState("1");
+        return rsHandDevice;
+    }
+
+
 }
diff --git a/screen-api/src/main/resources/mapper/HandDeviceMapper.xml b/screen-api/src/main/resources/mapper/HandDeviceMapper.xml
index 18d162a..aeea728 100644
--- a/screen-api/src/main/resources/mapper/HandDeviceMapper.xml
+++ b/screen-api/src/main/resources/mapper/HandDeviceMapper.xml
@@ -39,7 +39,7 @@
                 and date(end_time) <![CDATA[<=]]>  #{endTime}
             </if>
         </where>
-
+        order by start_time desc
     </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0