首页 > 其他分享 >代码片段

代码片段

时间:2023-09-07 10:00:28浏览次数:31  
标签:片段 String para imagefileid 代码 import put new

  • 通过反编译生成的,所以没有注解
// GetFileName.java

package com.api.weavernorth.gyrx.web;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.api.weavernorth.gyrx.util.Utils;
import com.engine.common.util.ParamUtil;
import com.icbccs.document.compare.dto.*;
import com.icbccs.document.compare.sevice.impl.FileCompareServiceImpl;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;

public class GetFileName
{

    public GetFileName()
    {
    }

    public JSONArray getdata(HttpServletRequest request, HttpServletResponse response)
    {
        // ParamUtil 是Java提供的一个工具类
        Map map = ParamUtil.request2Map(request);
        String fjid = Util.null2String(map.get("fjid"));
        // 创建了一个 JSON 数组,它的每个值都是一个 JavaScript 对象
        JSONArray stringHashMap = new JSONArray();
        if(!"".equals(fjid))
        {
            RecordSet rs = new RecordSet();
            // 对于封装的 execute 方法,不仅可以传入字符串,还可以传入 StringBuilder 类型的字符串,使用这种类型的字符串的作用是方便参数拼接
            rs.execute((new StringBuilder("SELECT t1.imagefileid,t1.imagefilename FROM ImageFile t1 LEFT JOIN DocImageFile t2 ON t1.imagefileid = t2.imagefileid WHERE t2.docid IN (")).append(fjid).append(") ").append("AND t2.versionId = ( SELECT MAX( t3.versionId ) FROM DocImageFile t3 WHERE t3.id = t2.id )").toString());
            JSONObject jsonObject;
            for(; rs.next(); stringHashMap.add(jsonObject))
            {
                jsonObject = new JSONObject();
                // Util.null2String 的作用就是如果字符串为null,返回 ""
                String imagefileid = Util.null2String(rs.getString("imagefileid"));
                String imagefilename = Util.null2String(rs.getString("imagefilename"));
                jsonObject.put("id", imagefileid);
                jsonObject.put("name", imagefilename);
            }

        }
        return stringHashMap;
    }

    public JSONObject compareFile(HttpServletRequest request, HttpServletResponse response)
    {
        BaseBean bb; // 作用是打印日志,打印日志时调用它的 writeLog 方法
        JSONObject para;
        String fileId1;
        String fileId2;
        bb = new BaseBean();
        para = new JSONObject();
        // 哈哈哈,这是个从请求中获取参数的常用套路
        Map map = ParamUtil.request2Map(request);
        fileId1 = Util.null2String(map.get("fileId1"));
        fileId2 = Util.null2String(map.get("fileId2"));
        bb.writeLog("===========fileId1===========", fileId1);
        bb.writeLog("===========fileId2===========", fileId2);
        CompareFileDto compareFileDto;
        String filePath1;
        String filePath2;
        compareFileDto = new CompareFileDto();
        compareFileDto.setAppId("calliper");
        compareFileDto.setSecret("hello_calliper");
        compareFileDto.setUrl("http://10.29.41.189:30090/calliper");
        filePath1 = Utils.downLoadLocal(fileId1);
        filePath2 = Utils.downLoadLocal(fileId2);
        // 有一个文件路径没拿到就直接 400 代表错误的请求
        if("".equals(filePath1) || "".equals(filePath2))
        {
            para.put("code", "400");
            // msg 的值为 unicode,下载临时失败!
            para.put("msg", "\u4E0B\u8F7D\u4E34\u65F6\u5931\u8D25\uFF01");
            return para;
        }
        try
        {
            bb.writeLog("===========filePath1===========", filePath1);
            bb.writeLog("===========filePath2===========", filePath2);
            compareFileDto.setPath1(fileId1);
            compareFileDto.setPath2(fileId2);
            FileCompareServiceImpl fileCompareService = new FileCompareServiceImpl();
            CompareFileResultDto compareFileResultDto = fileCompareService.compareFile(compareFileDto);
            bb.writeLog("===========compareFileResultDto===========", compareFileResultDto);
            if(CompareFileResultDto.STATUS_SUCCESS.equals(compareFileResultDto.getStatus()))
            {
                CompareFileStatusDto compareFileStatusDto = new CompareFileStatusDto();
                compareFileStatusDto.setAppId("calliper");
                compareFileStatusDto.setSecret("hello_calliper");
                compareFileStatusDto.setUrl("http://10.29.41.189:30090/calliper");
                compareFileStatusDto.setCmpId(compareFileResultDto.getCmpId());
                CompareFileStatusResultDto compareStatus = fileCompareService.getCompareStatus(compareFileStatusDto);
                bb.writeLog("===========compareStatus===========", compareStatus);
                if(CompareFileResultDto.STATUS_SUCCESS.equals(compareStatus.getStatus()))
                    if(CompareFileStatusResultDto.PROCESS_DONE.equals(compareStatus.getCompareProcess()))
                    {
                        para.put("code", "200");
                        para.put("msg", compareStatus.getDiffUrl());
                    } else
                    {
                        para.put("code", "200");
                        para.put("msg", compareStatus.getDescription());
                    }
            } else
            {
                para.put("code", "400");
                para.put("msg", compareFileResultDto.getMessage());
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
            para.put("code", "400");
            // 文件对比出现异常:
            para.put("msg", (new StringBuilder("\u6587\u4EF6\u5BF9\u6BD4\u51FA\u73B0\u5F02\u5E38\uFF1A")).append(e.getMessage()).toString());
        }
        return para;
    }
}
// Utils.java

package com.api.weavernorth.gyrx.util;

import com.wbi.bus.util.DocUtil;
import java.io.*;
import java.util.UUID;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;

public class Utils
{

