From f976feb7ae339c006af150b30802f7edfc8d966f Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 13 Oct 2023 09:05:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cjl' into qa

---
 screen-manage/src/main/java/com/moral/api/controller/SpecialDeviceController.java |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 1 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/controller/SpecialDeviceController.java b/screen-manage/src/main/java/com/moral/api/controller/SpecialDeviceController.java
index b796646..ba59779 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/SpecialDeviceController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/SpecialDeviceController.java
@@ -1,7 +1,17 @@
 package com.moral.api.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.moral.api.entity.Organization;
 import com.moral.api.entity.SpecialDevice;
+import com.moral.api.entity.SysDictData;
+import com.moral.api.entity.Version;
+import com.moral.api.mapper.SysDictDataMapper;
+import com.moral.api.service.OrganizationService;
 import com.moral.api.service.SpecialDeviceService;
+import com.moral.api.service.VersionService;
+import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
 import com.moral.constant.ResultMessage;
 import com.moral.util.WebUtils;
 import io.swagger.annotations.Api;
@@ -21,6 +31,15 @@
     @Resource
     private SpecialDeviceService specialDeviceService;
 
+    @Resource
+    private OrganizationService organizationService;
+
+    @Resource
+    private VersionService versionService;
+
+    @Resource
+    private SysDictDataMapper sysDictDataMapper;
+
     @RequestMapping(value = "getSpecialDeviceByCondition", method = RequestMethod.GET)
     @ResponseBody
     public ResultMessage getSpecialDeviceByCondition(HttpServletRequest request) {
@@ -35,7 +54,6 @@
     @RequestMapping(value = "insert", method = RequestMethod.POST)
     @ResponseBody
     public ResultMessage insert(@RequestBody SpecialDevice specialDevice){
-        System.out.println(specialDevice);
         Map<String,Object> resultMap = specialDeviceService.insert(specialDevice);
         String msg = resultMap.get("msg").toString();
         int code = Integer.parseInt(resultMap.get("code").toString());
@@ -44,4 +62,63 @@
         }
         return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString());
     }
+
+    @RequestMapping(value = "update", method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage update (@RequestBody SpecialDevice specialDevice){
+        if (specialDevice.getId() == null) {
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        if (specialDevice.getMac() != null) {
+            //������mac���������������
+            QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("mac", specialDevice.getMac());
+            queryWrapper.eq("is_delete",Constants.NOT_DELETE);
+            if (specialDeviceService.getOne(queryWrapper) != null) {
+                return ResultMessage.fail(ResponseCodeEnum.MAC_IS_EXIST.getCode(), ResponseCodeEnum.MAC_IS_EXIST.getMsg());
+            }
+        }
+        if (specialDevice.getOrganizationId() != null) {
+            //���������������������������
+            QueryWrapper<Organization> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("id", specialDevice.getOrganizationId());
+            queryWrapper.eq("is_delete",Constants.NOT_DELETE);
+            if (ObjectUtils.isEmpty(organizationService.getOne(queryWrapper))) {
+                return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
+            }
+        }
+        if (specialDevice.getDeviceVersionId() != null) {
+            //���������������������������
+            QueryWrapper<Version> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("id", specialDevice.getDeviceVersionId());
+            queryWrapper.eq("is_delete",Constants.NOT_DELETE);
+            if (ObjectUtils.isEmpty(versionService.getOne(queryWrapper))) {
+                return ResultMessage.fail(ResponseCodeEnum.VERSION_NOT_EXIST.getCode(), ResponseCodeEnum.VERSION_NOT_EXIST.getMsg());
+            }
+        }
+        if (specialDevice.getSpecialType() != null) {
+            //���������������������������
+            QueryWrapper<SysDictData> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("dict_type_id", 27);
+            queryWrapper.eq("dataKey", specialDevice.getSpecialType());
+            queryWrapper.eq("is_delete",Constants.NOT_DELETE);
+            if (ObjectUtils.isEmpty(sysDictDataMapper.selectOne(queryWrapper))) {
+                return ResultMessage.fail(ResponseCodeEnum.DICTDATA_KEY_NOT_EXIST.getCode(), ResponseCodeEnum.DICTDATA_KEY_NOT_EXIST.getMsg());
+            }
+        }
+        specialDeviceService.update(specialDevice);
+        return ResultMessage.ok();
+    }
+
+    @RequestMapping(value = "delete", method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage delete(@RequestBody Map map){
+        if (map.get("id") == null){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
+                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        specialDeviceService.delete(Integer.parseInt(map.get("id").toString()));
+        return ResultMessage.ok();
+    }
 }

--
Gitblit v1.8.0