浏览代码

属性信息

yq 2 年之前
父节点
当前提交
7f6a1774bb

+ 36 - 5
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DmpSoftwareUpgradeController.java

@@ -1,13 +1,17 @@
 package com.usky.iot.controller.web;
 package com.usky.iot.controller.web;
 
 
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.DmpSoftwareUpgrade;
+import com.usky.iot.service.DmpSoftwareUpgradeService;
+import com.usky.iot.service.vo.DmpSoftwareUpgradeRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 
 /**
 /**
- * <p>
- * 软件升级信息表 前端控制器
- * </p>
+ * 软件升级信息表
  *
  *
  * @author ya
  * @author ya
  * @since 2022-10-08
  * @since 2022-10-08
@@ -16,5 +20,32 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/dmpSoftwareUpgrade")
 @RequestMapping("/dmpSoftwareUpgrade")
 public class DmpSoftwareUpgradeController {
 public class DmpSoftwareUpgradeController {
 
 
+    @Autowired
+    private DmpSoftwareUpgradeService dmpSoftwareUpgradeService;
+
+    /**
+     * 新增
+     * @param dmpProductInfo
+     * @param file
+     * @return
+     */
+    @PostMapping
+    public ApiResult<Void> add(@RequestPart DmpSoftwareUpgrade dmpProductInfo, @RequestPart MultipartFile file){
+        dmpSoftwareUpgradeService.add(dmpProductInfo,file);
+        return ApiResult.success();
+    }
+
+
+
+    /**
+     * 分页
+     * @param dmpSoftwareUpgradeRequest
+     * @return
+     */
+    @GetMapping("/page")
+    public ApiResult<CommonPage<DmpSoftwareUpgrade>> page(@RequestBody DmpSoftwareUpgradeRequest dmpSoftwareUpgradeRequest)
+    {
+        return ApiResult.success(dmpSoftwareUpgradeService.page(dmpSoftwareUpgradeRequest));
+    }
 }
 }
 
 

+ 5 - 5
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpSoftwareSubpackage.java

@@ -1,11 +1,11 @@
 package com.usky.iot.domain;
 package com.usky.iot.domain;
 
 
-import java.time.LocalDateTime;
-import java.sql.Blob;
-import java.io.Serializable;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 
 
+import java.io.Serializable;
+import java.sql.Date;
+
 /**
 /**
  * <p>
  * <p>
  * 软件分包信息表
  * 软件分包信息表
@@ -38,7 +38,7 @@ public class DmpSoftwareSubpackage implements Serializable {
     /**
     /**
      * 应用程序数据包
      * 应用程序数据包
      */
      */
-    private Blob applyPackage;
+    private byte[] applyPackage;
 
 
     /**
     /**
      * 分包大小
      * 分包大小
@@ -53,7 +53,7 @@ public class DmpSoftwareSubpackage implements Serializable {
     /**
     /**
      * 创建时间
      * 创建时间
      */
      */
-    private LocalDateTime createdTime;
+    private Date createdTime;
 
 
 
 
 }
 }

+ 8 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpSoftwareUpgradeService.java

@@ -1,7 +1,10 @@
 package com.usky.iot.service;
 package com.usky.iot.service;
 
 
+import com.usky.common.core.bean.CommonPage;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.iot.domain.DmpSoftwareUpgrade;
 import com.usky.iot.domain.DmpSoftwareUpgrade;
+import com.usky.iot.service.vo.DmpSoftwareUpgradeRequest;
+import org.springframework.web.multipart.MultipartFile;
 
 
 
 
 /**
 /**
@@ -14,4 +17,9 @@ import com.usky.iot.domain.DmpSoftwareUpgrade;
  */
  */
 public interface DmpSoftwareUpgradeService extends CrudService<DmpSoftwareUpgrade> {
 public interface DmpSoftwareUpgradeService extends CrudService<DmpSoftwareUpgrade> {
 
 
+
+    void add(DmpSoftwareUpgrade dmpSoftwareUpgrade,MultipartFile file);
+
+
+    CommonPage<DmpSoftwareUpgrade> page(DmpSoftwareUpgradeRequest dmpSoftwareUpgradeRequest);
 }
 }

+ 85 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpSoftwareUpgradeServiceImpl.java

@@ -1,10 +1,29 @@
 package com.usky.iot.service.impl;
 package com.usky.iot.service.impl;
 
 
+import com.alibaba.nacos.common.utils.MD5Utils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.exception.BusinessException;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.iot.domain.DmpSoftwareSubpackage;
 import com.usky.iot.domain.DmpSoftwareUpgrade;
 import com.usky.iot.domain.DmpSoftwareUpgrade;
 import com.usky.iot.mapper.DmpSoftwareUpgradeMapper;
 import com.usky.iot.mapper.DmpSoftwareUpgradeMapper;
+import com.usky.iot.service.DmpSoftwareSubpackageService;
 import com.usky.iot.service.DmpSoftwareUpgradeService;
 import com.usky.iot.service.DmpSoftwareUpgradeService;
