diff --git a/win-module-eam/win-module-eam-biz/pom.xml b/win-module-eam/win-module-eam-biz/pom.xml
index 77d6dbd..a501a4f 100644
--- a/win-module-eam/win-module-eam-biz/pom.xml
+++ b/win-module-eam/win-module-eam-biz/pom.xml
@@ -124,12 +124,6 @@
com.alibaba
fastjson
-
- com.google.zxing
- core
- 3.3.1
- compile
-
diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/licences/LicencesController.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/licences/LicencesController.java
index 204a31a..46cc3ce 100644
--- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/licences/LicencesController.java
+++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/licences/LicencesController.java
@@ -29,14 +29,14 @@ public class LicencesController {
@Resource
private LicencesService licencesService;
- @PostMapping("/licenceDiscernByCodeFile")
+ @PostMapping("/licencesDiscernByCodeImage")
@Operation(summary = "识别续期许可(二维码图片)")
@Parameters({
@Parameter(name = "file", description = "续期二维码图片", required = true)
})
@PreAuthorize("@ss.hasPermission('basic:licences:licenceDiscern')")
- public CommonResult licenceDiscernByCodeFile(@Valid @NotNull @RequestParam("file") MultipartFile file) throws IOException {
- licencesService.licencesDiscern(QrCodeUtil.decode(file.getInputStream()));
+ public CommonResult licencesDiscernByCodeImage(@Valid @NotNull @RequestParam("file") MultipartFile file) throws IOException {
+ licencesService.licencesDiscernByCodeImage(file);
return success(true);
}
@@ -47,9 +47,10 @@ public class LicencesController {
})
@PreAuthorize("@ss.hasPermission('basic:licences:licenceDiscern')")
public CommonResult licenceDiscernByCodeStr(@RequestBody String code) {
- licencesService.licencesDiscern(code);
+ licencesService.licenceDiscernByCodeStr(code);
return success(true);
}
+
@PostMapping("/generateLicence")
@Operation(summary = "生成续期二维码")
@PreAuthorize("@ss.hasPermission('basic:licences:licenceDiscern')")
diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/licences/LicencesService.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/licences/LicencesService.java
index 68f9eb2..f6f00ee 100644
--- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/licences/LicencesService.java
+++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/licences/LicencesService.java
@@ -1,11 +1,15 @@
package com.win.module.eam.service.licences;
import com.win.module.eam.controller.licences.vo.GenerateLicenceReqVO;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.io.IOException;
public interface LicencesService {
- void licencesDiscern(String encryptionStr);
+ void licencesDiscernByCodeImage(@Valid @NotNull MultipartFile file) throws IOException;
+ void licenceDiscernByCodeStr(@Valid @NotNull String encryptionStr);
void generateLicence(@Valid GenerateLicenceReqVO req, HttpServletResponse response) throws Exception;
}
\ No newline at end of file
diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/licences/LicencesServiceImpl.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/licences/LicencesServiceImpl.java
index ebb1fd1..566a846 100644
--- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/licences/LicencesServiceImpl.java
+++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/licences/LicencesServiceImpl.java
@@ -4,7 +4,6 @@ import cn.hutool.core.codec.Base64;
import cn.hutool.crypto.digest.MD5;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
-import com.alibaba.excel.metadata.data.ImageData;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.win.module.eam.controller.licences.vo.GenerateLicenceReqVO;
@@ -12,6 +11,8 @@ import com.win.module.eam.mq.message.LicencesMessage;
import org.apache.calcite.util.Util;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.crypto.Cipher;
@@ -19,6 +20,7 @@ import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@@ -27,6 +29,7 @@ import static com.win.framework.common.exception.util.ServiceExceptionUtil.excep
import static com.win.module.eam.enums.ErrorCodeConstants.ENCRYPTION_STR_FORMAT_IS_ERROR;
@Service
+@Validated
public class LicencesServiceImpl implements LicencesService {
private static final String ALGORITHM = "AES";
private static final int KEY_SIZE = 128;
@@ -58,7 +61,12 @@ public class LicencesServiceImpl implements LicencesService {
}
@Override
- public void licencesDiscern(String encryptionStr) {
+ public void licencesDiscernByCodeImage(MultipartFile file) throws IOException {
+ licenceDiscernByCodeStr(QrCodeUtil.decode(file.getInputStream()));
+ }
+
+ @Override
+ public void licenceDiscernByCodeStr(String encryptionStr) {
if (Util.isNullOrEmpty(encryptionStr)) {
throw exception(ENCRYPTION_STR_FORMAT_IS_ERROR);
}
@@ -103,6 +111,6 @@ public class LicencesServiceImpl implements LicencesService {
QrConfig config = new QrConfig(300, 300);
config.setErrorCorrection(com.google.zxing.qrcode.decoder.ErrorCorrectionLevel.M); // 设置纠错级别
// 或者直接输出到流
- QrCodeUtil.generate(JSONObject.toJSONString(licencesMessage), config, ImageData.ImageType.PICTURE_TYPE_DIB.name(), response.getOutputStream());
+ QrCodeUtil.generate(JSONObject.toJSONString(licencesMessage), config, "png", response.getOutputStream());
}
}