|
@@ -13,14 +13,13 @@ 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 com.wechat.pay.java.service.transferbatch.model.*;
|
|
|
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.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.Assert;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
@@ -59,10 +58,17 @@ public class UserRedPkgServiceImpl extends ServiceImpl<UserRedPkgMapper, UserRed
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public boolean draw(RedPkgDrawParam param) {
|
|
|
|
|
|
// 获取红包信息
|
|
|
UserRedPkg userRedPkg = getById(param.getId());
|
|
|
+
|
|
|
+ boolean rst = update(new LambdaUpdateWrapper<UserRedPkg>().set(UserRedPkg::getStatus, UserRedPkgStatusEnum.DRAW)
|
|
|
+ .eq(UserRedPkg::getId, userRedPkg.getId()));
|
|
|
+ Assert.isTrue(rst,"用户红包提现更新失败");
|
|
|
+
|
|
|
+
|
|
|
RSAConfig config = new RSAConfig.Builder()
|
|
|
.merchantId(merChantId)
|
|
|
// .privateKeyFromPath("mp-service/src/main/resources/config/apiclient_key.pem")
|
|
@@ -100,13 +106,15 @@ public class UserRedPkgServiceImpl extends ServiceImpl<UserRedPkgMapper, UserRed
|
|
|
initiateBatchTransferRequest.setTransferSceneId("1000");
|
|
|
InitiateBatchTransferResponse response =
|
|
|
service.initiateBatchTransfer(initiateBatchTransferRequest);
|
|
|
- if (response == null) {
|
|
|
- LogUtil.error(logger, "发起商家转账到零钱失败");
|
|
|
- return false;
|
|
|
+
|
|
|
+ // 查询批次单状态
|
|
|
+ GetTransferBatchByNoRequest request = new GetTransferBatchByNoRequest();
|
|
|
+ request.setBatchId(response.getBatchId());
|
|
|
+ request.setNeedQueryDetail(true);
|
|
|
+ TransferBatchEntity transferBatchResponse = service.getTransferBatchByNo(request);
|
|
|
+ if ("FINISHED".equals(transferBatchResponse.getTransferBatch().getBatchStatus())) {
|
|
|
+ return true;
|
|
|
}
|
|
|
- boolean rst = update(new LambdaUpdateWrapper<UserRedPkg>().set(UserRedPkg::getStatus, UserRedPkgStatusEnum.DRAW)
|
|
|
- .eq(UserRedPkg::getId, userRedPkg.getId()));
|
|
|
- Assert.isTrue(rst,"用户红包提现更新失败");
|
|
|
- return true;
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|