+import com.usky.iot.service.vo.DmpSoftwareUpgradeRequest;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -17,4 +36,70 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class DmpSoftwareUpgradeServiceImpl extends AbstractCrudService<DmpSoftwareUpgradeMapper, DmpSoftwareUpgrade> implements DmpSoftwareUpgradeService {
 public class DmpSoftwareUpgradeServiceImpl extends AbstractCrudService<DmpSoftwareUpgradeMapper, DmpSoftwareUpgrade> implements DmpSoftwareUpgradeService {
 
 
+    @Autowired
+    private DmpSoftwareSubpackageService dmpSoftwareSubpackageService;
+
+    @Override
+    public void add(DmpSoftwareUpgrade dmpProductInfo, MultipartFile file) {
+        dmpProductInfo.setPackageLength(Integer.getInteger(String.valueOf(file.getSize())));
+        try {
+            dmpProductInfo.setCheckCode(MD5Utils.md5Hex(file.getBytes()));
+        } catch (Exception e) {
+            throw new BusinessException("获取文件失败");
+        }
+        this.save(dmpProductInfo);
+        List<DmpSoftwareSubpackage> dmpSoftwareSubpackages = cutFile(dmpProductInfo, file, 1024);
+        dmpSoftwareSubpackageService.saveBatch(dmpSoftwareSubpackages);
+    }
+
+    @Override
+    public CommonPage<DmpSoftwareUpgrade> page(DmpSoftwareUpgradeRequest dsRequest) {
+        IPage<DmpSoftwareUpgrade> page = new Page<>(dsRequest.getCurrent(), dsRequest.getSize());
+        LambdaQueryWrapper<DmpSoftwareUpgrade> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery
+                .eq(StringUtils.isNotBlank(dsRequest.getName()),DmpSoftwareUpgrade::getVersionName,dsRequest.getName());
+        page = this.page(page,lambdaQuery);
+        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
+
+    private static List<DmpSoftwareSubpackage> cutFile(DmpSoftwareUpgrade dmpSoftwareUpgrade,MultipartFile multipartFile, int num) {
+        InputStream inputStream = null;
+        List<DmpSoftwareSubpackage> list = new ArrayList<>();
+        try {
+            byte [] byteArr=multipartFile.getBytes();
+            inputStream = new ByteArrayInputStream(byteArr);
+            //创建规定大小的byte数组
+            byte[] b = new byte[num];
+            int len = 0;
+            //name为以后的小文件命名做准备
+            int name = 1;
+            //遍历将大文件读入byte数组中,当byte数组读满后写入对应的小文件中
+            while ((len = inputStream.read(b)) != -1) {
+                int chk = 0x0000;
+                for(int i=0;i<len;i++){
+                    chk += b[i]&0x00ff;
+                }
+                DmpSoftwareSubpackage dmpSoftwareSubpackage = new DmpSoftwareSubpackage();
+                dmpSoftwareSubpackage.setUpgradeId(dmpSoftwareUpgrade.getId());
+                dmpSoftwareSubpackage.setSubpackageNumber(name);
+                dmpSoftwareSubpackage.setApplyPackage(b);
+                dmpSoftwareSubpackage.setSubpackageLength(String.valueOf(len));
+                dmpSoftwareSubpackage.setCheckCode(String.format("%04x", chk& 0x0000ffff));
+                list.add(dmpSoftwareSubpackage);
+                name++;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                if (null != inputStream) {
+                    inputStream.close();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return list;
+    }
 }
 }

+ 21 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/DmpSoftwareUpgradeRequest.java

@@ -0,0 +1,21 @@
+package com.usky.iot.service.vo;
+
+import lombok.Data;
+
+@Data
+public class DmpSoftwareUpgradeRequest {
+
+    /**
+     * 页数
+     */
+    private Integer current;
+    /**
+     * 条数
+     */
+    private Integer size;
+
+    /**
+     * 名称
+     */
+    private String name;
+}

+ 4 - 4
service-iot/service-iot-biz/src/main/resources/smart-doc.json

@@ -1,15 +1,15 @@
 {
 {
   "outPath":"./src/main/resources/doc",
   "outPath":"./src/main/resources/doc",
-  "serverUrl": "http:10.23.39.1:8082/",
+  "serverUrl": "http:10.23.39.1:9887/",
   "isStrict": false,
   "isStrict": false,
   "coverOld": true,
   "coverOld": true,
   "allInOne": true,
   "allInOne": true,
-  "packageFilters": "com.usky.demo.controller.web",
+  "packageFilters": "com.usky.iot.controller.web",
   "requestExample":"false",
   "requestExample":"false",
   "responseExample":"true",
   "responseExample":"true",
-  "projectName": "安防项目",
+  "projectName": "iot项目",
   "appKey": "20211216921084883495813120",
   "appKey": "20211216921084883495813120",
-  "appToken":"36bde2426ad546a5a50311bb747e7e61",
+  "appToken":"967031b0cc6f474aaf73616cbf2b25c2",
   "secret": "N@Pd,KXAHki*BW3=zK.XPNykf!=CM79J",
   "secret": "N@Pd,KXAHki*BW3=zK.XPNykf!=CM79J",
   "openUrl": "http://101.133.214.75:7700/api"
   "openUrl": "http://101.133.214.75:7700/api"
 }
 }