zhangnaisong
2024-07-24 675075c8e140ee0882c5277bd68468fe6194b207
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
@@ -1,9 +1,11 @@
package com.ruoyi.sy.service.impl;
import java.awt.geom.Point2D;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdSyUser;
@@ -15,6 +17,9 @@
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.utils.forest.SYClient;
import com.ruoyi.utils.gps.GeoTools;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -85,9 +90,9 @@
     */
    @Override
    public int insertArdTankLockProcessLog(ArdTankLockProcessLog ardTankLockProcessLog) {
                ardTankLockProcessLog.setId(IdUtils.simpleUUID());
                ardTankLockProcessLog.setUserId(SecurityUtils.getUserId());
            return ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);
        ardTankLockProcessLog.setId(IdUtils.simpleUUID());
        ardTankLockProcessLog.setUserId(SecurityUtils.getUserId());
        return ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);
    }
    /**
@@ -137,7 +142,6 @@
            return "该锁使能关闭,无法操控";
        }
        ArdSyUser ardSyUser = ardSyUserMapper.userById(userId);
        if(ardSyUser == null){
            return "未挂接三一账号";
@@ -159,10 +163,12 @@
        Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId);
        if(((String)syResult.get("rspCode")).equals("1")){
            Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
            if(Integer.parseInt((String)carMap.get("speed")) != 0){
                return "车辆正在行驶中";
            }
            lng = (String) carMap.get("lng");
            lat = (String) carMap.get("lat");
            carPlate = (String) carMap.get("carName");
        }else{
            return "三一平台报错";
        }
@@ -187,9 +193,9 @@
                String lockNumHead = lockNum.substring(0,2);
                String lockNumTail = lockNum.substring(2,4);
                String checkNum = Integer.toHexString(Integer.parseInt(lockNumHead, 16)//锁编号高8位
                                                        + Integer.parseInt(lockNumTail, 16)//锁编号低8位
                                                        + Integer.parseInt("02", 16)//设置锁芯状态功能码02
                                                        + Integer.parseInt(process, 16));//操作
                        + Integer.parseInt(lockNumTail, 16)//锁编号低8位
                        + Integer.parseInt("02", 16)//设置锁芯状态功能码02
                        + Integer.parseInt(process, 16));//操作
                if(checkNum.length() == 1){
                    checkNum = "0" + checkNum;
                }
@@ -199,12 +205,11 @@
                String paramsStr = lockNum + "02" + process + checkNum;
                paramsStr = "%7B%22type%22%3A%22ff%22%2C%22dataCnt%22%3A%22" + paramsStr + "%22%7D";
                Map<String,Object> result = sYClient.sendCmd(syURL, ardSyUser.getUserId(), carId, 199, "DataDownTransfer", paramsStr, sessionId);
                System.out.println(paramsStr);
                Map<String,Object> result = sendCmd(syURL, ardSyUser.getUserId(), carId, 199, "DataDownTransfer", paramsStr, sessionId);
                System.out.println("111111111111");
                System.out.println(result);
                if(((String)result.get("rspCode")).equals("0")){
                    //入库操作
                    ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog();
                    ardTankLockProcessLog.setId(IdUtils.simpleUUID());
                    ardTankLockProcessLog.setLockId(lockId);
@@ -233,4 +238,32 @@
            }
        }
    }
    public Map<String,Object> sendCmd(String syURL,String userId,String carId,Integer cmdId,String cmd,String paramsStr,String sessionId){
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder()
                .url(syURL + "/gps-web/api/send_cmd.jsp?params="+paramsStr+"&userId="+userId+"&carId="+carId+"&cmdId="+cmdId+"&cmd="+cmd+"&sessionId="+sessionId)
                .build();
        //System.out.println("url = " + syURL + "/gps-web/api/send_cmd.jsp?params="+paramsStr+"&userId="+userId+"&carId="+carId+"&cmdId="+cmdId+"&cmd="+cmd+"&sessionId="+sessionId);
        Response response = null;
        try {
            response = okHttpClient.newCall(request).execute();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        okhttp3.ResponseBody responseBody = response.body();
        try {
            String message = responseBody.string();// 响应体
            Map<String,Object> map = (Map<String, Object>) JSON.parse(message);
            return map;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return new HashMap();
        }
    }
}