|
@@ -1,16 +1,30 @@
|
|
|
package com.qs.mp.user.service.impl;
|
|
|
import java.util.Date;
|
|
|
|
|
|
+import cn.hutool.core.util.RandomUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.qs.mp.common.enums.AppSourceEnum;
|
|
|
import com.qs.mp.common.enums.UserRedPkgStatusEnum;
|
|
|
+import com.qs.mp.common.utils.LogUtil;
|
|
|
import com.qs.mp.system.service.id.BizIdGenerator;
|
|
|
import com.qs.mp.user.domain.UserRedPkg;
|
|
|
import com.qs.mp.user.domain.param.RedPkgDrawParam;
|
|
|
import com.qs.mp.user.mapper.UserRedPkgMapper;
|
|
|
import com.qs.mp.user.service.IUserRedPkgService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.wechat.pay.java.service.transferbatch.TransferBatchService;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import com.wechat.pay.java.core.RSAConfig;
|
|
|
+import com.wechat.pay.java.service.transferbatch.model.InitiateBatchTransferRequest;
|
|
|
+import com.wechat.pay.java.service.transferbatch.model.InitiateBatchTransferResponse;
|
|
|
+import com.wechat.pay.java.service.transferbatch.model.TransferDetailInput;
|
|
|
+import org.springframework.util.Assert;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
/**
|
|
|
* @auther quanshu
|
|
|
* @create 2023-06-12 15:03:20
|
|
@@ -19,6 +33,12 @@ import org.springframework.stereotype.Service;
|
|
|
@Service
|
|
|
public class UserRedPkgServiceImpl extends ServiceImpl<UserRedPkgMapper, UserRedPkg> implements IUserRedPkgService {
|
|
|
|
|
|
+ protected final Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
|
|
|
+ // 商户号
|
|
|
+ public static String merChantId = "1643756321";
|
|
|
+ // 证书编号
|
|
|
+ public static String serialNumber = "6BA03F001024F81FAE490CAF240910512CBB1247";
|
|
|
+
|
|
|
@Autowired
|
|
|
private BizIdGenerator bizIdGenerator;
|
|
|
|
|
@@ -38,6 +58,51 @@ public class UserRedPkgServiceImpl extends ServiceImpl<UserRedPkgMapper, UserRed
|
|
|
@Override
|
|
|
public boolean draw(RedPkgDrawParam param) {
|
|
|
|
|
|
- return false;
|
|
|
+ // 获取红包信息
|
|
|
+// UserRedPkg userRedPkg = getById(param.getId());
|
|
|
+ RSAConfig config = new RSAConfig.Builder()
|
|
|
+ .merchantId(merChantId)
|
|
|
+ .privateKeyFromPath("mp-service/src/main/resources/config/apiclient_key.pem")
|
|
|
+ .merchantSerialNumber("6BA03F001024F81FAE490CAF240910512CBB1247")
|
|
|
+ .wechatPayCertificatesFromPath("mp-service/src/main/resources/config/apiclient_cert.pem")
|
|
|
+ .build();
|
|
|
+
|
|
|
+
|
|
|
+ TransferBatchService service = new TransferBatchService.Builder().config(config).build();
|
|
|
+ InitiateBatchTransferRequest initiateBatchTransferRequest =
|
|
|
+ new InitiateBatchTransferRequest();
|
|
|
+ initiateBatchTransferRequest.setAppid(AppSourceEnum.MSDQ.getAppId());
|
|
|
+ initiateBatchTransferRequest.setOutBatchNo("rp" + RandomUtil.randomNumbers(10));
|
|
|
+ initiateBatchTransferRequest.setBatchName("红包提现");
|
|
|
+ initiateBatchTransferRequest.setBatchRemark("红包提现");
|
|
|
+// initiateBatchTransferRequest.setTotalAmount(Long.valueOf(userRedPkg.getValue()));
|
|
|
+ initiateBatchTransferRequest.setTotalAmount(100L);
|
|
|
+ initiateBatchTransferRequest.setTotalNum(1);
|
|
|
+ {
|
|
|
+ List<TransferDetailInput> transferDetailListList = new ArrayList<>();
|
|
|
+ {
|
|
|
+ TransferDetailInput transferDetailInput = new TransferDetailInput();
|
|
|
+ transferDetailInput.setOutDetailNo("rp" + RandomUtil.randomNumbers(10));
|
|
|
+// transferDetailInput.setTransferAmount(Long.valueOf(userRedPkg.getValue()));
|
|
|
+ transferDetailInput.setTransferAmount(100L);
|
|
|
+ transferDetailInput.setTransferRemark("红包提现");
|
|
|
+ transferDetailInput.setOpenid(param.getOpenId());
|
|
|
+ transferDetailListList.add(transferDetailInput);
|
|
|
+ }
|
|
|
+ initiateBatchTransferRequest.setTransferDetailList(
|
|
|
+ transferDetailListList);
|
|
|
+ }
|
|
|
+ initiateBatchTransferRequest.setTransferSceneId("1001");
|
|
|
+ try {
|
|
|
+ InitiateBatchTransferResponse response =
|
|
|
+ service.initiateBatchTransfer(initiateBatchTransferRequest);
|
|
|
+ }catch (Exception e){
|
|
|
+ LogUtil.error(logger,e.getMessage());
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+// boolean rst = update(new LambdaUpdateWrapper<UserRedPkg>().set(UserRedPkg::getStatus, UserRedPkgStatusEnum.DRAW)
|
|
|
+// .eq(UserRedPkg::getId, userRedPkg.getId()));
|
|
|
+// Assert.isTrue(rst,"用户红包提现更新失败");
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|