    public Utils()
    {
    }

    public static String downLoadLocal(String imageFileId)
    {
        BaseBean baseBean;
        InputStream inputStream;
        String filePath;
        File file02;
        OutputStream fos;
        String dosPath = (new StringBuilder("/app/weaver/ecology/filesystem/tempfile/")).append(UUID.randomUUID()).toString();
        baseBean = new BaseBean();
        RecordSet rs = new RecordSet();
        rs.execute((new StringBuilder("select imagefilename,imagefileid from ImageFile where imagefileid=")).append(imageFileId).toString());
        String imagefileid = "";
        String fileName;
        for(fileName = ""; rs.next(); fileName = Util.null2String(rs.getString("imagefilename")))
            imagefileid = Util.null2String(rs.getString("imagefileid"));

        if("".equals(imageFileId) || "".equals(fileName))
            return "";
        inputStream = DocUtil.getInputStreamById(Integer.valueOf(imagefileid).intValue());
        File file = new File(dosPath);
        if(!file.exists())
            file.mkdirs();
        filePath = (new StringBuilder(String.valueOf(dosPath))).append("/").append(fileName).toString();
        baseBean.writeLog((new StringBuilder("dosPath------>")).append(dosPath).toString());
        baseBean.writeLog((new StringBuilder("filePath------>")).append(filePath).toString());
        file02 = new File(filePath);
        if(!file02.exists())
            try
            {
                file02.createNewFile();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        fos = null;
        baseBean.writeLog((new StringBuilder("OutputStream------>")).append(filePath).toString());
        fos = new FileOutputStream(file02);
        byte buffer[] = new byte[4096];
        int bytesRead;
        while((bytesRead = inputStream.read(buffer)) != -1) 
            fos.write(buffer, 0, bytesRead);
        break MISSING_BLOCK_LABEL_482;
        FileNotFoundException e;
        e;
        baseBean.writeLog(e.getMessage());
        if(fos != null)
            try
            {
                fos.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        if(inputStream != null)
            try
            {
                inputStream.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        break MISSING_BLOCK_LABEL_522;
        e;
        baseBean.writeLog(e.getMessage());
        if(fos != null)
            try
            {
                fos.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        if(inputStream != null)
            try
            {
                inputStream.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        break MISSING_BLOCK_LABEL_522;
        Exception exception;
        exception;
        if(fos != null)
            try
            {
                fos.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        if(inputStream != null)
            try
            {
                inputStream.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        throw exception;
        if(fos != null)
            try
            {
                fos.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        if(inputStream != null)
            try
            {
                inputStream.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        return filePath;
    }
}

标签:片段,String,para,imagefileid,代码,import,put,new
From: https://www.cnblogs.com/20200109-zwh/p/17684048.html

相关文章

  • 代码随想录算法第一天704
    代码随想录算法第一天|704.二分查找、27.移除元素学习(复习)数组理论基础:​ (https://programmercarl.com/数组理论基础.html)​ 新了解到Java中数组地址不是连续的。704.二分查找题目题目链接:https://leetcode.cn/problems/binary-search/文章讲解:https://programmercarl.......
  • py 导入json到redis的代码示例
    这里是一个py导入json到redis的代码示例,它会将字典、列表和元组类型的值序列化为JSON字符串。在这个修改后的脚本中,使用`json.dumps()`函数对这些数据类型进行序列化处理。```pythonimportjsonimportredis#替换为您的JSON文件路径及Redis服务器连接参数json_file_pa......
  • 代码中省略的大括号
    今天碰到一段比较简单的代码,如下/*初始条件:二叉树T存在,e是T中某个结点*//*操作结果:返回e的左孩子。若e无左孩子,则返回"空"*/TElemTypeLeftChild(SqBiTreeT,TElemTypee){inti;if(T[0]==Nil)/*空树*/returnNil;for(i=0;i<=MA......
  • 代码随想录算法训练营第一天
    代码随想录算法训练营第一天|LeetCode704(二分查找)LeetCode35(搜索插入位置)LeetCode34(在排序数组中查找元素的第一个和最后一个位置 )LeetCode27(移除元素)数组理论基础数组是存放在连续内存空间上的相同类型数据的集合要点:数组下标都是从0开始的数组内存空间......
  • 15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized
    Synchronized本篇文章将围绕synchronized关键字,使用大量图片、案例深入浅出的描述CAS、synchronizedJava层面和C++层面的实现、锁升级的原理、源码等大概观看时间17分钟可以带着几个问题去查看本文,如果认真看完,问题都会迎刃而解:1、synchronized是怎么使用的?在Java层面是如何......
  • R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证|附代码数据
    全文链接:http://tecdat.cn/?p=32071原文出处:拓端数据部落公众号最近我们被客户要求撰写关于交易策略的研究报告,包括一些图形和统计输出。随着中国的证券市场规模的不断壮大、市场创新不断深化、信息披露不断完善、市场监管不断强化,随着现代投资组合理论的发展和计算机技术的进......
  • 10 个 效果不错的值得收藏的 css 代码片段
    10个css代码片段以下这10个常用的css代码片段值得收藏,都可以用于平常的业务代码当中。1.点点点加载中效果这是一个兼容性不错的用户体验很棒的点点点加载效果,实现思路如下:使用自定义的标签元素dot。将dot元素设置为内联元素(display:inline-block),并设置溢出隐藏(over......
  • 解锁项目管理神器——低代码开发平台
    项目目标执行风险是否可控,关乎一个项目乃至一个企业的发展,在项目实施过程中,项目经理承担了统筹、协调和把控项目各方面的重要职责,包括时间、成本、质量、安全和资源等多个要素。然而,在传统项目管理中,由于缺乏实时且全面的管理手段,项目经理很难快速了解整体和阶段性进展情况,这往往会......
  • iOS安全加固探讨:代码混淆、类名方法名混淆等方法
    摘要:本文探讨了iOS平台下的安全保护,以及几种常见的加固方法,包括字符串加密、类名方法名混淆、程序代码混淆和加入安全SDK等。通过这些方法,我们可以有效地提高iOS应用的安全性。引言:随着智能手机的普及,对移动应用的安全性要求越来越高。而在iOS平台上,相比于Android平台,能够进行的......
  • 查看系统代码学习注解笔记
    回顾注解的格式ElementType.TYPE表示注解作用范围在type表示可以作用在class,method,filed里,如果是method表示只能作用在该方法,如果是filed则只能作用该字段上RetentionPolicy.RUNTIME表示运行时有效,如果是source表示只在当前源码有效,class,表示在该类有效,一般自定义注解都为runtim......