From 72f8d13b6446dbf3b532c75134a267f09b681f96 Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期四, 09 十一月 2023 16:48:14 +0800
Subject: [PATCH] 读取设备下载操作

---
 src/main/java/com/whyc/service/FgcdFiledownloadService.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/FgcdFiledownloadService.java b/src/main/java/com/whyc/service/FgcdFiledownloadService.java
index 4aeaa24..f11b4cb 100644
--- a/src/main/java/com/whyc/service/FgcdFiledownloadService.java
+++ b/src/main/java/com/whyc/service/FgcdFiledownloadService.java
@@ -1,7 +1,115 @@
 package com.whyc.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.github.pagehelper.PageHelper;
+import com.whyc.mapper.FgcdFiledownloadMapper;
+import com.whyc.pojo.FgcdFiledownload;
+import com.whyc.pojo.Response;
+import com.whyc.util.CmdUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
 public class FgcdFiledownloadService {
+    @Autowired(required = false)
+    private FgcdFiledownloadMapper mapper;
+
+    //鍙戦�佸懡浠�
+    //鏈烘埧鍛戒护鎿嶄綔璁惧鏃剁殑cmd鍜宎ck鏍¢獙  test_type  -->榛樿鍚姩娴嬭瘯鐨勭被鍨�
+    public boolean sendCmd(int cmd,int param1,int param2,String downloadFlag,int devId)
+    {
+        int ack = cmd;
+        int stopTime=40;
+        switch(cmd) {
+            case CmdUtil.CMD_READBATT: ack =CmdUtil.CMD_READBATT_ACK ; break;
+            case CmdUtil.CMD_READFILE: ack =CmdUtil.CMD_READFILE_ACK ; break;
+            case CmdUtil.CMD_DOLADFILE: ack =CmdUtil.CMD_DOLADFILE_ACK ; break;
+            case CmdUtil.CMD_DOLADCANCLE: ack =CmdUtil.CMD_DOLADCANCLE_ACK ; break;
+            default:
+                return false;
+        }
+        UpdateWrapper updateWrapper=new UpdateWrapper();
+        updateWrapper.set("op_cmd",cmd);
+        if(cmd==CmdUtil.CMD_READBATT){
+            updateWrapper.set("readbattcount",param1);
+        }
+        if(cmd==CmdUtil.CMD_READFILE){
+            updateWrapper.set("file_index",param1);
+            updateWrapper.set("batt_index",param2);
+        }
+        if(cmd==CmdUtil.CMD_DOLADFILE){
+            String[] fileFlag=downloadFlag.split(",");
+            updateWrapper.set("batt_index",param1);
+            if(fileFlag!=null){
+                for (String flag:fileFlag) {
+                    updateWrapper.set("download_flag"+(Integer.valueOf(flag)+1),1);
+                }
+            }
+        }
+        updateWrapper.eq("dev_id",devId);
+        int flag=mapper.update(null,updateWrapper);
+        boolean res_exe = false;
+        if(flag>0)
+        {
+            PageHelper.startPage(1,1);
+            QueryWrapper queryWrapper=new QueryWrapper();
+            queryWrapper.eq("dev_id",devId);
+            for(int n=0; n<stopTime; n++)
+            {
+                FgcdFiledownload fgcd=mapper.selectOne(queryWrapper);
+                if(fgcd!=null){
+                    if (fgcd.getOpCmd() == ack) {
+                        res_exe = true;
+                        break;
+                    }
+                    try {
+                        Thread.sleep(250);
+                    } catch (InterruptedException e) {
+                        // TODO Auto-generated catch block
+                        e.printStackTrace();
+                    }
+                } else {
+                    break;
+                }
+            }
+        }
+        return res_exe;
+    }
+    //璇诲彇鐢垫睜缁勫垪琛�
+    public Response readBattList(int devId,int battCount) {
+        boolean bl=sendCmd(CmdUtil.CMD_READBATT,battCount,0,"",devId);
+        if(bl){
+            QueryWrapper queryWrapper=new QueryWrapper();
+            queryWrapper.eq("dev_id",devId);
+            FgcdFiledownload fgcd=mapper.selectOne(queryWrapper);
+            return new Response().setII(1,bl,fgcd,"璇诲彇鎴愬姛杩斿洖鏁版嵁");
+        }else{
+            return new Response().set(1,bl,"璇诲彇澶辫触");
+        }
+    }
+    //璇诲彇鐢垫睜缁勬寚瀹氭枃浠跺垪琛�
+    public Response readFileList(int devId, int fileIndex, int battIndex) {
+        boolean bl=sendCmd(CmdUtil.CMD_READFILE,fileIndex,battIndex,"",devId);
+        if(bl){
+            QueryWrapper queryWrapper=new QueryWrapper();
+            queryWrapper.eq("dev_id",devId);
+            FgcdFiledownload fgcd=mapper.selectOne(queryWrapper);
+            return new Response().setII(1,bl,fgcd,"璇诲彇鎴愬姛杩斿洖鏁版嵁");
+        }else{
+            return new Response().set(1,bl,"璇诲彇澶辫触");
+        }
+    }
+    //涓嬭浇鎸囧畾鐢垫睜缁勭殑鏂囦欢鍒楄〃
+    public Response doloadFileList(int devId, int battIndex, String downloadFlag) {
+        boolean bl=sendCmd(CmdUtil.CMD_READFILE,battIndex,0,downloadFlag,devId);
+        if(bl){
+            QueryWrapper queryWrapper=new QueryWrapper();
+            queryWrapper.eq("dev_id",devId);
+            FgcdFiledownload fgcd=mapper.selectOne(queryWrapper);
+            return new Response().setII(1,bl,fgcd,"涓嬭浇鎴愬姛杩斿洖鏁版嵁");
+        }else{
+            return new Response().set(1,bl,"涓嬭浇澶辫触");
+        }
+    }
 }

--
Gitblit v1.9.1