生成模板二维码

This commit is contained in:
DB 2024-01-22 23:43:44 +08:00
parent 0abc786b1d
commit 3df0e72bf7
4 changed files with 31 additions and 12 deletions

View File

@ -28,6 +28,11 @@
<groupId>com.cpop</groupId>
<artifactId>Cpop-Pay</artifactId>
</dependency>
<!--微信小程序-->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-miniapp</artifactId>
</dependency>
</dependencies>
<build>

View File

@ -128,13 +128,6 @@ public class CardTemplateUnionBo {
*/
@ApiModelProperty(value = "是否是引流卡(0否1是)")
private Boolean isDrainage;
/**
* 二维码
*/
@ApiModelProperty(value = "二维码")
private String qrCode;
/**
* 先学后付支付
*/

View File

@ -1,8 +1,13 @@
package com.cpop.jambox.business.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaQrcodeService;
import cn.binarywang.wx.miniapp.api.WxMaService;
import com.cpop.common.utils.StringUtils;
import com.cpop.common.utils.bean.BeanUtils;
import com.cpop.core.base.exception.ServiceException;
import com.cpop.core.handler.TencentCosHandler;
import com.cpop.core.utils.SpringUtils;
import com.cpop.core.utils.file.FileUtils;
import com.cpop.jambox.business.bo.CardTemplateUnionBo;
import com.cpop.jambox.business.bo.EasyLearnDigitalCurrencyBo;
import com.cpop.jambox.business.bo.EasyLearnOldContractBo;
@ -30,9 +35,14 @@ import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.row.Db;
import com.mybatisflex.core.row.Row;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.qcloud.cos.model.UploadResult;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -110,6 +120,22 @@ public class CardTemplateServiceImpl extends ServiceImpl<CardTemplateMapper, Car
if (bo.getPayType().contains(5)) {
SpringUtils.getBean(LearnNowPayLaterTask.class).asyncCreateLearnNowPayLaterPlan(cardTemplate, bo.getLearnNowPayLaterMonthPay(), 5);
}
if (bo.getPayType().contains(0) || bo.getPayType().contains(1) || bo.getPayType().contains(2) || bo.getPayType().contains(3) || bo.getPayType().contains(5)) {
WxMaQrcodeService qrcodeService = SpringUtils.getBean(WxMaService.class).getQrcodeService();
try {
// 获取当前执行环境
String active = SpringUtils.getActiveProfile();
File qrCode = qrcodeService.createWxaCodeUnlimit(cardTemplate.getId(), "pages/pay/pay", false, StringUtils.equals(active, "prod") ? "release" : "trial", 430,
true, null, false);
MultipartFile multipartFile = FileUtils.getInstance().getMultipartFile(qrCode);
TencentCosHandler tencentCosHandler = SpringUtils.getBean(TencentCosHandler.class);
UploadResult uploadResult = tencentCosHandler.cdnUpload(multipartFile);
cardTemplate.setQrCode("https://" + uploadResult.getBucketName() + tencentCosHandler.getCdnUrl() + uploadResult.getKey());
this.updateById(cardTemplate);
} catch (WxErrorException | IOException e) {
throw new ServiceException("生成支付码失败");
}
}
}
/**

View File

@ -41,11 +41,6 @@
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-open</artifactId>
</dependency>
<!--微信小程序-->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-miniapp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>