From cfdaaae8690e188f6971057259873aa408ebc9e3 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期四, 25 四月 2024 16:49:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java |   65 +++++++++++++++++++++++++++++++-
 1 files changed, 62 insertions(+), 3 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
index 46b2a23..be6dbe7 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -1,35 +1,47 @@
 package com.yuanchu.mom.controller;
 
 
+import cn.hutool.core.lang.UUID;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.annotation.ValueAuth;
+import com.yuanchu.mom.dto.DeviceDto;
 import com.yuanchu.mom.pojo.Device;
 import com.yuanchu.mom.service.DeviceService;
 import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
+import java.io.File;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
  * 璁惧(DeviceController)琛ㄦ帶鍒跺眰
  */
 @Api(tags = "璁惧")
-@AllArgsConstructor
 @RestController
 @RequestMapping("/deviceScope")
 public class DeviceController {
 
+
+    @Resource
     private DeviceService deviceService;
+
+    @Value("${file.path}")
+    private String filePath;
 
     @ApiOperation(value = "鏌ヨ璁惧璇︽儏鍒楄〃")
     @PostMapping("/selectDeviceParameter")
     public Result selectDeviceParameter(@RequestBody Map<String, Object> data) throws Exception {
         Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
-        Device itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Device.class);
+        DeviceDto itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceDto.class);
         return Result.success(deviceService.selectDeviceParameter(page, itemParameter));
     }
 
@@ -72,5 +84,52 @@
         return Result.success(deviceService.search(status, deviceName, specificationModel, largeCategory));
     }
 
+    //鍥剧墖涓婁紶
+    @ApiOperation(value = "璁惧鍥剧墖涓婁紶")
+    @PostMapping("/uploadFile")
+    public Result uploadFile(MultipartFile file) {
+        String urlString;
+        String pathName;
+        String filename = file.getOriginalFilename();
+        try {
+            String path = filePath;
+            File realpath = new File(path);
+            if (!realpath.exists()) {
+                realpath.mkdirs();
+            }
+            pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+            urlString = realpath + "/" + pathName;
+            file.transferTo(new File(urlString));
+            HashMap<String, String> map = new HashMap<>();
+            map.put("name", filename);
+            map.put("url", pathName);
+            return Result.success(map);
+        } catch (Exception e) {
+            e.printStackTrace();
+            System.err.println("鍥剧墖涓婁紶閿欒");
+            return null;
+        }
+    }
+
+    @ApiOperation(value = "鑾峰彇璁惧璐熻矗浜�")
+    @GetMapping("/selectDevicePrincipal")
+    @ValueAuth
+    public Result selectDevicePrincipal() {
+        return Result.success(deviceService.selectDevicePrincipal());
+    }
+
+    @ApiOperation(value = "閫氳繃椤圭洰鑾峰彇璁惧鍒楄〃")
+    @PostMapping("/selectDeviceByCategory")
+    @ValueAuth
+    public Result selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass) {
+        return Result.success(deviceService.selectDeviceByCategory(inspectionItem, inspectionItemSubclass));
+    }
+
+    @ApiOperation(value = "閫氳繃璁惧缂栧彿鑾峰彇璁惧鍒楄〃")
+    @PostMapping("/selectDeviceByCode")
+    @ValueAuth
+    public Result selectDeviceByCode(String code) {
+        return Result.success(deviceService.selectDeviceByCode(code));
+    }
 }
 

--
Gitblit v1.9.3