不重复生成二维码

This commit is contained in:
Jerry Yan 2025-04-06 17:46:53 +08:00
parent d95c16aa01
commit 082d8830bd
2 changed files with 12 additions and 2 deletions

View File

@ -8,6 +8,7 @@ import com.ycwl.basic.model.pc.broker.resp.BrokerRespVO;
import com.ycwl.basic.model.pc.broker.resp.DailySummaryRespVO; import com.ycwl.basic.model.pc.broker.resp.DailySummaryRespVO;
import com.ycwl.basic.service.pc.BrokerRecordService; import com.ycwl.basic.service.pc.BrokerRecordService;
import com.ycwl.basic.service.pc.BrokerService; import com.ycwl.basic.service.pc.BrokerService;
import com.ycwl.basic.storage.enums.StorageAcl;
import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.WxMpUtil; import com.ycwl.basic.utils.WxMpUtil;
import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.repository.ScenicRepository;
@ -123,12 +124,16 @@ public class BrokerController {
String appState = mpConfig.getState(); String appState = mpConfig.getState();
String path = "pages/home/index?scenicId=" + broker.getScenicId() + "&morphId=" + id; String path = "pages/home/index?scenicId=" + broker.getScenicId() + "&morphId=" + id;
String filePath = "qr_code_tk_" + id + ".jpg"; String filePath = "qr_code_tk_" + id + ".jpg";
IStorageAdapter adapter = StorageFactory.use();
if (adapter.isExists(filePath)) {
return ApiResponse.success(adapter.getUrl(filePath));
}
try { try {
WxMpUtil.generateWXAQRCode(appId, appSecret, appState, path, filePath); WxMpUtil.generateWXAQRCode(appId, appSecret, appState, path, filePath);
IStorageAdapter adapter = StorageFactory.use();
File file = new File(filePath); File file = new File(filePath);
String s = adapter.uploadFile(file, filePath); String s = adapter.uploadFile(file, filePath);
file.delete(); file.delete();
adapter.setAcl(StorageAcl.PUBLIC_READ, filePath);
return ApiResponse.success(s); return ApiResponse.success(s);
} catch (Exception e) { } catch (Exception e) {
return ApiResponse.fail("生成二维码失败"); return ApiResponse.fail("生成二维码失败");

View File

@ -8,6 +8,7 @@ import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
import com.ycwl.basic.service.pc.ScenicService; import com.ycwl.basic.service.pc.ScenicService;
import com.ycwl.basic.storage.StorageFactory; import com.ycwl.basic.storage.StorageFactory;
import com.ycwl.basic.storage.adapters.IStorageAdapter; import com.ycwl.basic.storage.adapters.IStorageAdapter;
import com.ycwl.basic.storage.enums.StorageAcl;
import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.WxMpUtil; import com.ycwl.basic.utils.WxMpUtil;
import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.repository.ScenicRepository;
@ -109,12 +110,16 @@ public class ScenicController {
String appState = mpConfig.getState(); String appState = mpConfig.getState();
String path = "pages/home/index?scenicId=" + id; String path = "pages/home/index?scenicId=" + id;
String filePath = "qr_code_" + id + ".jpg"; String filePath = "qr_code_" + id + ".jpg";
IStorageAdapter adapter = StorageFactory.use();
if (adapter.isExists(filePath)) {
return ApiResponse.success(adapter.getUrl(filePath));
}
try { try {
WxMpUtil.generateWXAQRCode(appId, appSecret, appState, path, filePath); WxMpUtil.generateWXAQRCode(appId, appSecret, appState, path, filePath);
IStorageAdapter adapter = StorageFactory.use();
File file = new File(filePath); File file = new File(filePath);
String s = adapter.uploadFile(file, filePath); String s = adapter.uploadFile(file, filePath);
file.delete(); file.delete();
adapter.setAcl(StorageAcl.PUBLIC_READ, filePath);
return ApiResponse.success(s); return ApiResponse.success(s);
} catch (Exception e) { } catch (Exception e) {
return ApiResponse.fail("生成二维码失败"); return ApiResponse.fail("生成二维码失败");