Browse Source

chore: 修复sonar漏洞

Marko552 3 years ago
parent
commit
575e5e7878

+ 9 - 11
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/ActUrlRouteServiceImpl.java

@@ -44,24 +44,22 @@ public class ActUrlRouteServiceImpl implements ActUrlRouteService {
     public GetActUrlRes getActUrl(GetActUrlReq req) {
         //查询码信息
         QrCode qrCode = tableStorePlusUtils.selectOne(QrCode.class, req.getQrCode());
-
+        String activeUrl = null;
         //1-判断是否和入参的码包一致吗,防止外网随意调用
         //如果码查不到或者码有问题,就随便返回一个活动,防止黑产拿我当试码机
         if(qrCode==null || qrCode.getPackageId()==null || qrCode.getPackageId().equals(req.getQrPackageId())){
             getFakeUrlForAntiFraud(req.getQrCode());
+        }else{
+            //查询码包对应的活动url
+            activeUrl = getPackageActiveUrl(qrCode.getPackageId());
+
+            //2-如果没有活动,或者活动么有url,放回固定的静态页面
+            if(StringUtils.isBlank(activeUrl)){
+                activeUrl = getDefaultUrl();
+            }
         }
-
-        //查询码包对应的活动url
-        String activeUrl = getPackageActiveUrl(qrCode.getPackageId());
-
-        //2-如果没有活动,或者活动么有url,放回固定的静态页面
-        if(StringUtils.isBlank(activeUrl)){
-            activeUrl = getDefaultUrl();
-        }
-
         GetActUrlRes res = new GetActUrlRes();
         res.setActiveUrl(activeUrl);
-
         return res;
     }
 

+ 14 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/GenerateCodeServiceImpl.java

@@ -189,7 +189,8 @@ public class GenerateCodeServiceImpl implements GenerateCodeService, Application
                 //计算备用码包数量
                 Long standbyRatio = 0L;
                 if(null != qrPackage.getStandbyRatio() && qrPackage.getStandbyRatio() != 0){
-                    standbyRatio=new Double( Math.ceil(qrPackageBatch.getBatchQrNumber()*qrPackage.getStandbyRatio()*1.0/100)).longValue();
+                    Double d = Double.valueOf(Math.ceil(qrPackageBatch.getBatchQrNumber()*qrPackage.getStandbyRatio()*1.0/100));
+                    standbyRatio = Math.round(d);
                 }
                 // 这批下的申请数量
                 Long qrNumber = qrPackageBatch.getBatchQrNumber()+standbyRatio;
@@ -721,3 +722,15 @@ public class GenerateCodeServiceImpl implements GenerateCodeService, Application
     }
 
 }
+class Test{
+    public static void main(String[] args) {
+        double d = 1001;
+        long l = Math.round(d);
+        System.out.println(l);
+
+        long ll = 100L;
+        double dd = (double) ll;
+        System.out.println(dd);
+    }
+
+}

+ 3 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrBoxMappingServiceImpl.java

@@ -437,7 +437,9 @@ public class QrBoxMappingServiceImpl implements QrBoxMappingService {
 
     private void closeStream(InputStream inputStream, BufferedReader reader) {
         try {
-            inputStream.close();
+            if (null!=inputStream){
+                inputStream.close();
+            }
         } catch (Exception e) {
             log.warn("inputStream关闭失败");
             e.printStackTrace();

+ 10 - 53
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageServiceImpl.java

@@ -3,56 +3,12 @@ package com.abi.qms.platform.service.impl;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import com.abi.base.foundation.util.RedisClient;
-import com.abi.qms.platform.dao.entity.BaseFactory;
-import com.abi.qms.platform.dao.entity.BaseMaterial;
-import com.abi.qms.platform.dao.entity.QrBoxCodeFormat;
-import com.abi.qms.platform.dao.entity.QrBoxMapping;
-import com.abi.qms.platform.dao.entity.QrPackage;
-import com.abi.qms.platform.dao.entity.QrPackageBatch;
-import com.abi.qms.platform.dao.entity.QrPackageBookingOrder;
-import com.abi.qms.platform.dao.entity.QrPackageDownloadRecord;
-import com.abi.qms.platform.dao.entity.QrPackageSapOrderItem;
-import com.abi.qms.platform.dao.entity.QrRepertoryColumn;
-import com.abi.qms.platform.dao.entity.UserInfo;
-import com.abi.qms.platform.dao.enums.CodePackageOrderTypeEnum;
-import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
-import com.abi.qms.platform.dao.enums.FirstFactoryEnum;
-import com.abi.qms.platform.dao.enums.InvalidEnum;
-import com.abi.qms.platform.dao.enums.MaterialTypeEnum;
-import com.abi.qms.platform.dao.enums.QrPackageApplyStatusEnum;
-import com.abi.qms.platform.dao.enums.QrPackageGenerateStatusEnum;
-import com.abi.qms.platform.dao.enums.QrTypeEnum;
-import com.abi.qms.platform.dao.enums.TrueFalseEnum;
-import com.abi.qms.platform.dao.mapper.BaseActiveMapper;
-import com.abi.qms.platform.dao.mapper.BaseBrandMapper;
-import com.abi.qms.platform.dao.mapper.BaseFactoryMapper;
-import com.abi.qms.platform.dao.mapper.BaseMaterialMapper;
-import com.abi.qms.platform.dao.mapper.QrBoxCodeFormatMapper;
-import com.abi.qms.platform.dao.mapper.QrBoxMappingMapper;
-import com.abi.qms.platform.dao.mapper.QrPackageBatchMapper;
-import com.abi.qms.platform.dao.mapper.QrPackageDownloadRecordMapper;
-import com.abi.qms.platform.dao.mapper.QrPackageMapper;
-import com.abi.qms.platform.dao.mapper.QrPackageSapOrderItemMapper;
-import com.abi.qms.platform.dao.mapper.QrRepertoryColumnMapper;
+import com.abi.qms.platform.dao.entity.*;
+import com.abi.qms.platform.dao.enums.*;
+import com.abi.qms.platform.dao.mapper.*;
 import com.abi.qms.platform.dao.tablestore.entity.QrCode;
 import com.abi.qms.platform.dao.vo.result.*;
-import com.abi.qms.platform.dto.req.DeleteQrPackageReq;
-import com.abi.qms.platform.dto.req.DownloadQrPackageReq;
-import com.abi.qms.platform.dto.req.GetPackageCodeReq;
-import com.abi.qms.platform.dto.req.GetQrPackageDetailReq;
-import com.abi.qms.platform.dto.req.GetQrSingleCheckDetailCodeReq;
-import com.abi.qms.platform.dto.req.InvalidQrPackageReq;
-import com.abi.qms.platform.dto.req.InvalidQrSingleReq;
-import com.abi.qms.platform.dto.req.ListQrPackageReq;
-import com.abi.qms.platform.dto.req.ListQrPackageWxReq;
-import com.abi.qms.platform.dto.req.PassQrPackageReq;
-import com.abi.qms.platform.dto.req.QrOneBoxCodeMappingReq;
-import com.abi.qms.platform.dto.req.QrOnePackageBatchReq;
-import com.abi.qms.platform.dto.req.RefuseQrPackageReq;
-import com.abi.qms.platform.dto.req.SaveQrPackageReq;
-import com.abi.qms.platform.dto.req.SendMobileMsgReq;
-import com.abi.qms.platform.dto.req.ValidSAPOrderNoAndMaterialReq;
-import com.abi.qms.platform.dto.req.WxQrPackageDetailReq;
+import com.abi.qms.platform.dto.req.*;
 import com.abi.qms.platform.dto.res.*;
 import com.abi.qms.platform.infrastructure.constant.RedisKey;
 import com.abi.qms.platform.infrastructure.event.CodePackageCreateEvent;
@@ -72,7 +28,6 @@ import freemarker.template.Template;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.amqp.core.AmqpTemplate;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -550,7 +505,8 @@ public class QrPackageServiceImpl implements QrPackageService {
             if(qrPackageVO.getStandbyRatio()>0){
                 Long qrNumber = qrPackageVO.getQrNumber();
                 int standbyRatio = IMathUtils.asInt(qrPackageVO.getStandbyRatio());
-                qrNumber = new Double(qrNumber*(1+standbyRatio/100d)).longValue();
+                Double d = new Double(qrNumber*(1+standbyRatio/100d));
+                qrNumber = Math.round(d);
                 qrPackageVO.setQrNumber(qrNumber);
             }
         }
@@ -619,9 +575,10 @@ public class QrPackageServiceImpl implements QrPackageService {
         }
 
         //聚合拼接描述
-        long totalQrNumber = qrPackageList.stream().mapToLong(qrPackage -> (
-                new Double(qrPackage.getQrNumber()*(1+ Double.valueOf(IMathUtils.asInt(qrPackage.getStandbyRatio()))/100)).longValue()
-            )).sum();
+        long totalQrNumber = qrPackageList.stream().mapToLong(qrPackage -> {
+            Double d = new Double(qrPackage.getQrNumber()*(1+ Double.valueOf(IMathUtils.asInt(qrPackage.getStandbyRatio()))/100));
+            return Math.round(d);
+        }).sum();
         String packageIds = qrPackageList.stream().map(qrPackage -> String.valueOf(qrPackage.getId())).collect(Collectors.joining(","));
 
         String desc = String.format("该SAP订单号和物料已申请码包%s,码数量%d", packageIds, totalQrNumber);

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/valid/EmailValidator.java

@@ -24,7 +24,7 @@ public class EmailValidator extends PropertyValidator{
         if (StringUtils.isBlank(email)) {
             return false;
         }
-        String emailFormatString = "^[a-z0-9A-Z]{1,50}+[- | a-z0-9A-Z . _]{0,50}+@([a-z0-9A-Z]{0,50}+(-[a-z0-9A-Z]+)?\\.)+[a-z]{1,10}$";
+        String emailFormatString = "^[a-z0-9A-Z]{1,50}+[- | a-z0-9A-Z . _]{0,50}+@([a-z0-9A-Z]{0,50}+(-[a-z0-9A-Z]+)?\\.){1,50}+[a-z]{1,10}$";
         Pattern emailFormat = Pattern.compile(emailFormatString);
         if (!emailFormat.matcher(email).matches()) {
             return false;

+ 44 - 44
abi-cloud-qr-platform-server/src/test/java/com/abi/qms/platform/EncryptionTest.java

@@ -38,33 +38,33 @@ public class EncryptionTest {
      * @param fileName
      * @return
      */
-    private static String readToString(String fileName) {
-        String encoding = "UTF-8";
-        File file = new File(fileName);
-        Long fileLength = file.length();
-        byte[] fileContent = new byte[fileLength.intValue()];
-        FileInputStream in = null;
-        try {
-            in = new FileInputStream(file);
-            in.read(fileContent);
-        } catch (Exception e) {
-            System.out.println(e);
-        }finally {
-            try {
-                in.close();
-            } catch (IOException e) {
-                System.out.println(e);
-            }
-        }
-
-        try {
-            return new String(fileContent, encoding);
-        } catch (UnsupportedEncodingException e) {
-            System.err.println("The OS does not support " + encoding);
-            e.printStackTrace();
-            return null;
-        }
-    }
+//    private static String readToString(String fileName) {
+//        String encoding = "UTF-8";
+//        File file = new File(fileName);
+//        Long fileLength = file.length();
+//        byte[] fileContent = new byte[fileLength.intValue()];
+//        FileInputStream in = null;
+//        try {
+//            in = new FileInputStream(file);
+//            in.read(fileContent);
+//        } catch (Exception e) {
+//            System.out.println(e);
+//        }finally {
+//            try {
+//                in.close();
+//            } catch (IOException e) {
+//                System.out.println(e);
+//            }
+//        }
+//
+//        try {
+//            return new String(fileContent, encoding);
+//        } catch (UnsupportedEncodingException e) {
+//            System.err.println("The OS does not support " + encoding);
+//            e.printStackTrace();
+//            return null;
+//        }
+//    }
 
     /**
      * 写入文件
@@ -88,24 +88,24 @@ public class EncryptionTest {
         }
     }
 
-    /**
-     * 读文件解码再写文件
-     * @param readFilePath
-     * @param writeFilePath
-     */
-    public static void readAndDecodeToFile(String readFilePath,String writeFilePath){
-        String content = readToString(readFilePath);
-        String decodeStr = AesEncodeUtil.aesDecode(content, key);
-        try{
-            outputFile(decodeStr,writeFilePath);
-        }catch (Exception e){
+//    /**
+//     * 读文件解码再写文件
+//     * @param readFilePath
+//     * @param writeFilePath
+//     */
+//    public static void readAndDecodeToFile(String readFilePath,String writeFilePath){
+//        String content = readToString(readFilePath);
+//        String decodeStr = AesEncodeUtil.aesDecode(content, key);
+//        try{
+//            outputFile(decodeStr,writeFilePath);
+//        }catch (Exception e){
+//
+//        }
+//    }
 
-        }
-    }
-
-    public static void main(String[] args) {
-        readAndDecodeToFile("D:\\IQMS0.txt","D:\\decode.txt");
-    }
+//    public static void main(String[] args) {
+//        readAndDecodeToFile("D:\\IQMS0.txt","D:\\decode.txt");
+//    }
 
     /**
      * 解密

+ 2 - 2
abi-cloud-qr-platform-server/src/test/java/com/abi/qms/platform/TableStorePlusTest.java

@@ -164,8 +164,8 @@ public class TableStorePlusTest {
 
         try {
             Thread.sleep(5000L);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
+        } catch (Exception e) {
+            log.warn("写入码异常",e);
         }
 
     }