Browse Source

去除冗余依赖和代码

QuYueTing 2 months ago
parent
commit
3ff03624fd
39 changed files with 62 additions and 1684 deletions
  1. 0 35
      fhKeeper/formulahousekeeper/ops-platform/pom.xml
  2. 0 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/aop/AopLogConfiguration.java
  3. 2 5
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/config/RefererInterceptor.java
  4. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/constant/Parameter.java
  5. 0 102
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/controller/CommonUploadController.java
  6. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/controller/CompanyReportController.java
  7. 2 2
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/controller/ContractDetailController.java
  8. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/CustomerInfoMapper.java
  9. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/SysFunctionMapper.java
  10. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/SysRoleFunctionMapper.java
  11. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/TaskProgressMapper.java
  12. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/UserCorpwxTimeMapper.java
  13. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/service/SysRoleService.java
  14. 0 28
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java
  15. 0 53
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/test/TestApplicationTests.java
  16. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/AuthService.java
  17. 0 138
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/CheckPicUtil.java
  18. 2 8
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/CodeGenerator.java
  19. 2 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/DateTimeUtil.java
  20. 10 9
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/DingCallbackCrypto.java
  21. 9 10
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/HttpKit.java
  22. 0 297
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/ImageCompare.java
  23. 0 129
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/ImageReconizeUtil.java
  24. 2 2
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/ListUtil.java
  25. 3 3
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/MD5Util.java
  26. 0 131
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/OpenOfficeService.java
  27. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/PageUtil.java
  28. 0 217
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/ProcessUtil.java
  29. 1 4
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/RedisUtil.java
  30. 4 3
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/Sha1Util.java
  31. 0 53
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/SmsUtil.java
  32. 2 2
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/SnowFlake.java
  33. 0 58
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/Tess4jDemo.java
  34. 0 361
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/UserAgentUtils.java
  35. 3 4
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/WordFilter.java
  36. 3 13
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/WorkDayCalculateUtils.java
  37. 1 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/qq/weixin/mp/aes/AesException.java
  38. 4 3
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/qq/weixin/mp/aes/PKCS7Encoder.java
  39. 2 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/qq/weixin/mp/aes/WXBizMsgCrypt.java

+ 0 - 35
fhKeeper/formulahousekeeper/ops-platform/pom.xml

@@ -48,18 +48,6 @@
             <artifactId>mybatis-plus-generator</artifactId>
         </dependency>
 
-        <!-- velocity模板引擎 -->
-        <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity-engine-core</artifactId>
-        </dependency>
-
-        <!-- freemarker 模板引擎-->
-        <dependency>
-            <groupId>org.freemarker</groupId>
-            <artifactId>freemarker</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
@@ -84,25 +72,6 @@
             <version>2.0.1</version>
         </dependency>
 
-        <dependency>
-            <groupId>org.artofsolving</groupId>
-            <artifactId>jodconverter-core-3.0.jar</artifactId>
-            <version>1.0</version>
-            <scope>system</scope>
-            <systemPath>${basedir}/src/main/resources/lib/jodconverter-core-3.0.jar</systemPath>
-        </dependency>
-        <dependency>
-            <groupId>com.dingtalk</groupId>
-            <artifactId>taobao-sdk-java-auto_1479188381469-20210623.jar</artifactId>
-            <version>1.0</version>
-            <scope>system</scope>
-            <systemPath>${basedir}/src/main/resources/lib/taobao-sdk-java-auto_1479188381469-20210623.jar</systemPath>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun</groupId>
-            <artifactId>dingtalk</artifactId>
-            <version>1.1.50</version>
-        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
@@ -113,10 +82,6 @@
             <artifactId>java-sdk</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-        </dependency>
         <!--开启aop支持-->
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 0 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/aop/AopLogConfiguration.java

@@ -54,7 +54,6 @@ public class AopLogConfiguration {
         if (requestAttributes == null) return;
         HttpServletRequest request = requestAttributes.getRequest();
         if(request.getRequestURL().toString().contains("/imageProcessing")){
-            return;
         }
     }
 

+ 2 - 5
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/config/RefererInterceptor.java

