From d7d5aef5642102235890b10b890a60f02fcf785c Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 10 十一月 2023 09:51:45 +0800
Subject: [PATCH] # lock 图片base64
---
server/platform/src/main/java/com/doumee/api/business/LocksController.java | 4 +++-
server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java | 20 ++++++++------------
server/services/src/main/java/com/doumee/dao/business/model/Locks.java | 3 +++
server/web/src/main/java/com/doumee/api/web/AccountApi.java | 2 +-
server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java | 7 ++++++-
5 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/api/business/LocksController.java b/server/platform/src/main/java/com/doumee/api/business/LocksController.java
index 581f75f..aeb0e18 100644
--- a/server/platform/src/main/java/com/doumee/api/business/LocksController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/LocksController.java
@@ -99,7 +99,9 @@
@ApiOperation("鑾峰彇閿佹鍣ㄥ皬绋嬪簭浜岀淮鐮�")
@GetMapping("/findLockBase")
- public ApiResponse<List<Locks>> findLockBase64List(Locks locks){
+ public ApiResponse<List<Locks>> findLockBase64List(@RequestParam String siteId){
+ Locks locks = new Locks();
+ locks.setSiteId(siteId);
return ApiResponse.success(locksService.findLockBase64List(locks));
}
}
diff --git a/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java b/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
index 0214366..fa41272 100644
--- a/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
+++ b/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -5,6 +5,7 @@
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.ID;
import com.doumee.dao.business.RefundMapper;
import com.doumee.dao.business.TransactionsMapper;
@@ -24,6 +25,7 @@
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,10 +33,7 @@
import org.springframework.transaction.annotation.Transactional;
import sun.misc.BASE64Decoder;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileOutputStream;
-import java.io.InputStream;
+import java.io.*;
import java.math.BigDecimal;
import java.util.*;
@@ -134,7 +133,7 @@
* https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html
* @return
*/
- public void generateWXMiniCode(Locks locks,SystemDictData systemDictData){
+ public void generateWXMiniCode(Locks locks,SystemDictData systemDictData,String prePath,String path){
if(Objects.isNull(systemDictData)){
return;
@@ -157,13 +156,10 @@
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
InputStream inputStream = new ByteArrayInputStream(response.body().bytes());
-
- // 寰楀埌鏂囦欢澶у皬
- int i = inputStream.available();
- byte[] mFileBody = new byte[i];
- // 璇绘暟鎹�
- inputStream.read(mFileBody);
- locks.setInfo("data:image/Jpeg;base64," + Base64.getEncoder().encodeToString(mFileBody));
+ String nowDate = DateUtil.getNowShortDate();
+ File file = new File(prePath+path,locks.getSiteId()+"-"+locks.getCode()+"-"+nowDate+".png");
+ FileUtils.copyInputStreamToFile(inputStream,file);
+ locks.setInfo(locks.getSiteId()+"-"+locks.getCode()+"-"+nowDate+".png");
}
} catch (Exception e) {
e.printStackTrace();
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Locks.java b/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
index e69423b..cfaab37 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
@@ -85,4 +85,7 @@
@TableField(exist = false)
private Sites sites;
+ @ApiModelProperty(value = "澶囨敞")
+ @TableField(exist = false)
+ private String imgfullurl;
}
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java
index b8b7008..b4b873a 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java
@@ -115,20 +115,25 @@
@Override
public List<Locks> findLockBase64List(Locks locks) {
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ String fullPath = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode() +
+ systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode() ;
QueryWrapper<Locks> wrapper = new QueryWrapper<>(locks);
wrapper.lambda().orderByAsc(Locks::getCode);
List<Locks> locksList = locksMapper.selectList(wrapper);
SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.ACCESS_TOKEN);
+ String code = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
+ String prePath = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.IMG_DIR).getCode();
if (!CollectionUtils.isEmpty(locksList)){
// 妫�鏌ユ槸鍚︽湁鍥剧墖淇℃伅娌℃湁鏇存柊淇濆瓨鍥剧墖
locksList.forEach(s-> {
if (StringUtils.isBlank(s.getInfo())){
- wxMiniUtilService.generateWXMiniCode(s, systemDictData);
+ wxMiniUtilService.generateWXMiniCode(s,systemDictData,prePath,code);
s.setEditor(loginUserInfo.getId());
s.setEditDate(new Date());
updateById(s);
}
+ s.setImgfullurl(fullPath+s.getInfo());
});
return locksList;
}
diff --git a/server/web/src/main/java/com/doumee/api/web/AccountApi.java b/server/web/src/main/java/com/doumee/api/web/AccountApi.java
index ce8e500..1ae42d1 100644
--- a/server/web/src/main/java/com/doumee/api/web/AccountApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/AccountApi.java
@@ -114,7 +114,7 @@
locks.setCode(12);
locks.setSiteId("1005");
SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.ACCESS_TOKEN);
- wxMiniUtilService.generateWXMiniCode(locks,systemDictData);
+ wxMiniUtilService.generateWXMiniCode(locks,systemDictData,"/usr/local/static_resources/bike/bike_file/","");
return ApiResponse.success("鎿嶄綔鎴愬姛",locks);
}
--
Gitblit v1.9.3