@@ -17,7 +17,7 @@ public class RefererInterceptor extends HandlerInterceptorAdapter {
     static final Logger LOGGER = LoggerFactory.getLogger(RefererInterceptor.class);
 
     // URL匹配器
-    private AntPathMatcher matcher = new AntPathMatcher();
+    private final AntPathMatcher matcher = new AntPathMatcher();
     @Resource
     private RefererProperties properties;
 
@@ -61,10 +61,7 @@ public class RefererInterceptor extends HandlerInterceptorAdapter {
                 return false;
             }
             LOGGER.info("host="+host+", refer host="+url.getHost());
-            boolean isSame = false;
-            if (host.equals(url.getHost())) {
-                isSame = true;
-            }
+            boolean isSame = host.equals(url.getHost());
             // 首先判断请求域名和referer域名是否相同
             if (!isSame) {
                 // 如果不等,判断是否在白名单中

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/constant/Parameter.java

@@ -15,7 +15,7 @@ public enum Parameter {
     private String code;
     private String name;
 
-    private Parameter(String code, String name) {
+    Parameter(String code, String name) {
         this.code = code;
 //        this.name = name();
         this.name = name;

+ 0 - 102
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/controller/CommonUploadController.java

@@ -1,102 +0,0 @@
-package com.management.platform.controller;
-
-import com.management.platform.entity.Company;
-import com.management.platform.util.HttpRespMsg;
-import fr.opensagres.poi.xwpf.converter.pdf.PdfConverter;
-import fr.opensagres.poi.xwpf.converter.pdf.PdfOptions;
-import fr.opensagres.xdocreport.document.IXDocReport;
-import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
-import fr.opensagres.xdocreport.template.IContext;
-import fr.opensagres.xdocreport.template.TemplateEngineKind;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
-import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.util.FileCopyUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.*;
-import java.math.BigDecimal;
-import java.net.URLEncoder;
-import java.nio.channels.FileChannel;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.util.UUID;
-
-@RestController
-@RequestMapping("/common")
-public class CommonUploadController {
-
-    Logger logger = LogManager.getLogger(org.apache.logging.log4j.LogManager.ROOT_LOGGER_NAME);
-    @Value(value = "${upload.path}")
-    private String path;
-    @Value(value = "${logDownLoad.path}")
-    private String logDownLoadPath;
-
-    @RequestMapping(value="uploadFile")
-    public HttpRespMsg uploadFile(MultipartFile multipartFile) {
-        HttpRespMsg msg = new HttpRespMsg();
-
-        //然后处理文件
-        String fileName = multipartFile.getOriginalFilename();
-        String[] split = fileName.split("\\.");
-        String serverName = UUID.randomUUID().toString().replaceAll("-", "") + "."+split[split.length-1];
-
-        //检查目录
-        File dir = new File(path);
-        if (!dir.exists()) {
-            dir.mkdir();
-        }
-        File file = new File(dir, serverName);
-        InputStream inputStream = null;
-        OutputStream outputStream = null;
-        try {
-            inputStream = multipartFile.getInputStream();
-            outputStream = new FileOutputStream(file);
-            byte[] buffer = new byte[4096];
-            int temp = 0;
-            while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
-                outputStream.write(buffer, 0, temp);
-            }
-            inputStream.close();
-            outputStream.close();
-            msg.data = serverName;
-        } catch (Exception exception) {
-            exception.printStackTrace();
-            logger.error(exception.getMessage());
-        }
-
-        return msg;
-    }
-    @RequestMapping("/downLoadLog")
-    public ResponseEntity<byte[]> downLoadLog() throws IOException {
-        // 🧐🧐🧐读取本地的文件
-        // 获取File对象
-        System.out.println("读取目录=="+logDownLoadPath);
-        File readFile=new File(logDownLoadPath);
-        // 🐳🐳🐳设置响应头,把文件名称放入响应头中,确保文件可下载
-        HttpHeaders headers = new HttpHeaders();
-        headers.set("Content-Disposition", "attachment;filename=" + URLEncoder.encode(readFile.getName(), "UTF-8"));
-        // 🐳🐳🐳设置内容类型为「application/octet-stream」二进制流
-        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
-
-        Path path = Paths.get(readFile.toURI());
-        // 获取File对象的字节码文件
-        byte[] bytes = Files.readAllBytes(path);
-        //return new ResponseEntity<>(bytes, headers, HttpStatus.OK);
-         return ResponseEntity.ok().headers(headers).body(bytes);
-    }
-}

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/controller/CompanyReportController.java

@@ -66,7 +66,7 @@ public class CompanyReportController {
         List<CompanyReport> updateList=new ArrayList<>();
         if(formIds!=null&&!StringUtils.isEmpty(formIds)){
             String[] split = formIds.split(",");
-            List<String> list = Arrays.asList(split);
+            String[] list = split;
             List<Integer> formIdList=new ArrayList<>();
             for (String s : list) {
                 CompanyReport companyReport=new CompanyReport();

+ 2 - 2
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/controller/ContractDetailController.java

@@ -104,8 +104,8 @@ public class ContractDetailController {
         context.put("standardUnitPrice", contractDetail.getStandardUnitPrice()==null?0:contractDetail.getStandardUnitPrice());
         context.put("firstOpenNum", contractDetail.getFirstOpenNum());
         context.put("secondPartyAccount", contractDetail.getSecondPartyAccount());
-        BigDecimal bigDecimal=new BigDecimal(contractDetail.getServiceChargeOfYear()==null?0:contractDetail.getServiceChargeOfYear());
-        bigDecimal=bigDecimal.add(new BigDecimal(contractDetail.getCustomDevelopmentCosts()==null?0:contractDetail.getCustomDevelopmentCosts()));
+        BigDecimal bigDecimal= BigDecimal.valueOf(contractDetail.getServiceChargeOfYear() == null ? 0 : contractDetail.getServiceChargeOfYear());
+        bigDecimal=bigDecimal.add(BigDecimal.valueOf(contractDetail.getCustomDevelopmentCosts() == null ? 0 : contractDetail.getCustomDevelopmentCosts()));
         context.put("allCost", bigDecimal.doubleValue());
         context.put("secondPartyBankOfDeposit", contractDetail.getSecondPartyBankOfDeposit());
         context.put("secondPartyBillingName",contractDetail.getSecondPartyBillingName() );

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/CustomerInfoMapper.java

@@ -15,5 +15,5 @@ import java.util.List;
  */
 public interface CustomerInfoMapper extends BaseMapper<CustomerInfo> {
 
-    public List<CustomerInfo> getAll(Integer companyId);
+    List<CustomerInfo> getAll(Integer companyId);
 }

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/SysFunctionMapper.java

@@ -15,5 +15,5 @@ import java.util.List;
  * @since 2021-06-03
  */
 public interface SysFunctionMapper extends BaseMapper<SysFunction> {
-    public List<SysRichFunction> getRoleFunctions(Integer roleId, String functionName);
+    List<SysRichFunction> getRoleFunctions(Integer roleId, String functionName);
 }

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/SysRoleFunctionMapper.java

@@ -14,5 +14,5 @@ import java.util.List;
  * @since 2021-06-03
  */
 public interface SysRoleFunctionMapper extends BaseMapper<SysRoleFunction> {
-    public List<SysRoleFunction> getRoleFunctionNames(Integer roleId);
+    List<SysRoleFunction> getRoleFunctionNames(Integer roleId);
 }

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/TaskProgressMapper.java

@@ -15,5 +15,5 @@ import java.util.List;
  */
 public interface TaskProgressMapper extends BaseMapper<TaskProgress> {
 
-    public List<TaskProgress> selectListWithName(Integer taskId);
+    List<TaskProgress> selectListWithName(Integer taskId);
 }

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/mapper/UserCorpwxTimeMapper.java

@@ -16,5 +16,5 @@ import java.util.Map;
  */
 public interface UserCorpwxTimeMapper extends BaseMapper<UserCorpwxTime> {
 
-    public List<Map> getUserDataList(Integer companyId, String startDate, String endDate, Integer deptId);
+    List<Map> getUserDataList(Integer companyId, String startDate, String endDate, Integer deptId);
 }

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/service/SysRoleService.java

@@ -13,5 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface SysRoleService extends IService<SysRole> {
 
-    public SysRole generateDefaultRoles(Integer companyId);
+    SysRole generateDefaultRoles(Integer companyId);
 }

+ 0 - 28
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -1,51 +1,23 @@
 package com.management.platform.service.impl;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.management.platform.constant.Constant;
 import com.management.platform.entity.*;
 import com.management.platform.entity.vo.UserVO;
 import com.management.platform.mapper.*;
 import com.management.platform.service.*;
 import com.management.platform.util.*;
-import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
-import me.chanjar.weixin.mp.api.WxMpService;
-import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
-import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
-import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
-import org.apache.poi.hssf.usermodel.*;
-import org.apache.poi.ss.usermodel.CellType;
-import org.apache.poi.xssf.usermodel.XSSFCell;
-import org.apache.poi.xssf.usermodel.XSSFRow;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
-import org.springframework.util.NumberUtils;
-import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
-import org.springframework.web.multipart.MultipartFile;
-import sun.util.calendar.ZoneInfoFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.io.*;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 

+ 0 - 53
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/test/TestApplicationTests.java

@@ -1,53 +0,0 @@
-package com.management.platform.test;
-
-import com.management.platform.entity.PicContentKeywords;
-import com.management.platform.util.RedisUtil;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.Set;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest
-public class TestApplicationTests {
-    @Resource
-    private RedisUtil redisUtil;
-    @Value(value = "${upload.path}")
-    private String  path;
-
-    @Test
-    public void contextLoads() {
-//        //初始化redis关键词
-//        redisUtil.deleteKey("keyWords");
-
-        Set<Object> keyWords = redisUtil.members("keyWords");
-        System.out.println(keyWords);
-//        System.out.println(redisUtil.existsKey(Parameter.ACCESS_TOKEN.getName()));
-//        for (Object keyWord : keyWords) {
-//            JSONObject jsonMember = JSON.parseObject((String)keyWord);
-//            System.out.println(jsonMember.getString("content"));
-//
-//        }
-
-
-//        Map<String,Object> map = AuthService.getAuth(Constant.API_KEY, Constant.SECRET_KEY);
-//        String accessToken = (String)map.get("accessToken");
-//        Long expiresTimeOut = (Long)map.get("expiresIn");
-//        System.out.println("accessToken:==="+accessToken);
-//        System.out.println("expiresTimeOut:==="+expiresTimeOut);
-//        redisUtil.setKeyWithExpireTime("accessToken",accessToken,expiresTimeOut);
-////        redisUtil.setString("wtt","aaa");
-//        System.out.println(redisUtil.getKey("accessToken"));
-
-//        for (String keyWord : Constant.keyWords) {
-//            redisUtil.sSet("keyWords",keyWord);
-//        }
-//        System.out.println(redisUtil.members("keyWords").toString());
-
-    }
-
-}

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/AuthService.java

@@ -83,7 +83,7 @@ public class AuthService {
             mapResult.put("expiresIn",expires_in);
             return mapResult;
         } catch (Exception e) {
-            System.err.printf("获取token失败!");
+            System.err.print("获取token失败!");
             e.printStackTrace(System.err);
         }
         return null;

+ 0 - 138
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/CheckPicUtil.java

@@ -1,138 +0,0 @@
-package com.management.platform.util;
-
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baidu.aip.util.Base64Util;
-
-import java.net.URLEncoder;
-import java.util.*;
-
-/**
- * Author: 屈跃庭 cuiyi@itany.com
- * Date : 2019 - 08 - 30 13:59
- * Description:<描述> 百度文字识别api识别图片里的文字工具类
- * Version: 1.0
- */
-public class CheckPicUtil {
-
-    /**
-     * 调用百度文字识别api识别图片里的文字
-     * @param path 图片路径
-     * @param token 调用百度文字识别api的access_token
-     * @return 返回调用api识别出来的内容字符串
-     */
-    public static String general(String path,String token) {
-        // 请求url
-        String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general";
-        try {
-            // 本地文件路径
-            String filePath = path;
-            byte[] imgData = FileUtil.readFileByBytes(filePath);
-            String imgStr = Base64Util.encode(imgData);
-            String imgParam = URLEncoder.encode(imgStr, "UTF-8");
-
-            String param = "image=" + imgParam;
-
-            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
-            String accessToken = token;
-
-            String result = HttpUtil.post(url, accessToken, param);
-            System.out.println(result);
-            return result;
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-    /**
-     * 调用百度文字识别api识别图片里的文字
-     * @param path 图片路径
-     * @param token 调用百度文字识别api的access_token
-     * @return 返回调用api识别出来的内容的List集合
-     */
-    public static List<String>  generalPicTextContent (String path,String token) {
-        // 请求url
-        String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general";
-        try {
-            // 本地文件路径
-            String filePath = path;
-            byte[] imgData = FileUtil.readFileByBytes(filePath);
-            String imgStr = Base64Util.encode(imgData);
-            String imgParam = URLEncoder.encode(imgStr, "UTF-8");
-
-            String param = "image=" + imgParam;
-
-            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
-            String accessToken = token;
-
-            String result = HttpUtil.post(url, accessToken, param);
-            List<String> wordsList = new ArrayList<>();
-            JSONObject object = JSONArray.parseObject(result);
-            JSONArray resultArray = object.getJSONArray("words_result");
-            for (int i = 0; i < resultArray.size(); i++) {
-                JSONObject json  = resultArray.getJSONObject(i);
-                String words = (String)json.get("words");
-                System.out.println("words"+i+":"+words);
-                wordsList.add(words);
-            }
-            System.out.println(wordsList);
-            return wordsList;
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    /**
-     * 调用百度文字识别api识别图片里的文字
-     * @param path 图片路径
-     * @param token 调用百度文字识别api的access_token
-     * @return 返回调用api识别出来的内容的集合和json字符串的Map
-     */
-    public static Map<String,Object>  generalPicTextContentMap (String path,String token) {
-        // 请求url
-        String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
-        try {
-            // 本地文件路径
-            String filePath = path;
-            byte[] imgData = FileUtil.readFileByBytes(filePath);
-            String imgStr = Base64Util.encode(imgData);
-            String imgParam = URLEncoder.encode(imgStr, "UTF-8");
-
-            String param = "image=" + imgParam;
-
-            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
-            String accessToken = token;
-
-            String result = HttpUtil.post(url, accessToken, param);
-            List<String> wordsList = new ArrayList<>();
-            JSONObject object = JSONArray.parseObject(result);
-            JSONArray resultArray = object.getJSONArray("words_result");
-            if (resultArray != null) {//超过上限会返回错误json数据,{"error_code":17,"error_msg":"Open api daily request limit reached"}
-                for (int i = 0; i < resultArray.size(); i++) {
-                    JSONObject json  = resultArray.getJSONObject(i);
-                    String words = (String)json.get("words");
-                    System.out.println("words"+i+":"+words);
-                    wordsList.add(words);
-                }
-            }
-
-            System.out.println(wordsList);
-            Map<String,Object> map = new HashMap<>();
-            map.put("wordsList",wordsList);
-            map.put("picContent",object.toJSONString());
-            return map;
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    public static void main(String[] args) {
-        CheckPicUtil.generalPicTextContent("D:\\qt.jpg",(String)AuthService.getAuth().get("accessToken"));
-
-        System.out.println("m]- IntelliJ IDEA(Administrator)".contains("Intellij IDEA"));
-
-    }
-}

+ 2 - 8
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/CodeGenerator.java

@@ -42,9 +42,7 @@ public class CodeGenerator {
      */
     public static String scanner(String tip) {
         Scanner scanner = new Scanner(System.in);
-        StringBuilder help = new StringBuilder();
-        help.append("请输入" + tip + ":");
-        System.out.println(help.toString());
+        System.out.println("请输入" + tip + ":");
         if (scanner.hasNext()) {
             String ipt = scanner.next();
             if (StringUtils.isNotEmpty(ipt)) {
@@ -161,11 +159,7 @@ public class CodeGenerator {
                 File file = new File(filePath);
                 boolean exist = file.exists();
                 if(exist){
-                    if (filePath.endsWith("Mapper.xml")||FileType.ENTITY==fileType){
-                        return true;
-                    }else {
-                        return false;
-                    }
+                    return filePath.endsWith("Mapper.xml") || FileType.ENTITY == fileType;
                 }
                 //不存在的文件都需要创建
                 return  true;

+ 2 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/DateTimeUtil.java

@@ -3,6 +3,7 @@ package com.management.platform.util;
 import org.apache.tomcat.jni.Local;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.Instant;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -45,7 +46,7 @@ public class DateTimeUtil {
      */
     public static double getHoursFromDouble(double time) {
         BigDecimal decimal = new BigDecimal(time);
-        return decimal.setScale(0, BigDecimal.ROUND_HALF_UP).doubleValue();
+        return decimal.setScale(0, RoundingMode.HALF_UP).doubleValue();
     }
 
     public static LocalDate getLocalDateFromSeconds(long time) {

+ 10 - 9
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/DingCallbackCrypto.java

@@ -2,6 +2,7 @@ package com.management.platform.util;
 
 import java.io.ByteArrayOutputStream;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -25,11 +26,11 @@ import org.apache.commons.codec.binary.Base64;
  */
 public class DingCallbackCrypto {
 
-    private static final Charset CHARSET = Charset.forName("utf-8");
+    private static final Charset CHARSET = StandardCharsets.UTF_8;
     private static final Base64 base64 = new Base64();
-    private byte[] aesKey;
-    private String token;
-    private String corpId;
+    private final byte[] aesKey;
+    private final String token;
+    private final String corpId;
     /**
      * ask getPaddingBytes key固定长度
      **/
@@ -267,7 +268,7 @@ public class DingCallbackCrypto {
     }
 
     public static class PKCS7Padding {
-        private static final Charset CHARSET = Charset.forName("utf-8");
+        private static final Charset CHARSET = StandardCharsets.UTF_8;
         private static final int BLOCK_SIZE = 32;
 
         public PKCS7Padding() {
@@ -280,7 +281,7 @@ public class DingCallbackCrypto {
             }
 
             char padChr = chr(amountToPad);
-            String tmp = new String();
+            String tmp = "";
 
             for (int index = 0; index < amountToPad; ++index) {
                 tmp = tmp + padChr;
@@ -316,8 +317,8 @@ public class DingCallbackCrypto {
         public static final int COMPUTE_DECRYPT_TEXT_ERROR = 900008;
         public static final int COMPUTE_DECRYPT_TEXT_LENGTH_ERROR = 900009;
         public static final int COMPUTE_DECRYPT_TEXT_CORPID_ERROR = 900010;
-        private static Map<Integer, String> msgMap = new HashMap();
-        private Integer code;
+        private static final Map<Integer, String> msgMap = new HashMap();
+        private final Integer code;
 
         static {
             msgMap.put(0, "成功");
@@ -338,7 +339,7 @@ public class DingCallbackCrypto {
         }
 
         public DingTalkEncryptException(Integer exceptionCode) {
-            super((String)msgMap.get(exceptionCode));
+            super(msgMap.get(exceptionCode));
             this.code = exceptionCode;
         }
     }

+ 9 - 10
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/HttpKit.java

@@ -1,13 +1,13 @@
 package com.management.platform.util;
 
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-
 import javax.net.ssl.*;
 import java.io.*;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.security.KeyManagementException;
 import java.security.NoSuchAlgorithmException;
 import java.security.NoSuchProviderException;
@@ -149,7 +149,7 @@ public class HttpKit {
         http.setDoInput(true);
         http.connect();
         OutputStream out = http.getOutputStream();
-        out.write(params.getBytes("UTF-8"));
+        out.write(params.getBytes(StandardCharsets.UTF_8));
         out.flush();
         out.close();
         InputStream in = http.getInputStream();
@@ -193,13 +193,12 @@ public class HttpKit {
           
         OutputStream out = new DataOutputStream(conn.getOutputStream());  
         byte[] end_data = ("\r\n--" + BOUNDARY + "--\r\n").getBytes();// 定义最后数据分隔线  
-        StringBuilder sb = new StringBuilder();    
-        sb.append("--");    
-        sb.append(BOUNDARY);    
-        sb.append("\r\n");    
-        sb.append("Content-Disposition: form-data;name=\"media\";filename=\""+ file.getName() + "\"\r\n");    
-        sb.append("Content-Type:application/octet-stream\r\n\r\n");    
-        byte[] data = sb.toString().getBytes();  
+        String sb = "--" +
+                BOUNDARY +
+                "\r\n" +
+                "Content-Disposition: form-data;name=\"media\";filename=\"" + file.getName() + "\"\r\n" +
+                "Content-Type:application/octet-stream\r\n\r\n";
+        byte[] data = sb.getBytes();
         out.write(data);  
         DataInputStream fs = new DataInputStream(new FileInputStream(file));  
         int bytes = 0;  

+ 0 - 297
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/ImageCompare.java

@@ -1,297 +0,0 @@
-package com.management.platform.util;
-
-import java.awt.HeadlessException;
-import java.awt.image.BufferedImage;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.imageio.ImageIO;
-
-import org.opencv.core.*;
-import org.opencv.imgcodecs.Imgcodecs;
-import org.opencv.imgproc.Imgproc;
-import org.opencv.utils.Converters;
-
-public class ImageCompare {
-    static {
-        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
-        //注意程序运行的时候需要在VM option添加该行 指明opencv的dll文件所在路径
-        //-Djava.library.path=$PROJECT_DIR$\opencv\x64
-    }
-    private boolean compareResult = false;
-    private String mark = "_compareResult";
-    /**
-     * 通过两张图对比,判断是否是游戏电影类型
-     * @param imagePath1 图片1的路径
-     * @param imagePath2 图片2的路径
-     */
-    public boolean isMoviePlay(String imagePath1, String imagePath2)
-    {
-        Mat mat1 = readMat(imagePath1);
-        Mat mat2 = readMat(imagePath2);
-        mat1 = Imgcodecs.imdecode(mat1, Imgcodecs.IMREAD_UNCHANGED);
-        mat2 = Imgcodecs.imdecode(mat2, Imgcodecs.IMREAD_UNCHANGED);
-        if(mat1.cols() == 0 || mat2.cols() == 0 || mat1.rows() == 0 || mat2.rows() == 0)
-        {
-            System.out.println("图片文件路径异常,获取的图片大小为0,无法读取");
-            return false;
-        }
-        if(mat1.cols() != mat2.cols() || mat1.rows() != mat2.rows())
-        {
-            System.out.println("两张图片大小不同,无法比较");
-            return false;
-        }
-        mat1.convertTo(mat1, CvType.CV_8UC1);
-        mat2.convertTo(mat2, CvType.CV_8UC1);
-        Mat mat1_gray = new Mat();
-        Imgproc.cvtColor(mat1, mat1_gray, Imgproc.COLOR_BGR2GRAY);
-        Mat mat2_gray = new Mat();
-        Imgproc.cvtColor(mat2, mat2_gray, Imgproc.COLOR_BGR2GRAY);
-        mat1_gray.convertTo(mat1_gray, CvType.CV_32F);
-        mat2_gray.convertTo(mat2_gray, CvType.CV_32F);
-        double result = Imgproc.compareHist(mat1_gray, mat2_gray, Imgproc.CV_COMP_CORREL);
-        if(result == 1)
-        {
-            return false;
-        }
-//        System.out.println("相似度数值为:"+result);
-        Mat mat_result = new Mat();
-        //计算两个灰度图的绝对差值,并输出到一个Mat对象中
-        Core.absdiff(mat1_gray, mat2_gray, mat_result);
-        //将灰度图按照阈值进行绝对值化
-        mat_result.convertTo(mat_result, CvType.CV_8UC1);
-        List<MatOfPoint> mat2_list = new ArrayList<MatOfPoint>();
-        Mat mat2_hi = new Mat();
-        //寻找轮廓图
-        Imgproc.findContours(mat_result, mat2_list, mat2_hi, Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE);
-        Mat mat_result1 = mat1;
-        Mat mat_result2 = mat2;
-        //使用红色标记不同点
-        System.out.println(mat2_list.size());
-        List<Point> allPoints = new ArrayList<Point>();
-        //按照目标区域的面积大小, 长宽不低于480*480
-        Point leftTop = null;
-        Point rightTop = null;
-        Point leftBottom = null;
-        Point rightBottom = null;
-        for (MatOfPoint matOfPoint : mat2_list)
-        {
-            Rect rect = Imgproc.boundingRect(matOfPoint);
-            if ((rect.width >= 640 && rect.height >= 480) || (rect.width >= 480 && rect.height >= 640)) {
-//                System.out.println("位置==["+rect.x +","+ rect.y+"], 大小=" +rect.width+"x"+rect.height+", 包含点=" + matOfPoint.toList().size());
-                Imgproc.rectangle(mat_result1, rect.tl(), rect.br(), new Scalar(0, 0, 255),2);
-                Imgproc.rectangle(mat_result2, rect.tl(), rect.br(), new Scalar(0, 0, 255),2);
-                allPoints = matOfPoint.toList();
-                leftTop = new Point(rect.x, rect.y);
-                rightTop = new Point(rect.x + rect.width -1, rect.y);
-                leftBottom = new Point(rect.x, rect.y + rect.height -1);
-                rightBottom = new Point(rect.x + rect.width -1, rect.y + rect.height -1);
-                break;
-            }
-        }
-        for (Point p : allPoints) {
-            Imgproc.drawMarker(mat_result1, p, new Scalar(0, 255, 0),2);
-        }
-        //找到四个顶点
-        System.out.println("allPoints size=="+allPoints.size());
-        if (allPoints.size() == 0) {
-            return false;
-        }
-        System.out.println(leftTop);
-        System.out.println(rightTop);
-        System.out.println(leftBottom);
-        System.out.println(rightBottom);
-        //统计在矩形边上的点数量
-        int hitCount = 0;
-        for (Point p : allPoints) {
-            if ((Math.abs(p.x - leftTop.x) <= 6 || Math.abs(p.y - leftTop.y) <= 6)
-                    || (Math.abs(p.x - rightBottom.x) <= 6 || Math.abs(p.y - rightBottom.y) <= 6)) {
-                hitCount++;
-            }
-        }
-        System.out.println("hitCount="+hitCount+", percent="+(100*hitCount/allPoints.size())+"%");
-        int percent = (100*hitCount/allPoints.size());
-        //分析占比
-        if (percent > 80) {
-            return true;//
-        } else {
-            return false;
-        }
-    }
-
-    private void writeImage(Mat mat, String outPutFile)
-    {
-        MatOfByte matOfByte = new MatOfByte();
-        Imgcodecs.imencode(".png", mat, matOfByte);
-        byte[] byteArray = matOfByte.toArray();
-        BufferedImage bufImage = null;
-        try {
-            InputStream in = new ByteArrayInputStream(byteArray);
-            bufImage = ImageIO.read(in);
-            ImageIO.write(bufImage, "png", new File(outPutFile));
-        } catch (IOException | HeadlessException e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    private String getFileName(String filePath)
-    {
-        File f = new File(filePath);
-        return f.getName();
-    }
-
-    private String getParentDir(String filePath)
-    {
-        File f = new File(filePath);
-        return f.getParent();
-    }
-
-    private Mat readMat(String filePath)
-    {
-        try {
-            File file = new File(filePath);
-            FileInputStream inputStream = new FileInputStream(filePath);
-            byte[] byt = new byte[(int) file.length()];
-            int read = inputStream.read(byt);
-            List<Byte> bs = convert(byt);
-            Mat mat1 = Converters.vector_char_to_Mat(bs);
-            return mat1;
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return new Mat();
-    }
-
-    private List<Byte> convert(byte[] byt)
-    {
-        List<Byte> bs = new ArrayList<Byte>();
-        for (int i = 0; i < byt.length; i++)
-        {
-            bs.add(i, byt[i]);
-        }
-        return bs;
-    }
-
-    public boolean test(String imagePath1, String imagePath2)
-    {
-        Mat mat1 = readMat(imagePath1);
-        Mat mat2 = readMat(imagePath2);
-        mat1 = Imgcodecs.imdecode(mat1, Imgcodecs.IMREAD_UNCHANGED);
-        mat2 = Imgcodecs.imdecode(mat2, Imgcodecs.IMREAD_UNCHANGED);
-        /*Mat mat1 = Imgcodecs.imread(imagePath1, Imgcodecs.IMREAD_UNCHANGED);
-        Mat mat2 = Imgcodecs.imread(imagePath2, Imgcodecs.IMREAD_UNCHANGED);*/
-        if(mat1.cols() == 0 || mat2.cols() == 0 || mat1.rows() == 0 || mat2.rows() == 0)
-        {
-            System.out.println("图片文件路径异常,获取的图片大小为0,无法读取");
-            return false;
-        }
-        if(mat1.cols() != mat2.cols() || mat1.rows() != mat2.rows())
-        {
-            System.out.println("两张图片大小不同,无法比较");
-            return false;
-        }
-        mat1.convertTo(mat1, CvType.CV_8UC1);
-        mat2.convertTo(mat2, CvType.CV_8UC1);
-        Mat mat1_gray = new Mat();
-        Imgproc.cvtColor(mat1, mat1_gray, Imgproc.COLOR_BGR2GRAY);
-        Mat mat2_gray = new Mat();
-        Imgproc.cvtColor(mat2, mat2_gray, Imgproc.COLOR_BGR2GRAY);
-        mat1_gray.convertTo(mat1_gray, CvType.CV_32F);
-        mat2_gray.convertTo(mat2_gray, CvType.CV_32F);
-        double result = Imgproc.compareHist(mat1_gray, mat2_gray, Imgproc.CV_COMP_CORREL);
-        if(result == 1)
-        {
-            compareResult = true;//此处结果为1则为完全相同
-            return false;
-        }
-        System.out.println("相似度数值为:"+result);
-        Mat mat_result = new Mat();
-        //计算两个灰度图的绝对差值,并输出到一个Mat对象中
-        Core.absdiff(mat1_gray, mat2_gray, mat_result);
-        //将灰度图按照阈值进行绝对值化
-        mat_result.convertTo(mat_result, CvType.CV_8UC1);
-        List<MatOfPoint> mat2_list = new ArrayList<MatOfPoint>();
-        Mat mat2_hi = new Mat();
-        //寻找轮廓图
-        Imgproc.findContours(mat_result, mat2_list, mat2_hi, Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE);
-        Mat mat_result1 = mat1;
-        Mat mat_result2 = mat2;
-        //使用红色标记不同点
-        System.out.println(mat2_list.size());
-        List<Point> allPoints = new ArrayList<Point>();
-        //按照目标区域的面积大小, 长宽不低于480*480
-        Point leftTop = null;
-        Point rightTop = null;
-        Point leftBottom = null;
-        Point rightBottom = null;
-        for (MatOfPoint matOfPoint : mat2_list)
-        {
-            Rect rect = Imgproc.boundingRect(matOfPoint);
-            if (rect.width >= 280 && rect.height >= 280) {
-                System.out.println("位置==["+rect.x +","+ rect.y+"], 大小=" +rect.width+"x"+rect.height+", 包含点=" + matOfPoint.toList().size());
-                Imgproc.rectangle(mat_result1, rect.tl(), rect.br(), new Scalar(0, 0, 255),2);
-                Imgproc.rectangle(mat_result2, rect.tl(), rect.br(), new Scalar(0, 0, 255),2);
-                allPoints = matOfPoint.toList();
-                leftTop = new Point(rect.x, rect.y);
-                rightTop = new Point(rect.x + rect.width -1, rect.y);
-                leftBottom = new Point(rect.x, rect.y + rect.height -1);
-                rightBottom = new Point(rect.x + rect.width -1, rect.y + rect.height -1);
-                break;
-            }
-        }
-        for (Point p : allPoints) {
-            Imgproc.drawMarker(mat_result1, p, new Scalar(0, 255, 0),2);
-        }
-        String fileName1 = getFileName(imagePath1);
-        String targetPath1 = getParentDir(imagePath2)+File.separator+fileName1.replace(".", mark+".");
-        String fileName2 = getFileName(imagePath2);
-        String targetPath2 = getParentDir(imagePath2)+File.separator+fileName2.replace(".", mark+".");
-        System.out.println(targetPath1);
-        System.out.println(targetPath2);
-        writeImage(mat_result1, targetPath1);
-        writeImage(mat_result2, targetPath2);
-        //找到四个顶点
-        System.out.println("allPoints size=="+allPoints.size());
-        System.out.println(leftTop);
-        System.out.println(rightTop);
-        System.out.println(leftBottom);
-        System.out.println(rightBottom);
-        //检测其他点,是否都在矩形边上
-        int hitCount = 0;
-        for (Point p : allPoints) {
-            if ((Math.abs(p.x - leftTop.x) <= 6 || Math.abs(p.y - leftTop.y) <= 6)
-                    || (Math.abs(p.x - rightBottom.x) <= 6 || Math.abs(p.y - rightBottom.y) <= 6)) {
-                hitCount++;
-            } else {
-//                System.out.println("失效点:"+p.x + "," + p.y);
-            }
-        }
-        System.out.println("hitCount="+hitCount+", percent="+(100*hitCount/allPoints.size())+"%");
-        int percent = (100*hitCount/allPoints.size());
-
-        if (percent > 80) {
-            return true;//
-        } else {
-            return false;
-        }
-    }
-
-    public static void main(String[] args) {
-        String img1 = "C:\\Users\\seya\\Desktop\\e.jpg";
-        String img2 = "C:\\Users\\seya\\Desktop\\d.jpg";
-        ImageCompare ip = new ImageCompare();
-        System.out.println("是电影娱乐吗?"+ip.test(img1, img2));
-    }
-
-
-}
-

+ 0 - 129
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/ImageReconizeUtil.java

@@ -1,129 +0,0 @@
-package com.management.platform.util;
-
-import org.opencv.core.*;
-import org.opencv.features2d.ORB;
-import org.opencv.highgui.HighGui;
-import org.opencv.imgcodecs.Imgcodecs;
-import org.opencv.imgproc.Imgproc;
-
-import javax.imageio.ImageIO;
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
-
-import static java.lang.Math.E;
-import static org.opencv.imgproc.Imgproc.*;
-
-public class ImageReconizeUtil {
-//    public static final double YUZHI_HIGH = 2*Math.pow(0.1, 11);
-//    public static final double YUZHI_NORMAL = 1*Math.pow(0.1, 10);
-    public static final double YUZHI = 0.89;
-    static {
-        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
-        //注意程序运行的时候需要在VM option添加该行 指明opencv的dll文件所在路径
-        //-Djava.library.path=$PROJECT_DIR$\opencv\x64
-    }
-    public static void main(String[] args) {
-        boolean match = isWholeTemplateMatch("C:\\Users\\seya\\Desktop\\wjw.jpg",
-                "C:\\picrecongnize\\im\\wechat.jpg");
-
-    }
-
-    public static boolean isTemplateMatch(String sourcePic, String targetPic) {
-        double matchVal = templete(TM_CCOEFF_NORMED, sourcePic, targetPic,true);
-        if (matchVal >= YUZHI) {
-            System.out.println("找到啦");
-            return true;
-        } else {
-            System.out.println("没匹配上");
-            return false;
-        }
-    }
-
-    public static boolean isWholeTemplateMatch(String sourcePic, String targetPic) {
-        double matchVal = templete(Imgproc.TM_CCOEFF_NORMED, sourcePic, targetPic, false);
-        if (matchVal >= YUZHI) {
-            System.out.println("找到啦"+targetPic);
-            return true;
-        } else {
-            System.out.println("没匹配上");
-            return false;
-        }
-    }
-
-    /**
-     * OpenCV-4.1.0 模板匹配
-     * <table border="1" cellpadding="8">
-     * <tr><th>输入参数</th><th>参数解释</th></tr>
-     * <tr><td align="left">TM_SQDIFF是平方差匹配、TM_SQDIFF_NORMED是标准平方差匹配</td><td>利用平方差来进行匹配,最好匹配为0.匹配越差,匹配值越大。</td></tr>
-     * <tr><td align="left">TM_CCORR是相关性匹配、TM_CCORR_NORMED是标准相关性匹配</td><td>采用模板和图像间的乘法操作,数越大表示匹配程度较高, 0表示最坏的匹配效果。</td></tr>
-     * <tr><td align="left">TM_CCOEFF是相关性系数匹配、TM_CCOEFF_NORMED是标准相关性系数匹配</td><td>将模版对其均值的相对值与图像对其均值的相关值进行匹配,1表示完美匹配,-1表示糟糕的匹配,0表示没有任何相关性(随机序列)。</td></tr>
-     * <tr><td colspan="2">随着从简单的测量(平方差)到更复杂的测量(相关系数),我们可获得越来越准确的匹配(同时也意味着越来越大的计算代价)。</td></tr>
-     * <tr><td colspan="2">相关性是越接近1越大越好,平方差是越小越好,所以TM_SQDIFF在使用时和其他的是有所区别的。</td></tr>
-     * <tr><td colspan="2">模板匹配结果Mat要是32位的。</td></tr>
-     * </table>
-     * @return: void
-     * @date: 2019年5月7日12:16:55
-     */
-    public static double templete(int method, String inFile, String templateFile, boolean cutMatch) {
-        // 1 获取待匹配图片
-//        System.out.println("sourcePic="+sourcePic+", targetPic="+targetPic);
-        Mat srcMat = Imgcodecs.imread(inFile);
-        if (cutMatch) {
-            //先裁减,左上角1/4的截图,提高比对速度。
-            Rect rect = new Rect(0,0,srcMat.width()/4, srcMat.height()/4);
-            Mat subMat = new Mat(srcMat, rect);
-            subMat.copyTo(srcMat);
-        }
-
-        //将rgb灰化处理
-//        Imgproc.cvtColor(templete, templete,Imgproc.COLOR_BGR2GRAY);
-//
-        // 2 获取匹配模板
-        Mat demo = Imgcodecs.imread(templateFile);
-//        Imgproc.cvtColor(demo, demo,Imgproc.COLOR_BGR2GRAY);
-
-        Core.MinMaxLocResult mmr = getLocResult(method, srcMat, demo);
-        // 7 绘制匹配到的结果
-        double x,y;
-        double matchVal = 0;
-        if (method==Imgproc.TM_SQDIFF_NORMED || method==Imgproc.TM_SQDIFF) {
-            x = mmr.minLoc.x;
-            y = mmr.minLoc.y;
-            matchVal = mmr.minVal;
-        } else {
-            x = mmr.maxLoc.x;
-            y = mmr.maxLoc.y;
-            matchVal = mmr.maxVal;
-        }
-
-        System.out.println("匹配度=="+matchVal+", target="+templateFile.substring(templateFile.lastIndexOf(File.separator)-10)+", inFile="+inFile.substring(inFile.lastIndexOf(File.separator)));
-        System.out.println("x="+x+", y=" + y);
-        //我们匹配的图像在左上角,考虑到用户可能拖动窗口,但是不应该偏差很大。 这里增加判断标准:坐标处在左上方。
-
-//        if (matchVal >= YUZHI) {
-//            Imgproc.rectangle(srcMat,new Point(x,y),new Point(x+demo.cols(),y+demo.rows()),new Scalar( 0, 0, 255),2,Imgproc.LINE_AA);
-//            Imgproc.putText(srcMat,"Match Success",new Point(x,y),Imgproc.FONT_HERSHEY_SCRIPT_COMPLEX, 1.0, new Scalar(0, 255, 0),1,Imgproc.LINE_AA);
-//            // 8 显示结果
-//            HighGui.imshow("模板匹配", srcMat);
-//            HighGui.waitKey(0);
-//        }
-
-        return matchVal;
-    }
-
-    private static Core.MinMaxLocResult getLocResult(int method, Mat templete, Mat demo) {
-        int width=templete.cols()-demo.cols()+1;
-        int height=templete.rows()-demo.rows()+1;
-        // 3 创建32位模板匹配结果Mat
-        Mat result=new Mat(width,height,CvType.CV_32FC1);
-        // 4 调用 模板匹配函数
-        Imgproc.matchTemplate(templete, demo, result, method);
-        // 5 归一化
-//        Core.normalize(result, result,0, 1, Core.NORM_MINMAX, -1, new Mat());
-        // 6 获取模板匹配结果
-        Core.MinMaxLocResult mmr = Core.minMaxLoc(result);
-        return mmr;
-    }
-
-}

+ 2 - 2
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/ListUtil.java

@@ -64,7 +64,7 @@ public class ListUtil {
 		List<Integer> list = new ArrayList<Integer>();
         for (Object obj : object) {
             // 得到类对象
-            Class userCla = (Class) obj.getClass();
+            Class userCla = obj.getClass();
             /* 得到类中的所有属性集合 */
             Field[] fs = userCla.getDeclaredFields();
             for (int i = 0; i < fs.length; i++) {
@@ -89,7 +89,7 @@ public class ListUtil {
 		List<String> list = new ArrayList<String>();
 		for (Object obj : object) {
 			// 得到类对象
-			Class userCla = (Class) obj.getClass();
+			Class userCla = obj.getClass();
 			/* 得到类中的所有属性集合 */
 			Field[] fs = userCla.getDeclaredFields();
 			for (int i = 0; i < fs.length; i++) {

+ 3 - 3
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/MD5Util.java

@@ -14,7 +14,7 @@ import java.text.ParseException;
  */
 public class MD5Util {
 
-    private static final String hexDigits[] = { "0", "1", "2", "3", "4", "5",
+    private static final String[] hexDigits = { "0", "1", "2", "3", "4", "5",
             "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
 
     public static String getPassword(String password) {
@@ -99,7 +99,7 @@ public class MD5Util {
 //    }
 
 
-    private static String byteArrayToHexString(byte b[]) {
+    private static String byteArrayToHexString(byte[] b) {
         StringBuffer resultSb = new StringBuffer();
         for (int i = 0; i < b.length; i++)
             resultSb.append(byteToHexString(b[i]));
@@ -119,7 +119,7 @@ public class MD5Util {
     public static String MD5Encode(String origin, String charsetname) {
         String resultString = null;
         try {
-            resultString = new String(origin);
+            resultString = origin;
             MessageDigest md = MessageDigest.getInstance("MD5");
             if (charsetname == null || "".equals(charsetname))
                 resultString = byteArrayToHexString(md.digest(resultString

+ 0 - 131
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/OpenOfficeService.java

@@ -1,131 +0,0 @@
-package com.management.platform.util;
-
-import lombok.extern.slf4j.Slf4j;
-import org.artofsolving.jodconverter.OfficeDocumentConverter;
-import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;
-import org.artofsolving.jodconverter.office.OfficeManager;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Random;
-import java.util.regex.Pattern;
-
-@Slf4j
-public class OpenOfficeService {
-	//64位windows系统默认安装路径
-	public static String OpenOffice_HOME_64 = "C://Program Files (x86)/OpenOffice 4/";
-	//32位windows系统默认安装路径
-	public static String OpenOffice_HOME_32 = "C://Program Files/OpenOffice 4/";
-	public static String OpenOffice_HOME_UNIX = "/opt/openoffice4/";
-	public static int PORT = 12312;
-	private static OfficeManager officeManager;
-
-	public static boolean canTransferToPdf(String suffix) {
-		if (".doc".equals(suffix) || ".docx".equals(suffix)
-				|| ".xls".equals(suffix) || ".xlsx".equals(suffix)
-				|| ".ppt".equals(suffix) || ".pptx".equals(suffix)
-				|| ".jpg".equals(suffix) || ".png".equals(suffix)
-				|| ".bmp".equals(suffix) || ".jpeg".equals(suffix)
-				|| ".txt".equals(suffix)) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-	/**
-	 * 启动openoffice服务
-	 */
-	public void start() {
-		try {
-			log.info("===Openoffice实例启动中...");
-			DefaultOfficeManagerConfiguration config = new DefaultOfficeManagerConfiguration();
-			String officeHome = getOfficeHome();
-			log.info("officeHome====="+officeHome);
-			config.setOfficeHome(officeHome);
-//	        int randomPort = new Random().nextInt(1000);
-//	        randomPort += 8000;
-			config.setPortNumber(PORT);
-			officeManager = config.buildOfficeManager();
-			officeManager.start();
-			log.info("Openoffice实例启动成功!");
-		} catch (Exception e) {
-			e.printStackTrace();
-			log.info("OpenOffice启动失败:"+e.getMessage());
-		}
-	}
-
-	public static String getOfficeHome() {
-		String osName = System.getProperty("os.name");
-		if (Pattern.matches("Linux.*", osName)) {
-			return OpenOffice_HOME_UNIX;
-		} else if (Pattern.matches("Windows.*", osName)) {
-			String arch = System.getProperty("os.arch");
-			boolean is64bit = (System.getenv("ProgramFiles(x86)") != null);
-			if (is64bit) {
-				return OpenOffice_HOME_64;
-			} else {
-				return OpenOffice_HOME_32;
-			}
-		} else if (Pattern.matches("Mac.*", osName)) {
-			return "/Application/OpenOffice.org.app/Contents";
-		}
-		return null;
-	}
-
-	/**
-	 * 文档转换
-	 * @param inputFilePath
-	 * @param destFile
-	 * @return 0-转换成,-1转换失败
-	 */
-	public  int office2PDF(String inputFilePath, String destFile) {
-		//txt后缀需要改成odt再进行转换
-		if (inputFilePath.endsWith(".txt")) {
-			String tempFilePath = inputFilePath.replaceAll(".txt", ".odt");
-			try {
-				org.apache.commons.io.FileUtils.copyFile(new File(inputFilePath), new File(tempFilePath));
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-			inputFilePath = tempFilePath;
-		}
-		OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
-		File outputFile = new File(destFile);
-		if (!outputFile.getParentFile().exists()) {
-			outputFile.getParentFile().mkdirs();
-		}
-		File inputFile = new File(inputFilePath);
-		if (inputFile.exists()) {// 找不到源文件, 则返回
-			converter.convert(inputFile, outputFile);
-		} else {
-			return -1;
-		}
-		return 0;
-	}
-
-	/**
-	 * 停止服务
-	 */
-	public void shutdown() {
-		if (officeManager != null) {
-			officeManager.stop();
-			System.out.println("Openoffice实例停止!");
-		}
-	}
-
-
-	public static void main(String[] args) {
-		OpenOfficeService service = new OpenOfficeService();
-		String sFile = "D:\\1.pdf";
-		String dFile = "D:\\wttxls111000000000000000.pdf";
-		service.start();
-		File testFile = new File(dFile);
-		if(!testFile .exists()){
-			System.out.println("测试文件不存在,开始转换......");
-			service.office2PDF(sFile,dFile);
-		}else{
-			System.out.println("测试文件已存在");
-		}
-		service.shutdown();
-	}
-}

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/PageUtil.java

@@ -48,7 +48,7 @@ public class PageUtil<T> {
     }
 
     public void setPages(Integer total) {
-        this.pages = total % this.pageSize == 0 ? total / this.pageSize : total / this.pageSize + 1;;
+        this.pages = total % this.pageSize == 0 ? total / this.pageSize : total / this.pageSize + 1;
     }
 
     public List<T> getList() {

File diff suppressed because it is too large
+ 0 - 217
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/ProcessUtil.java


+ 1 - 4
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/RedisUtil.java

@@ -388,10 +388,7 @@ public class RedisUtil {
         RedisScript<String> redisScript = new DefaultRedisScript<>(script, String.class);
 
         Object result = redisTemplate.execute(redisScript, Collections.singletonList(lockKey), requestId);
-        if (SUCCESS.equals(result)) {
-            return true;
-        }
-        return false;
+        return SUCCESS.equals(result);
 
     }
 

+ 4 - 3
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/Sha1Util.java

@@ -1,6 +1,7 @@
 package com.management.platform.util;
 
 
+import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 import java.util.*;
 
@@ -49,16 +50,16 @@ public class Sha1Util {
         if (str == null || str.length() == 0) {
             return null;
         }
-        char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+        char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                 'a', 'b', 'c', 'd', 'e', 'f' };
 
         try {
             MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
-            mdTemp.update(str.getBytes("UTF-8"));
+            mdTemp.update(str.getBytes(StandardCharsets.UTF_8));
 
             byte[] md = mdTemp.digest();
             int j = md.length;
-            char buf[] = new char[j * 2];
+            char[] buf = new char[j * 2];
             int k = 0;
             for (int i = 0; i < j; i++) {
                 byte byte0 = md[i];

+ 0 - 53
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/SmsUtil.java

@@ -1,53 +0,0 @@
-package com.management.platform.util;
-
-import com.aliyun.tea.*;
-import com.aliyun.dysmsapi20170525.*;
-import com.aliyun.dysmsapi20170525.models.*;
-import com.aliyun.teaopenapi.*;
-import com.aliyun.teaopenapi.models.*;
-
-public class SmsUtil {
-    private static String accessKeyId = "LTAI5tQ2uwLE9T6Zrq1Jh3mr";
-    private static String accessKeySecret = "eGUxd8ipnLLCF6XqurKrGiMoyqC69u";
-    /**
-     * 使用AK&SK初始化账号Client
-     * @param accessKeyId
-     * @param accessKeySecret
-     * @return Client
-     * @throws Exception
-     */
-    public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
-        Config config = new Config()
-                // 您的AccessKey ID
-                .setAccessKeyId(accessKeyId)
-                // 您的AccessKey Secret
-                .setAccessKeySecret(accessKeySecret);
-        // 访问的域名
-        config.endpoint = "dysmsapi.aliyuncs.com";
-        return new com.aliyun.dysmsapi20170525.Client(config);
-    }
-
-    public static SendSmsResponse sendSms(String mobile, String code) {
-        com.aliyun.dysmsapi20170525.Client client = null;
-        try {
-            client = SmsUtil.createClient(accessKeyId, accessKeySecret);
-            System.out.println("发送短信");
-            SendSmsRequest sendSmsRequest = new SendSmsRequest()
-                    .setPhoneNumbers(mobile)
-                    .setSignName("火石闪信")
-                    .setTemplateCode("SMS_218575084")
-                    .setTemplateParam("{\"code\":\""+code+"\"}");
-            // 复制代码运行请自行打印 API 的返回值
-            SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
-            System.out.println(sendSmsResponse.getBody().getCode()+":"+sendSmsResponse.getBody().message);
-            return sendSmsResponse;
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    public static void main(String[] args_) throws Exception {
-        SmsUtil.sendSms("15895914665", "1234");
-    }
-}

+ 2 - 2
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/SnowFlake.java

@@ -29,10 +29,10 @@ public class SnowFlake {
     private long sequence = 0L;
     //服务器ID
     private long workerId = 1L;
-    private static long workerMask = -1L ^ (-1L << workerIdBits);
+    private static final long workerMask = -1L ^ (-1L << workerIdBits);
     //进程编码
     private long processId = 1L;
-    private static long processMask = -1L ^ (-1L << datacenterIdBits);
+    private static final long processMask = -1L ^ (-1L << datacenterIdBits);
 
     private static SnowFlake snowFlake = null;
 

+ 0 - 58
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/Tess4jDemo.java

@@ -1,58 +0,0 @@
-package com.management.platform.util;
-
-import java.io.File;
-import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import net.sourceforge.tess4j.ITesseract;
-import net.sourceforge.tess4j.Tesseract;
-import net.sourceforge.tess4j.TesseractException;
-
-/**
- * tess4j测试类
- */
-
-public class Tess4jDemo {
-    public static void main(String[] args) throws TesseractException {
-        String associateDegrees = "6,3";
-        String[] id = associateDegrees.split("\\,");
-//        String[] n = names.split("\\,");
-        List list = new ArrayList();
-        for (int i=0;i<id.length; i++) {
-            HashMap map = new HashMap();
-            map.put("id", id[i]);
-//            map.put("name", n[i]);
-            list.add(map);
-        }
-        System.out.println(list);
-
-
-//        LocalDate now = LocalDate.now();
-//        now = now.minusMonths(2-1);
-//        now = now.withDayOfMonth(1);
-//        System.out.println(now.toString());
-
-//        //创建ITesseract接口的实现实例对象
-//        ITesseract iTesseract = new Tesseract();
-//        //设置tessdata训练库语言包地址,项目根目录下为默认地址可不设置
-//        //获取项目路径
-////        String projectPath = System.getProperty("user.dir");
-////        System.out.println(projectPath);
-////        iTesseract.setDatapath(projectPath+"\\src\\main\\java\\com.management.platform.tessdata");
-//        //默认识别英文
-////                如果需要识别英文之外的语种,需要指定识别语种,并且需要将对应的语言包放进项目中
-//        iTesseract.setLanguage("chi_sim");
-//        // 指定本地图片
-//        File img = new File("D:\\360MoveData\\Users\\Administrator\\Desktop\\book1.png");
-//        //开始识别时间
-//        long startTime = System.currentTimeMillis();
-//        //识别结果
-//        String ocrResult = iTesseract.doOCR(img);
-//        // 输出识别结果
-//        System.out.println("耗时:" + (System.currentTimeMillis() - startTime) + "ms");
-//        System.out.println("识别结果: \n" + ocrResult);
-
-    }
-}

+ 0 - 361
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/UserAgentUtils.java

@@ -1,361 +0,0 @@
-package com.management.platform.util;
-import eu.bitwalker.useragentutils.Browser;
-import eu.bitwalker.useragentutils.OperatingSystem;
-import eu.bitwalker.useragentutils.UserAgent;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.http.HttpServletRequest;
-
-/*
- * 工具类参照文章:https://blog.csdn.net/qq_23832313/article/details/82775316
- *
- * @author Tellsea
- * @date 2020/10/27
- */
-public class UserAgentUtils {
-
-    private static Logger logger = LoggerFactory.getLogger(UserAgentUtils.class);
-
-    /**
-     * 根据http获取userAgent信息
-     *
-     * @param request
-     * @return
-     */
-    public static String getUserAgent(HttpServletRequest request) {
-        String userAgent = request.getHeader("User-Agent");
-        return userAgent;
-    }
-
-    /**
-     * 根据request获取userAgent,然后解析出osVersion
-     *
-     * @param request
-     * @return
-     */
-    public static String getOsVersion(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getOsVersion(userAgent);
-    }
-
-    /**
-     * 根据userAgent解析出osVersion
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getOsVersion(String userAgent) {
-        String osVersion = "";
-        if (StringUtils.isBlank(userAgent)) {
-            return osVersion;
-        }
-        String[] strArr = userAgent.substring(userAgent.indexOf("(") + 1,
-                userAgent.indexOf(")")).split(";");
-        if (null == strArr || strArr.length == 0) {
-            return osVersion;
-        }
-
-        osVersion = strArr[1];
-        logger.info("osVersion is:{}", osVersion);
-        return osVersion;
-    }
-
-    /**
-     * 获取操作系统对象
-     *
-     * @param userAgent
-     * @return
-     */
-    private static OperatingSystem getOperatingSystem(String userAgent) {
-        UserAgent agent = UserAgent.parseUserAgentString(userAgent);
-        OperatingSystem operatingSystem = agent.getOperatingSystem();
-        return operatingSystem;
-    }
-
-
-    /**
-     * 获取os:Windows/ios/Android
-     *
-     * @param request
-     * @return
-     */
-    public static String getOs(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getOs(userAgent);
-    }
-
-    /**
-     * 获取os:Windows/ios/Android
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getOs(String userAgent) {
-        OperatingSystem operatingSystem = getOperatingSystem(userAgent);
-        String os = operatingSystem.getGroup().getName();
-        logger.info("os is:{}", os);
-        return os;
-    }
-
-
-    /**
-     * 获取deviceType
-     *
-     * @param request
-     * @return
-     */
-    public static String getDeviceType(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getDeviceType(userAgent);
-    }
-
-    /**
-     * 获取deviceType
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getDeviceType(String userAgent) {
-        OperatingSystem operatingSystem = getOperatingSystem(userAgent);
-        String deviceType = operatingSystem.getDeviceType().toString();
-        logger.info("deviceType is:{}", deviceType);
-        return deviceType;
-    }
-
-    /**
-     * 获取操作系统的名字
-     *
-     * @param request
-     * @return
-     */
-    public static String getOsName(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getOsName(userAgent);
-    }
-
-    /**
-     * 获取操作系统的名字
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getOsName(String userAgent) {
-        OperatingSystem operatingSystem = getOperatingSystem(userAgent);
-        String osName = operatingSystem.getName();
-        logger.info("osName is:{}", osName);
-        return osName;
-    }
-
-
-    /**
-     * 获取device的生产厂家
-     *
-     * @param request
-     */
-    public static String getDeviceManufacturer(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getDeviceManufacturer(userAgent);
-    }
-
-    /**
-     * 获取device的生产厂家
-     *
-     * @param userAgent
-     */
-    public static String getDeviceManufacturer(String userAgent) {
-        OperatingSystem operatingSystem = getOperatingSystem(userAgent);
-        String deviceManufacturer = operatingSystem.getManufacturer().toString();
-        logger.info("deviceManufacturer is:{}", deviceManufacturer);
-        return deviceManufacturer;
-    }
-
-    /**
-     * 获取浏览器对象
-     *
-     * @param agent
-     * @return
-     */
-    public static Browser getBrowser(String agent) {
-        UserAgent userAgent = UserAgent.parseUserAgentString(agent);
-        Browser browser = userAgent.getBrowser();
-        return browser;
-    }
-
-
-    /**
-     * 获取browser name
-     *
-     * @param request
-     * @return
-     */
-    public static String getBorderName(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getBorderName(userAgent);
-    }
-
-    /**
-     * 获取browser name
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getBorderName(String userAgent) {
-        Browser browser = getBrowser(userAgent);
-        String borderName = browser.getName();
-        logger.info("borderName is:{}", borderName);
-        return borderName;
-    }
-
-
-    /**
-     * 获取浏览器的类型
-     *
-     * @param request
-     * @return
-     */
-    public static String getBorderType(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getBorderType(userAgent);
-    }
-
-    /**
-     * 获取浏览器的类型
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getBorderType(String userAgent) {
-        Browser browser = getBrowser(userAgent);
-        String borderType = browser.getBrowserType().getName();
-        logger.info("borderType is:{}", borderType);
-        return borderType;
-    }
-
-    /**
-     * 获取浏览器组: CHROME、IE
-     *
-     * @param request
-     * @return
-     */
-    public static String getBorderGroup(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getBorderGroup(userAgent);
-    }
-
-    /**
-     * 获取浏览器组: CHROME、IE
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getBorderGroup(String userAgent) {
-        Browser browser = getBrowser(userAgent);
-        String browerGroup = browser.getGroup().getName();
-        logger.info("browerGroup is:{}", browerGroup);
-        return browerGroup;
-    }
-
-    /**
-     * 获取浏览器的生产厂商
-     *
-     * @param request
-     * @return
-     */
-    public static String getBrowserManufacturer(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getBrowserManufacturer(userAgent);
-    }
-
-
-    /**
-     * 获取浏览器的生产厂商
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getBrowserManufacturer(String userAgent) {
-        Browser browser = getBrowser(userAgent);
-        String browserManufacturer = browser.getManufacturer().getName();
-        logger.info("browserManufacturer is:{}", browserManufacturer);
-        return browserManufacturer;
-    }
-
-
-    /**
-     * 获取浏览器使用的渲染引擎
-     *
-     * @param request
-     * @return
-     */
-    public static String getBorderRenderingEngine(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getBorderRenderingEngine(userAgent);
-    }
-
-    /**
-     * 获取浏览器使用的渲染引擎
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getBorderRenderingEngine(String userAgent) {
-        Browser browser = getBrowser(userAgent);
-        String renderingEngine = browser.getRenderingEngine().name();
-        logger.info("renderingEngine is:{}", renderingEngine);
-        return renderingEngine;
-    }
-
-
-    /**
-     * 获取浏览器版本
-     *
-     * @param request
-     * @return
-     */
-    public static String getBrowserVersion(HttpServletRequest request) {
-        String userAgent = getUserAgent(request);
-        return getBrowserVersion(userAgent);
-    }
-
-    /**
-     * 获取浏览器版本
-     *
-     * @param userAgent
-     * @return
-     */
-    public static String getBrowserVersion(String userAgent) {
-        Browser browser = getBrowser(userAgent);
-        String borderVersion = browser.getVersion(userAgent).toString();
-        return borderVersion;
-    }
-
-
-    public static void main(String[] args) {
-		String winUserAgent = "Mozilla/5.0 (Linux; Android 8.0; LON-AL00 Build/HUAWEILON-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/044204 Mobile Safari/537.36 V1_AND_SQ_7.7.8_908_YYB_D QQ/7.7.8.3705 NetType/WIFI WebP/0.3.0 Pixel/1440";
-//		String iosUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16A366 QQ/7.7.8.421 V1_IPH_SQ_7.7.8_1_APP_A Pixel/750 Core/UIWebView Device/Apple(iPhone 6s) NetType/WIFI QBWebViewType/1";
-//        String winUserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36";
-
-        System.out.println("浏览器组:" + getBorderGroup(winUserAgent));
-        System.out.println("浏览器名字:" + getBorderName(winUserAgent));
-        System.out.println("浏览器类型" + getBorderType(winUserAgent));
-        System.out.println("浏览器生产商:" + getBrowserManufacturer(winUserAgent));
-        System.out.println("浏览器版本:" + getBrowserVersion(winUserAgent));
-        System.out.println("设备生产厂商:" + getDeviceManufacturer(winUserAgent));
-        System.out.println("设备类型:" + getDeviceType(winUserAgent));
-        System.out.println("设备操作系统:" + getOs(winUserAgent));
-        System.out.println("操作系统的名字:" + getOsName(winUserAgent));
-        System.out.println("操作系统的版本号:" + getOsVersion(winUserAgent));
-        System.out.println("操作系统浏览器的渲染引擎:" + getBorderRenderingEngine(winUserAgent));
-        if (getOs(winUserAgent).contains("Windows")) {
-            System.out.println("是Windows");
-        } if (getOs(winUserAgent).contains("Linux")) {
-            System.out.println("是Linux");
-        } else {
-            System.out.println(getOs(winUserAgent));
-            System.out.println("无法匹配");
-        }
-    }
-}
-

+ 3 - 4
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/WordFilter.java

@@ -3,9 +3,8 @@ package com.management.platform.util;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.entity.TSensitiveWords;
 import com.management.platform.mapper.TSensitiveWordsMapper;
+import io.micrometer.core.instrument.util.StringUtils;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
@@ -20,9 +19,9 @@ public class WordFilter {
     private final static String REPLACE_CHAR = "*";
     private static HashMap sensitiveWordMap;
     /**     * 最小匹配规则     */
-    private static int minMatchTYpe = 1;
+    private static final int minMatchTYpe = 1;
     /**     * 最大匹配规则     */
-    private static int maxMatchType = 2;
+    private static final int maxMatchType = 2;
     @Resource
     private RedisTemplate<String, Object> redisTemplate;
     @Resource

+ 3 - 13
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/util/WorkDayCalculateUtils.java

@@ -1,7 +1,5 @@
 package com.management.platform.util;
 
-import org.apache.commons.lang3.time.DateFormatUtils;
-
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.DayOfWeek;
@@ -170,12 +168,8 @@ public class WorkDayCalculateUtils {
                     return false;
                 }
                 String[] list = map.get(KEY_SPECIAL_WORK_DAYS);
-                if (isInArray(dateStr, list)) {
-                    //存在特殊工作日
-                    return true;
-                } else {
-                    return false;
-                }
+                //存在特殊工作日
+                return isInArray(dateStr, list);
             } else {
                 //判断常规周一到周五,是否是特殊节假日
                 HashMap<String, String[]> map = YEAR_DEFINE.get(year+"");
@@ -184,11 +178,7 @@ public class WorkDayCalculateUtils {
                     return true;
                 }
                 String[] list = map.get(KEY_SPECIAL_REST_DAYS);
-                if (isInArray(dateStr, list)) {
-                    return false;
-                } else {
-                    return true;
-                }
+                return !isInArray(dateStr, list);
             }
         } catch (ParseException e) {
             e.printStackTrace();

+ 1 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/qq/weixin/mp/aes/AesException.java

@@ -16,7 +16,7 @@ public class AesException extends Exception {
 	//public final static int DecodeBase64Error = -40010;
 	//public final static int GenReturnXmlError = -40011;
 
-	private int code;
+	private final int code;
 
 	private static String getMessage(int code) {
 		switch (code) {

+ 4 - 3
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/qq/weixin/mp/aes/PKCS7Encoder.java

@@ -9,13 +9,14 @@
 package com.qq.weixin.mp.aes;
 
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 
 /**
  * 提供基于PKCS7算法的加解密接口.
  */
 class PKCS7Encoder {
-	static Charset CHARSET = Charset.forName("utf-8");
+	static Charset CHARSET = StandardCharsets.UTF_8;
 	static int BLOCK_SIZE = 32;
 
 	/**
@@ -32,7 +33,7 @@ class PKCS7Encoder {
 		}
 		// 获得补位所用的字符
 		char padChr = chr(amountToPad);
-		String tmp = new String();
+		String tmp = "";
 		for (int index = 0; index < amountToPad; index++) {
 			tmp += padChr;
 		}
@@ -46,7 +47,7 @@ class PKCS7Encoder {
 	 * @return 删除补位字符后的明文
 	 */
 	static byte[] decode(byte[] decrypted) {
-		int pad = (int) decrypted[decrypted.length - 1];
+		int pad = decrypted[decrypted.length - 1];
 		if (pad < 1 || pad > 32) {
 			pad = 0;
 		}

+ 2 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/qq/weixin/mp/aes/WXBizMsgCrypt.java

@@ -14,6 +14,7 @@
 package com.qq.weixin.mp.aes;
 
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.Random;
 
@@ -39,7 +40,7 @@ import org.apache.commons.codec.binary.Base64;
  * </ol>
  */
 public class WXBizMsgCrypt {
-	static Charset CHARSET = Charset.forName("utf-8");
+	static Charset CHARSET = StandardCharsets.UTF_8;
 	Base64 base64 = new Base64();
 	byte[] aesKey;
 	String token;